222wan

导航

白盒测试实验二

实验二白盒测试

一、实验目的

1、 掌握白盒测试的基础知识;

2、 掌握白盒测试的检查内容及测试目的;

3、 掌握黑盒测试的几种基本测试方法:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖。

二、实验要求

1、 复习有关内容,理解白盒测试;

2、 掌握语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖,并能设计出测试用例;

3、 对具体软件,能分别使用相应的白盒测试方法设计测试用例,并实施测试、分析测试结果。

三、实验内容

对实验一1、3题使用逻辑覆盖法进行测试用例设计。

对实验一2、4题使用基本路径法进行测试用例设计。

l 5、

 

 

程序伪代码

注意: 1)参数表中EMPTAB 为职员表,DEPTTAB为部门表;

   2 ) ESIZE为职员表长度,DSIZE为部门表长度;

       3)ERRCODE为出错码

MAXSALERS = 0;

ERRCODE = 0;

if(ESIZE <= 0 || DSIZE <= 0)

ERRCODE = 1;

else

{

for(i = 1; i < DSIZE ; i++) //选出各部门中最大的销售额值

if(SALES[i] > MAXSALES)

MAXSALES = SALES[i];

for(j = 1; j < DSIZE; j++) //循环找出销售额最大的部门

if(SALES[j] == MAXSALES)

{

FOUND = false;

for(int k = 1; k < ESIZE ; k++) //检查销售额最大部门的所有人员

if(EMPTAB.DEPT(k) == DEPTTAB.DEPT(j))

{

FOUND = true;

if(SALARY(k) >= 15000.00 or JOB(k) = 'M') //满足条件的人员加工资

SALARY(k) = SALARY(k) + 100.00;

else

SALARY(k) = SALARY(k) + 200.00;

}

if(FOUND == false)

ERRCODE == 2;

}

}

 

采用判定覆盖、条件覆盖对该程序进行用例设计

 

四、实验结果:

(1) 基本路径法绘制出控制流图,逻辑覆盖法绘制出流程图

实验一,日期转化问题:

 
   

流程图

 

 

控制流图:

逻辑覆盖法:

 

 

 

                                  语句覆盖

             输入

测试路径

测试结果

Year

month

day

2090

11

30

1-2-3-4-6

Error!!输入无效

2022

3

28

1-2-3-4-7-8-10-12-13-15-17-18-19-20

^-^是星期一哦!

 

                      判定覆盖/条件覆盖/判定条件覆盖/条件组合覆盖

             输入

测试路径

测试结果

Year

month

day

2090

11

30

1-2-3-4-6-1

Error!!输入无效

2022

3

28

1-2-3-4-7-8-10-12-13-15-17-18-19-20

^-^是星期一哦!

2001

1.5

12

1-2-3-4-7-8-9-1

Error!!输入无效

2001

0

28

1-2-3-4-7-8-10-11-1

Error!!输入无效

2005

4

29.1

1-2-3-4-7-8-10-12-13-14-1

Error!!输入无效

2.05

11

30

1-2-3-5-1

Error!!输入无效

2005

4

32

1-2-3-4-7-8-10-12-13-15-16-1

Error!!输入无效

2000

2

30

1-2-3-4-7-8-10-12-13-15-16-17-21-1

Error!!输入无效

2001

2

29

1-2-3-4-7-8-10-12-13-15-16-17-18-21-1

Error!!输入无效

2002

4

31

1-2-3-4-7-8-10-12-13-15-16-17-18-19-21-1

Error!!输入无效

 

 

 

                                       路径覆盖

             输入

测试路径

测试结果

Year

month

day

1.5

12

31

1-2-3-5-1

Error!!输入无效

2090

11

30

1-2-3-4-6-1

Error!!输入无效

2001

1.5

12

1-2-3-4-7-8-9-1

Error!!输入无效

2001

0

28

1-2-3-4-7-8-10-11-1

Error!!输入无效

2005

4

29.1

1-2-3-4-7-8-10-12-13-14-1

Error!!输入无效

2005

4

32

1-2-3-4-7-8-10-12-13-15-16-1

Error!!输入无效

2000

2

30

1-2-3-4-7-8-10-12-13-15-17-21-1

Error!!输入无效

2001

2

29

1-2-3-4-7-8-10-12-13-15-16-17-18-21-1

Error!!输入无效

2002

4

