白盒测试
今天完成了老师白盒测试的实验。
下面是实验的过程
实验二白盒测试
一、实验目的
1、 掌握白盒测试的基础知识;
2、 掌握白盒测试的检查内容及测试目的;
3、 掌握黑盒测试的几种基本测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖。
二、实验要求
1、 复习有关内容,理解白盒测试;
2、 掌握语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖,并能设计出测试用例;
3、 对具体软件,能分别使用相应的白盒测试方法设计测试用例,并实施测试、分析测试结果。
三、实验内容
l 对实验一1、3题使用逻辑覆盖法进行测试用例设计。
l 对实验一2、4题使用基本路径法进行测试用例设计。
程序伪代码
注意: 1)参数表中EMPTAB 为职员表,DEPTTAB为部门表;
2 ) ESIZE为职员表长度,DSIZE为部门表长度;
3)ERRCODE为出错码
1. MAXSALERS = 0;
2. ERRCODE = 0;
3. if(ESIZE <= 0 || DSIZE <= 0)
4. ERRCODE = 1;
5. else0
6.{
7. for(i = 1; i < DSIZE ; i++) //选出各部门中最大的销售额值
8. if(SALES[i] > MAXSALES)
9. MAXSALES = SALES[i];
10. for(j = 1; j < DSIZE; j++) //循环找出销售额最大的部门
11. if(SALES[j] == MAXSALES)
12. {
13. FOUND = false;
14. for(int k = 1; k < ESIZE ; k++) //检查销售额最大部门的所有人员
15. if(EMPTAB.DEPT(k) == DEPTTAB.DEPT(j))
16. {
17. FOUND = true;
18. if(SALARY(k) >= 15000.00 or JOB(k) = 'M') //满足条件的人员加工资
19. SALARY(k) = SALARY(k) + 100.00;
20. else
21. SALARY(k) = SALARY(k) + 200.00;
22. }
23. if(FOUND == false)
24. ERRCODE == 2;
25. }
26. }
采用判定覆盖、条件覆盖对该程序进行用例设计
四、实验结果:
(1) 基本路径法绘制出控制流图,逻辑覆盖法绘制出流程图
实验一(1)
(1)语句覆盖
输入 |
测试路径 |
测试结果 |
||
年 |
月 |
日 |
||
2020 |
2 |
30 |
1234689 |
日期不正确 |
2021 |
4 |
26 |
1235679 |
星期一 |
(2)判定覆盖
输入 |
测试路径 |
测试结果 |
||
年 |
月 |
日 |
||
2020 |
2 |
30 |
1234689 |
日期不正确 |
2021 |
4 |
26 |
1235679 |
星期一 |
(3)条件覆盖
输入 |
测试路径 |
测试结果 |
||
年 |
月 |
日 |
||
2000 |
2 |
31 |
1234689 |
日期不正确 |
2008 |
2 |
16 |
1235679 |
星期四 |
1900 |
1 |
31 |
1235679 |
星期一 |
1890 |
1 |
31 |
1235689 |
日期不正确 |
1900 |
-1 |
31 |
1235689 |
日期不正确 |
1900 |
1 |
32 |
1235689 |
日期不正确 |
1900 |
13 |
5 |
1235689 |
日期不正确 |
1900 |
5 |
16 |
1235679 |
星期三 |
(4)判定条件覆盖
输入 |
测试路径 |
测试结果 |
||
年 |
月 |
日 |
||
2000 |
2 |
31 |
1234689 |
日期不正确 |
2008 |
2 |
16 |
1234679 |
星期四 |
1900 |
1 |
31 |
1235679 |
星期一 |
1890 |
1 |
31 |
1235689 |
日期不正确 |
1900 |
-1 |
31 |
1235689 |
日期不正确 |
1900 |
1 |
32 |
1235689 |
日期不正确 |
1900 |
13 |
5 |
1235689 |
日期不正确 |
1900 |
5 |
16 |
1235679 |
星期三 |
(5)条件组合覆盖
输入 |
测试路径 |
测试结果 |
||
年 |
月 |
日 |
||
2000 |
2 |
31 |
1234689 |
日期不正确 |
2008 |
2 |
16 |
1234679 |
星期四 |
1900 |
1 |
31 |
1235679 |
星期一 |
1890 |
1 |
31 |
1235689 |
日期不正确 |
1900 |
-1 |
31 |
1235689 |
日期不正确 |
1945 |
1 |
33 |
1235689 |
日期不正确 |
1900 |
14 |
5 |
1235689 |
日期不正确 |
1901 |
5 |
24 |
1235679 |
星期五 |
实验一(3)
流程图
(1)语句覆盖
输入 |
测试路径 |
测试结果 |
|
投币选择 |
饮料选择 |
||
1 |
1 |
1-2-3-4-6-9-17 |
请取啤酒 找零五角 |
1 |
2 |
1-2-3-4-6-8-10-17 |
请取橙汁 找零五角 |
1 |
3 |
1-2-3-4-6-8-11-17 |
选项无效 |
2 |
1 |
1-2-3-5-7-12-14-17 |
请取啤酒 |
2 |
2 |
1-2-3-5-7-12-13-15-17 |
请取橙汁 |
2 |
3 |
1-2-3-5-7-12-13-16-17 |
选项无效 |
3 |
———— |
1-2-3-5-17 |
无效 |
(2)判定覆盖
输入 |
测试路径 |
测试结果 |
|
投币选择 |
饮料选择 |
||
1 |
1 |
1-2-3-4-6-9-17 |
请取啤酒 找零五角 |
2 |
2 |
1-2-3-5-7-12-13-15-17 |
请取橙汁 |
2 |
3 |
1-2-3-5-7-12-13-16-17 |
选项无效 |
(3)条件覆盖
输入 |
测试路径 |
测试结果 |
|
投币选择 |
饮料选择 |
||
1 |
1 |
1-2-3-4-6-9-17 |
请取啤酒 找零五角 |
2 |
2 |
1-2-3-5-7-12-13-15-17 |
请取橙汁 |
2 |
3 |
1-2-3-5-7-12-13-16-17 |
选项无效 |
3 |
———— |
1-2-3-5-17 |
无效 |
(4)判定-条件覆盖
输入 |
测试路径 |
测试结果 |
|
投币选择 |
饮料选择 |
||
1 |
1 |
1-2-3-4-6-9-17 |
请取啤酒 找零五角 |
2 |
2 |
1-2-3-5-7-12-13-15-17 |
请取橙汁 |
2 |
3 |
1-2-3-5-7-12-13-16-17 |
选项无效 |
3 |
———— |
1-2-3-5-17 |
无效 |
(5)条件组合覆盖
输入 |
测试路径 |
测试结果 |
|
投币选择 |
饮料选择 |
||
1 |
1 |
1-2-3-4-6-9-17 |
请取啤酒 找零五角 |
1 |
2 |
1-2-3-4-6-8-10-17 |
请取橙汁 找零五角 |
1 |
3 |
1-2-3-4-6-8-11-17 |
选项无效 |
2 |
1 |
1-2-3-5-7-12-14-17 |
请取啤酒 |
2 |
2 |
1-2-3-5-7-12-13-15-17 |
请取橙汁 |
2 |
3 |
1-2-3-5-7-12-13-16-17 |
选项无效 |
3 |
———— |
1-2-3-5-17 |
无效 |
实验一(2)
基本路径法:
输入金额 |
测试路径 |
测试结果 |
101 |
1-2-3-4-11 |
金额不正确 |
50 |
1-2-3-5-7-8-9-11 |
刚好购买,不需找零 |
70 |
1-2-3-5-7-8-10-11 |
找回零钱20元,其中五十元0张,10元2张,5元0张,1元0张 |
1 |
1-2-3-5-6-11 |
金额不足 |
实验一(4)
基本路径法:
输入 |
测试路径 |
测试结果 |
||
航线 |
舱位 |
飞行时间 |
||
1 |
- |
- |
1-2-3-4-5-9-17 |
该次航班服务有: 每个座位都有食物供应,每个座位都可以放电影。 |
2 |
2 |
- |
1-2-3-5-6-7-8-9-17 |
该次航班服务有: 每个座位都有食物供应,每个座位都可以放电影。 |
3 |
2 |
|
1-2-3-5-9-10-15-16-17 |
该次航班服务有: 每个座位都有食物供应 |
3 |
1 |
1 |
1-2-3-5-9-10-11-12-14-15-17 |
该次航班服务有: 无 |
3 |
1 |
2 |
1-2-3-5-9-10-11-14-13-15-17 |
该次航班服务有: 每个座位都有食物供应 |
实验二:
(1)判定覆盖
输入 |
测试路径 |
测试结果 |
|||||
选择一 |
选择二 |
选择三 |
选择四 |
选择五 |
选指六 |
||
ESIZE<0,DSIZE<0 |
----- |
---- |
---- |
---- |
---- |
1-2-3-4-18 |
错误 |
ESIZE>0,DSIZE>0 |
SALES[i]>MAXSALES |
SALES[j]=MAXSALES |
EMPTAB.DEPT(k)=DEPTTAB.DEPT(i) |
SALARY[k]>=1500000,JOB[k]=’M’ |
FOUND!=fouse |
1-2-3-5-6-7-5-6-8-9-10-13-14-15-11-18 |
加工资100 |
ESIZE>0,DSIZE>0 |
SALES[i]>MAXSALES |
SALES[j]=MAXSALES |
EMPTAB.DEPT(k)=DEPTTAB.DEPT(i) |
SALARY[k]<1500000,JOB[k]=’M’ |
FOUND!=fouse |
1-2-3-5-6-7-5-6-8-9-10-13-14-15-12-18 |
加工资200 |
ESIZE>0,DSIZE>0 |
SALES[i]>MAXSALES |
SALES[j]=MAXSALES |
EMPTAB.DEPT(k)=DEPTTAB.DEPT(i) |
SALARY[k]>=1500000,JOB[k]=’M’ |
FOUND!=fouse |
1-2-3-5-6-7-5-6-8-9-16-17 |
错误 |
(2)条件覆盖
输入 |
测试路径 |
测试结果 |
|||||
选择一 |
选择二 |
选择三 |
选择四 |
选择五 |
选指六 |
||
ESIZE<0,DSIZE<0 |
----- |
---- |
---- |
---- |
---- |
1-2-3-4-18 |
错误 |
ESIZE>0,DSIZE>0 |
SALES[i]>MAXSALES |
SALES[j]=MAXSALES |
EMPTAB.DEPT(k)=DEPTTAB.DEPT(i) |
SALARY[k]>=1500000,JOB[k]=’M’ |
FOUND!=fouse |
1-2-3-5-6-7-5-6-8-9-10-13-14-15-11-18 |
加工资100 |
ESIZE>0,DSIZE>0 |
SALES[i]>MAXSALES |
SALES[j]=MAXSALES |
EMPTAB.DEPT(k)=DEPTTAB.DEPT(i) |
SALARY[k]<1500000,JOB[k]=’M’ |
FOUND!=fouse |
1-2-3-5-6-7-5-6-8-9-10-13-14-15-12-18 |
加工资200 |
ESIZE>0,DSIZE>0 |
SALES[i]>MAXSALES |
SALES[j]=MAXSALES |
EMPTAB.DEPT(k)=DEPTTAB.DEPT(i) |
SALARY[k]>=1500000,JOB[k]=’M’ |
FOUND=fouse |
1-2-3-5-6-7-5-6-8-9-16-17-18 |
错误 |
ESIZE>0,DSIZE>0 |
SALES[i]<MAXSALES |
SALES[j]!=MAXSALES |
EMPTAB.DEPT(k)!=DEPTTAB.DEPT(i) |
SALARY[k]<1500000,JOB[k]=’M’ |
FOUND=fouse |
1-2-3-5-6-8-9-16-17-18 |
错误 |
五、实验体会:
通过本次实验,我掌握了设计测试用例的方法,掌握了几种基本测试方法,掌握了白盒测试的检查内容及测试目的,感觉自己受益匪浅。