【Java】电子书 - Java测试驱动开发

该帖子部分内容已隐藏
付费阅读
金币 3
此内容为付费阅读,请付费后查看

书籍目录

封面

作者简介

扉页

版权页

版权声明

前言

目录

第1章 为何要关心测试驱动开发

1.1 为何要使用TDD

1.1.1 理解TDD

1.1.2 红灯绿灯重构

1.1.3 速度是关键

1.1.4 TDD并非测试方法

1.2 测试

1.2.1 黑盒测试

1.2.2 白盒测试

1.2.3 质量检查和质量保证的差别

1.2.4 更好的测试

1.3 模拟

1.4 可执行的文档

1.5 无需调试

1.6 小结

第2章 工具、框架和环境

2.1 Git

2.2 虚拟机

2.2.1 Vagrant

2.2.2 Docker

2.3 构建工具

2.4 集成开发环境

IDEA演示项目

2.5 单元测试框架

2.5.1 JUnit

2.5.2 TestNG

2.6 Hamcrest和AssertJ

2.6.1 Hamcrest

2.6.2 AssertJ

2.7 代码覆盖率工具

JaCoCo

2.8 模拟框架

2.8.1 Mockito

2.8.2 EasyMock

2.8.3 PowerMock

2.9 用户界面测试

2.9.1 Web测试框架

2.9.2 Selenium

2.9.3 Selenide

2.10 行为驱动开发

2.10.1 JBehave

2.10.2 Cucumber

2.11 小结

第3章 红灯-绿灯-重构——从失败到成功再到完美

3.1 使用Gradle和JUnit搭建环境

在IntelliJ IDEA中创建Gradle/Java项目

3.2 “红灯-绿灯-重构”过程

3.2.1 编写一个测试

3.2.2 运行所有测试并确认最后一个未通过

3.2.3 编写实现代码

3.2.4 运行所有测试

3.2.5 重构

3.2.6 重复

3.3 “井字游戏”的需求

3.4 开发“井字游戏”

3.4.1 需求1

3.4.2 需求2

3.4.3 需求3

3.4.4 需求4

3.5 代码覆盖率

3.6 更多练习

3.7 小结

第4章 单元测试——专注于当下而非过往

4.1 单元测试

4.1.1 何为单元测试

4.1.2 为何要进行单元测试

4.1.3 代码重构

4.1.4 为何不只使用单元测试

4.2 TDD中的单元测试

4.3 TestNG

4.3.1 注解@Test

4.3.2 注解@BeforeSuite、@BeforeTest、@BeforeGroups、@AfterGroups、@AfterTest和@AfterSuite

4.3.3 注解@BeforeClass和@AfterClass

4.3.4 注解@BeforeMethod和@AfterMethod

4.3.5 注解参数@Test(enable = false)

4.3.6 注解参数@Test(expectedExceptions = SomeClass.class)

4.3.7 TestNG和JUnit差别小结

4.4 “遥控军舰”的需求

4.5 开发“遥控军舰”

4.5.1 创建项目

4.5.2 辅助类

4.5.3 需求1

4.5.4 需求2

4.5.5 需求3

4.5.6 需求4

4.5.7 需求5

4.5.8 需求6

4.6 小结

第5章 设计——难以测试说明设计不佳

5.1 为何要关心设计

设计原则

5.2 Connect4

需求

5.3 完成Connect4实现后再测试

5.3.1 需求1

5.3.2 需求2

5.3.3 需求3

5.3.4 需求4

5.3.5 需求5

5.3.6 需求6

5.3.7 需求7

5.3.8 需求8

5.4 使用TDD实现Connect4

5.4.1 Hamcrest

5.4.2 需求1

5.4.3 需求2

5.4.4 需求3

5.4.5 需求4

5.4.6 需求5

5.4.7 需求6

5.4.8 需求7

5.4.9 需求8

5.5 小结

第6章 模拟——消除外部依赖

6.1 模拟

6.1.1 为何使用模拟对象

6.1.2 术语

6.1.3 模拟对象

6.2 Mockito

6.3 “井字游戏”第二版的需求

6.4 开发“井字游戏”第二版

6.4.1 需求1

6.4.2 需求2

6.5 集成测试

6.5.1 分离测试

6.5.2 集成测试

6.6 小结

第7章 BDD——与整个团队协作

7.1 不同规范

7.1.1 文档

7.1.2 供程序员使用的文档

7.1.3 供非程序员使用的文档

7.2 行为驱动开发

7.2.1 叙述

7.2.2 场景

7.3 书店应用程序的BDD故事

7.4 JBehave

7.4.1 JBehave运行器

7.4.2 待定步骤

7.4.3 Selenium和Selenide

7.4.4 JBehave步骤

7.4.5 最后的验证

7.5 小结

第8章 重构遗留代码——使其重焕青春

8.1 遗留代码

遗留代码示例

8.2 编码套路

8.2.1 遗留代码处理套路

8.2.2 描述

8.2.3 技术说明

8.2.4 添加新功能

8.2.5 黑盒测试还是尖峰冲击测试

8.2.6 初步调查

8.2.7 应用遗留代码修改算法

8.2.8 提取并重写调用

8.2.9 消除状态的“基本类型偏执”坏味

8.3 小结

第9章 功能开关——将未完成的功能部署到生成环境

9.1 持续集成、持续交付和持续部署

9.2 功能开关

9.3 功能开关示例

9.3.1 实现fibonacci服务

9.3.2 使用模版引擎

9.4 小结

第10章 综述

10.1 TDD概要

10.2 最佳实践

10.2.1 命名约定

10.2.2 流程

10.2.3 开发实践

10.2.4 工具

10.3 这只是开始

10.4 这并非终点

连接图灵

看完了

下载地址

请登录后发表评论

    没有回复内容