实验项目名称:实验二
一、 实验目的
- 掌握白盒测试的基础知识;
- 掌握白盒测试的检查内容及测试目的;
- 掌握黑盒测试的几种基本测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖。
二、 实验内容
实验题目
l 对实验一1、3题使用逻辑覆盖法进行测试用例设计。
l 对实验一2、4题使用基本路径法进行测试用例设计。
l 采用判定覆盖、条件覆盖对题中程序进行用例设计。
三、 设计思路及结果
l 对实验一1、3题使用逻辑覆盖法进行测试用例设计。
1、一题
程序流程图
控制流图
(1) 语句覆盖
输入 |
测试路径 |
测试结果 |
||
Year |
Month |
Day |
||
R |
2 |
1 |
1-2-3 |
检测到您的输入不合法,请输入数字! |
0 |
2 |
3 |
1-2-4-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
1 |
5 |
1-2-5-6-7-8-10-13-15-16-17-15-18-19-20-19-22 |
星期三 |
2000 |
2 |
8 |
1-2-5-6-7-8-10-13-15-16-15-18-19-20-21-19-22 |
星期二 |
1999 |
2 |
29 |
1-2-5-6-7-9-11-12 |
检测到您的输入不合法,请输入合法日期! |
(2) 判定覆盖
输入 |
测试路径 |
测试结果 |
||
Year |
Month |
Day |
||
R |
2 |
1 |
1-2-3 |
检测到您的输入不合法,请输入数字! |
0 |
2 |
3 |
1-2-4-12 |
检测到您的输入不合法,请输入合法日期! |
2 |
0 |
3 |
1-2-4-5-12 |
检测到您的输入不合法,请输入合法日期! |
2 |
2 |
0 |
1-2-4-5-6-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
2 |
30 |
1-2-4-5-6-7-8-10-12 |
检测到您的输入不合法,请输入合法日期! |
1999 |
2 |
29 |
1-2-4-5-6-7-9-11-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
3 |
32 |
1-2-4-5-6-7-8-13-15-16-17-12 |
检测到您的输入不合法,请输入合法日期! |
1999 |
4 |
31 |
1-2-4-5-6-7-9-13-15-16-15-18-19-20-21-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
2 |
20 |
1-2-4-5-6-7-8-10-13-15-16-15-18-19-20-19-22 |
星期日 |
1999 |
2 |
3 |
1-2-4-5-6-7-9-11-13-15-16-15-18-19-20-19-22 |
星期三 |
2000 |
5 |
8 |
1-2-4-5-6-7-8-13-15-16-17-15-18-19-20-19-22 |
星期一 |
2000 |
4 |
8 |
1-2-4-5-6-7-8-13-15-16-15-18-19-20-21-19-22 |
星期六 |
(3) 条件覆盖
输入 |
测试路径 |
测试结果 |
||
Year |
Month |
Day |
||
R |
R |
R |
1-2-3 |
检测到您的输入不合法,请输入数字! |
0 |
2 |
3 |
1-2-4-12 |
检测到您的输入不合法,请输入合法日期! |
2 |
0 |
3 |
1-2-4-5-12 |
检测到您的输入不合法,请输入合法日期! |
2 |
2 |
0 |
1-2-4-5-6-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
2 |
30 |
1-2-4-5-6-7-8-10-12 |
检测到您的输入不合法,请输入合法日期! |
1999 |
2 |
29 |
1-2-4-5-6-7-9-11-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
3 |
32 |
1-2-4-5-6-7-8-13-15-16-17-12 |
检测到您的输入不合法,请输入合法日期! |
1999 |
4 |
31 |
1-2-4-5-6-7-9-13-15-16-15-18-19-20-21-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
2 |
20 |
1-2-4-5-6-7-8-10-13-15-16-15-18-19-20-19-22 |
星期日 |
1999 |
2 |
3 |
1-2-4-5-6-7-9-11-13-15-16-15-18-19-20-19-22 |
星期三 |
2000 |
5 |
8 |
1-2-4-5-6-7-8-13-15-16-17-15-18-19-20-19-22 |
星期一 |
2000 |
4 |
8 |
1-2-4-5-6-7-8-13-15-16-15-18-19-20-21-19-22 |
星期六 |
(4) 判定条件覆盖
输入 |
测试路径 |
测试结果 |
||
Year |
Month |
Day |
||
R |
R |
R |
1-2-3 |
检测到您的输入不合法,请输入数字! |
0 |
2 |
3 |
1-2-4-12 |
检测到您的输入不合法,请输入合法日期! |
2 |
0 |
3 |
1-2-4-5-12 |
检测到您的输入不合法,请输入合法日期! |
2 |
2 |
0 |
1-2-4-5-6-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
2 |
30 |
1-2-4-5-6-7-8-10-12 |
检测到您的输入不合法,请输入合法日期! |
1999 |
2 |
29 |
1-2-4-5-6-7-9-11-12 |
检测到您的输入不合法,请输入合法日期! |
2004 |
3 |
32 |
1-2-4-5-6-7-8-13-15-16-17-12 |
检测到您的输入不合法,请输入合法日期! |
1999 |
4 |
31 |
1-2-4-5-6-7-9-13-15-16-15-18-19-20-21-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
2 |
20 |
1-2-4-5-6-7-8-10-13-15-16-15-18-19-20-19-22 |
星期日 |
1999 |
2 |
3 |
1-2-4-5-6-7-9-11-13-15-16-15-18-19-20-19-22 |
星期三 |
2000 |
5 |
8 |
1-2-4-5-6-7-8-13-15-16-17-15-18-19-20-19-22 |
星期一 |
2000 |
4 |
8 |
1-2-4-5-6-7-8-13-15-16-15-18-19-20-21-19-22 |
星期六 |
(5) 条件组合覆盖
输入 |
测试路径 |
测试结果 |
||
Year |
Month |
Day |
||
R |
R |
R |
1-2-3 |
检测到您的输入不合法,请输入数字! |
R |
R |
1 |
1-2-3 |
|
R |
1 |
R |
1-2-3 |
|
R |
1 |
1 |
1-2-3 |
|
1 |
R |
R |
1-2-3 |
|
1 |
R |
1 |
1-2-3 |
|
1 |
1 |
R |
1-2-3 |
|
0 |
2 |
3 |
1-2-4-12 |
检测到您的输入不合法,请输入合法日期! |
2 |
0 |
3 |
1-2-4-5-12 |
检测到您的输入不合法,请输入合法日期! |
2 |
2 |
0 |
1-2-4-5-6-12 |
检测到您的输入不合法,请输入合法日期! |
2004 |
2 |
30 |
1-2-4-5-6-7-8-10-12 |
检测到您的输入不合法,请输入合法日期! |
1999 |
2 |
29 |
1-2-4-5-6-7-9-11-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
3 |
32 |
1-2-4-5-6-7-8-13-15-16-17-12 |
检测到您的输入不合法,请输入合法日期! |
1999 |
4 |
31 |
1-2-4-5-6-7-9-13-15-16-15-18-19-20-21-12 |
检测到您的输入不合法,请输入合法日期! |
4 |
2 |
20 |
1-2-4-5-6-7-8-10-13-15-16-15-18-19-20-19-22 |
星期三 |
1999 |
2 |
3 |
1-2-4-5-6-7-9-11-13-15-16-15-18-19-20-19-22 |
星期三 |
2000 |
5 |
8 |
1-2-4-5-6-7-8-13-15-16-17-15-18-19-20-19-22 |
星期一 |
2000 |
4 |
8 |
1-2-4-5-6-7-8-13-15-16-15-18-19-20-21-19-22 |
星期六 |
(6) 路径覆盖
输入 |
测试路径 |
测试结果 |
||
Year |
Month |
Day |
||
R |
R |
R |
1-2-3 |
检测到您的输入不合法,请输入数字! |
0 |
2 |
3 |
1-2-4-12 |
检测到您的输入不合法,请输入合法日期! |
2 |
0 |
3 |
1-2-4-5-12 |
检测到您的输入不合法,请输入合法日期! |
2 |
2 |
0 |
1-2-4-5-6-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
2 |
30 |
1-2-4-5-6-7-8-10-12 |
检测到您的输入不合法,请输入合法日期! |
1999 |
2 |
29 |
1-2-4-5-6-7-9-11-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
3 |
32 |
1-2-4-5-6-7-8-13-15-16-17-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
5 |
8 |
1-2-4-5-6-7-8-13-15-16-17-15-18-19-20-19-22 |
星期一 |
1999 |
5 |
8 |
1-2-4-5-6-7-9-13-15-16-17-15-18-19-20-19-22 |
星期六 |
1999 |
4 |
31 |
1-2-4-5-6-7-9-13-15-16-15-18-19-20-21-12 |
检测到您的输入不合法,请输入合法日期! |
2000 |
4 |
8 |
1-2-4-5-6-7-8-13-15-16-15-18-19-20-21-19-22 |
星期六 |
1999 |
4 |
8 |
1-2-4-5-6-7-9-13-15-16-15-18-19-20-21-19-22 |
星期四 |
2000 |
2 |
20 |
1-2-4-5-6-7-8-10-13-15-16-15-18-19-20-19-22 |
星期日 |
1999 |
2 |
3 |
1-2-4-5-6-7-9-11-13-15-16-15-18-19-20-19-22 |
星期三 |
2、三题
程序流程图
控制流图
(1) 语句覆盖
输入 |
测试路径 |
测试结果 |
||
金额 |
饮料 |
复位 |
||
1 |
啤酒 |
1 |
1-2-3-2-4-5-6-8-9-11 |
啤酒;0.5 |
0.5 |
橙汁 |
0 |
1-2-4-5-7-8-10-11 |
橙汁;0.0 |
(2) 判定覆盖
输入 |
测试路径 |
测试结果 |
||
金额 |
饮料 |
复位 |
||
1 |
啤酒 |
1 |
1-2-3-2-4-5-6-8-9-11 |
啤酒;0.5 |
0.5 |
橙汁 |
0 |
1-2-4-5-7-8-10-11 |
橙汁;0.0 |
(3) 条件覆盖
输入 |
测试路径 |
测试结果 |
||
金额 |
饮料 |
复位 |
||
1 |
啤酒 |
1 |
1-2-3-2-4-5-6-8-9-11 |
啤酒;0.5 |
0.5 |
橙汁 |
0 |
1-2-4-5-7-8-10-11 |
橙汁;0.0 |
(4) 判定条件覆盖
输入 |
测试路径 |
测试结果 |
||
金额 |
饮料 |
复位 |
||
1 |
啤酒 |
1 |
1-2-3-2-4-5-6-8-9-11 |
啤酒;0.5 |
0.5 |
橙汁 |
0 |
1-2-4-5-7-8-10-11 |
橙汁;0.0 |
(5) 条件组合覆盖
输入 |
测试路径 |
测试结果 |
||
金额 |
饮料 |
复位 |
||
1 |
啤酒 |
1 |
1-2-3-2-4-5-6-8-9-11 |
啤酒;0.5 |
0.5 |
橙汁 |
0 |
1-2-4-5-7-8-10-11 |
橙汁;0.0 |
(6) 路径覆盖
输入 |
测试路径 |
测试结果 |
||
金额 |
饮料 |
复位 |
||
1 |
啤酒 |
1 |
1-2-3-2-4-5-6-8-9-11 |
啤酒;0.5 |
1 |
橙汁 |
0 |
1-2-4-5-6-8-10-11 |
橙汁;0.5 |
0.5 |
橙汁 |
0 |
1-2-4-5-7-8-10-11 |
橙汁;0.0 |
0.5 |
啤酒 |
0 |
1-2-4-5-7-8-9-11 |
啤酒;0.0 |
l 对实验一2、4题使用基本路径法进行测试用例设计。
1、二题
程序流程图
控制流图
基本路径法
输入 |
测试路径 |
测试结果 |
|
R(商品价格) |
P(付款) |
||
1 |
110 |
1-2-3-20 |
请输入正确的金额 |
110 |
60 |
1-2-4-3-20 |
请输入正确的金额 |
90 |
80 |
1-2-4-6-5-20 |
您的消费金额超出支付金额 |
50 |
50 |
1-2-4-6-8-7-20 |
正好不用找 |
R |
R |
1-19-20 |
请输入合法数字 |
1 |
100 |
1-2-4-6-8-9-10-11-12-13-14-15-16-17-20 |
1张50元 4张10元 1张5元 4张1元 |
1 |
50 |
1-2-4-6-8-9-11-12-13-14-15-16-17-20 |
4张10元 1张5元 4张1元 |
41 |
100 |
1-2-4-6-8-9-10-11-13-14-15-16-17-20 |
1张50元 1张5元 4张1元 |
39 |
100 |
1-2-4-6-8-9-10-11-12-13-15-16-17-20 |
1张50元 1张10元 1张1元 |
35 |
100 |
1-2-4-6-8-9-10-11-12-13-14-15-17-20 |
1张50元 1张10元 1张5元 |
11 |
20 |
1-2-4-6-8-9-11-13-14-15-16-17-20 |
1张5元 4张1元 |
89 |
100 |
1-2-4-6-8-9-11-12-13-15-16-17-20 |
1张10元 1张1元 |
85 |
100 |
1-2-4-6-8-9-11-12-13-14-15-17-20 |
1张10元 1张5元 |
49 |
100 |
1-2-4-6-8-9-10-11-13-15-16-17-20 |
1张50元 1张1元 |
45 |
100 |
1-2-4-6-8-9-10-11-13-14-15-17-20 |
1张50元 1张5元 |
40 |
100 |
1-2-4-6-8-9-10-11-12-13-15-17-20 |
1张50元 1张10元 |
50 |
100 |
1-2-4-6-8-9-10-11-13-15-17-20 |
1张50元 |
10 |
20 |
1-2-4-6-8-9-11-12-13-15-17-20 |
1张10元 |
5 |
10 |
1-2-4-6-8-9-11-13-14-15-17-20 |
1张5元 |
3 |
5 |
1-2-4-6-8-9-11-13-15-16-17-20 |
2张1元 |
2、四题
程序流程图
控制流图
基本路径法
输入 |
测试路径 |
测试结果 |
||
航线 |
舱位 |
飞行时间 |
||
欧美 |
- |
- |
1-2-3-2-5-6-16 |
食物供应,可播放电影 |
欧美 |
- |
- |
1-2-5-6-16 |
食物供应,可播放电影 |
国内 |
商务舱 |
- |
1-2-5-7-8-10-16 |
食物供应 |
国内 |
经济舱 |
两小时内 |
1-2-5-7-8-11-14-16 |
无服务 |
国内 |
经济舱 |
超过两小时 |
1-2-5-7-8-11-15-16 |
食物供应 |
国外非欧美 |
商务舱 |
- |
1-2-5-7-9-12-16 |
食物供应,可播放电影 |
国外非欧美 |
经济舱 |
- |
1-2-5-7-9-13-16 |
食物供应 |
l 采用判定覆盖、条件覆盖对题中程序进行用例设计。
程序流程图
1、 判定覆盖
1输入:
Employee Table
NAME |
JOB CODE |
DEPT |
Salary |
Department Table
DEPT |
SALES |
输出:
1
2输入:
Employee Table
NAME |
JOB CODE |
DEPT |
Salary |
A |
E |
2 |
15000 |
B |
E |
2 |
15000 |
Department Table
DEPT |
SALES |
1 |
50000 |
2 |
30000 |
输出:
2
3输入:
Employee Table
NAME |
JOB CODE |
DEPT |
Salary |
A |
E |
1 |
10000 |
B |
E |
1 |
9000 |
C |
M |
1 |
16000 |
D |
E |
1 |
15000 |
E |
E |
2 |
15000 |
F |
E |
2 |
15000 |
Department Table
DEPT |
SALES |
1 |
50000 |
2 |
30000 |
输出:
0
2、 条件覆盖
1输入:
Employee Table
NAME |
JOB CODE |
DEPT |
Salary |
Department Table
DEPT |
SALES |
1 |
120000 |
输出:
1
2输入:
Employee Table
NAME |
JOB CODE |
DEPT |
Salary |
A |
E |
1 |
12000 |
Department Table
DEPT |
SALES |
输出:
1
3输入:
Employee Table
NAME |
JOB CODE |
DEPT |
Salary |
A |
E |
2 |
15000 |
B |
E |
2 |
15000 |
Department Table
DEPT |
SALES |
1 |
50000 |
2 |
30000 |
输出:
2
4输入:
Employee Table
NAME |
JOB CODE |
DEPT |
Salary |
A |
E |
1 |
10000 |
B |
E |
1 |
9000 |
C |
M |
1 |
16000 |
D |
E |
1 |
15000 |
E |
E |
2 |
15000 |
F |
E |
2 |
15000 |
Department Table
DEPT |
SALES |
1 |
50000 |
2 |
30000 |
输出:
0
四、 个人体会
通过测试自己的程序代码,使用规范的流程分析测试用例,就发现自己的程序虽然小但是也存在很多bug,一些判断的流程并不规范,问题的检查存在冗余。在自查的过程当中也得到了提高,获得了一些经验,之后在编程的过程中会有意识的避免出现类似的错误,在变成之前体现进行构思而不是上手就做。