测试用例的设计

*涉及概念来源于《软件测试的艺术》

目录

一、为什么要设计测试用例?

二、黑盒测试与白盒测试介绍

三、测试用例常见设计方法

1.黑盒测试(功能测试)

2.白盒测试(结构测试)

四、测试策略

五、测试用例怎么写


一、为什么要设计测试用例?

由于时间和成本的约束,软件测试最关键的问题是:**在所有可能的测试用例中,哪个子集最有可能发现最多的错误?**对软件测试用例设计方法的研究为这个问题提供了答案。

穷举的黑盒和白盒测试通常都是不可能的,但同时也建议:将这两种测试的要素组合起来得到一种合理的测试策略(灰盒测试)。可以通过使用特定的面向黑盒测试的测试用例设计方法,而后使用白盒测试方法对程序的逻辑结构进行检查以补充这些测试用例,借此来设计出一个相当严格的测试。

二、黑盒测试与白盒测试介绍

三、测试用例常见设计方法

1.黑盒测试(功能测试)

1.等价类划分:有效等价类和无效等价类。选取少数有代表性的数据,这一类数据等价于这一类的其它值

2.边界值分析:大量的错误是发生在输入或输出范围的边界上。通常边界值分析法是作为对等价类划分方法的补充,这种情况下,其测试用例来自等价类的边界。

3.因果图分析:输入因得到输出果,直观的表明输入(原因)和输出(结果)之间的关系。

因果关系**(若A则B、若A非B、A或B则C、A与B则C)**。

因果图可以转为判定表,判定表的每一列作为依据,设计测试用例。可以略过因果图的绘制,直接列出所有组合进行筛选(判定表法)。

4.正交实验:用在有多个输入和多个输出的情况。测试用例数目巨大,为了有效合理地测试,可利用正交实验设计方法用尽量少的用例来涵盖输入条件的组合。

5.错误猜测:用经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例,与用户的使用习惯及测试程序中的常见问题为主。

6.场景实验:现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。如ATM取钱时:

基本事件流--先插卡、输入正确密码、选择取款功能、输入正确金额、取钱、取卡。

备选事件流--(1)插卡,输入密码错入、第二次输入正确、取钱、取卡;(2)插卡、密码忘记、取卡;(3)插卡、输入正确密码、选择查看余额功能...中间出现断电或ATM故障等。。。

2.白盒测试(结构测试)

1.语句覆盖:程序中的每条语句至少被执行一次。

2.判定覆盖/分支覆盖:使得每一个判断都至少有一个为真和为假的输出结果。

3.条件覆盖:将一个判断中的每个条件的所有可能的结果至少执行一次。

4.判定/条件覆盖:将一个判断中的每个条件的所有可能的结果至少执行一次,将每个判断的所有可能的结果至少执行一次,将每个入口点都至少调用一次。

5.多重条件覆盖:将每个判定中的所有可能的条件结果的组合,以及所有的入口点都至少执行一次。

四、测试策略

1.输入中包含条件组合,应首先使用因果分析方法

2.在任何情况下都应该使用边界值分析方法

3.应该为输入和输出确定有效和无效等价类

4.使用错误猜测技术增加更多的测试用例

5.针对上述的测试用例,检查能否覆盖白盒测试中的几种测试设计类型

五、测试用例怎么写

测试用例应该包括:

①用例编号 ②测试项目 ③用例标题 ④重要级别 ⑤前置条件 ⑥测试输入 ⑦操作步骤 ⑧预期结果

相关推荐
小突突突14 小时前
总结设计测试用例的万能公式
测试用例
岁月_流沙18 小时前
BR_初始载波频率容限(RF/TRM/CA/BV-08-C [Initial Carrier Frequency Tolerance])
测试用例·模块测试
测试工程喵18 小时前
测试用例书写规范详解:构建高效测试体系的基础
功能测试·测试用例·模块测试·测试覆盖率·用例规范
胆大的2 天前
怎样才能设计好的自动化测试用例
自动化·测试用例·pytest
tt5555555555552 天前
每日一题——最小测试用例集覆盖问题
测试用例·c
hyhrosewind2 天前
基础(测试用例:介绍,测试用例格式,案例)
测试用例·测试基础·测试用例格式·测试用例案例
测试工程喵5 天前
测试用例的生命周期:从诞生到退役的全过程管理
功能测试·测试用例·模块测试·缺陷管理·测试用例生命周期
waves浪游5 天前
自动化测试常用函数
测试用例·bug·测试
林十一npc5 天前
【Web功能测试】Web商城搜索模块测试用例设计深度解析
前端·测试用例·web测试·搜索框·商城测试
亿佛6 天前
(Matlab)自动驾驶仿真 设计驾驶场景、配置传感器并生成合成 数据
人工智能·算法·机器学习·自动驾驶·测试用例