1、一 、实验目的通过本次实验使学生熟悉白盒测试的逻辑覆盖测试方法。二、实验环境硬件环境:微型计算机。软件环境:Windows 操作系统, Microsoft Visual Studio 2005 等。三、实验内容使用逻辑覆盖测试方法测试以下程序段int DoWork (int x,int y,int z,int k,int j)1 if ( (x3)9 j=j%3;10 printf(“x=%d,y=%d,z=%d,k=%d,j=%dn”,x,y,z,k,j);11 return j;四、实验步骤1、 画出函数DoWork 的程序流程图,分析该段代码包含的基本逻辑判定条件和执行路径。 开始X3i
2、nt y;int z;int k;int j;strIn;int DoWork (int x,int y,int z,int k,int j)if ( (x3)j=j%3;printf(“x=%d,y=%d,z=%d,k=%d,j=%dn“,x,y,z,k,j);return j;void Driveroffunc()/ 设置局部变量int tcPassNum = 0, tcFailNum = 0; / 存储通过和失败的测试用例总数int i;printf( “这是对 DoWork 的测试n“ );/ 读取测试用例的所有输入数据struct strInput tcInput = 4, 6, 9
3、, 0, 0, 1, 1, 1, 0, 0, 4, 1, 10, 0, 0,1, 6, 9, 0, 0;int tcOutcome = 1, 0, 2, 1 ; / 读取测试用例的预期输出int actualOutcome = 0; / 存储测试用例的实际执行结果for(i = 0; i sizeof(tcOutcome) / sizeof(tcOutcome0); i+)printf( “n 第%d 个测试用例,输入为 x=%d, y=%d, z=%d, k=%d, j=%d 预期输出x=%dn“, i+1, tcInputi.x, tcInputi.y, tcInputi.z, tcInp
4、uti.k, tcInputi.j, tcOutcomei);printf( “实际执行情况如下:n“ );actualOutcome = DoWork( tcInputi.x, tcInputi.y, tcInputi.z, tcInputi.k, tcInputi.j );printf(“实际: %d, 预期: %d“, actualOutcome, tcOutcomei);if( actualOutcome = tcOutcomei ) tcPassNum +; / 记录通过的测试用例总数printf( “ Passn“ ); else tcFailNum +; / 记录失败的测试用例总数printf( “ Failn“ );printf(“n“);/ 显示统计结果printf( “共执行 10 个测试用例,其中%d 个通过,%d 个失败n“, tcPassNum, tcFailNum );int main()Driveroffunc();system(“pause“);return 0;五、实验结果六、实验心得体会通过本次试验,我了解了白盒测试的原理,明白各种覆盖的用例选取,还学会了编写程序来完成测试。