计算器白盒测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、实验目的
针对实验一编写的源代码进行白盒测试。要求绘制出程序的控制流图,采用逻辑覆盖和基路径方法设计测试用例。执行测试用例,并分析测试结果。如果是C++源码,请使用C++Test对代码进行静态检查和动态测试。如果是Java源码,请使用JUnit进行动态测试。
二、实验内容
(一)、题目白盒测试
(1)画控制流图
(2)设计测试用例,实现语句覆盖、判定覆盖、条件覆盖、基路径测试
(3)练习用单元测试
(4)测试结果分析
(二)实验过程
(1)针对计算器的黑盒测试的基础上,可以根据实验一的源代码进行白盒测试,以下是程序的流程图以及控制流图
(2)设计测试用例,实现语句覆盖、判定覆盖、条件覆盖、基路径测试
判定覆盖测试用例:
每个判定必须至少获得一次“真”值和“假”值,则测试用例:
条件覆盖测试用例:
表 9 条件覆盖
路径覆盖:
测试用例要求覆盖所有可能的路径:
表10 路径覆盖
条件组合覆盖:
表11 条件组合覆盖
基路径测试
(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之间的整数、小数。负数简单加减乘除运算。
对于白盒测试,在设计测试用例时首先对程序进行分析,从程序的内部结构出发设计测试用例,涉及到程序的控制方法、源语句、编码细节、数据库设计等。设计测试用例时应用了白盒测试中的多种测试方法,其中包括:测试覆盖(语句覆盖、分支覆盖、分支条件覆盖等)、基路径测试等方法。白盒测试中,对代码的测试比较透彻,但不容易生成测试用例,而且测试工作量很大,。因为白盒测试是基于代码的基础上,所以对变量的定义、数据的分析、精度的度量都有严格的要求。
总之,在这次测试设计让我对软件测试有了一个深入了解,对于测试方法、测试过程,都有