软件工程白盒测试.docx

上传人:b****5 文档编号:3362009 上传时间:2022-11-22 格式:DOCX 页数:15 大小:164.52KB
下载 相关 举报
软件工程白盒测试.docx_第1页
第1页 / 共15页
软件工程白盒测试.docx_第2页
第2页 / 共15页
软件工程白盒测试.docx_第3页
第3页 / 共15页
软件工程白盒测试.docx_第4页
第4页 / 共15页
软件工程白盒测试.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

软件工程白盒测试.docx

《软件工程白盒测试.docx》由会员分享,可在线阅读,更多相关《软件工程白盒测试.docx(15页珍藏版)》请在冰豆网上搜索。

软件工程白盒测试.docx

软件工程白盒测试

软件工程白盒测试

一、实验目的

通过关于实例程序的测试,熟悉结构性测试的差不多方法。

二、实验要求

〔1〕综合运用结构性测试方法〔如逻辑覆盖、差不多路径测试等方法〕对被测程序进行测试,找出whiteBox.exe程序中存在的缺陷。

三、测试用例的设计

1.关于TriangleProgram的测试

PrivateSubtriangle(aAsLong,bAsLong,cAsLong,progOutputAsString)

DimIsATriangleAsBoolean

'Area,b,andcsidesofaTriangle?

Node(0)

If(a

Node

(1)

IsATriangle=True

Else

Node

(2)

IsATriangle=False

progOutput="NotaTriangle"

EndIf

'DetermineTriangleType

Node(3)

IfIsATriangleThen

Node(4)

If(a=b)And(b=c)Then

Node(5)

progOutput="Equilateral"

Else

Node(6)

If(a=b)Or(a=c)Then

Node(7)

progOutput="Isosceles"

Else

Node(8)

If(a*a=b*b+c*c)Or(b*b=a*a+c*c)Or(c*c=a*a+b*b)Then

Node(9)

progOutput="RightTriangle"

Else

Node(10)

progOutput="Scalene"

EndIf

Node(11)

EndIf

Node(12)

EndIf

Node(13)

EndIf

Node(14)

EndSub

〔1〕程序段的操纵流图如下:

〔2〕程序段的环形复杂度V〔G〕=19条边-15个结点+2=6

〔3〕程序段中的差不多路径集中有6条独立路径。

路径1:

0→1→3→14

在实际程序下,找不到此路径的例子。

路径2:

0→2→3→14

路径3:

0→1→3→4→5→13→14

路径4:

0→1→3→4→6→7→12→13→14

路径5:

0→1→3→4→6→8→9→11→12→13→14

路径6:

0→1→3→4→6→8→10→11→12→13→14

〔4〕设计的测试用例如下:

输入数据

预期输出

测试用例1

找不到实际例子

测试用例2

4,2,1

NotaTriangle

测试用例3

3,3,3

Equilateral

测试用例4

4,4,5

Isosceles

测试用例5

3,4,5

Rightatriangle

测试用例6

4,5,6

scalence

2.关于NextDateProgram的测试

PrivateSubNextDatePJ(InMonthAsString,InDayAsInteger,InYearAsInteger,newDateAsString)

DimOutDayAsInteger,OutYearAsInteger,OutMonthAsString

OutYear=InYear

Node(0)

SelectCaseInMonth

Case"January","March","May","July","August","October","December"

Node

(1)

IfInDay<31Then

Node

(2)

OutDay=InDay+1

OutMonth=InMonth

Else

Node(3)

OutDay=1

OutMonth=NextMonth(InMonth)

EndIf

Node(4)

Case"April","June","September","November":

Node(5)

IfInDay<30Then

Node(6)

OutDay=InDay+1

OutMonth=InMonth

Else

Node(7)

OutDay=1

OutMonth=NextMonth(InMonth)

EndIf

Node(8)

Case"February"

Node(0)

IfInDay<28Then

Node(9)

OutDay=InDay+1

OutMonth=InMonth

ElseIfInDay=28Then

Node(10)

Node(11)

If((InYearMod4)=0)And((InYearMod400)<>0)Then

Node(12)

OutDay=29'leapyear

OutMonth=InMonth

Else'notaleapyear

Node(13)

OutDay=1

OutMonth=NextMonth(InMonth)

EndIf

Node(14)

Else

Node(15)

OutDay=1

OutMonth=NextMonth(InMonth)

EndIf

Node(16)

EndSelect

Node(17)

newDate=OutMonthStr(OutDay)","&Str(OutYear)

EndSub

〔1〕程序段的操纵流图如下:

〔2〕程序段的环形复杂度V〔G〕=24条边-18个结点+2=8

〔3〕程序段中的差不多路径集中有8条独立路径。

路径1:

0→1→2→4→17

路径2:

0→1→3→4→17

路径3:

0→5→6→8→17

路径4:

0→5→7→8→17

路径5:

0→9→10→16→17

路径6:

0→9→11→12→14→16→17

路径7:

0→9→11→13→14→16→17

路径8:

0→9→15→16→17

〔4〕设计的测试用例如下:

输入数据

预期输出

测试用例1

"May",29,1990

"May",30,1990

测试用例2

"May",32,1990

"June",2,1990

测试用例3

"June",29,1990

"June",30,1990

测试用例4

"June",30,1990

"July",1,1990

测试用例5

"February",5,1990

"February",6,1990

测试用例6

"February",28,1996

"February",29,1996

测试用例7

"February",28,2000

"February",29,2000

测试用例8

"February",29,1990

"March",1,1990

四、测试结果分析

此部分从测试结果分析推断出程序中存在的缺陷有哪些。

1.关于TriangleProgram的测试

分析:

1、软件中的名称没有匹配好,比如第一个测试数据:

把righttriangle=scalene

使得结果与预期本质上是一致,却fail

2、软件没有制定三角形两边之和大于第三边两边之差小于第三边的约束。

3、软件没有制定三角形的变数应该在1~200之间,从而使边长大于200的也是

2.关于NextDateProgram的测试

1、此软件测试的年份介于1812—2021年之间,在输入1811年时,测试结果与预期结果不一致,显示的等于输入日期的下一天。

2、在输入,平年的二月份的29号时,测试结果与预期结果不一致,平年的二月份只有28天,而软件测试结果却显示了三月一号。

3、在输入某年的12月31号时,测试结果显示的时,测试结果与预期结果不一致,输入的年份的第一天,显示错误。

4、此软件测试的年份介于1812—2021年之间,在输入2021年的某一天时,测试结果与预期结果不一致,系统显示的是这一天的下一天,这与软件的界定范畴矛盾,显示错误。

5、当输入的是某个月的32号时,显示的却是下个月的1号。

这与实际不符。

要求做完后以00UUU.doc上传〔其中:

00是学号末两位,UUU是姓名〕

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1