您好,欢迎访问三七文档
XXXX大学计算机学院实验报告实验名称计算器白盒测试实验地点实验日期指导教师学生班级学生姓名学生学号提交日期软件教研室制一、实验目的针对实验一编写的源代码进行白盒测试。要求绘制出程序的控制流图,采用逻辑覆盖和基路径方法设计测试用例。执行测试用例,并分析测试结果。如果是C++源码,请使用C++Test对代码进行静态检查和动态测试。如果是Java源码,请使用JUnit进行动态测试。二、实验内容(一)、题目白盒测试(1)画控制流图(2)设计测试用例,实现语句覆盖、判定覆盖、条件覆盖、基路径测试(3)练习用单元测试(4)测试结果分析(二)实验过程(1)针对计算器的黑盒测试的基础上,可以根据实验一的源代码进行白盒测试,以下是程序的流程图以及控制流图开始输入数据a,b的值,输入c进行判定对c继续判断判断c运算不是“+”不是“—””/“得出结果”*“”—“”+“结束2435769810111(2)设计测试用例,实现语句覆盖、判定覆盖、条件覆盖、基路径测试语句覆盖测试用例测试用例通过路径条件取值a=5,y=3,z=”/”1-2-4-6-8-9F1,F2,T3a=8,y=6,z=”/”1-2-4-6-8-9F1,F2,T3a=7.5,y=3.7,z=”/”1-2-4-6-8-9F1,F2,T3a=-5,y=3,z=”/”1-2-4-6-8-9F1,F2,T3判定覆盖测试用例:每个判定必须至少获得一次“真”值和“假”值,则测试用例:表(判定)覆盖测试用例通过路径条件取值a=5,y=3,z=”+”1-2-3-11T1a=8,y=6,z=”—”1-2-4-5-10F1,T2a=12,y=4,z=”*”1-2-4-6-7-9F1,F2,T3a=56,y=4,z=”/”1-2-4-6-8-9F1,F2,T3a=5.7,y=3.8,z=”+”1-2-3-11T1a=5,y=3,z=”+”1-2-3-11T1a=8.6,y=6.1,z=”—”1-2-4-5-10F1,T2a=12.8,y=4.1,z=”*”1-2-4-6-7-9F1,F2,T3a=56.4,y=4.3,z=”/”1-2-4-6-8-9F1,F2,T3a=5,y=3,z=”+”1-2-3-11T1a=-5,y=3,z=”+”1-2-3-11T1a=-8,y=6,z=”—”1-2-4-5-10F1,T2a=-12,y=4,z=”*”1-2-4-6-7-9F1,F2,T3a=-56,y=4,z=”/”1-2-4-6-8-9F1,F2,T3条件覆盖测试用例:表9条件覆盖测试用例通过路径条件取值a=8,y=6,z=”—”1-2-4-5-10F1,T2a=12,y=4,z=”*”1-2-4-6-7-9F1,F2,T3a=56,y=4,z=”/”1-2-4-6-8-9F1,F2,T3a=8.6,y=6.1,z=”—”1-2-4-5-10F1,T2a=12.8,y=4.1,z=”*”1-2-4-6-7-9F1,F2,T3a=56.4,y=4.3,z=”/”1-2-4-6-8-9F1,F2,T3a=-8,y=6,z=”—”1-2-4-5-10F1,T2a=-12,y=4,z=”*”1-2-4-6-7-9F1,F2,T3a=-56,y=4,z=”/”1-2-4-6-8-9F1,F2,T3路径覆盖:测试用例要求覆盖所有可能的路径:表10路径覆盖测试用例通过路径条件取值a=12.8,y=4.1,z=”*”1-2-4-6-7-9F1,F2,T3a=56.4,y=4.3,z=”/”1-2-4-6-8-9F1,F2,T3条件组合覆盖:表11条件组合覆盖测试用例通过路径条件取值a=12.8,y=4.1,z=”*”1-2-4-6-7-9F1,F2,T3a=-8,y=6,z=”—”1-2-4-5-10F1,T2基路径测试(1)程序环路复杂度:V(G)=E-N+2=13-11+2=4(2)独立路径:Path1:1-2-3-11Path2:1-2-4-5-10-11Path3:1-2-4-6-7-9-10-11Path4:1-2-4-6-8-9-10-11(三)实验结果测试由于程序是用MFC写的计算器的程序,所以在进行测试的时候有点困难,没有很好的辅助工具来进行具体的测试,但是在分析的时候我很细致的列举了各类的测试用例,以达到测试用例的完整,同时保证测试结果的正确性(四)测试用例设计体会:在这次软件测试过程中,我扮演了用户、程序员、测试员三钟角色,为了充分体现黑盒、白盒的特点,我特意设计了一个0—100之间的整数、小数。负数简单加减乘除运算。对于白盒测试,在设计测试用例时首先对程序进行分析,从程序的内部结构出发设计测试用例,涉及到程序的控制方法、源语句、编码细节、数据库设计等。设计测试用例时应用了白盒测试中的多种测试方法,其中包括:测试覆盖(语句覆盖、分支覆盖、分支条件覆盖等)、基路径测试等方法。白盒测试中,对代码的测试比较透彻,但不容易生成测试用例,而且测试工作量很大,。因为白盒测试是基于代码的基础上,所以对变量的定义、数据的分析、精度的度量都有严格的要求。总之,在这次测试设计让我对软件测试有了一个深入了解,对于测试方法、测试过程,都有了较好的认识,学会了如何进行黑盒测试、白盒测试、以及一些测试工具(如Junit)。当然,对于以后企业上的软件测试,还有待很大的提高。
本文标题:计算器白盒测试
链接地址:https://www.777doc.com/doc-6011479 .html