测试方法
软件测试中常用的测试方法有:等价类划分、边界值分析、因果图、场景法、正交试验法
①等价类划分
适用场合:有数据输入的地方,可以使用等价类划分,将大量的数据划分出若干范围,从每个范围中挑选代表数据进行测试,避免穷举,提高测试效率.
等价类方法划分:有效等价类,无效等价类。 有效等价类:输入有意义,合理的数据集合; 无效等价类:输入无意义的,不合理的数据集合;
使用步骤:(1)分析需求划分等价类(分为初步划分和细化);(2)将等价类填写到<<等价类表>>中;(3)从每个等价类中至少挑选一个代表数据,编写测试用例,执行测试。
②边界值分析法
适用场合:常用于数据输入的地方,一般作为等价类划分的补充,和等价类划分一起使用
使用步骤:找到有效数据和无效数据之间的分界点,对分界点及其两边的点进行测试.
使用等价类+边界值测试的思路:A.先对有效数据进行测试- 1个测试用例尽可能的将多个控件的有效数据组合起来测(优化)B.再对无效数据进行测试- 无效数据需要单独测试(为了避免屏蔽现象)C.最后对多个无效数据组合测试(适当强化)
举例:
举例:某程序规定:输入三个整数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算。用等价类划分方法为该程序进行测试用例设计。
分析题目中给出和隐含的对输入条件的要求:整数、三个数、非零数、正数、两边之和大于第三边、等腰、等边
如果a、b、c满足前四个条件,则输出下列四种情况之一:
- 如果不满足“两边之和大于第三边”,则程序输出为“非三角形”
- 如果三条边相等且满足条件“等边”,则程序输出为“等边三角形”
- 如果只有两条边相等且满足条件“等腰”,则程序输出为“等腰三角形”
- 如果三条边都不相等,则程序输出为“一般三角形”
列出等价类表并编号
覆盖有效等价类的测试用例:
a | b | c | 覆盖等价类号码 |
3 | 4 | 5 | 1-7 |
4 | 4 | 5 | 1-7,8 |
4 | 5 | 5 | 1-7,9 |
5 | 4 | 5 | 1-7,10 |
4 | 4 | 4 | 1-7,11 |
覆盖无效等价类的测试用例:
a | b | c | 覆盖等价类号码 |
2.5 | 4 | 5 | 12 |
3 | 4.5 | 5 | 13 |
3 | 4 | 5.5 | 14 |
3.5 | 4.5 | 5 | 15 |
3 | 4.5 | 5.5 | 16 |
3.5 | 4 | 5.5 | 17 |
4.5 | 4.5 | 4.5 | 18 |
3 | 19 | ||
4 | 20 | ||
5 | 21 | ||
3 | 4 | 22 | |
4 | 5 | 23 | |
3 | 5 | 24 | |
3 | 4 | 5 | 25 |
0 | 4 | 5 | 26 |
3 | 0 | 5 | 27 |
3 | 4 | 0 | 28 |
0 | 0 | 5 | 29 |
3 | 0 | 0 | 30 |
0 | 4 | 0 | 31 |
0 | 0 | 0 | 32 |
-3 | 4 | 5 | 33 |
3 | -4 | 5 | 34 |
3 | 4 | -5 | 35 |
-3 | -4 | 5 | 36 |
-3 | 4 | -5 | 37 |
3 | -4 | -5 | 38 |
-3 | -4 | -5 | 39 |
3 | 1 | 5 | 40 |
3 | 2 | 5 | 41 |
3 | 1 | 1 | 42 |
3 | 2 | 1 | 43 |
1 | 4 | 2 | 44 |
3 | 4 | 1 | 45 |
③因果图法
适用场合: 界面中考虑控件的组合和限制关系的情况(组合数量较少)
使用步骤:
- 找出输入条件的所有组合和限制.
- 编写测试用例,每一列对应一条测试用例.
- 每组输入条件组合对应的输出结果,画因果图,填判定表(画因果图可以省略)
- 找出所有的输入条件(因),和所有的输出结果(果);
举例:
1)找出所有的 输入(因), 编号
(1)投币50元
(2)投币100元
(3)充值50元
(4)充值100元
2)找出所有的输出结果(果) 编号
a、充值成功并退卡
b、提示充值成功
c、找零
d、错误提示,并退卡
步骤1、2就是初步分析需求的过程
把输入、输出的节点画出来,并在判定表中写出判定表的表头
3)在步骤1的基础上分析输入的组合关系和限制关系
(1)限制关系
a、输入1、2互斥(不能同时输入50元和100元)
b、输入3、4互斥(不能同时充值50元和100元)
(2)组合关系
①输入1、3组合
②输入1、4组合
③输入2、3组合
④输入2、4组合
⑤输入1单独
⑥输入2单独
⑦输入3单独
⑧输入4单独
4)在步骤2基础上,分析输出的组合关系和限制关系
(1)限制关系
①a要求b(充值成功要求有成功提示)
②a和d互斥
③b和d互斥
(2)组合关系
①输出a、b必须组合
②输出a、b、c可以组合
③输出c、d可以组合
④输出d单独
步骤3/4时详细分析需求的过程
在因果图中画出输入和输出的限制关系
5)找因果关系:什么样的输入组合会产生什么样的输出组合——列出判定表
(1)输入1、3组合
会产生:输出a、b组合
(2)输入1、4组合
会产生:输出c、d可以组合
(3)输入2、3组合
会产生:输出a、b、c可以组合
(4)输入2、4组合
会产生:输出a、b组合
(5)输入1单独
会产生:输出c、d可以组合
(6)输入2单独
会产生:输出c、d可以组合
(7)输入3单独
会产生:输出d单独
(8)输入4单独
会产生:输出d单独
④场景法
适用场合:当需要测试软件的业务流程(逻辑)时,适合用场景法,场景法是基于业务的方法,有测试人员模拟用户在使用软件的各种不同的情况;
场景法划分:基本流和备选流基本流:也叫有效流或正确流,模拟用户正确的操作的过程;备选流:也叫无效流或错误流,模拟用户错误的操作的情景;测试
场景法的使用步骤:
- 根据列出场景填写场景表;
- 为每个场景编写适当的测试用例(不一定是1:1的)
- 分析需求,整理业务流程(逻辑),列出场景;
经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流 1 和 3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2 和 4)
举例:计算两个数值的和
1)列出事件
事件:输入数据1
输入数据2
点击'加'按钮
2)分析流程
基本流:输入数据1
输入数据2
点击'加'按钮
备选流1:加数1无效
备选流2:加数2无效
3)场景设计
场景1:基本流
场景2:基本流+备选流1
场景3:基本流+备选流2
场景4:基本流+备选流1+备选流2
4)用例设计
⑤正交试验法
适用场合:对于参数配置类软件,以及兼容性测试时需要考虑各个控件之间的组合情况(组合较多),使用正交试验法选择较少的组合达到最佳的测试效果.
使用步骤:
- 选择合适的正交表(确定 m = 控件取值个数, k = 控件数)
- 编写测试用例
- 完成控件,控件取值对应因子和状态的映射.
- 分析需求,列出参与组合的控件以及每个控件的取值
举例:
大学计算机系共2个班级,考试课程想通过“Sex”、“Class”和“Grade”这三个查询条件对计算机课程的成绩分布,男女比例或班级比例进行人员查询:
条件一:根据“Sex”=“男,女”查询
条件二:根据“Class”=“202班,203班”查询
条件三:根据“Grade”=“及格,不及格”查询
1)传统测试方法
基于上述测试需求分析,存在3个被测元素,被测元素我们称为因子,每个因子有两个取值,我们称之为水平(也就是2)。 2^3
传统用例设计方法:则如下(2的3次方=8次);
2)测试用例表格设计如下图所示:
正交试验法优化后用例设计如下图所示