实验一 白盒测试用例设计
🏫中北大学软件学院
🏆软件质量保证与测试技术
🏆实验报告一 —— 白盒测试
实验名称
白盒测试用例设计
实验目的
(1)能够利用白盒测试方法对程序进行测试。
(2)会用各种逻辑覆盖法设计测试用例。
(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;
⑪ }
要求:
(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函数,运行被测模块。
实验要求
(1)绘制程序流程图、控制流图(注意二者的区别),图中符号要规范。
(2)测试用例的组织可以参照表1的格式:
(3)在程序中加必要注释说明:创建日期、创建者、函数功能
(4)运行测试程序,记录和分析测试结果。
实验过程
题目1
(1)程序流程图
(2)测试用例
(3)实验代码
public class demo01 {
public static void main(String[] args) {
demo01 demo01 = new demo01();
int x = 4;
int y = 2;
int z = 3;
demo01.DoWork(x,y,z);
}
public void DoWork ( int x, int y, int z) {
System.out.println("x = " + x + " y = " + y + " z = " + 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 + " j = " + j);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
(4)运行结果
题目2
(1)控制流图
(2)测试用例
(3)实验代码
public class demo02 {
public static void main(String[] args) {
demo02 demo02 = new demo02();
int leapYear = demo02.isLeapYear(2000);
if (leapYear == 0 ) {
System.out.println("不是闰年");
} else {
System.out.println("是闰年");
}
}
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
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
(4)运行结果
实验心得
逻辑覆盖分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖六种。
语句覆盖是相对较弱的测试标准。语句覆盖的定义是:测试时,首先设计若干测试用例(越少越好),然后运行被测程序,使程序中的每一个可执行语句至少执行一次。
路径覆盖是指覆盖程序中所有可能执行路径。路径覆盖可对程序进行彻底的覆盖,比前5种方法的覆盖率都高。
条件组合覆盖又称组合覆盖,是指每个判断语句中的各个条件的各种可能组合都至少执行一次,因此条件组合覆盖的测试用例可满足判定覆盖、条件覆盖以及判定/条件覆盖。
通过白盒测试,能够利用白盒测试方法对程序进行测试。会用各种逻辑覆盖法设计测试用例。会用基本路径测试法设计测试用例。
文章来源: blog.csdn.net,作者:花花叔叔,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_52077949/article/details/124264511
- 点赞
- 收藏
- 关注作者
评论(0)