黑盒测试要有一套产生测试用例的方法,用以产生有限的测试用例而覆盖足够多的“任何情况”
它包括:等价类划分法、因果图法、边界值分析法、猜错法、随机数法
1、等价类划分法
(1)、什么是等价类划分
– 等价类,把所有可能的输入数据,即程序的输入域划分成若干部分,
– 划分,从每一部分中选取少数有代表性的数据做为测试用例,代表性数据等同于该类中的其他值
(2)、划分等价类的考虑因素
- 输入数据
- 输出数据
Ø 有效等价类:对于程序规格说明来说,是合理的,有意义的输入数据构成的集合
Ø 无效等价类:对于程序规格说明来说,是不合理的,无意义的输入数据构成的集合
设计测试用例时,要同时考虑有效等价类和无效等价类设计
(3)、从已列出的等价类表中按以下原则选择测试用例
• 为每个等价类规定一个惟一的编号
• 设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖
• 设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步使所有无效等价类均被覆盖
2、 边界值分析法
(1)边界的含义
– 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法,稍高于其边界值及稍低于其边界值的一些特定情况
(2)边界值分析方法
– 选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据的方法
(3)
• 边界值分析是等价类划分方法的补充,所有测试阶段都可使用
• 等价分类法与边界值分析法的比较:边界值分析法使用范围更广,更复杂,找到的缺陷也更多,需要测试人员有更多的经验和耐心
– 等价分类法的测试数据是在各个等价类允许的值域内任意选取的
– 边界值分析法的测试数据必须在等价类的边界值附近选取
– 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。
1、 因果图法
(1)定义 :是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,该方法充分考虑了输入情况的各种组合及输入条件之间的相互制约关系。
• 适用范围
– 适合检查程序输入条件的各种组合情况
– 产生背景
– 等价类法、边界值法分析着重考虑输入条件,未考虑输入条件之间的关系
(2)因果图标识
• 原因和结果之间的关系有:
①恒等:若C1是1,则E1也是1;否则E1为0。
②非:若C1是1,则E1是0;否则E1是1。
③或:若c1或c2是1,则E1是1;否则E1为0,或”可有任意个输入。
④与:若c1和c2都是1,则E1为1;否则E1为0, 与”也可有任意个输入。
(3)因果图约束
• 约束条件符号
A.输入条件的约束有以下4类:
① E约束(互斥/异):a和b中至多有一个可能为1,即a和b不能同时为1。
② I约束(或):a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。
③ O约束(唯一);a和b必须有一个,且仅有1个为1。
④R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。
B.输出条件约束类型
输出条件的约束只有M约束(屏蔽/强制):若结果a是1,则结果b强制为0。
(4)随机测试指测试输入数据是所有可能输入值中随机选取的,是一种基本的黑盒测试方法。
(5)猜错法是基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性地设计测试用例的方法。