2.1等价类划分法
将一个程序的输入输出按照一定的需求进行分类,这些分类的子集就是等价类,在每个等价类中选择具有代表性的数据进行测试。
2.1.1等价类划分法
划分等价类
- 有效等价类:符合程序要求、合理且有意义的输入
无效等价类
根据等价类表设计测试用例
设计测试用例
基于等价类划分法的测试用例设计步骤 确定测试对象,保证非测试对象的正确性 为每个等价类规定一个唯一编号 设计有效等价类的测试用例,使其尽可能多的覆盖未被覆盖的有效等价类,直到测试用例覆盖了所有的等价类 设计无效等价类的测试用例,使其覆盖所有的无效等价类
eg:教师组卷等价类
教师用户在进行组卷时,可以选择组卷方式为自动组卷或者手动组卷,自动组卷的试卷满分不能超过100分,对每种题型的数量和分值都做了限制,其中选择题和判断题的分值在0-5分,每种难度的题量在0-2个,主观题的分值在5-10分,简单难度的题量在0-2个,其他类型在-1个
- 有效等价类:选择题和判断题分值输入0-5整数
- 有效等价类:各难度的选择题和判断题数量输入为0-2的整数
- 有效等价类:主观题分值输入为5-10的整数
- 有效等价类:简单的主观题数量输入为0-2的整数
- 有效等价类:其他类型主观题的数量输入为0-1的整数
- 无效等价类:选择题和判断题分值输入小于0或大于5的实数
- 无效等价类:各难度的选择题和判断题数量输入为小于0或大于2的实数
- 无效等价类:主观题分值输入为小于5、大于10的实数
- 无效等价类:简单主观题数量输入为小于0或大于2的实数
- 无效等价类:其他类型主观题输入为小于0或大于1的实数
覆盖有效等价类的测试用例:
测试用例 | 题目类型 | 分值 | 难度 | 数量 | 覆盖有效等价类编号 |
---|
test1 | 选择题和判断题 | 3 | 简单 | 2 | 1,2 | test2 | 选择题和判断题 | 4 | 一般 | 1 | 1,2 | test3 | 选择题和判断题 | 5 | 困难 | 0 | 1,2 | test4 | 主观题 | 5 | 简单 | 2 | 3,4 | test5 | 主观题 | 8 | 一般 | 0 | 3,5 | test6 | 主观题 | 10 | 困难 | 1 | 3,5 |
覆盖无效等价类的测试用例:
测试用例 | 题目类型 | 分值 | 难度 | 数量 | 覆盖无效等价类编号 |
---|
test7 | 选择题和判断题 | -2 | 简单 | 9 | 6,7 | test8 | 选择题和判断题 | 6.5 | 一般 | -2 | 6,7 | test9 | 选择题和判断题 | 7 | 困难 | 3.3 | 6,7 | test10 | 主观题 | 4 | 简单 | 0.5 | 8,9 | test11 | 主观题 | 20 | 一般 | -2 | 8,10 | test12 | 主观题 | 7.9 | 困难 | 4 | 8,10 |
2.1.2 边界值分析法
边界值分析法是对软件的输入输出边界进行测试的一种方法,是等价类划分法的一种补充测试
选择边界值的方法:
若选取5个测试值:在两个边界内取测试值,即最小值,略大于最小值,正常值,略小于最大值,最大值
若选取7个测试值:在取值范围外在取两个值:即略小于最小值,最小值,正常值,略小于最大值,最大值,略大于最大值
缺点:缺乏充分性,不能整体全面的测试软件
2.3 因果图与决策表法
2.3.1 因果图设计法
用简单的逻辑符号和直线将程序的因果连接,原因用ci表示,结果用ei表示,ci与ei可以取值“0”或“1”,其中“0”表示状态不出现,“1”表示状态出现。 ei与ci之间有恒等、非(~)、或(∨)、与(∧)四种关系
因果图法设计测试用例的步骤
- 分析需求规格说明书,确定输入输出
- 分析确定输入与输入之间,输入与输出之间的对应关系,将其用因果图表示
- 有部分输入与输入之间,输入与输出之间的组合情况是不可能出现的,对这种情况要标记他们之间的限制或约束关系
- 将因果图转换为决策表
- 根据决策表设计测试用例
2.3.2 决策表
决策表也成为判定表,是一种逻辑表。在程序开发初期,决策表就被用来当作一种辅助工具,整理开发模式和流程
决策表通常由条件桩,条件项,动作桩,动作项四个部分组成
-
条件桩:问题的所有条件,一般先后次序无关紧要
-
条件项:条件桩的所有取值
-
动作桩:问题可能采取的操作
-
动作项:指出条件项在各组取值情况下采取的动作
由于一般情况下条件桩非常多,且每个条件桩都有真假两个条件项,若为每条规则都设计一个测试用例,是很浪费资源的,所以往往会合并规则
2.4 正交实验设计法
在大量的实验点中选择适量的,具有代表性的点,合理安排实验,正交实验设计法包含三个关键因素: 指标:判断实验结果优劣的标准 因子:所有影响试验指标的条件 因子的状态:因子变量的取值
|