关于单元测试

  什么是单元测试:

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

 

  为什么要做单元测试:

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

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

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

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

 

  测试内容:

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

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

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

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

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

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

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

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

                                  2.覆盖执行路径

 

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

 

 

 

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 11,719评论 5 101
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 22,324评论 7 278
  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 13,032评论 2 126
  • 1. 单元测试入门——优秀基因 单元测试最初兴起于敏捷社区。1997年,设计模式四巨头之一Erich Gamma和...
    厲铆兄阅读 7,471评论 3 16
  • 今天看到得到APP的征文,挺有感触的。得到APP早已成为我生活的日常,真不敢想象没有得到APP的日子。借着这个机会...
    时间与区间阅读 3,584评论 0 0

友情链接更多精彩内容