单元测试

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-14 21:16:52

一·单元测试:

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

二· 单元测试步骤

  在代码编写完成后的单元测试工作主要分为两个步骤人工静态检查和动态执行跟踪。

  人工静态检查是测试的第一步,这个阶段工作主要是保证代码算法的逻辑正确性(尽量通过人工检查发现代码的逻辑错误)、清晰性、规范性、一致性、算法高效性。并尽可能的发现程序中没有发现的错误。

  第二步是通过设计测试用例,执行待测程序来跟踪比较实际结果与预期结果来发现错误。经验表明,使用人工静态检查法能够有效的发现30%到70%的逻辑设计 和编码错误。但是代码中仍会有大量的隐性错误无法通过视觉检查发现,必须通过跟踪调试法细心分析才能够捕捉到。所以,动态跟踪调试方法也成了单元测试的重 点与难点。

三·单元测试的具体操作:

1,新建一个项目,起名叫JUnitTest,首先编写一个目标类Calculator,测试代码:

 

package andycpp;

 

public class Calculator ...{

    private static int result; // 静态变量,用于存储运行结果

    public void add(int n) ...{

        result = result + n;

    }

    public void substract(int n) ...{

        result = result - 1;  //Bug: 正确的应该是 result =result-n

    }

    public void multiply(int n) ...{

    }         // 此方法尚未写好

    public void divide(int n) ...{

        result = result / n;

    }

    public void square(int n) ...{

        result = n * n;

    }

    public void squareRoot(int n) ...{

        for (; ;) ;            //Bug : 死循环

    }

    public void clear() ...{     // 将结果清零

        result = 0;

    }

    public int getResult() ...{

        return result;

    }

}

第二步,将JUnit4单元测试包引入这个项目:在该项目上点右键,点“属性”,然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进我们这个项目了,如图:

 第三步,生成JUnit测试框架:在Eclipse的Package Explorer中用右键点击该类弹出菜单,选择“New à JUnit Test Case”, 点击“下一步”后,系统会自动列出你这个类中包含的方法,选择你要进行测试的方法。此例中,我们仅对“加、减、乘、除”四个方法进行测试。

 

 

 

第四步,运行结果

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!