关于单元测试

2018-04-28  本文已影响0人  磊啊_

  什么是单元测试:

                              单元测试从本质上讲也是代码,与普通代码的区别是,它是验证代码正确性的代码,也就是开发人员编写的用于检测在特定条件下目标代码正确性的代码。

 

  为什么要做单元测试:

                              1.便于后期重构:用单元测试尽量覆盖程序中的每一项功能的正确性,这样的话,就算是开发后期,也可以有保障地增加功能或者更改程序结构,并且不用担心这个过程会破坏原来的功能,也就是为代码重构提供保障。

                              2.优化设计:编写单元测试呢将使用户从调用者的角度观察,思考,特别是使用TDD,也就是测试驱动开发的方式,迫使设计者把程序设计成易于调用和可测试,并且解除软件中的耦合。

                              3.文档记录:单元测试是函数或类如何使用的最佳文档,这个文档是可编译,可运行的,并且保持最新,与代码保持同步。

                                4.具有回归性:自动化的单元测试避免了代码出现回归,编写完成之后,可以随时随地快速运行测试。(把代码部署到设备上,然后再手动覆盖各种执行路径,这样下效率太低,浪费时间)

 

  测试内容:

                                1.边界条件:边界条件是单元测试需要重点测试的地方之一,因为很多BUG就是出现在某些边界条件之上,我们在开发过程中,代码都简历在正常边界之内,边界条件分为以下几点:

        (1)一致性:也就是值是否和预期一致,可以理解为当输入并不是预期的标准数据时,被测试方法是否可以正确输出预期结果或抛出异常。

        (2)有序性:就是我们的值是否像期望的那样是有序的还是无序的。

        (3)区间性:就是我们的值是否位于我们的最大值和最小值之间。

        (4)依赖性:就是我们的代码是否引用了一些不存在代码本身控制范围之内的外部资源,当这些外部资源存在或不存在的时候代码是否可以产生相应的预期效果。

        (5)存在性:就是我们的值是否存在。

        (6)基数性:是否恰好有足够的值。

        (7)时间性:就是所有的事情发生是否是有序的,是否在正确的时刻,是否恰好及时,

                                  2.覆盖执行路径

 

  使用单元测试可以让我们更早的发现问题,如果手动点击测试的话不仅效率底下,浪费时间,也不能保证你每次都会执行完整的路径覆盖,这样就会存在BUG。

 

 

 

上一篇下一篇

猜你喜欢

热点阅读