美文网首页
软件测试实验报告一

软件测试实验报告一

作者: hdychi | 来源:发表于2018-03-22 12:05 被阅读0次

    一、实验要求

    Install Junit(4.12), Hamcrest(1.3) with Eclipse

    Install Eclemma with Eclipse

    Write a java program for the triangle problem and test the program with Junit.

    Description of triangle problem:

    Function triangle takes three integers a,b,c which are length of triangle sides; calculates whether the triangle is equilateral, isosceles, or scalene.

    二、实验过程

    1、Junit、Hamcrest、Eclemma的安装

    使用了Idea作为IDE,引入了Junit4.8的Jar包。引入方法为:

    File->Project Structrure->Libraries->+按钮->选择jar包->确定

    对于Hamcrest,Junit4.4及以上已经集成了Hamcrest框架。由于我使用的是4.8版本,无需再安装

    对于Eclemma,Idea自带的插件有Idea Code Coverage,不用再安装其他Code Coverage插件

    2、判断三角形的代码

    我的程序对于等边三角形返回1,对于非等边而等腰的三角形返回2,对于斜三角形返回3,对于不是三角形的返回4

    package hdychi;
    
    public class Triangle {
        public static int getType(int a,int b,int c){
            if(a == b && b == c){
                System.out.println(1);
                return 1;
            }
            else{
                if(a == b){
                    if(a + b > c){
                        System.out.println(2);
                        return  2;
                    }
                }
                else if(b == c){
                    if(b + c > a){
                        System.out.println(2);
                        return 2;
                    }
                }
                else if(a == c){
                    if(a + c > b){
                        System.out.println(2);
                        return 2;
                    }
                }
            }
            if(a + b > c && Math.abs(a - b) < c){
                System.out.println(3);
                return 3;
            }
            System.out.println(4);
            return 4;
        }
    }
    

    3、进行测试

    我设计的样例包括等边三角形,三个不同两条边相等的等腰三角形
    代码如下:

    package hdychi;
    
    import static org.hamcrest.CoreMatchers.equalTo;
    import static org.junit.Assert.assertEquals;
    import static org.junit.Assert.assertThat;
    
    public class Test {
        @org.junit.Test
        public void testNormal(){
            int res1 = Triangle.getType(1,1,1);//测试等边三角形
            assertEquals(1,res1);
            int res2 = Triangle.getType(2,2,1);//测试等腰三角形
            assertEquals(2,res2);
            res2 = Triangle.getType(1,2,2);//换两条边等腰
            assertEquals(2,res2);
            res2 = Triangle.getType(2,1,2);//换两条边等腰
            assertEquals(2,res2);
            int res3 = Triangle.getType(3,4,5);//测试斜边三角形
            assertEquals(3,res3);
            int res4 = Triangle.getType(2,2,4);//测试不是三角形的
            assertEquals(4,res4);
            assertThat(res4,equalTo(4));
        }
    }
    

    4、测试结果

    2018-03-22 12-04-04屏幕截图.png 2018-03-22 12-04-29屏幕截图.png

    由图可见,测试覆盖率为97%,每个分支都达到了,且无错误

    相关文章

      网友评论

          本文标题:软件测试实验报告一

          本文链接:https://www.haomeiwen.com/subject/qeqaqftx.html