实验二 白盒测试

更新时间:2024-06-06 21:49:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验二 白盒测试

一、实验目的

通过本实验,熟悉白盒测试的目的、内容,并掌握白盒测试的基本方法,能够按照具体

要求对指定的程序设计测试用例并进行测试。

二、相关知识

逻辑覆盖法的六种覆盖标准:

1、语句覆盖:设计足够的测试用例,使得程序中的每个语句至少执行一次。

2、判定覆盖:设计足够的测试用例,使得在语句覆盖的基础上,程序中每个判定的取“真”分支和取“假”分支至少都执行一次。

3、条件覆盖:设计足够的测试用例,在语句覆盖的基础上使得程序判定中的每个条件能获得各种可能的结果。

4、判定/条件覆盖:设计足够的测试用例,使得判定中的每个条件都取到各种可能的值,而且每个判定表达式也都取到各种可能的结果。

5、条件组合覆盖:设计足够的测试用例,使得每个判定中的条件的各种可能组合都至少出现一次。

6、路径覆盖:每条可能的路径都至少执行一次。

三、实验内容

1、对实验一中编写的三角形程序,画出其程序流程图;分析程序流程图,确定程序分支; (1) 设计分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖的测试用例;

(2) 用测试用例对程序进行测试,记录测试结果,并对结果进行分析,如果存在缺陷则修改程序,继续测试;

运用逻辑覆盖法的六种覆盖标准设计测试用例,并执行测试,撰写实验报告。

四、实验步骤

1、根据其题意,可以得出输入为三个整数:a、b、c为三角形的三条边,再根据以下条件输出其类型:

条件一:a>0 条件二:b>0 条件三:c>0 条件四:a(1) 如果输入值a、b、c不满足条件一、条件二、条件三,程序输出“边的取值不符合要求”。 (2) 如果输入值a、b、c不满足条件四、条件五、条件六,程序输出“非三角形”。 (3) 如果三条边相等,程序输出“等边三角形”。

(4) 如果三条边恰好有两边相等,程序输出“等腰三角形”。 (5) 如果三条边都不相等,则程序输出为“一般三角形”。

2、根据题意画出程序流程图如下:

开始 a N 条件1:0

程序流程图

3、根据逻辑覆盖法的六种覆盖标准设计测试用例,得到以下6张测试用例表: (1)语句覆盖 用例编号 1 2 3 4 5

(2)判定覆盖 用例编号 1 2 3 4 5

(3)条件覆盖

对于第一个判断:条件0

条件0

对于第二个判断:条件a

条件b

对于第三个判断:条件a=b 取真为T7,取假为F7;

条件b=c 取真为T8,取假为F8;

对于第四个判断:条件a=b 取真为T9,取假为F9; 条件b=c 取真为T10,取假为F10;

条件a=c 取真为T11,取假为F11;

输入数据a 101 2 4 3 2 输入数据b 2 3 4 2 4 输出数据c 3 6 4 2 5 输出 边的取值不符合要求 非三角形 等边三角形 等腰三角形 一般三角形 备注 条件1“假” 条件1“真” 条件2“假” 条件2“真” 条件3“真” 条件3“假” 条件4“真” 条件4“假” 输入数据a -2 3 3 3 2 输入数据b 3 4 3 3 3 输出数据c 4 8 3 2 4 输出 边的取值不符合要求 非三角形 等边三角形 等腰三角形 一般三角形 备注 语句1 语句2 语句3 语句4 语句5

用例编号 1 2 3 4 5 6 7 8 9 10

输入数据a -2 3 3 8 2 3 2 2 3 4 输入数据b 2 -4 5 1 8 3 3 2 4 5 输出数据c 4 120 9 3 4 3 4 3 3 5 输出 边的取值不符合要求 边的取值不符合要求 非三角形 非三角形 非三角形 等边三角形 一般三角形 等腰三角形 等腰三角形 等腰三角形 备注 F1,T2,T3 T1,F2,F3 T4,T5,F6 F4,T5,T6 T4,F5,T6 T7,T8 F7,F8,F9,F10,F11 T9 T11 T10 (4)判定/条件覆盖 用例编号 1 2 3 4 5 6 7 8 9

