软工2017第四周作业结对编程——单元测试

    这篇博客主要写以下几点:

    1、对四则运算单元测试的理解

    2、单元测试环境

    3、进行单元测试

    4、测试用例文档版本控制

    5、单元测试版本控制

一、对四则运算单元测试的理解

       这周是结对编程,我和小伙伴先讨论了测试用例,然后以各个类型的测试用例为标准写了各个用例的方法,,然后对每个方法进行测试,对每个方法的测试称之单元测试。

二、单元测试环境

      使用的编程软件:Eclipse

      语言:Java

      在Eclipse上安装的插件:Junit(用于做单元测试);Emma coverage(用于检查进行测试代码的覆盖率)

三、进行单元测试

      1、 进行测试的方法有,如截图:

         软工2017第四周作业结对编程——单元测试_第1张图片

2、创建JunitTest.java步骤,这里假设电脑上已经安装好Junit

(1)右键创建的包,创建一个Junit case,然后如截图所示:

软工2017第四周作业结对编程——单元测试_第2张图片

(2)点击next,然后如截图:

 

软工2017第四周作业结对编程——单元测试_第3张图片

(3)然后右击工作台JunitTest.java,选择-->run as-->Junit Test,全部方法测试失败如图所示:

软工2017第四周作业结对编程——单元测试_第4张图片

3、给方法写用例,有九个方法pass,四个fail,如图所示,给出方法一次性通过测试的方法isCorrectChar()的功能代码以及测试代码:

软工2017第四周作业结对编程——单元测试_第5张图片软工2017第四周作业结对编程——单元测试_第6张图片软工2017第四周作业结对编程——单元测试_第7张图片

其中覆盖率为零的四个方法单元测试失败。

优秀代码:

     //校验字符是否合法
     public static  boolean isCorrectChar(Character c) {
            if (('0' <= c && c <= '9') || c == '-' || c == '+' || c == '*' || c == '/' || c == '(' || c == ')'
                    || c == '.') {
                return true;
            }
            return false;
        }

测试这个方法的代码:

@Test
    public void testIsCorrectChar() 
    {
        //测试输入字符是否符合四则运算的表达式
        Assert.assertFalse(a.isCorrectChar('a'));
        Assert.assertTrue(a.isCorrectChar('+'));
        Assert.assertTrue(a.isCorrectChar('-'));
        Assert.assertTrue(a.isCorrectChar('*'));
        Assert.assertTrue(a.isCorrectChar('/'));
        Assert.assertTrue(a.isCorrectChar('('));
        Assert.assertTrue(a.isCorrectChar(')'));
        Assert.assertTrue(a.isCorrectChar('1'));
        Assert.assertTrue(a.isCorrectChar('.'));
    }

四、测试用例文档版本控制:https://git.coding.net/liusx0303/Test_FourArithmetic.git

五、单元测试版本控制:https://git.coding.net/liusx0303/Junit_FourArithmetic.git

 

转载于:https://www.cnblogs.com/liusx0303/p/7645784.html

你可能感兴趣的:(软工2017第四周作业结对编程——单元测试)