编写单元测试的10条理由

简介:

Anna写了一篇10 reasons to write unit tests的文章,原文已经打不开,不过其观点还是非常不错的。本文摘录如下:
  1. 不要让客户发现难堪的bug。在bug进入产品生产环节前编写足够的测试场景来捕获它们。
  2. 对于复杂的场景,快速测试它,不必在程序中手动地重现去它们。
  3. 经常测试,在你离开的时候程序便不会出错。你不可能总能了解你所编写代码的各种可能情况,尤其最初的程序并不一定是由你编写的。
  4. 尽早测试,就不需要编写一些不必要的代码,而可只关注关键部分。这可以使得代码库精简且易于维护。同样可以节约开发时间。
  5. 同一代码不必两番调试。一旦你测试发现可能的bug后,你便可以快速地修正它。
  6. 可以确保可读性。单元测试可使代码的意图易于理解。
  7. 确保可维护性。进行单元测试可迫使你更好地实现封装功能,从而使代码易于维护而且方便增加新功能。
  8. 重构时无需担心。运行测试可确保一切功能如预期实现。
  9. 节省测试时间。你可以将整个CPU用来执行单元测试。
  10. 更安全。对于增加一个新功能或者修改部分程序内核后你是否经常会感到担心呢?(进行单元测试后)这一切不再了。
  11. 中奖:确切知道哪里出问题了。取代盲目的发现bug,测试可以告诉你问题及原因所在。举例:程序会告诉你什么时候cart中增加了一个条目而cart显示仍然是空的。它也会告诉你某个试图增加的条目失败了。
  你是怎么看的呢?欢迎发表评论。

最新内容请见作者的GitHub页:http://qaseven.github.io/

相关文章
|
前端开发 测试技术
如何使用 Vitest 在前端项目中做单元测试 TDD
如何使用 Vitest 在前端项目中做单元测试 TDD
如何使用 Vitest 在前端项目中做单元测试 TDD
|
存储 JSON Java
Java编程技巧之单元测试用例简化方法
清代谴责小说家吴趼人在《痛史》中写道:“卷帙浩繁,望而生畏。” 意思是:“一部书的篇幅太长,让人看见就害怕。”编写单元测试用例也是如此,如果单元测试用例写起来又长又复杂,自然而然地会让人“望而生畏”,于是开始反感甚至于最终放弃。为了便于Java单元测试的推广,作者总结了十余种测试用例的简化方法,希望能够让大家编写单元测试用例时——“化繁为简、下笔如神”。
38564 3
Java编程技巧之单元测试用例简化方法
|
Java 测试技术 Maven
5个编写技巧,有效提高单元测试实践
结合单测的实践,本文总结了几点单元测试的好处与编写技巧,希望分享给大家。
26281 50
5个编写技巧,有效提高单元测试实践
|
网络协议 测试技术 Go
单元测试细节说明 | 学习笔记
快速学习单元测试细节说明
78 1
|
测试技术
软件测试面试题: 单元测试和集成测试的区别?
软件测试面试题: 单元测试和集成测试的区别?
95 0
|
JavaScript Java 测试技术
为什么要写单元测试?如何写单元测试?
为什么要写单元测试?如何写单元测试?
为什么要写单元测试?如何写单元测试?
|
敏捷开发 人工智能 达摩院
如何写出有效的单元测试
一个单元测试是一段自动化的代码,这段代码调用被测试的工作单元,之后对这个单元的单个最终结果的某些假设进行校验。单元测试几乎都是用单元测试框架编写的;只要产品代码不发生变化,单元测试的结果是稳定的。那么如何写出有效的单元测试呢?
如何写出有效的单元测试
|
SQL JSON Java
谈一谈单元测试
写在前面对于我们开发人员来说,单元测试一定不会陌生,但在各种原因下会被忽视,尤其是在我接触到的项目中,提测阶段发现各种各样的问题,我觉得有必要聊一下单元测试。对于单元测试到底有没有存在的必要,这里不是我想要说的重点。有兴趣的可以去了解一下:【单元测试和TDD】【单元测试到底是什么】为了写而写的单元测试没什么价值,但一个好的单元测试带来的收益是非常客观的。问题是怎么去写好单元测试?怎么去驱动写好单元
607 0
谈一谈单元测试
|
JSON Java 中间件
Java编程技巧之单元测试用例编写流程
前言清代杰出思想家章学诚有一句名言:“学必求其心得,业必贵其专精。”意思是:学习上一定要追求心得体会,事业上一定要贵以专注精深。做技术就是这样,一件事如果做到了极致,就必然会有所心得体会。作者最近在一个项目上,追求单元测试覆盖率到极致(行覆盖率96.11%,分支覆盖率93.35%),所以才有了这篇心得体会。上一篇文章《Java单元测试技巧之PowerMock》除了介绍单元测试基础知识外,主要介绍了
2615 1
Java编程技巧之单元测试用例编写流程