黑盒测试又称为功能测试或数据驱动测试
黑盒测试方法:等价类划分、边界值分析、错误推测法、因果图与判定表(决策树-流程图)、正交实验法、场景法、探索式测试
等价类划分法
根据需求,对用户所有可能的输入划分若干子集,然后从每个子集中选取少量有代表性的数据作为测试用例
等价类划分设计步骤
1.先划分等价类:找出所有可能的分类
2.确认有效等价类:需求中的条件
3.确认无效等价类:与条件相反的情况、再找特殊情况(考虑各种可能情况)
4.从各分类中挑选具体的测试用例数据
案例
有一个计算两数加法的程序,只能计算不超过100的正整数。
需求解析
1. 1-100整数加法,2. 有两个输入框。
1. 找出可能的输入数据
整数、小数、字母、汉字、符号、空格、回车、不输入
2. 确认等价类的范围
输入条件 |
有效等价类 |
无效等价类 |
1-100整数,取值范围 [1,100] |
[1,100]整数 |
<1整数 |
>100整数 |
||
小数 |
||
字母 |
||
汉字 |
||
特殊符号 |
||
空 |
3. 挑选具体的测试用例数据
注:测试无效等价类时,另一个变量应为有效等价类,确保变量唯一。
编号 |
所属等价类 |
输入框1 |
输入框2 |
预期结果 |
1 |
有效 |
45 |
23 |
68 |
2 |
无效 |
-15 |
58 |
给出错误提示 |
3 |
无效 |
58 |
-15 | 给出错误提示 |
4 |
无效 |
105 |
50 |
给出错误提示 |
5 |
无效 |
50 |
105 |
给出错误提示 |
6 |
无效 |
3.23 |
45 |
给出错误提示 |
7 |
无效 |
45 |
3.23 |
给出错误提示 |
8 |
无效 |
ab |
11 |
给出错误提示 |
9 |
无效 |
11 |
ab |
给出错误提示 |
10 |
无效 |
我 |
34 |
给出错误提示 |
11 |
无效 |
34 |
我 |
给出错误提示 |
12 |
无效 |
% |
56 |
给出错误提示 |
13 |
无效 |
56 |
% |
给出错误提示 |
14 |
无效 |
78 |
给出错误提示 |
|
15 |
无效 |
78 |
给出错误提示 |
边界值分析法
错误的产生通常在输入输出的边界范围,对边界情况设计测试用例,可以发现更多错误。
边界值取值原则
边界值法通常作为等价类划分的补充方法,测试用例来自等价类的边界。
选取正好等于,刚好大于或刚好小于边界的值作为测试数据。
上点、离点、内点的概念
上点:边界上的点,跟域是开区间还是闭区间无关,开区间上点在域外,闭区间上点在域内。
离点:离上点最近的点,跟域是开区间还是闭区间有关,开区间离点在域内,闭区间离点在域外。
内点:域内的任意点都是内点
如:[1,100],(1,100),上点均是1和100,不同的是前者1和100在域内,后者1和100在域外。前者离点为0,101,后者离点为2,99;离点跟取值精度有关,举例为取整数情况。
完善上述加法程序案例
根据边界值法,确认边界取值:0、1、2、99、100、101。
4. 完善补充测试数据
编号 |
所属等价类 |
输入框1 |
输入框2 |
预期结果 |
1 |
有效 |
1 |
100 |
101 |
2 |
有效 |
2 |
99 |
101 |
3 |
有效 |
99 |
2 |
101 |
4 |
有效 |
100 |
1 |
101 |
5 |
无效 |
0 |
40 |
给出错误提示 |
6 |
无效 |
40 |
0 |
给出错误提示 |
7 |
无效 |
101 |
50 |
给出错误提示 |
8 |
无效 |
50 |
101 |
给出错误提示 |
9 |
无效 |
3.23 |
45 |
给出错误提示 |
10 |
无效 |
45 |
3.23 |
给出错误提示 |
11 |
无效 |
ab |
11 |
给出错误提示 |
12 |
无效 |
11 |
ab |
给出错误提示 |
13 |
无效 |
我 |
34 |
给出错误提示 |
14 |
无效 |
34 |
我 |
给出错误提示 |
15 |
无效 |
% |
56 |
给出错误提示 |
16 |
无效 |
56 |
% |
给出错误提示 |
17 |
无效 |
78 |
给出错误提示 |
|
18 |
无效 |
78 |
给出错误提示 |