3.20分析

实验二白盒测试分析报告

一、实验目的理解

本实验旨在让学生掌握白盒测试的核心概念和多种测试方法,包括语句覆盖、判定覆盖、条件覆盖等,并能将这些方法应用于实际程序测试中。

二、实验内容分析

实验分为两部分:

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

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

  3. 对一个特定程序(伪代码)采用判定覆盖和条件覆盖设计测试用例

三、伪代码程序分析

程序功能

该程序主要功能是:

  1. 找出各部门中最大的销售额值

  2. 找出销售额最大的部门

  3. 对该部门中满足条件(工资≥15000或职位为'M')的员工加薪100元,其他员工加薪200元

  4. 处理各种错误情况(如空表等)

关键逻辑点

  1. 初始检查:ESIZE ≤ 0 || DSIZE ≤ 0

  2. 第一个循环:找出最大销售额MAXSALES

  3. 第二个循环:找出销售额等于MAXSALES的部门

  4. 第三个循环:检查该部门的所有员工并进行加薪处理

四、测试用例设计(针对伪代码程序)

判定覆盖测试用例设计

用例编号输入条件预期结果覆盖的判定
TC1 ESIZE=0, DSIZE=0 ERRCODE=1 if(ESIZE ≤ 0   DSIZE ≤ 0)
TC2 ESIZE=2, DSIZE=2, SALES=[1000,2000], EMPTAB=[(DEPT=1,SALARY=16000,JOB='E'), (DEPT=2,SALARY=14000,JOB='M')] MAXSALES=2000, DEPT=2员工加薪100和200 else分支
TC3 ESIZE=2, DSIZE=2, SALES=[1000,1000], EMPTAB=[(DEPT=1,SALARY=16000,JOB='E')] MAXSALES=1000, ERRCODE=2 FOUND == false

条件覆盖测试用例设计

用例编号输入条件预期结果覆盖的条件
TC4 ESIZE=-1, DSIZE=5 ERRCODE=1 ESIZE ≤ 0为真, DSIZE ≤ 0为假
TC5 ESIZE=5, DSIZE=-1 ERRCODE=1 ESIZE ≤ 0为假, DSIZE ≤ 0为真
TC6 ESIZE=2, DSIZE=2, SALES=[1000,2000], EMPTAB=[(DEPT=2,SALARY=16000,JOB='E'), (DEPT=2,SALARY=14000,JOB='M')] MAXSALES=2000, 两个员工分别加薪100和200 SALARY(k) ≥ 15000为真/假, JOB(k)='M'为真/假

五、实验建议

  1. 流程图绘制:建议先为伪代码绘制详细的流程图,这将有助于更清晰地理解程序逻辑路径。

  2. 边界条件测试:增加对边界条件的测试,如:

    • ESIZE和DSIZE刚好等于0

    • 销售额全部相同的情况

    • 部门中没有员工的情况

  3. 路径覆盖补充:可以考虑增加路径覆盖的测试用例,确保程序中的所有路径都被执行过。

  4. 错误处理验证:特别注意ERRCODE==2的情况,确保错误处理逻辑正确。

  5. 数据验证:检查SALES数组和EMPTAB、DEPTTAB的索引是否从0开始(伪代码中循环从1开始,可能是笔误)。

六、实验体会预期

完成本实验后,预期可以:

  1. 深入理解白盒测试的各种方法及其差异

  2. 掌握如何根据程序逻辑设计有效的测试用例

  3. 认识到白盒测试在发现逻辑错误方面的价值

  4. 体会到测试用例设计需要兼顾全面性和效率

建议在实验过程中注意记录遇到的问题和解决方法,这对理解测试的难点和关键点非常有帮助。

posted @ 2025-04-03 09:16    阅读(23)  评论(0)    收藏  举报