实验4

更新时间:2023-11-18 09:06:01 阅读量: 教育文库 文档下载

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

南京信息工程大学实验报告

实验名称:白盒测试(二) 指导老师:徐旦华 实验时间:2015.5.27 专业:软件工程 年级:2013 班级:2 姓名:学号:

一.实验目的

理解白盒测试的基本方法,掌握语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖等代码覆盖测试策略,并能运用相应的方法设计测试用例。

二. 实验时间

2学时

三.实验准备

主流PC 机一套,要求安装windows 操作系统和Office 工具及相应编程软件;

四. 实验内容

1.题目一:使用逻辑覆盖测试方法测试以下程序段

void DoWork (int x,int y,int z) {

1 int k=0, j=0; 2 if ( (x>3)&&(z<10) ) 3 {

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 }

说明:程序段中每行开头的数字(1~10)是对每条语句的编号。 (1)画出程序的控制流图(用题中给出的语句编号表示)。

(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。 2.题目二:

请按要求对下面的java 代码进行测试。代码的功能是:用折半查找法在元素呈升序排

列的数组中查找值为key 的元素。 public int binSearch ( int array[], int key ) { 1 int mid, low, high; 2 low = 0;

3 high = array.length-1; 4 while ( low <= high ) { 5 mid = (low +high)/2;

6 if ( key = = array [mid] ) 7 return mid;

8 else if ( key < array [mid] ) 9 high = mid -1; 10 else

11 low = mid + 1 12 }

13 return -1; 14 }

(1) 画出此程序段的控制流图; (2)试计算此程序段的McCabe 复杂性;

(3)用独立路径覆盖法给出测试路径;并为各测试路径设计测试用例。

五.实验步骤及结果 题目一

(1)程序的流程图

开始 输入x,y,z N x>3&&z<10 Y k=x*y-1;j=sqrt(k) (x==4)||(y>5) N j=x*y=10 Y j=j%3 输出j 结束 程序的控制流图

1 2.a 2.b 3 4 5 6 7.a 7.b 8 9 10 (2) 1.语句覆盖测试用例:x=4,y=6,z=8 执行顺序:1—2—3—4—5—6—7—8—9—10 2.判定覆盖测试用例:x=4,y=7,z=8 执行顺序:1—2—3—4—5—6—7—8—9—10 x=3,y=5,z=8 执行顺序:1—2—3—6—7—9 3.条件覆盖测试用例:

设条件x>3真记为T1,假记为F1;条件z<10真记为T2,假记为F2;条件x==4真记为T3,假记为F3;条件y>5记为T4,假记为F4. 测试用例 覆盖条件 x=3,y=8,z=8 x=4,y=6,z=11 4.判定条件覆盖 设条件x>3真记为T1,假记为F1;条件z<10真记为T2,假记为F2;条件x==4真记为T3,假记为F3;条件y>5记为T4,假记为F4. 测试用例 x=3,y=5,z=13 x=4,y=7,z=8 5.条件组合覆盖 覆盖条件 F1,F2,F3,F4 T1,T2,T3,T4 执行路径 1 2 3 6 7 9 10 1 2 3 4 5 6 7 8 9 10 F1,T2,F3,F4 T1,F2,T3,F4 执行路径 1 2 3 6 7 8 9 10 1 2 3 6 7 8 9 10 设条件x>3真记为T1,假记为F1;条件z<10真记为T2,假记为F2;条件x==4真记为T3,假记为F3;条件y>5记为T4,假记为F4. 具体条件取值 覆盖条件 x>3,z<10 x>3,z<=10 x<=3,z<10 x<=3,z<=10 x==4,y>5 x==4,y<=5 x!=4,y>5 x!=4,y<=5 测试用例 测试数据 x=4,y=8,z=8 x=4,y=3,z=13 x=2,y=8,z=8 x=2,y=3,z=13 6.路径覆盖 测试用例编号 1 2 3 4

测试数据 x=4,y=8,z=8 x=4.y=3,z=13 x=6,y=2,z=8 x=2,y=3,z=13 执行路径 1 2 3 4 5 6 7 8 9 10 1 2 3 6 7 8 9 10 1 2 3 4 5 6 7 9 10 1 2 3 6 7 9 10 覆盖条件 T1,T2,T3,T4 T1,F2,T3,F4 F1,T2,F3,T4 F1,F2,F3,F4 执行路径 1 2 3 4 5 6 7 8 9 10 1 2 3 6 7 8 9 10 1 2 3 6 7 8 9 10 1 2 3 6 7 9 10 T1,T2 T1,F2 F1,T2 F1,F2 T3,T4 T3,F4 F3,T4 F3,F4 判定取值 第一个判定:取真分支 第一个判定:取假分支 第一个判定:取假分支 第一个判定:取假分支 第二个判定:取真分支 第二个判定:取假分支 第二个判定:取假分支 第二个判定:取假分支 开始 题目二 (1)程序的流程图 T return mid

F mid=(high+low)/2 T low=0 high=arrry.length-1 low<=high F return -1 Key==array[mid] 结束 key

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

Top