计算器白盒测试

更新时间:2023-10-09 12:32:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

XXXX大学计算机学院 实验报告 实 验 名 称 计算器白盒测试 实 验 地 点 实 验 日 期 指 导 教 师 学 生 班 级 学 生 姓 名 学 生 学 号 提 交 日 期 软件教研室制

一、实验目的

针对实验一编写的源代码进行白盒测试。要求绘制出程序的控制流图,采用逻辑覆盖和基路径方法设计测试用例。执行测试用例,并分析测试结果。如果是C++源码,请使用C++Test对代码进行静态检查和动态测试。如果是Java源码,请使用JUnit进行动态测试。

二、实验内容

(一)、题目 白盒测试 (1)画控制流图

(2)设计测试用例,实现语句覆盖、判定覆盖、条件覆盖、基路径测试 (3)练习用单元测试 (4)测试结果分析

(二)实验过程

(1)针对计算器的黑盒测试的基础上,可以根据实验一的源代码进行白盒测试,以下是程序的流程图以及控制流图 开始 输入数据a的值,输入 ,bc进1 行判定不是“+” 2 对c继续判 断不是“—” 34 判断c 56 ”+“”/“ ”—“”*“ 运算78 9得出结果1110(2)设计测试用例,实现语句覆盖、判定覆盖、条件覆盖、基路径测试

语句覆盖测试用例 测试用例 a=5,y=3,z=”/” a=8,y=6,z=”/” a=7.5,y=3.7,z=”/” a=-5,y=3,z=”/”

通过路径 1-2-4-6-8-9 1-2-4-6-8-9 1-2-4-6-8-9 1-2-4-6-8-9 条件取值 F1,F2,T3 F1,F2,T3 F1,F2,T3 F1,F2,T3 判定覆盖测试用例:

每个判定必须至少获得一次“真”值和“假”值,则测试用例: 表 (判定)覆盖 测试用例 a=5,y=3,z=”+” a=8,y=6,z=”—” a=12,y=4,z=”*” a=56,y=4,z=”/” a=5.7,y=3.8,z=”+” a=5,y=3,z=”+” a=8.6,y=6.1,z=”—” a=12.8,y=4.1,z=”*” a=56.4,y=4.3,z=”/” a=5,y=3,z=”+” a=-5,y=3,z=”+” a=-8,y=6,z=”—” a=-12,y=4,z=”*” a=-56,y=4,z=”/”

通过路径 1-2-3-11 1-2-4-5-10 1-2-4-6-7-9 1-2-4-6-8-9 1-2-3-11 1-2-3-11 1-2-4-5-10 1-2-4-6-7-9 1-2-4-6-8-9 1-2-3-11 1-2-3-11 1-2-4-5-10 1-2-4-6-7-9 1-2-4-6-8-9 条件取值 T1 F1,T2 F1,F2,T3 F1,F2,T3 T1 T1 F1,T2 F1,F2,T3 F1,F2,T3 T1 T1 F1,T2 F1,F2,T3 F1,F2,T3 条件覆盖测试用例:

表 9 条件覆盖 测试用例 a=8,y=6,z=”—” a=12,y=4,z=”*” a=56,y=4,z=”/” a=8.6,y=6.1,z=”—” a=12.8,y=4.1,z=”*” a=56.4,y=4.3,z=”/” a=-8,y=6,z=”—” a=-12,y=4,z=”*” 通过路径 1-2-4-5-10 1-2-4-6-7-9 1-2-4-6-8-9 1-2-4-5-10 1-2-4-6-7-9 1-2-4-6-8-9 1-2-4-5-10 1-2-4-6-7-9 条件取值 F1,T2 F1,F2,T3 F1,F2,T3 F1,T2 F1,F2,T3 F1,F2,T3 F1,T2 F1,F2,T3 a=-56,y=4,z=”/” 1-2-4-6-8-9 F1,F2,T3 路径覆盖:

测试用例要求覆盖所有可能的路径: 表10 路径覆盖

测试用例 a=12.8,y=4.1,z=”*” a=56.4,y=4.3,z=”/”

通过路径 1-2-4-6-7-9 1-2-4-6-8-9 条件取值 F1,F2,T3 F1,F2,T3 条件组合覆盖:

表11 条件组合覆盖 测试用例 a=12.8,y=4.1,z=”*” a=-8,y=6,z=”—” 通过路径 1-2-4-6-7-9 1-2-4-5-10 条件取值 F1,F2,T3 F1,T2 基路径测试

(1) 程序环路复杂度:V(G)=E-N+2=13-11+2=4 (2) 独立路径:

Path1:1-2-3-11

Path2:1-2-4-5-10-11 Path3:1-2-4-6-7-9-10-11 Path4:1-2-4-6-8-9-10-11

(三)实验结果测试

由于程序是用MFC写的计算器的程序,所以在进行测试的时候有点困难,没有很好的辅助工具来进行具体的测试,但是在分析的时候我很细致的列举了各类的测试用例,以达到测试用例的完整,同时保证测试结果的正确性

(四)测试用例设计体会:

在这次软件测试过程中,我扮演了用户、程序员、测试员三钟角色,为了充分体现黑盒、白盒的特点,我特意设计了一个0—100之间的整数、小数。负数简单加减乘除运算。 对于白盒测试,在设计测试用例时首先对程序进行分析,从程序的内部结构出发设计测试用例,涉及到程序的控制方法、源语句、编码细节、数据库设计等。设计测试用例时应用了白盒测试中的多种测试方法,其中包括:测试覆盖(语句覆盖、分支覆盖、分支条件覆盖等)、基路径测试等方法。白盒测试中,对代码的测试比较透彻,但不容易生成测试用例,而且测试工作量很大,。因为白盒测试是基于代码的基础上,所以对变量的定义、数据的分析、精度的度量都有严格的要求。

总之,在这次测试设计让我对软件测试有了一个深入了解,对于测试方法、测试过程,都有了较好的认识,学会了如何进行黑盒测试、白盒测试、以及一些测试工具(如Junit)。当然,对于以后企业上的软件测试,还有待很大的提高。

本文来源:https://www.bwwdw.com/article/qv9f.html

Top