资源描述:
《逻辑覆盖测试 软件测试.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、实验目的通过本次实验使学生熟悉白盒测试的逻辑覆盖测试方法。二、实验环境硬件环境:微型计算机。软件环境:Windows操作系统,MicrosoftVisualStudio2005等。三、实验内容使用逻辑覆盖测试方法测试以下程序段intDoWork(intx,inty,intz,intk,intj){1if((x>3)&&(z<10))2{4k=x*y-1;5 j=sqrt(k);6}7 if((x==4)
2、
3、(y>5))8j=x*y+10;9 j=j%3;10printf(“x=
4、%d,y=%d,z=%d,k=%d,j=%d”,x,y,z,k,j);11returnj;}四、实验步骤开始X>3&&z<10X==4
5、
6、y>5k=xy–1j=sqrt(k)j=x*y+10j=j%3结束Printx,y,z,k,jP1P2P3P41、画出函数DoWork的程序流程图,分析该段代码包含的基本逻辑判定条件和执行路径。2、根据白盒测试技术设计测试用例,主要考虑逻辑覆盖测试(语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖),计算测试用例的语句覆盖率等测试管理指标。测试用例I
7、D输入条件预期输出通过路径xYzkjj01469001L2402111000L13034110002L1404169001L14备注:01语句覆盖01-02条件覆盖01-02判定覆盖01-02判定/条件覆盖01-04条件组合覆盖3、编写测试程序,运行测试程序并记录测试结果。(给出运行结果界面)程序代码:#include#include#include//定义结构来获取测试用例的输入structstrInput{intx;inty;intz;int
8、k;intj;}strIn;intDoWork(intx,inty,intz,intk,intj){if((x>3)&&(z<10)){k=x*y-1;j=sqrt(k);}if((x==4)
9、
10、(y>5))j=x*y+10;j=j%3;printf("x=%d,y=%d,z=%d,k=%d,j=%d",x,y,z,k,j);returnj;}voidDriveroffunc(){//设置局部变量inttcPassNum=0,tcFailNum=0;//存储通过和失败的测试用例总数inti;pr
11、intf("这是对DoWork的测试");//读取测试用例的所有输入数据structstrInputtcInput[]={{4,6,9,0,0},{1,1,1,0,0},{4,1,10,0,0},{1,6,9,0,0}};inttcOutcome[]={1,0,2,1};//读取测试用例的预期输出intactualOutcome=0;//存储测试用例的实际执行结果for(i=0;i12、个测试用例,输入为x=%d,y=%d,z=%d,k=%d,j=%d预期输出x=%d",i+1,tcInput[i].x,tcInput[i].y,tcInput[i].z,tcInput[i].k,tcInput[i].j,tcOutcome[i]);printf("实际执行情况如下:");actualOutcome=DoWork(tcInput[i].x,tcInput[i].y,tcInput[i].z,tcInput[i].k,tcInput[i].j);printf("实际:%d,预
13、期:%d",actualOutcome,tcOutcome[i]);if(actualOutcome==tcOutcome[i]){tcPassNum++;//记录通过的测试用例总数printf("[Pass]");}else{tcFailNum++;//记录失败的测试用例总数printf("[Fail]");}printf("");}//显示统计结果printf("共执行10个测试用例,其中%d个通过,%d个失败",tcPassNum,tcFailNum);}intmain(){D
14、riveroffunc();system("pause");return0;}五、实验结果六、实验心得体会通过本次试验,我了解了白盒测试的原理,明白各种覆盖的用例选取,还学会了编写程序来完成测试。