2016年东南大学软件测试白盒测试实验二

更新时间:2024-04-22 01:32:01 阅读量: 综合文库 文档下载

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

软件测试基础与实践

实验报告

实验名称: 白盒测试实验二 实验地点: 计算机软件楼 实验日期: 2016.11.9 学生姓名: 王鑫 学生学号: 71114430

东南大学 软件学院 制

一、实验目的

(1)巩固白盒测试知识,能熟练应用基本路径测试方法设计测试用例 (2)学习测试用例的书写

二、实验内容

(一)实验一: 基本路径测试技术实验

运用基本路径测试方法,分别对程序WeekB 中的方法IsCorrect()和getResult()进行测试。 要求:

(1) 画出程序流图。 (2) 计算环复杂度。 (3) 找到基本路径集合。 (4) 设计具体的测试用例。

方法IsCorrect()

1. 画出程序流图

bool IsCorrect(int y,int m,int d) { if(y<1) return false; else { if(((y%4==0)&&(y0!=0))||(y@0==0)) maxA[1]=29; if(m<0||m>12) return false; else { if(d>maxA[m-1]) return false; else return true; } } } 1 2 3 3x 3y y<1 return false y%4==0 y0!=0 y@0==0

4 5 5x 6 7 8 maxA[1]=29 m<0 m>12 d>maxA[m-1] return true end

Begin133x3y4525x678 end 2. 计算环复杂度

V(G)=流图中的区域数量=8

3. 找到基本路径集合

编号 P1 P2 P3 P4 P5 P6 基本路径 1-2-8 1-3-3y-5-2-8 1-3-3y-5-5x-2-8 1-3-3y-5-5x-6-2-8 1-3-3y-5-5x-6-7-8 1-3-3y-4-5-2-8

P7 P8 编号 P1 P2 P3 P4 P5 P6 P7 P8 编号 1 P1 P2 P3 P4 P5 P6 P7 P8 T F F F F F F F F F F F F T T 3 F T 条件判断 3x F F F F T F T 3y T F F F T T T 执行条件 基本路径测试 基本路径测试 基本路径测试 基本路径测试 基本路径测试 基本路径测试 基本路径测试 基本路径测试 1-3-3x-3y-5-x-8 1-3-3x-4-5-2-8 4.设计具体的测试用例

输入 yy/mm/dd 0/1/1 1/-1/1 1/13/1 1/1/32 1/1/1 无测试用例 100/-1/1 4/-1/1 输入错误 输入错误 输入错误 输入错误 输入错误 输入错误 星期一 输入错误 输入错误 输入错误 输入错误 星期一 输入错误 输入错误 1-2-8 1-3-3y-5-2-8 1-3-3y-5-5x-2-8 1-3-3y-5-5x-6-2-8 1-3-3y-5-5x-6-7-8 1-3-3y-4-5-2-8 1-3-3x-3y-5-x-8 1-3-3x-4-5-2-8 期望输出 实际输出 基本路径 5 5x 6 T F F T F 方法getResult ()

1.画出程序流图

int getResult(int y,int m,int d) { long totalDays=0; for(int i=1;i

} maxA[1]=29; else maxA[1]=28; for(int i=1;i

totalDays+=(d-1); maxA[1]=28;

return (totalDays%7);

1 2 3 4 4x 4y 5 6 7 8 8x 8y 9 10 11 12 13 14 15 16 17 18 long totalDays=0; int i=1; i

Begin1,2344y4x5,76,788x8y9,1110,111215,16,1713,1418 end

2.计算环复杂度 V(G)=流图中的区域数量=9

3.找到基本路径集合

编号 P1 P2 P3 P4 P5 P6 P7 P8 P9 编号 P1 P2 P3 P4 P5 P6 P7 P8 P9 编号 4 P1 P2 P3 P4 P5 P6 P7 P8 F F T F 4x F T F 条件判断 4y 8 F F F T T F F F F T 8x 8y F F T F F F F 执行条件 基本路径测试 基本路径测试 基本路径测试 基本路径测试 基本路径测试 基本路径测试 基本路径测试 基本路径测试 基本路径测试 输入 yy/mm/dd 1/1/1 1/2/1 无测试用例 无测试用例 无测试用例 2/1/1 无测试用例 101/1/1 5/1/1 星期一 星期四 星期二 星期六 星期六 星期一 星期四 星期二 星期六 星期六 1-2-3-8-8y-10-11-12-15-16-17-18 1-2-3-8-8y-10-11-12-13-14-12-15-16-17-18 1-2-3-8-8y-9-11-12-15-16-17-18 1-2-3-8-8x-8y-10-11-12-15-16-17-18 1-2-3-8-8x-9-11-12-15-16-17-18 1-2-3-4-4y-6-7-3-8-8y-10-11-12-15-16-17-18 1-2-3-4-4y-5-7-3-8-8y-10-11-12-15-16-17-18 1-2-3-4-4x-4y-6-7-3-8-8y-10-11-12-15-16-17-18 1-2-3-4-4x-5-7-3-8-8y-10-11-12-15-16-17-18 期望输出 实际输出 基本路径 基本路径 1-2-3-8-8y-10-11-12-15-16-17-18 1-2-3-8-8y-10-11-12-13-14-12-15-16-17-18 1-2-3-8-8y-9-11-12-15-16-17-18 1-2-3-8-8x-8y-10-11-12-15-16-17-18 1-2-3-8-8x-9-11-12-15-16-17-18 1-2-3-4-4y-6-7-3-8-8y-10-11-12-15-16-17-18 1-2-3-4-4y-5-7-3-8-8y-10-11-12-15-16-17-18 1-2-3-4-4x-4y-6-7-3-8-8y-10-11-12-15-16-17-18 1-2-3-4-4x-5-7-3-8-8y-10-11-12-15-16-17-18 4.设计具体的测试用例

P9

T T F F 三、实验体会

(1)没有测出缺陷,但实际上存在缺陷。这说明动态白盒测试之路径测试并不能完全测出缺陷。关键在于测试用例是否则测出缺陷。

不过比较实验一中WeekA.java中代码,有改进: 1. 解决了year=0的问题

2. 之前month=0会抱错,这次不会

3. 对于错误输出,会输出“输入错误,请重新输入”,而不是也给出结果

(2)程序依然存在缺陷,如 month取值为0,程序显示“X年X月X日是星期计算错 误”;day取值为0或者负数,程序依然显示“X年X月X日星期计算错误”。而事实上应该显示“输入错误,请重新输入”。 改进:getResult()函数中,

if(((y%4==0)&&(y0!=0))||(y@0==0)) maxA[1]=29; else maxA[1]=28;

可以删去,因为在IsCorrect()函数中已经判断过了。

(3)关键:1.做出正确有美观的流图。“正确”保证了正确计算出环复杂度和设计出基

本路径集合,而“美观”保证了方便设计出正确测试用例。 2.设计出正确的基本路径集合,最好依照从上到下或者从下到上的遍历顺

序遍历流图。

3.对应基本路径集合中每条路径设计出正确测试用例。

难点:1.做出正确有美观的流图;

2.设计出正确的基本路径集合,不要过多,有些可以由集合中已经存在的路径线性表示。

3. 对应基本路径集合中每条路径设计出正确测试用例,有些路径可能不存在测试用例。

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

Top