黑盒测试方法
- 边界值分析
- 等价类划分
- 决策表
- 因果图
一 边界值分析方法
1 边界值分析
1.1 边界值分析原理
- 边界值分析关注的是输入空间的边界,以标识测试用例。边界值测试背后的基本原理是错误更可能出现在输入变量的极值附近。
- 边界值分析的基本思想是在最小值、略高于最小值、正常值、略低于最大值和最大值处取输入变量值。
- 边界值分析的下一个部分基于一种关键假设,在可靠性理论叫做“单缺陷”假设。这种假设是说,失效极少是由两个(或多个)缺陷的同时发生引起的。因此,边界值分析测试用例的获得,通过是所有变量取正常值,只使一个变量取极值。
- 两变量函数F的边界值测试用例是:
{
1.2 归纳边界值分析
- 两种归纳方式:变量数量和值域种类
归纳变量数量
- 如果有一个n变量函数,使除一个以外的所有变量取正常值,使剩余的那个变量取最小值、略高于最小值、正常值、略低于最大值和最大值,对每个变量都重复进行。这样,对于一个n变量函数,边界值分析会产生4n+1个测试用例。
归纳值域
- 归纳值域取决于变量本身的性质(或类型)。例如,对于NextDate函数,我们有月份、日期和年对应的变量。如果没有显示的给出边界,例如三角形问题,通常必须创建一种“人工”边界。
边界值分析对布尔变量没有什么意义。极值只有TRUE和FALSE,但是其余三个值不明确。
1.3 边界值分析的局限
- 如果被测程序是多个独立变量的函数,这些变量受物理量的限制,则很适合边界值分析。
- 物理准则也很重要。如果变量引用某个物理量,例如温度、压力、空气速度、迎角、负载等,物理边界极为重要。
2 健壮性测试
- 健壮性测试是边界值分析的一种简单扩展:除了变量的5个边界值分析取值,还要通过采用一个略大于最大值(max+)的取值,以及一个略小于最小值(min-)的取值,看看超过极值时系统会有什么表现。
- 对于n个输入变量的函数,健壮性测试可以产生6n+1个测试用例。
- 健壮性测试最有意思的部分不是输入,而是预期的输出。
3 最坏情况测试
- 去掉单缺陷假设,关心当多个变量取极值时会出现什么情况。
- 对每个变量,首先进行包含最小值、略高于最小值、正常值、略低于最大值和最大值五元素集合的测试,然后对这些集合进行笛卡尔积计算,以生成测试用例。
- 最坏情况测试显然更彻底,因为边界值分析测试用例是最坏情况测试用例的真子集。
- 最坏情况测试还意味着更多的工作量:n变量函数的最坏情况测试,会产生5^n个测试用例