31

1-2-3-4-7-8-10-12-13-15-16-17-18-19-21-1

Error!!输入无效

2022

3

28

1-2-3-4-7-8-10-12-13-15-17-18-19-20

^-^是星期一哦!


实验一 第二题找零问题基本路径法:


控制流图;

 

计算复杂度:

V(G)=边-节点+2=4

设计测试用列表

                                 基本路径法()

             输入

测试路径

测试结果

商品价格

支付金额

-20

50

1-2-3-4-1

Error!!输入无效

20

30.5

1-2-3-5-6-7-1

Error!!输入无效

20

10

1-2-3-5-6-8-9-1

Error!!输入无效

30

64

1-2-3-5-6-8-10

50元:0张

10元:3张

5元:0张

1元:4张

实验一 第三题:售货机问题

程序流程图:


 

控制流程图:

 

 

测试用例:

 

                                  路径覆盖

输入

测试路径

测试结果

Button1

Button2

null

null

1-2-5-1

请投币

1元

null

1-2-3-4-1

请选择饮料

5角

橙汁

1-2-3-6-10-14

橙汁

5角

啤酒

1-2-3-7-11-14

啤酒

1元

橙汁

1-2-3-8-12-14

橙汁;找零5角

1元

啤酒

1-2-3-9-13-14

啤酒:找零5角

 

实验一:第四题:基本路径法

控制流程图:


 

 

 

基本路径测试法:

 

 

基本路径测试

输入

 

测试路径

 

 

输出结果

航线

仓位

飞行时间

欧美航线

商务/经济

大于2h/小于2h

1-2-4-6-8-11-17

播放电影;提供食物

非欧美国外航线

商务

大于2h/小于2h

1-2-4-6-9-12-17

播放电影;提供食物

非欧美国外航线

经济

大于2h/小于2h

1-2-4-6-9-13-17

提供食物

国内航线

商务

大于2h/小于2h

1-2-4-6-10-14-17

提供食物

国内航线

经济

大于2h

1-2-4-6-10-15-17

提供食物

国内航线

经济

小于2h

1-2-4-6-10-16-17

暂不提供服务

Null

Null

Null

1-2-3-1

请输入航线,仓位,飞行时间

国内航线

Null

Null

1-2-4-5-1

请输入仓位,飞行时间

欧美航线

经济

Null

1-2-4-6-7-1

请输入飞行时间

 

 

实验二第五题:

 

程序流程图:

 

加工资控制流程图:

 

 

 

 

 

 

 

条件覆盖/判定覆盖

输入

 

测试路径

输出结果

条件一

条件二

条件三

条件四

条件五

条件六

T

T

T

T

T

T

1-2-3-4-5-6-7-8-9-10-11-12-13-14

ERRCOR=0

F

-

-

-

-

-

1-2-3

ERRCOR=1

T

T

T

T

T

F

1-2-3-4-5-6-7-8-9-10-11-12-15-14

ERRCOR=1

T

F

T

T

T

T

1-2-3-4-3-4-5-6-7-8-9-10-11-12-13-14

ERRCOR=1

T

T

F

T

T

T

1-2-3-4-5-6-7-6-7-8-9-10-11-12-13-14

ERRCOR=1

T

T

T

F

T

T

1-2-3-4-5-6-7-8-9-10-9-10-11-12-13-14

ERRCOR=1

T

T

T

T

F

T

1-2-3-4-5-6-7-8-9-16-17

ERRCOR=2

条件覆盖:

 

五、实验体会:

在第五个问题中,因为程序代码并不是自己写的,所以在程序流程图的设计中有些磕磕绊绊,其次是关于循环内的语句,出现if判断时下一个流程该怎样连接,除此之外对于语句if条件的判断是归属那个模块的因为程序并不是在编译器上写的,而是在文档内部所以程序代码的缩紧不是很容易看到。循环内部的if判断不知道是否能当作判定覆盖的条件。
解决的方法:对于程序我复制到编译器中,使得程序的缩进更加规范,代码结合语言描述看,理解代码,判定覆盖中算入程序循环的if判断,
本次试验更加理解了各种测试方法的设计,同时对于上课讲到的找零问题也回顾了,程序流程图的画法也更加熟练,收获很多。

 

-

posted on 2024-04-15 01:40  角落的蘑菇  阅读(84)  评论(0编辑  收藏  举报