编写测试用的方法
编写测试用的方法:
分类:等价类、边界值、判定表、因果图、场景、正交
一、等价类:有效等价类和无效等价类
实例1:
|
等价类 |
测试用例 |
|
|
输入数据 |
预期结果 |
|
|
[0,60) |
45 |
差 |
|
[60,75) |
70 |
中 |
|
[75,85) |
76 |
良好 |
|
[85,100] |
99 |
优秀 |
|
小于0 |
-1 |
给出错误提示 |
|
大于100 |
101 |
给出错误提示 |
|
空数据 |
不输入任何数据 |
给出错误提示 |
|
字符串 |
a |
给出错误提示 |
实例2:
|
等价类 |
测试用例 |
|
|
输入数据 |
预期结果 |
|
|
合法字符文件名 |
abc!@#¥¥%( |
允许保存 |
|
非法字符文件名 |
<> |
不允许保存 |
|
过短文件名 |
空文件名 |
不允许保存 |
|
合法长度文件名 |
aaa |
允许保存 |
|
过长文件名 |
256个字符组成的文件名 |
不允许保存 |
实例3:三角形
|
|
有效类 |
无效类 |
|
是否是三角形 |
a>0 (1) |
a<0 (7) |
|
b>0 (2) |
b<0 (8) |
|
|
c>0 (3) |
c<0 (9) |
|
|
a+b>c (4) |
a+b<c (10) |
|
|
a+c>b (5) |
a+c<b (11) |
|
|
b+c>a (6) |
b+c<a (12) |
|
|
是否是等腰三角形 |
a=b (13) |
a!=b 且 b!=a 且 a!=c (16) |
|
b=c (14) |
||
|
a=c (15) |
||
|
是否是等边三角形 |
a=b=c (17) |
a!=b (18) |
|
b!=c (19) |
||
|
a!=c (20) |
|
等价类 |
输入 |
输出 |
|
1,2,3,4,5,6,16 |
3,4,5 |
是三角形 |
|
7 |
0,1,2 |
不是三角形 |
|
8 |
1,0,2 |
不是三角形 |
|
9 |
1,2,0 |
不是三角形 |
|
10 |
3,4,8 |
不是三角形 |
|
11 |
3,8,4 |
不是三角形 |
|
12 |
8,3,4 |
不是三角形 |
|
1,2,3,4,5,6,13,19 |
3,3,5 |
等腰三角形 |
|
1,2,3,4,5,6,14,20 |
5,3,3 |
等腰三角形 |
|
1,2,3,4,5,6,15,18 |
3,5,3 |
等腰三角形 |
|
1,2,3,4,5,6,17 |
3,3,3 |
等边三角形 |
二、边界值
实例1:
|
等价类 |
测试用例 |
|
|
输入数据 |
预期结果 |
|
|
[0,60) |
45 |
差 |
|
[60,75) |
70 |
中 |
|
[75,85) |
76 |
良好 |
|
[85,100] |
99 |
优秀 |
|
小于0 |
-1 |
给出错误提示 |
|
大于100 |
101 |
给出错误提示 |
|
空数据 |
不输入任何数据 |
给出错误提示 |
|
字符串 |
a |
给出错误提示 |
|
边界值 |
0 |
差 |
|
60 |
中 |
|
|
75 |
良好 |
|
|
85 |
优秀 |
|
|
100 |
优秀 |
|
三、判定表驱动法
|
条件桩 |
条件1 |
Y |
N |
... |
N |
|
条件2 |
Y |
Y |
... |
N |
|
|
条件... |
Y |
Y |
... |
N |
|
|
动作桩 |
动作1 |
... |
... |
... |
... |
|
动作2 |
... |
... |
... |
... |
|
|
动作... |
... |
... |
... |
... |
1.确定规则的个数,条件数为n,规则个数2的n次方;
2.列出所有条件桩和动作桩
3.填入条件项
4.填入动作项
对平均成绩在90分以上,且没有不及格科目的学生,或班级成绩排名在前五位的学生,
在程序中将学生的姓名用红色标识;
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
条件 |
平均成绩大于90 |
Y |
Y |
Y |
N |
N |
N |
Y |
N |
|
没有不及格科目 |
Y |
Y |
N |
Y |
N |
Y |
N |
N |
|
|
班级排名前5名 |
Y |
N |
Y |
Y |
Y |
N |
N |
N |
|
|
动作 |
姓名用红色标识 |
Y |
Y |
Y |
|
Y |
|
Y |
|
|
其他处理 |
|
|
|
Y |
|
Y |
|
Y |
简化后:
|
|
|
1 |
2 |
3 |
4 |
5 |
|
条件 |
平均成绩大于90 |
Y |
Y |
Y |
N |
N |
|
没有不及格科目 |
Y |
N |
N |
-- |
-- |
|
|
班级排名前5名 |
Y |
Y |
N |
Y |
N |
|
|
动作 |
姓名用红色标识 |
Y |
Y |
|
Y |
|
|
其他处理 |
|
|
Y |
|
Y |
四、因果图法:
-从程序规格说明中找出因(条件项)和果(动作项),并分析因果关系,以及因因、果果之间的约束关系,绘制因果图;
-通过因果图转为判定表;
-将判定表中不符合约束条件的规则去除
-然后将判定表简化,将每一个规则转化为一个测试用例
因果图---原因与结果的一般关系:
恒等 a——————————>b
非 非a————————>b
或 a或b——————>d
与 a与b------>d
对平均成绩在90分以上,且没有不及格科目的学生,或班级成绩排名在前五位的学生,
在程序中将学生的姓名用红色标识;
|
序号 |
原因 |
符号 |
结果 |
符号 |
|
1 |
平均成绩大于90 |
y1 |
姓名用红色标识 |
g1 |
|
2 |
没有不及格科目 |
y2 |
|
|
|
3 |
班级排名前5名 |
y3 |
|
|
y1^y2得到中间结果y4
y4|y3 得到结果g1
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
条件 |
y1 |
Y |
Y |
Y |
N |
N |
N |
Y |
N |
|
y2 |
Y |
Y |
N |
Y |
N |
Y |
N |
N |
|
|
y3 |
Y |
N |
Y |
Y |
Y |
N |
N |
N |
|
|
中间结果 |
|
Y |
Y |
N |
N |
N |
N |
N |
N |
|
结果 |
g1 |
Y |
Y |
Y |
Y |
Y |
N |
N |
N |
五、正交表法
假设某功能某块有5个独立变量A、B、C、D、E分别有2,2,3,3,6个取值
|
序号 |
因素名称 |
取值1 |
取值2 |
取值3 |
取值4 |
取值5 |
取值6 |
|
1 |
A |
A1 |
A2 |
|
|
|
|
|
2 |
B |
B1 |
B2 |
|
|
|
|
|
3 |
C |
C1 |
C2 |
C3 |
|
|
|
|
4 |
D |
D1 |
D2 |
D3 |
|
|
|
|
5 |
E |
E1 |
E2 |
E3 |
E4 |
E5 |
E6 |
|
|
因素1 |
因素2 |
因素3 |
因素4 |
因素5 |
|
|
2水平 |
2水平 |
3水平 |
3水平 |
6水平 |
|
实验1 |
A1 |
B1 |
C1 |
D1 |
E1 |
|
实验2 |
A1 |
B1 |
C2 |
D2 |
E2 |
|
实验3 |
A1 |
B2 |
C1 |
D3 |
E3 |
|
实验4 |
A1 |
B2 |
C3 |
D1 |
E4 |
|
实验5 |
A1 |
B1 |
C2 |
D3 |
E5 |
|
实验6 |
A1 |
B2 |
C3 |
D2 |
E6 |
|
实验7 |
A2 |
B1 |
C1 |
D3 |
E6 |
|
实验8 |
A2 |
B1 |
C3 |
D1 |
E5 |
|
实验9 |
A2 |
B2 |
C2 |
D2 |
E1 |
|
实验10 |
A2 |
B2 |
C3 |
D3 |
E2 |
|
实验11 |
A2 |
B1 |
C1 |
D2 |
E3 |
|
实验12 |
A2 |
B2 |
C2 |
D1 |
E3 |
|
实验13 |
A1 |
B1 |
C2 |
D3 |
E4 |
|
实验14 |
A2 |
B1 |
C3 |
D2 |
E3 |
|
实验15 |
A1 |
B2 |
C1 |
D2 |
E5 |
|
实验16 |
A2 |
B2 |
C2 |
D1 |
E6 |
|
实验17 |
A1 |
B1 |
C1 |
D1 |
E2 |
|
实验18 |
A2 |
B2 |
C3 |
D3 |
E1 |
六、场景法:
1.事件触发时序不同形成不同的场景
2.事件流分为基本流和备选流。
基本流描述最正常的一种场景
备选流描述执行过程中的异常或偶尔发生的情况
3.场景法通过用例场景描述业务操作流程,遍历业务流程上所有的基本流和备选流
步骤:
1.分析程序基本流、备选流
2.根据基本流、备选流生成场景
3.每一个场景对应一个测试用例
场景1:基本流
场景2:基本流、备选流1
场景3:基本流、备选流1、备选流2
场景4:基本流、备选流3
场景5:基本流、备选流3、备选流1
场景6:基本流、备选流3、备选流1、备选流2
场景7:基本流、备选流4
场景8:基本流、备选流1、备选流4
场景9:基本流、备选流3、备选流4

浙公网安备 33010602011771号