首页 > 其他 > 详细

实验2+119+陈云鹏

时间:2017-04-14 14:19:59      阅读:346      评论:0      收藏:0      [点我收藏+]

实验二结构性测试(4学时)

一、实验目的

掌握基于覆盖理论与基本路径的基本白盒测试方法和实践

二、实验要求

运用逻辑覆盖测试的覆盖准则设计被测程序的测试用例,并运行测试用例检查程序的正确与否,给出程序缺陷小结。

三、实验内容

根据各位同学自己的被测程序,分别作出各类白盒测试技术的用例设计和相应的Junit脚本。

所有的覆盖的技术:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖、路径覆盖,基本路径测试方法。

包括的内容有:

1) 被测原代码

2)依据覆盖技术,测试用例列表:

3)相应Junit测试脚本、执行结果

4)给出测试参数化和打包测试的脚本,并生成执行结果

四、实验步骤

Input (a,b,c)

String result;

        IF (a < 1 or a > 100 or b < 1 or b > 100 or c < 1 or c > 100)

            result <- "边的值不在范围内!";

        ELSE IF(a >= b + c or b >= a + c or c >= a + b)

            result <- "不构成三角形!";

        ELSE IF (a == b && b == c)

            result <- "等边三角形";

        ELSE IF ((a - b) * (a - c) * (b - c) == 0)

            result <- "等腰三角形";

        ELSE IF (a * a + b * b == c * c or a * a + c * c == b * b or c * c + b * b == a * a)

            result <- "直角三角形";

        ELSE

            result <- "一般三角形";

END IF;

        return result;

Output(result)

2)依据覆盖技术的测试用例:

程序图  :

技术分享

DD-路径图:

技术分享

DD-路径(只压缩链路经)

技术分享

(I)语句覆盖:

技术分享

(II)分支覆盖(判断覆盖):

技术分享

(III)路径覆盖:

技术分享

(IV)条件覆盖:各个条件取真或假的可能至少执行一次

技术分享

技术分享

3)相应Junit测试脚本:

 1 import static org.junit.Assert.assertEquals;
 2 
 3 import org.junit.Test;
 4 
 5 public class JudgeTriangleTest {
 6 
 7     @Test
 8     public void testTriangle() {
 9         String result=null;//实际结果
10         result=JudgeTriangle.triangle(0, 0, 0) ;
11         assertEquals("边的值不在范围内!", result);
12         result=JudgeTriangle.triangle(101,101, 101) ;
13         assertEquals("边的值不在范围内!", result);
14         result=JudgeTriangle.triangle(3, 1,1) ;
15         assertEquals("不构成三角形!", result);
16         result=JudgeTriangle.triangle(1, 3, 1) ;
17         assertEquals("不构成三角形!", result);
18         result=JudgeTriangle.triangle(1,1, 3) ;
19         assertEquals("不构成三角形!", result);
20         result=JudgeTriangle.triangle(3, 4, 5) ;
21         assertEquals("直角三角形", result);
22         result=JudgeTriangle.triangle(3, 5, 4) ;
23         assertEquals("直角三角形", result);
24         result=JudgeTriangle.triangle(5, 3, 4) ;
25         assertEquals("直角三角形", result);
26         result=JudgeTriangle.triangle(2, 3, 4) ;
27         assertEquals("一般三角形", result);
28         //fail("Not yet implemented");
29     }
30 
31 }

技术分享

五 、测试小结:

1.测试找到的缺陷清单:无

2.对源代码的修改建议:无

3.测试总结与心得体会:各种覆盖方式容易重合,可以先写条件覆盖,其他覆盖从里面挑取

实验2+119+陈云鹏

原文:http://www.cnblogs.com/chenyp1996/p/6708539.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!