有效的单元测试-读书笔记 1

问题:
1. 什么是有效的单元测试?
2. 如何做到有效的单元测试?
        提高对测试代码的可读性、可依赖性、可靠性的意识和感觉,并确保持续使用这种方式工作,以确保可维护性
    2.1 什么是测试替身?感觉是一个比较重要的单元测试手段,但却从未听闻
3. 有效的单元测试会达到什么效果或者良性循环?

1. 从整体来看测试先行所带来的价值。
2. 讨论程序员生产力的动力学。
3. 各种对测试和测试质量的影响。
4. 简单地介绍两种与自动化测试紧密相关的方法:测试驱动开发( Test-Driven Development, TDD)和行为驱动开发( Behavior-Driven Development, BDD)。

第一部分
单元测试的集合是自动化测试,自动化测试改善了你的生产力,使你获得并保持开发速度
1. 测试可以帮助我们捕获错误。提前暴露的错误,可以减少修复这个错误的成本
2. 测试帮助我们针对实际使用来塑造设计
3. 测试可以帮助我们避免镀金

100%测试覆盖率不是目标,与其追求代码覆盖率,不如将重点关注在确保写出有意义的测试。

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

双稳态定律:测试不仅仅是质量保证的工具,还是一种设计工具(TDD)

缺乏可读性:会导致调试时间的增加与引入更多的BUG,这就导致开发生产力的下降

缺乏可依赖性、可靠性:会导致测试结果的准确度,会间接导致引入更多的BUG

测试驱动开发的过程,先编写失败的测试,再编写代码通过测试,最后重构代码来改进设计

TDD基于一个简单的想法,在编写出能够证明代码存在的失败测试之前,不写代码(对于新增的功能所编写的第一个测试,是肯定失败的,因为这时还没有任何相关代码)

仅仅编写足以测试通过的代码,可以消除开发生产力停滞的主要因素之一的偶发复杂性,偶发复杂性是不必要的复杂性

TDD衍化为BDD

你可能感兴趣的:(有效的单元测试-读书笔记 1)