文档介绍:实验二 白盒测试
一、 实验目的ﻫ1、 掌握白盒测试的基本方法;ﻫ2、 掌握白盒测试用例的编写。ﻫ二、 实验要求ﻫ1、 根据给出的程序分别使用语句覆盖、判定覆盖(也称为分支覆盖)、条件覆盖、判定—条件覆盖、条件组合测试、、 输入数据进行测试,填写测试用例.
三、 实验内容
1、用C++或者Java编写一个类,完成下面函数的功能,并编写另外一个类,调用该方法:
void DoWork(int x,int y,int z)
{
int k=0,j=0;
if((x>3)&&(z<10))
{
k=x*y-1; //语句块1
j=sqrt(k);
}
if((x= =4)||(y>5))
{
j=x*y+10; //语句块2
}
j=j%3; //语句块3
}
要求:
画出上面函数的流程图。
分别使用语句覆盖、判定覆盖(也称为分支覆盖)、条件覆盖、判定—条件覆盖、条件组合测试、路径测试设计测试用例(注意测试用例的格式)。
语句覆盖:
用例:x=4,y=6,z=8
判定覆盖:
用例1:x = 4 , y = 6 , z = 8
用例2:x = 3 , y = 5 , z = 8
条件覆盖:
用例1:x=3,y=8,z=8
用例2:x=4,y=5,z=13
判定—条件覆盖:
用例1:x=4,y=8,z=8
用例2:x=3,y=5,z=13
条件组合测试
用例1:x=4,y=8,z=8
用例2:x=4,y=3,z=13
用例3:x=2,y=8,z=8
用例4:x=2,y=3,z=13
路径测试:
用例1:x=4,y=8,z=8
用例2:x=4,y=3,z=13
用例3:x=6,y=2,z=8
用例4:x=2,y=3,z=13
执行每个测试用例,执行完毕后填写测试用例.
2、用C++或者Java编写“计算被输入日期是星期几,例如公元1年1月1日是星期一,只要输入年月日,能自动回复当天是星期几。”测试用例;
程序说明:
A程序思路:计算输入日期与公元1年1月1日所相差的天数,具体如下:总天数=公元1年到输入日期上一年年底天数+输入年份的1月到上月月底天数+输入日期的天数;
B闰年满足条件(year%4==0)&&(year%100!=0)||(year%400==0).
要求:
(1)分析各种输入情况,结合程序输出结果,并给出详细测试用例;
(2)根据(1)所划分的等价类,进行边界值分析,并给出具体的测试用例;
(3)决策表测试法;
①列出输入变量month、 day、 year的有效等价类;(条件桩)
②分析程序的规格说明,给出问题规定的可能采取操作;(动作桩)
③画出决策表(简化);
④根据决策表,给出详细测试用例.
代码:
#include <iostream〉
using namespace std;
int main(){
int x=1,year, month, day;
while(x) {
int i, num=0,t