- 课程目录
- 课程介绍
-
开篇词 | 为什么写测试是程序员的本职工作?
程序员写测试就是为了编写高质量的代码,让我们一起写好测试,编写出高质量代码!
-
01 | 实战:实现一个 ToDo 的应用(上)
我在开篇词里说过,很多程序员之所以不写测试,一个重要的原因是不会写测试。所以,我们不玩虚的,第一节课直接带你上手实战。
-
02 | 实战:实现一个 ToDo 的应用(下)
这一讲,我们继续实现这个 ToDo 应用,把欠缺的部分都补上。
-
03 | 程序员的测试与测试人员的测试有什么不同?
有了实践的根基后,我们还需要对如何编写测试有一个更全面地理解,以便日后能够更好地应对各种场景。
-
04 | 自动化测试:为什么程序员做测试其实是有优势的?
其实,程序员的主要工作就是打造各种自动化工具,无论是为了业务的支撑,或者是对于开发过程本身的支持。
-
05 | 一个好的自动化测试长什么样?
之所以测试会出现这样那样的问题,一个重要的原因是这些测试不够好。
-
06 | 测试不好做,为什么会和设计有关系?
不好测实际上是一个结果。那造成这个结果的原因是什么呢?答案就是我们今天要讨论的话题:软件设计。
-
07 | Mock 框架:怎么让测试变得可控?
不依赖于细节,那我们的测试总需要有一个实现出现在所需组件的位置上吧?或许你已经想到答案了,没错,这就是我们这一讲要讲的 Mock 框架。
-
08 | 单元测试应该怎么写?
只有通过单元测试保证了每个组件的正确性,我们才拥有了构建系统的一块块稳定的基石。
-
09 | 测试覆盖率:如何找出没有测试到的代码?
如何尽可能消除预期之外的行为,让代码尽在掌控之中呢?这一讲,我们就来讲讲如何查缺补漏,找到那些测试没有覆盖到的代码。
-
10 | 为什么 100% 的测试覆盖率是可以做到的?
这一讲我们就来说说怎样向着 100%的测试覆盖率迈进。
-
11 | 集成测试:单元测试可以解决所有问题吗?
各个单元能够很好地协同,我们也不能靠预期,而是要靠集成测试。这一讲,我们就来讨论一下集成测试。
-
12 | 实战:将 ToDo 应用扩展为一个 REST 服务
这一讲,我们就把前面已经写好的 ToDo 应用扩展一下,让它变成一个 REST 服务。
-
13 | 在 Spring 项目中如何进行单元测试?
在接下来的两讲,我们就把注意力从一个具体的项目上挪开,放到 Spring 框架本身,看看它对开发效率提升的支持。
-
14 | 在 Spring 项目如何进行集成测试?
正如前面所说,Spring 要尽可能让你在不依赖于容器的情况下进行测试。Spring 的做法就是提供一套自己的方案,替代掉对于容器的依赖。 这一讲,我们就来看看采用 Spring 的项目如何做集成测试。
-
15 | 测试应该怎么配比?
有一些内容用单元测试覆盖可以,用集成测试覆盖也可以,如果只写单元测试总有些不放心,如果同时用单元测试和集成测试去覆盖,工作量似乎又会增大,不同的测试应该怎样配比呢?这就是我们这一讲要讨论的内容。
-
16 | 怎么在遗留系统上写测试?
即便是新写出来的系统,因为没有测试,它就是遗留系统。由此可见测试同遗留系统之间关系之密切。想要让一个遗留系统转变成为一个正常的系统,关键点就是写测试。
-
17 | TDD 就是先写测试后写代码吗?
在最后的扩展篇,我将给你介绍 TDD 和 BDD 两项实践。在你学有余力的情况下,可以挑战一下,让自己再向前走一步。这一讲,我们先来说说 TDD,也就是测试驱动开发(Test Drvien Development)。
-
在线阅读:18 | BDD 是什么东西?
当 JUnit 带来的自动化测试框架风潮迅速席卷了整个开发者社区,成了行业的事实标准,就开始有人基于测试框架的模型进行延伸了。各种探索中,最有影响力的就是 BDD。
-
答疑解惑 | 那些东西怎么测?
有不少同学在专栏的问了一些非常典型的问题,引发了我的一些思考。所以,我准备了这期加餐,把我的这些延伸思考分享给你。
-
结束语 | 对代码的信心要从测试里来
如果整个专栏你只能记住一件事,那请记住:写代码时问问自己,这段代码应该怎么测。
课程介绍
你将获得 实战导向,深入剖析测试本质 一套实用的自动化测试使用手册 从测试角度理解代码质量 高频测试问题及解决方案 讲师介绍 课程介绍...你将获得
- 实战导向,深入剖析测试本质
- 一套实用的自动化测试使用手册
- 从测试角度理解代码质量
- 高频测试问题及解决方案
讲师介绍
课程介绍
保证代码的正确性,是每个程序员口中的目标,但是否真的落实到了程序员的行动上,我们得打一个问号。
程序员圈子流传着一个关于测试的段子:“每个程序员在修改代码时都希望有测试,而在写代码时,都不想写测试。”很多团队并没有对编写测试有硬性的要求。为什么团队不要求?一个很可悲的答案是,大多数程序员不会写测试。对于不会做的事情,人们自然的反应就是少做或者不做。
对于今天的程序员来说,写测试就是程序员本职工作的一部分,但测试并不是光知道 xUnit 框架就能够很好完成的。基于此,郑晔老师将带你从实战入手,深入剖析测试的本质,解除你对测试的误解,帮你把“一个程序员在日常工作中如何编写自动化测试”的相关知识梳理一遍。更进一步,为你展现高频测试问题并提供解决方案,助你编写出高质量代码。
课程模块设计
课程主体划分为以下3大模块。
- 基础篇:从实战出发,为你讲解关于测试的基础知识。在这个实战中你会学习到怎么样用带测试的方式编写一段代码,在一个新项目里如何去做测试。在这个部分你还会学习到“程序员的测试和测试人员的测试有什么不同”“测试不好做,为什么会和设计有关系”等测试痛点问题。
- 应用篇:同样以实战开始,为你介绍在一个后端项目中可以怎样做测试。对后端项目来说,Spring 框架有两大优势,一方面,它的使用非常广泛;另一方面,它对测试提供了非常好的支持。所以在这个部分主要讲解使用 Spring 框架如何做测试。
- 扩展篇:为你介绍 TDD 和 BDD 两项开发实践,拉近这两项实践和你的距离。很多人之所以不用这两种实践,思维习惯是一方面,还有一方面就是欠缺测试的基础。当你掌握了基础篇和应用篇的内容后,再来看这些实践,你会有认知上的更新。
课程目录


