一、实验目的
通过本次实验使学生熟悉白盒测试的逻辑覆盖测试方法。
实验环境
硬件环境:微型计算机。
软件环境:Windows 操作系统,Microsoft Visual Studio 2005等。
实验内容
使用逻辑覆盖测试方法测试以下程序段
int DoWork (int x,int y,int z,int k,int j)
{
if ( (x>3)&&(z<10) )
{
4 k=x*y-1;
5 j=sqrt(k);
6 }
7 if((x==4)||(y>5))
8 j=x*y+10;
9 j=j%3;
10 printf(“x=%d,y=%d,z=%d,k=%d,j=%d\n”,x,y,z,k,j);
11 return j;
}
四、实验步骤
开始
X>3&&z<10
X==4||y>5
k = xy – 1
j = sqrt(k)
j = x*y + 10
j = j % 3
结束
Print x,y,z,k,j
P1
P2
P3
P4
画出函数DoWork的程序流程图,分析该段代码包含的基本逻辑判定条件和执行路径。
根据白盒测试技术设计测试用例,主要考虑逻辑覆盖测试(语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖),计算测试用例的语句覆盖率等测试管理指标。
测试用例 ID
输入条件
预期输出
通过路径
x
Y
z
k
j
j
01
4
6
9
0
0
1
L24
02
1
1
1
0
0
0
L13
03
4
1
10
0
0
2
L14
04
1
6
9
0
0
1
L14
备注:01语句覆盖 01-02条件覆盖 01-02判定覆盖 01-02判定/条件覆盖 01-04条件组合覆盖
编写测试程序,运行测试程序并记录测试结果。(给出运行结果界面)
程序代码:
#include <>
#include <>
#include <>
// 定义结构来获取测试用例的输入
struct strInput{
int x;
int y;
int z;
int k;
int j;
}strIn;
int DoWork (int x,int y,int z,int k,int j)
{
if ( (x>3)&&(z<10) ){
k=x*y-1;
j=sqrt(k);
}
if((x==4)||(y>5))
j=x*y+10;
j=j%3;
printf("x=%d,y=%d,z=%d,k=%d,j=%d\n",x,y,z,k,j);
return j;
}
void Driveroffunc()
{
// 设置局部变量
int tcPassNum = 0, tcFailNum = 0; // 存储通过和失败的测试用例总数
int i;
printf( "这是对DoWork的测试\n" );
// 读取测试用例的所有输入数据
struct strInput tcInput[] = { {4
逻辑覆盖测试 软件测试 来自淘豆网www.taodocs.com转载请标明出处.