课程简介
很多人觉得单测反正也不是系统中的代码,运行的快慢无所谓,然后写出很多其慢无比的单测,以至于系统全量跑一次单测要几十分钟,这样的话就完全偏离了单测的定位。实际上单测的目的就是为了方便快速迭代,改了两行代码就可以在本地用 30 秒到几分钟的时间全量跑一次单测来确定影响范围,而不是每次都要通读系统源码才能知道改动的影响范围。为了在各个级别上推动测试的成功,并使单元测试过程具有可扩展性和可持续性,需要将测试与应用程序代码紧密结合。测试和应用程序代码甚至应该在代码审查过程中一起审查。评论有助于您理解所编写的代码(因为他们可以看到预期的行为)并可以改善测试!
课程收益
1. 全面学习了解单元测试的目的和本质;
2. 掌握单元测试模式和工具;
3. 掌握测试优先和测试驱动开发。
受众人群
软件研发管理者、架构师,软件设计师、程序员
课程时长
2天(12H)
课程大纲
主题 | 授课内容 |
单元测试的目标和本质 | 内容一:从端到端角度看单元测试 1.单元测试到底要解决的是什么问题 2.单元测试的基本价值观 3.第一个单元测试演示 4.理解单元测试中的核心概念 |
单元测试工具 | 内容二:熟练运用单元测试工具和基本模式 1.单元测试框架 2.四阶段测试模式 3.数据驱动的测试 4.练习:为既有代码编写单元测试 内容三:单元测试中的依赖和Mock工具 1.依赖对单元测试的影响 2.测试替身的类型 3.Stub和Mock工具 4.设计接缝和依赖注入 5.接口设计和重构 6.练习:使用Mock框架隔离和控制依赖 |
单元测试模式 | 内容四:好的(和不好的)单元测试 1.单元测试的坏味道 2.好的单元测试的设计和编写原则 3.单元测试模式 4.单元测试的重构 5.练习:单元测试代码的重构 |
为遗留代码编写测试 | 内容五:和遗留代码相关的单元测试问题 1.为什么遗留代码的测试那么难? 2.遗留代码的测试策略和技术 3.练习:为遗留代码编写测试 |
测试优先和测试驱动开发 | 内容六:测试优先 1.测试优先的可行性和必要性 2.试优先和传统测试策略的比较 内容七:测试驱动开发 1.测试驱动开发案例演示 2.测试驱动开发的方法 3.练习:使用测试驱动开发方法编写代码 |
组织级的单元测试关注 | 内容八:如何在组织级成功导入单元测试实践 1.单元测试的组织和管理 2.单元测试和持续集成 3.组织级导入单元测试的常见问题和应对方案 |