这里的观点非常值得探讨, 所有的产品代码就像是一项投资, 有些代码的价值大, 因此需要写更多的单元测试来提高测试覆盖率. 另外有些代码的单元测试编写非常困难, 下面的一些因素可以用来帮助我们理解每个单元测试的价值:
1.代码被用的次数和它的价值成正比.
2.被依赖程度决定测试价值. 如果其他代码严重依赖被测试代码, 那么对应的测试价值大, 如果被测试代码严重依赖其他代码, 那么这个代码将难以测试. 而且不易于发现问题.
3.对I/O(网络, DB, 文件)依赖的代码难以测试, 需要使用mock技术, 而mock代码工作量大, 维护成本高
4.多线程代码更难以测试.
5.代码越复杂越需要测试.
6.被更多人所熟识的代码, 测试更容易. 因为问题将会被更快的发现和处理.
单元测试另外一个关注点就是维护问题, 这时应该将我们的每个单元测试看成一支股票, 有些股票会不断增值, 需要长期持有. 单元测试也是这样. 每个单元测试都有一个初始价格(上市价格). 如果通过单元测试发现代码改动产生了一个bug或者测试跑出了一个bug, 那么这个测试的价值将增加. 而从来没有帮助我们发现bug的测试价值则下降. 随着业务的发展, 需要对代码和测试进行重构, 这种情况下单元测试的价格不变.
但对单元测试的各项值的计算属于机器学习的范畴, 这里不做讨论.
参考原文:
http://www.javacodegeeks.com/2012/01/effective-unit-testing-not-all-code-is.html
分享到:
相关推荐
Effective.Unit.Testing(2013.2).pdf 挺好的一本介绍UT的书
This text teaches you how to build a fully automated testing tool that you can immediately use for your software development projects, and provides expert guidance on deploying it in ways that let you...
介绍编写清晰、正确、高效lambda表达式代码的技巧;辨析std∷atomic和volatile之间的差异,它们各自该如何使用,还有它们与C++并行计算API之间的关联;如何修改老C++编程(比如C++98)中的实践,使之符合现代C++的...
software test automation effective use of test execution 自动化测试
You can use this tool to generate test scripts for continuous unit testing, integration testing, and regression testing. Software defects are common and cause economic losses from time to time. ...
28第2章 JS优化 34Effective前端5:减少前端代码耦合 34Effective前端6:JS书写优化 47第3章 页面优化 59Effective前端7:避免页面卡顿 59Effective前端8:加快页面打开速度 67Effective前端9:增强用户体验 85...
Effective SQL:编写高质量SQL语句的61个有效方法 AW.Effective.SQL.61.Specific.Ways.to.Write.Better.SQL.
Effective AWK Programming:Awk 编程的经典著作
Effective C++:改善程序与设计的55个具体做法(中文第三版)亚马逊图书 放到Kindle上就可以浏览学习,因为亚马逊软件有防护功能,电脑上无法使用,切记!!!!
@Test public void overallFileStructureIsCorrect() throws Exception { StringBuilder expected = new StringBuilder(); appendTo(expected, "session-id###SID"); appendTo(expected, "presentation-id###PID"); ...
effective-java 配套代码
Developing an Automated GUI Testing Tool
ACM Press English version.
代码优化:有效使用内存 Code Optimization: Effective Memory Usage pdf 英文版 清晰,该书中文版翻译质量很差,建议直接读英文版
Effective TypeScript: Writing Typed JavaScript that Scales 预发布版 Author: Dan Vanderkam Publisher: by O’Reilly Media Edition: January 2020 Type: epub, azw3, pdf
Effective JavaScript is organized around 68 proven approaches for writing better JavaScript, backed by concrete examples. You’ll learn how to choose the right programming style for each project, ...
本书组织方式比较特别,正文部分包括4 章,将网络编程中存在的常见问题组织成44 个技巧,探讨问题的过程中构建并运行了多个程序,并且指出了代码的源地址,便于读者查看。全书以技巧的形式解答了日常工作中遇到的...
《Effective C#:改善C#代码的50个有效方法》在本书中,世界知名的.NET专家Bill Wagner先生给出了50条建议,告诉你怎样充分利用C# 6.0所具备的特性来编写健壮而高效的代码。这些建议反映了C#开发界的新进展,也令...
C++: Effective Modern C++ (C++ 11, C++ 14) (guide,C Programming, HTML, Javascript, Programming,all,internet, Coding, CSS, Java, PHP Vol 1) By 作者: Paul Laurence ISBN-10 书号: 1547133244 ISBN-13 书号:...
Effective-Java:Effective Java的所有练习程序