黑盒着重测:软件功能
0.黑盒发现错误类型:
- 功能不正确或遗漏
- 界面错误
- 数据结构或外部数据库访问错误
- 性能错误
- 初始化或终止错误
1.等价类划分
把程序的输入域划分成若干数据类,从每一数据类选取少数有代表性数据做为测试用例。在各数据类中,各输入数据对揭露程序中的错误等效。
1.1划分等价类
有效等价类
合理,有意义输入数据构成集合。
无效等价类
不合理,无意义输入数据构成的集合。
1.2 等价类划分原则
(1)输入条件规定范围
定义一有效等价类和两无效等价类。
例:输入条件:“…… 项数可以从1到999 ……”

(2)输入条件是布尔量
一个有效等价类和一个无效等价类。
(3)规定输入数据一组值
程序对每个输入值分别进行处理。每个输入值确立一有效等价类,针对这组值确立一个无效等价类。
(4)规定输入数据必须遵守规则
定义一有效等价类(符合规则)和若干无效等价类(从不同角度违反规则)。
(5)已划分等价类中各元素在程序中处理方式不同,将等价类进一步划分更小等价类。
1.3确立测试用例
建立等价类表,列出所有划分出等价类:

- 为每一等价类规定一唯一编号;
- 设计一新测试用例,尽可能多覆盖尚未被覆盖有效等价类,重复,直到所有有效等价类被覆盖;
- 设计一新测试用例,仅覆盖一尚未被覆盖无效等价类,重复,直到所有无效等价类被覆盖。




2.边界值分析
- 等价类划分补充。
- 确定边界情况;
- 选正好等于边界值做测试数据;
- 选临近边界合法数据,刚超过边界非法数据。
2.1常见的边界值
- 对16bit的整数而言,32767和-32767是边界
- 屏幕在光标在最左上、最右下位置
- 报表的第一行和最后一行
- 数组元素的第一个和最后一个
- 循环的第0次、第一次和倒数第2次、最后一次
2.2边界选择原则
(1)输入条件规定了取值范围,则以该范围作为边界;
例:重量10-50kg的邮件……,选择边界值:10、50、10.01、49.99、9.99及50.01。
(2)输入条件规定值的个数,则以个数为边界;
例:“某输入文件可包含1至255个记录……”
应选取1、255、0及256。
(3)针对规格说明的每个输出条件,使用原则(1)和(2);
(4)如果规格说明给出的输入或输出域是有序集合(如有序表、顺序文件等),则选取集合中特定次序的元素作为边界,如第一个、最后一个元素等;
(5)如果程序中使用了一个内部数据结构,则应选择该结构的边界上的值,如数组、链表等;
(6)分析规格说明,找出其它可能边界条件。
2.3示例
某报表处理系统要求用户输入处理报表日期,日期在2001年1月至2005年12月,由年、月6位数字字符组成,前四位代表年,后两位代表月。用边界值分析法写出测试用例。

3.错误推测
靠经验和直觉推测程序可能存在错误,有针对性编写检查这些错误的测试用例。
注意:
- 输入数据或输出数据为零
- 输入或输出数目为零(如表空或只1项)
- 缺省值
- 空白
- 空值
- 多个数据的组合效应
- 错误的群集现象