测试用例设计综合策略
- Myers提出了使用各种测试方法的综合策略:
_ 在任何情况下都必须使用边界值分析方法,经验表明用这种方法设计出测试用例发现程序错误的能力最强。
_ 必要时用等价类划分方法补充一些测试用例。
_ 用错误推测法再追加一些测试用例。
_ 对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例。
_ 如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。
- 测试用例的设计步骤
_ 构造根据设计规格得出的基本功能测试用例;
_ 边界值测试用例;
_ 状态转换测试用例;
_ 错误猜测测试用例;
_ 异常测试用例;
_ 性能测试用例;
_ 压力测试用例。
- 优化测试用例的方法
_ 利用设计测试用例的8种方法不断的对测试用例进行分解与合并;
_ 采用遗传算法理论进化测试用例;
_ 在测试时利用发散思维构造测试用例。
等价类划分:
一、定义:
把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每个子集中选取少数有代表性的数据作为测试用例。
二、等价类划分:
1. 有效等价类:符合程序规格说明,有意义,合理的数据构成的集合
2. 无效等价类:不合理,无意义的数据构成的集合
三、等价类划分标准:
1. 完备测试(子集的并是整个子集),避免冗余(子集互不交互)
2. 集合的划分, *划分为互不交互的一组子集,子集的并是整个集合*;
3. 同一类中标识(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到"相同的执行路径"。
四、弱一般等价类,强一般等价类
弱: 有单缺陷假设,
健壮:考虑了无效值
举例:验证年月日
弱健壮测试: 只考虑年,月,日为无效等价类
强健壮测试: 考虑到三者的无效等价类,还考虑到无效参数的个数
(一)弱健壮等价类测试
WR1 6 15 1912 1912年6月16日
WR2 -1 15 1912 月份不在1~12中
WR3 13 15 1912 月份不在1~12中
WR4 6 -1 1912 日期不在1~31中
WR5 6 32 1912 日期不在1~31中
WR6 6 15 1811 年份不在1812~2012中
WR7 6 15 2013 年份不在1812~2012中
(二)强健壮等价类测试
SR1 -1 15 1912 月份不在1~12中
SR2 6 -1 1912 日期不在1~31中
SR3 6 15 1811 年份不在1812~2012中
`SR4 -1 -1 1912 两个无效一个有效
SR5 6 -1 1811 两个无效一个有效
SR6 -1 15 1811 两个无效一个有效
SR7 -1 -1 1811 三个无效`