测试的目的和价值

测试帮助我们捕捉错误

使用自动化测试不仅是为了保证代码的期望行为,而且是帮助设计。
从而改善生产力,保证开发速度。

Google 曾估算出程序员引入 bug 后修复的成本是 5 美元。同样的缺陷,如果在运行了整个构建之后发现它, 则要花费 50 美元来修复。如果在集成测试后发现这个 bug ,成本飙升至 500 美元。到了系统测试阶段,成本高达 5000 美元。

所以说 bug 发现的越早越好,而自动化测试将会是一种有效,且能轻易的捕捉大部分错误的手段。

测试帮助我们针对实际使用来塑造设计

测试大多数取决于代码的上下文。

  • 通常意义的优秀测试在特定条件下可能很糟糕
  • 一般认为糟糕的应当避免的想法有时候却是正确的做法

当我们在阅读别人代码的时候(不仅是测试),不免有时候会觉得:“是谁写的这么臭的代码?”,等到后面明白工作原理及环境才认识到:这原来是个设计模式。
这样的例子在我们,我们经常会遇到。

同理在测试时不要盲目编写测试,优秀的测试可以使我们的设计更完善。

通过明确的指出所需的行为,测试帮助我们避免镀金

如果没有明确的行为,测试也就是没有意义的,可能会出现为了测试而测试,追求新技术,追求复杂的方法来测试。

  • 测试不仅是保障我们避免 bug,我们将测试也表达为代码思考的过程。

所以明确需求的重要性不言而喻

编写测试的最大价值不在于结果,而在于在编程的学习

  • 测试并不仅仅是一个质量保证工具,我们还要认识测试也是一种编程工具(一种设计工具)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,037评论 25 709
  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 13,014评论 2 126
  • 1.问:你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。 首先,将问题提...
    qianyewhy阅读 13,049评论 4 123
  • 昨天忙碌了一天的应酬。在人际交往中有时连说“不”的力量都没有了,面对此时此景,我只有顺从。 人际交往就是情感帐户,...
    王泽华wzh阅读 1,211评论 0 0
  • http://www.imooc.com/code/2047 块状元素、内联元素(又叫行内元素)和内联块状元素。常...
    laznrbfe阅读 1,481评论 0 0

友情链接更多精彩内容