软件测试实验2

实验项目名称:实验         

一、 实验目的

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

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

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

 

二、 实验内容

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

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

l 5、

 

 

程序伪代码

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

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

       3ERRCODE为出错码

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) 基本路径法绘制出控制流图,逻辑覆盖法绘制出流程图

  1. 输入日期显示星期几

 

2.饮料自动售货机

 

3.找零钱最佳组合

1.开始

2.输入货品价格R和付款P]

3.R100P100?}

4.报错: 输入无效

5.PR?

6.报错: 付款不足

7.计算找零: 优先大面额

   8.输出找零组合

   9.结束

   

 

4.航空服务查询问题:根据航线,仓位,飞行时间查询航空服务

1.开始

2.输入航线/仓位/飞行时间]

    3.航线类型?

4.食物=, 电影=

    5.仓位类型

    6.|商务| 食物=, 电影=

    7.|经济| 食物=, 电影=

    8.国内 仓位类型

    9.商务 食物=, 电影=

    10.经 飞行时间>2h?

    11.是 食物=, 电影=

12.否 食物=, 电影=

13.结束

    

(2) 设计测试用列表

  1. 输入日期显示星期几

逻辑覆盖测试用例

覆盖方法

测试用例

覆盖目标

预测结果

语句覆盖

2023-10-15

执行所有计算逻辑

输出星期日

判定覆盖

21000-10-15

年份无效(判定为假)

报错

 

2023-01-32

日无效(判定为假)

报错

条件覆盖

2023-00-15

M<1(条件为真)

报错

  1. 饮料自动售货机

逻辑覆盖测试用例

覆盖方法

测试用例

覆盖目标

预测结果

判定覆盖

投入5角,按橙汁

判定分支(5角路径)

出橙汁

 

投入1元,按啤酒

判定分支(1元路径)

出啤酒并退5角

条件组合

5角,不按按钮

覆盖未按按钮场景

无法输出

  1. 找零钱最佳组合

基本路径测试用例

路径编号

测试用例(R,P)

覆盖路劲

预测结果

1

45,50

1,2,3,4,6,8,9

5:1张

2

101,100

1,2,3,5,9

报错

3

50,49

1,2,3,4,7,9

报错

 

  1. 航空服务查询问题:根据航线,仓位,飞行时间查询航空服务

路径编号

测试用例

覆盖路径

预测结果

1

欧美,经济 1

1,2,3,4,13

食物:有,电影:有

2

非欧美,商务,1

1,2,3,5,7,13

食物:有,电影:有

3

非欧美,经济,1

1,2,3,5,8,13

食物:有,电影:无

4

国内,商务,1

1,2,3,6,9,13

食物:有,电影:无

5

国内,经济,3

1,2,3,6,10,11,13

食物:有,电影:无

6

国内,经济,3

1,2,3,6,10,12,13

食物:无,电影:无

 

5.

判定覆盖

编号

部门名称

职员信息

预测结果

覆盖的判定

1

Sailes

Alice,Employee,14000

增加200元

部门存在,职员存在

2

Sailes

Charlie,Employee,15000

不增加

职员工资达到15000

3

Sailes

错误1

部门存在,无职员

4

Empty

错误2

无部门数据

5

HR

Bob,Manager,14900

不增加

部门不存在,职员不存在

条件覆盖

编号

部门名称

职员信息

预测结果

覆盖的判定

1

Sailes

Alice,Employee,14000

增加200元

部门为最大销售,工资<1500,非经理

2

Sailes

Bob,Manager,14900

增加200元

部门为最大销售,工资<1500,经理

3

Sailes

Charlie,Employee,15000

不增加

部门为最大销售,工资=1500

4

Sailes

David,Employee,16000

不增加

部门为最大销售,工资>1500

5

HR

Evo,Employee,13000

不增加

部门非最大销售

 

 

四、 个人体会

 

通过本次实验,本人深入理解了白盒测试的理论知识与实践方法。通过实际设计测试用例,我体会到:白盒测试不仅关注程序的输入和输出,还要关注程序内部的逻辑结构和状态变化。

测试用例设计需要全面考虑边界条件和各种可能的输入情况,确保覆盖所有判断逻辑。

逻辑覆盖、基本路径法是确保程序质量的重要手段,提高了软件的鲁棒性和可靠性。

遇到了哪些问题 路径覆盖时遗漏了某些复杂分支。问题如何解决的:通过绘制控制流图明确所有路径。收获:深入理解了白盒测试的逻辑覆盖方法

 

posted @ 2025-06-12 16:40  chrisrmas、  阅读(18)  评论(0)    收藏  举报