博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验二+065+方绎杰
阅读量:7260 次
发布时间:2019-06-29

本文共 3418 字,大约阅读时间需要 11 分钟。

1.被测源码:

package 软件测试实验1;import java.util.Arrays;import java.util.Scanner;public class test01 {    public static void main(String[] args){        int[] length=new int[3];        String result=null;        boolean flag=true;        Scanner sc = new Scanner(System.in);        while(flag){           System.out.print("***********************\n");           System.out.print("请输入三角形的三条边\n");           System.out.print("第一条边:");           length[0]=sc.nextInt();            System.out.print("第二条边:");           length[1]=sc.nextInt();              System.out.print("第三条边:");           length[2]=sc.nextInt();           Arrays.sort(length);//对三条边进行排序           if(length[0]<1||length[2]>100){               System.out.print("Attention!边的值不在范围内!!");           }           else           {               result=triangle(length[0],length[1],length[2]);               System.out.print(length[0]+","+length[1]+","+length[2]+"可构成"+result);               System.out.print("\n***********************\n");                          }           System.out.print("是否要继续输入数据?1:Yes 2:No");           String temp=sc.next();           switch(temp)            {               case"1":                   flag=true;                   break;               case"2":                   flag=false;                   System.out.print("您已退出程序");                   break;            }        }    }        public static String triangle(int a,int b,int c){        String sort=null;        /*         * //修改处:因为对三条边进行排序,所以判断语句会比较简单。         */        if((a+b>c)&&((c-b)

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

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

测试脚本:

package exam1;import static org.junit.Assert.*;import org.junit.Before;import org.junit.Test;public class AutoTest {    @Before    public void setUp() throws Exception {    }    @Test    public void testTriangleStatementCoverage1() {        assertEquals("不能构成三角形",test01.triangle(1, 2, 3));            }    @Test    public void testTriangleDecisionCoverage2() {        assertEquals("边的值不在范围内",test01.triangle(1, 2, 3));    }    @Test    public void testTriangleDecisionCoverage3() {        assertEquals("不能构成三角形",test01.triangle(1, 2, 3));    }    @Test    public void testTriangleDecisionCoverage4() {        assertEquals("等腰三角形",test01.triangle(3,3, 4));    }    @Test    public void testTriangleDecisionCoverage5() {        assertEquals("等边三角形",test01.triangle(3, 3, 3));    }    @Test    public void testTriangleDecisionCoverage6() {        assertEquals("一般三角形",test01.triangle(4, 5, 6));    }    @Test    public void testTriangleConditionDecisionCoverage7() {        assertEquals("一般三角形",test01.triangle(48, 61, 79));    }    @Test    public void testTriangleConditionDecisionCoverage8() {        assertEquals("直角三角形",test01.triangle(12, 9, 15));    }    @Test    public void testTriangleConditionCoverage9() {        assertEquals("不能构成三角形",test01.triangle(5, 11, 77));    }    @Test    public void testTriangleConditionCoverage10() {        assertEquals("等腰三角形",test01.triangle(66, 33, 66));    }    @Test    public void testTriangleConditionCoverage11() {        assertEquals("等边三角形",test01.triangle(77, 77, 77));    }    @Test    public void testTriangleConditionCoverage12() {        assertEquals("一般三角形",test01.triangle(66, 77, 88));    }}

4.测试结果:

测试小结:

  被测代码在边界值,等腰和等边的判断存在问题

  修改建议:将边界值判断放到triangle函数中,同时调整等腰和等边的判断顺序

  通过这次实验对白盒测试的各种覆盖有了进一步的了解,同时学会的junit的使用方式。对代码规范有了更进一步的了解

转载于:https://www.cnblogs.com/Tichocan/p/6701576.html

你可能感兴趣的文章
java IO 常用代码
查看>>
ubuntu 设置eclipse快捷图标
查看>>
使用maven 构建dubbo服务的可执行jar包
查看>>
比onethink更好用的插件机制
查看>>
Python并行化操作
查看>>
github技巧
查看>>
Go中结构体的使用
查看>>
WAMP_多站点_多域名_VHOSTS
查看>>
http与https的简单区别
查看>>
android webview缓存机制
查看>>
bugumongo3
查看>>
openshift 安装
查看>>
Linux系统学习窗口的正确打开方式
查看>>
Linux 简介
查看>>
Lucene6.0实战
查看>>
logstash filter插件
查看>>
XP瘦身,减肥大全
查看>>
c3p0连接池异常
查看>>
django的时区问题
查看>>
关于java中进制的快速计算
查看>>