输入数据a -1 3 3 8 4 2 2 3 4 输入数据b 101 1 5 1 4 3 2 4 5 输出数据c 106 5 1 3 4 4 3 3 5 输出 边的取值不符合要求 非三角形 非三角形 非三角形 等边三角形 一般三角形 等腰三角形 等腰三角形 等腰三角形 备注 F1,F2,F3 路径:a-b-j T1,T2,T3,T4,T5,F6 路径:a-c-d-j T4,F5,T6 路径:a-c-d-j F4,T5,T6 路径:a-c-d-j T7,T8 路径:a-c-e-f-j F7,F8 F9,F10,F11 路径:a-c-e-g-i-j T9 路径:a-c-e-g-h-j T11 路径:a-c-e-g-h-j T10 路径:a-c-e-g-h-j

(5) 多条件覆盖 用例编号 1 2 3 4 5 6 7 8 9

(6) 路径覆盖 用例编号 1 2 3 4 5

4、编写程序

import java.util.Scanner; public class A{

public static void main(String[] args){ Scanner s=new Scanner(System in); int a=s.nextInt();

System.out.println(“第一条边:”+a);

int b=s.nextInt();

输入数据a -3 2 3 4 6 输入数据b 101 5 3 3 3 输出数据c 4 9 3 3 4 输出 边的取值不符合要求 非三角形 等边三角形 等腰三角形 一般三角形 备注 a-b-j a-c-d-j a-c-e-f-j a-c-e-g-h-j a-c-e-g-i-j 输入数据a 输入数据b 输出数据c -5 2 2 9 2 3 3 5 4 101 1 5 2 2 4 3 4 3 111 5 3 3 2 6 5 5 3 输出 边的取值不符合要求 非三角形 非三角形 非三角形 等边三角形 一般三角形 等腰三角形 等腰三角形 等腰三角形 备注 F1,F2,F3 T1,T2,T3,T4,T5,F6 T4,F5,T6 F4,T5,T6 T7,T8 F7,F8 F9,F10,F11 T9 T1 T10

System.out.println(“第二条边:”+b); int c=s.nextInt();

System.out.println(“第三条边:”+c); if((a>100||a<1)|| (b>100||b<1)|| (c>100||c<1)) System.out.println(“第三条边:”+c); else if(a>=b+c)||(b>=a+c)||(c>=a+b) System.out.println(“第三条边:”+c); else {

if(a!=b&&b!=c&&a!=c)

System.out.println(“第三条边:”+c);

if((a==b&&a!=c)|| (b==c&&a!=b)|| (a==c&&a!=b)) System.out.println(“第三条边:”+c); if(a==b&&b==c)

System.out.println(“第三条边:”+c);

}

} }

五、实验结果及小结

在测试用例中,a、b、c三个数为输入对象,输出为三角形的类型,先根据题意画出程序流程图,根据流程图来设计测试用例,用逻辑覆盖法的六种覆盖标准设计测试用例,再根据流程图和测试用例编写程序。经过此次实验,更熟悉的掌握了白盒测试的基本方法。

System.out.println(“第二条边:”+b); int c=s.nextInt();

System.out.println(“第三条边:”+c); if((a>100||a<1)|| (b>100||b<1)|| (c>100||c<1)) System.out.println(“第三条边:”+c); else if(a>=b+c)||(b>=a+c)||(c>=a+b) System.out.println(“第三条边:”+c); else {

if(a!=b&&b!=c&&a!=c)

System.out.println(“第三条边:”+c);

if((a==b&&a!=c)|| (b==c&&a!=b)|| (a==c&&a!=b)) System.out.println(“第三条边:”+c); if(a==b&&b==c)

System.out.println(“第三条边:”+c);

}

} }

五、实验结果及小结

在测试用例中,a、b、c三个数为输入对象,输出为三角形的类型,先根据题意画出程序流程图,根据流程图来设计测试用例,用逻辑覆盖法的六种覆盖标准设计测试用例,再根据流程图和测试用例编写程序。经过此次实验,更熟悉的掌握了白盒测试的基本方法。

本文来源:https://www.bwwdw.com/article/8rf6.html

Top