1、软件工程白盒测试软件工程白盒测试一、实验目的通过关于实例程序的测试,熟悉结构性测试的差不多方法。二、实验要求1综合运用结构性测试方法如逻辑覆盖、差不多路径测试等方法对被测程序进行测试,找出whiteBox.exe程序中存在的缺陷。三、测试用例的设计1.关于Triangle Program的测试Private Sub triangle(a As Long, b As Long, c As Long, progOutput As String)Dim IsATriangle As BooleanAre a, b, and c sides of a Triangle?Node (0)If (a b
2、+ c) And (b a + c) Then Node (1) IsATriangle = TrueElse Node (2) IsATriangle = False progOutput = Not a TriangleEnd If Determine Triangle TypeNode (3)If IsATriangle Then 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) progOutpu
3、t = 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 = Right Triangle Else Node (10) progOutput = Scalene End If Node (11) End If Node (12) End If Node (13)End IfNode (14)End Sub1程序段的操纵流图如下:2程序段的环形复杂度VG=19条边-15个结点+2=63程
4、序段中的差不多路径集中有6条独立路径。路径1:01314在实际程序下,找不到此路径的例子。路径2:02314路径3:013451314路径4:013467121314路径5:013468911121314路径6:01346810111213144设计的测试用例如下:输入数据预期输出测试用例1找不到实际例子无测试用例24,2,1Not a Triangle测试用例33,3,3Equilateral测试用例44,4,5Isosceles测试用例53,4,5Right a triangle测试用例64,5,6scalence2.关于NextDate Program的测试Private Sub Nex
5、tDatePJ(InMonth As String, InDay As Integer, InYear As Integer, newDate As String)Dim OutDay As Integer, OutYear As Integer, OutMonth As StringOutYear = InYearNode (0)Select Case InMonthCase January, March, May, July, August, October, December Node (1) If InDay 31 Then Node (2) OutDay = InDay + 1 Ou
6、tMonth = InMonth Else Node (3) OutDay = 1 OutMonth = NextMonth(InMonth) End If Node (4)Case April, June, September, November: Node (5) If InDay 30 Then Node (6) OutDay = InDay + 1 OutMonth = InMonth Else Node (7) OutDay = 1 OutMonth = NextMonth(InMonth) End If Node (8)Case February Node (0) If InDay
7、 28 Then Node (9) OutDay = InDay + 1 OutMonth = InMonth ElseIf InDay = 28 Then Node (10) Node (11) If (InYear Mod 4) = 0) And (InYear Mod 400) 0) Then Node (12) OutDay = 29 leap year OutMonth = InMonth Else not a leap year Node (13) OutDay = 1 OutMonth = NextMonth(InMonth) End If Node (14) Else Node
8、 (15) OutDay = 1 OutMonth = NextMonth(InMonth) End If Node (16)End SelectNode (17)newDate = OutMonth Str(OutDay) , & Str(OutYear)End Sub1程序段的操纵流图如下:2程序段的环形复杂度VG=24条边-18个结点+2=83程序段中的差不多路径集中有8条独立路径。路径1:012417路径2:013417路径3:056817路径4:057817路径5:09101617路径6:091112141617路径7:091113141617路径8:091516174设计的测试用例
9、如下:输入数据预期输出测试用例1May,29,1990May,30,1990测试用例2May,32,1990June,2,1990测试用例3June,29,1990June,30,1990测试用例4June,30,1990July,1,1990测试用例5February,5,1990February,6,1990测试用例6February,28,1996February,29,1996测试用例7February,28,2000February,29,2000测试用例8February,29,1990March,1,1990四、测试结果分析此部分从测试结果分析推断出程序中存在的缺陷有哪些。1.关
10、于Triangle Program的测试分析:1、软件中的名称没有匹配好,比如第一个测试数据:把right triangle=scalene使得结果与预期本质上是一致,却fail2、软件没有制定三角形两边之和大于第三边两边之差小于第三边的约束。3、软件没有制定三角形的变数应该在1200之间,从而使边长大于200的也是2.关于NextDate Program的测试1、此软件测试的年份介于18122021年之间,在输入1811年时,测试结果与预期结果不一致,显示的等于输入日期的下一天。2、在输入,平年的二月份的29号时,测试结果与预期结果不一致,平年的二月份只有28天,而软件测试结果却显示了三月一号。3、在输入某年的12月31号时,测试结果显示的时,测试结果与预期结果不一致,输入的年份的第一天,显示错误。4、此软件测试的年份介于18122021年之间,在输入2021年的某一天时,测试结果与预期结果不一致,系统显示的是这一天的下一天,这与软件的界定范畴矛盾,显示错误。5、当输入的是某个月的32号时,显示的却是下个月的1号。这与实际不符。要求做完后以00UUU.doc上传其中:00是学号末两位,UUU是姓名
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1