1.实验名称——白盒测试用例设计
2.实验目的
(1)能够利用白盒测试方法对程序进行测试。
(2)会用各种逻辑覆盖法设计测试用例。
(3)会用基本路径测试法设计测试用例。
3.实验内容
题目1:使用语句覆盖、条件组合覆盖方法为下列程序模块设计测试用例
void DoWork (int x,int y,int z)
{
① int k=0, j=0;
② if ( (x>3)&&(z<10) )
③ {
④ k=xy-1;
⑤ j=sqrt(k);
⑥ }
⑦ if((x==4)||(y>5))
⑧ j=xy+10;
⑨ j=j%3;
⑩ return j;
11 }
要求:
(1)给出被测模块的程序流程图
(2)给出满足语句覆盖和条件组合覆盖的测试用例
(3)设计驱动程序main函数,运行被测模块。
题目2:isLeapYear是一个判断年份是否闰年的程序模块,使用基本路径测试法为该程序模块设计测试用例。
int isLeapYear( int year ){
int flag;
if( year % 4 == 0 ){
if( year % 100 == 0 ){
if( year % 400 == 0 )
flag = 1;
else
flag = 0;
}
else
flag = 1;
}
else
flag = 0;
return flag;
}
要求:
(1)给出被测模块的控制流图
(2)分析独立路径集合
(3)设计测试用例
(4)设计驱动程序main函数,运行被测模块。
4.实验过程
题目1:
(1)给出被测模块的程序流程图。
(2)给出满足语句覆盖和条件组合覆盖的测试用例。
(3)设计驱动程序main函数,运行被测模块。
public class Test {
static void DoWork(int x, int y, int z) {
int k=0, j=0;
if((x>3)&&(z<10))
{
k=x*y-1;
j=(int)(Math.sqrt(k));
}
if((x==4)||(y>5))
{
j=x*y+10;
}
j=j%3;
System.out.println("k="+k);
System.out.println("j="+j);
}
public static void main(String[] args)
{
DoWork(8,6,5);
}
}
题目2:
(1)给出被测模块的控制流图。
(2)分析独立路径集合。
共有4条独立路径:
路径1:1-2-4-6-8
路径2:1-2-4-7-8
路径3:1-2-5-8
路径4:1-3-8
(3)设计测试用例。
(4)设计驱动程序main函数,运行被测模块。
public class year {
static void isLeapYear( int year ){
int flag;
if( year % 4 == 0 ){
if( year % 100 == 0 ){
if( year % 400 == 0 )
flag = 1;
else
flag = 0;
}
else
flag = 1;
}
else
flag = 0;
System.out.println("flag="+flag);
}
public static void main(String[] args)
{
isLeapYear(2022);
}
}
5.实验心得
通过本次实验,我学会了用各种逻辑覆盖法设计测试用例,学会了用基本路径测试法设计测试用例,能够利用白盒测试方法对程序进行测试。