你将获得什么?
- 实战导向,深入剖析测试本质
- 一套实用的自动化测试使用手册
- 从测试角度理解代码质量
- 高频测试问题及解决方案
课程简介
不知道你有没有过写完一堆代码,却不知道自己写得对不对的困惑。我们要怎么验证自己写的程序是对的?能够用来保证程序正确性的,唯有测试。
保证代码的正确性,是每个程序员口中的目标,但是否真的落实到了程序员的行动上,我们得打一个问号。
程序员圈子流传着一个关于测试的段子:“每个程序员在修改代码时都希望有测试,而在写代码时,都不想写测试。”很多团队并没有对编写测试有硬性的要求。为什么团队不要求?一个很可悲的答案是,大多数程序员不会写测试。对于不会做的事情,人们自然的反应就是少做或者不做。
对于今天的程序员来说,写测试就是程序员本职工作的一部分,但测试并不是光知道 xUnit 框架就能够很好完成的。基于此,郑晔老师将带你从实战入手,深入剖析测试的本质,解除你对测试的误解,帮你把“一个程序员在日常工作中如何编写自动化测试”的相关知识梳理一遍。更进一步,为你展现高频测试问题并提供解决方案,助你编写出高质量代码。
课程模块设计
课程主体划分为以下3大模块。
- 基础篇:从实战出发,为你讲解关于测试的基础知识。在这个实战中你会学习到怎么样用带测试的方式编写一段代码,在一个新项目里如何去做测试。在这个部分你还会学习到“程序员的测试和测试人员的测试有什么不同”“测试不好做,为什么会和设计有关系”等测试痛点问题。
- 应用篇:同样以实战开始,为你介绍在一个后端项目中可以怎样做测试。对后端项目来说,Spring 框架有两大优势,一方面,它的使用非常广泛;另一方面,它对测试提供了非常好的支持。所以在这个部分主要讲解使用 Spring 框架如何做测试。
- 扩展篇:为你介绍 TDD 和 BDD 两项开发实践,拉近这两项实践和你的距离。很多人之所以不用这两种实践,思维习惯是一方面,还有一方面就是欠缺测试的基础。当你掌握了基础篇和应用篇的内容后,再来看这些实践,你会有认知上的更新。
课程目录
开篇词|为什么写测试是程序员的本职工作
基础篇
01实战:实现一个ToDo的应用(上)
02实战:实现一个ToDo的应用(下)
03程序员的测试和测试人员的测试有什么不同?
04自动化测试框架:为什么程序员做测试其实是有优势的?
05一个好的自动化测试长什么样?
06测试不好做,为什么会和设计有关系?
07Mock框架:如果代码难以测试怎么办?
08单元测试应该怎么写?
09测试覆盖率:如何找到没有测试到的代码?
10为什么100%的测试覆盖率是可以做到的?
11集成测试:单元测试可以解决所有问题吗?
应用篇
12实战:将ToDo应用扩展为一个REST服务
13在Spring项目中如何进行单元测试?
14在Spring项目如何进行集成测试?
15测试应该怎么配比?
16怎么在遗留系统上写测试
扩展篇
17TDD就是先写测试后写代码吗?
18BDD是什么东西?
结束语|对代码的信心要从测试里来
讲师介绍
郑晔,网名 dreamhead,极客时间《代码之丑》《10x程序员工作法》《软件设计之美》专栏作者。
郑晔是一位有二十多年研发经验的技术“老兵”,曾担任火币网首席架构师、Thoughtworks 首席咨询师,对自动化测试有深刻理解,热衷于不断提升代码质量和编码效率。