封面
版权信息
内容简介
推荐语
序
前言
第1章 软件单元测试简介
1.1 桩对象和测试驱动函数
1.2 测试驱动开发
1.3 软件测试应该贯彻始终
1.4 软件测试金字塔
1.5 单元测试在传统开发模式中的地位
1.6 单元测试在敏捷开发模式中的地位
1.7 精准测试
1.8 单元测试和白盒测试
1.9 单元测试的FIRST原则和AIR原则
1.10 习题
第2章 软件单元测试基础知识
2.1 动态自动化单元测试
- APP免费
2.1.1 被测程序
- APP免费
2.1.2 语句覆盖
- APP免费
2.1.3 分支覆盖
- APP免费
2.1.4 条件覆盖
- APP免费
2.1.5 条件/分支覆盖
- APP免费
2.1.6 MC/DC
- APP免费
2.1.7 路径覆盖
- APP免费
2.1.8 几种覆盖率的强弱关系
- APP免费
2.1.9 控制流覆盖
- APP免费
2.2 静态自动化单元测试:代码扫描
- APP免费
2.3 手工单元测试:代码调试
- APP免费
2.4 手工单元测试:代码评审
- APP免费
2.5 单元测试中的问题
- APP免费
2.5.1 功能层面的问题
- APP免费
2.5.2 性能层面的问题
- APP免费
2.5.3 安全层面的问题
- APP免费
2.6 习题
- APP免费
第3章 C语言动态自动化单元测试框架
- APP免费
3.1 在Windows下安装C语言运行环境
- APP免费
3.1.1 安装配置MinGW
- APP免费
3.1.2 安装配置MSYS2
- APP免费
3.1.3 安装配置IDE
- APP免费
3.2 安装编译CUnit
- APP免费
3.2.1 在Windows下安装CUnit
- APP免费
3.2.2 在Linux下安装CUnit
- APP免费
3.2.3 创建被测文件和测试文件
- APP免费
3.2.4 在Windows下运行测试文件
- APP免费
3.2.5 在Linux下运行测试文件
- APP免费
3.2.6 运行结果
- APP免费
3.3 查看测试报告
- APP免费
3.4 CUnit介绍
- APP免费
3.4.1 CUnit的四种运行模式
- APP免费
3.4.2 CUnit头文件
- APP免费
3.4.3 CUnit支持的断言
- APP免费
3.4.4 CUnit架构
- APP免费
3.4.5 CUnit的基本测试步骤
- APP免费
3.5 案例
- APP免费
3.5.1 指针操作
- APP免费
3.5.2 返回结构体
- APP免费
3.5.3 文件的读写操作
- APP免费
3.6 习题
- APP免费
第4章 Java语言动态自动化单元测试框架
- APP免费
4.1 在Eclipse中创建Maven项目
- APP免费
4.2 在Eclipse中配置JUnit和TestNG运行环境
- APP免费
4.2.1 配置JUnit运行环境
- APP免费
4.2.2 配置TestNG运行环境
- APP免费
4.3 JUnit 4
- APP免费
4.3.1 JUnit 4的测试代码
- APP免费
4.3.2 与JUnit 4相关的API
- APP免费
4.3.3 JUnit 4的装饰器
- APP免费
4.3.4 JUnit 4的断言
- APP免费
4.3.5 超时测试
- APP免费
4.3.6 JUnit 4参数化测试
- APP免费
4.3.7 测试异常
- APP免费
4.3.8 批量运行
- APP免费
4.3.9 利用Ant运行
- APP免费
4.3.10 利用Maven运行
- APP免费
4.3.11 配合Allure生成漂亮的JUnit 4测试报告
- APP免费
4.4 JUnit 5
- APP免费
4.4.1 JUnit 5的测试代码
- APP免费
4.4.2 与JUnit 5相关的API
- APP免费
4.4.3 JUnit 5的装饰器
- APP免费
4.4.4 JUnit 5的断言
- APP免费
4.4.5 JUnit 5的依赖注入
- APP免费
4.4.6 传递自定义参数
- APP免费
4.4.7 JUnit 5参数化测试
- APP免费
4.4.8 内嵌测试类
- APP免费
4.4.9 重复测试
- APP免费
4.4.10 动态测试
- APP免费
4.4.11 分组断言assertAll
- APP免费
4.4.12 批量测试
- APP免费
4.4.13 利用Maven运行
- APP免费
4.4.14 配合Allure生成漂亮的JUnit 5测试报告
- APP免费
4.5 TestNG
- APP免费
4.5.1 TestNG的使用和运行
- APP免费
4.5.2 testng.xml文件与Suite测试
- APP免费
4.5.3 与TestNG相关的API
- APP免费
4.5.4 TestNG的装饰器
- APP免费
4.5.5 TestNG的断言
- APP免费
4.5.6 异常测试
- APP免费
4.5.7 忽略测试
- APP免费
4.5.8 超时测试
- APP免费
4.5.9 分组测试
- APP免费
4.5.10 依赖测试
- APP免费
4.5.11 TestNG参数化测试
- APP免费
4.5.12 TestNG报告
- APP免费
4.5.13 利用Maven运行
- APP免费
4.5.14 配合Allure生成漂亮的TestNG测试报告
- APP免费
4.6 测试替身
- APP免费
4.6.1 桩对象
- APP免费
4.6.2 伪造对象
- APP免费
4.6.3 间谍对象
- APP免费
4.6.4 模拟对象
- APP免费
4.7 利用EvoSuite自动生成测试用例
- APP免费
4.7.1 在Eclipse中运行
- APP免费
4.7.2 在命令行中运行
- APP免费
4.8 变异测试
- APP免费
4.8.1 变异测试引出
- APP免费
4.8.2 变异测试简介
- APP免费
4.8.3 PITest在Eclipse中的安装和使用
- APP免费
4.8.4 PITest测试报告
- APP免费
4.8.5 修改测试数据
- APP免费
4.9 在Jenkins中配置JUnit 4、JUnit 5、TestNG和Allure
- APP免费
4.9.1 Jenkins安装和基本配置
- APP免费
4.9.2 JUnit在Jenkins中的配置
- APP免费
4.9.3 TestNG在Jenkins中的配置
- APP免费
4.9.4 Allure JUnit在Jenkins中的配置
- APP免费
4.10 习题
- APP免费
第5章 Python语言动态自动化单元测试框架
- APP免费
5.1 unittest
- APP免费
5.1.1 计算器案例
- APP免费
5.1.2 unittest的装饰器
- APP免费
5.1.3 unittest的断言
- APP免费
5.1.4 通过parameterized.expand实现参数化
- APP免费
5.1.5 测试异常
- APP免费
5.1.6 批量运行生成报告
- APP免费
5.2 Pytest
- APP免费
5.2.1 Pytest安装
- APP免费
5.2.2 案例
- APP免费
5.2.3 Pytest的装饰器
- APP免费
5.2.4 Pytest常用命令行选项
- APP免费
5.2.5 Pytest实现并发测试
- APP免费
5.2.6 Pytest特有的参数化功能
- APP免费
5.2.7 配合Allure生成漂亮的Pytest测试报告
- APP免费
5.2.8 在Jenkins中配置Allure Pytest
- APP免费
5.3 Python的模拟对象
- APP免费
5.3.1 产品代码
- APP免费
5.3.2 通过unittest使用模拟对象
- APP免费
5.3.3 通过Pytest使用模拟对象
- APP免费
5.4 变异测试工具mutpy
- APP免费
5.4.1 mutpy的安装
- APP免费
5.4.2 mutpy的使用
- APP免费
5.5 习题
- APP免费
第6章 代码覆盖率工具
- APP免费
6.1 C语言覆盖率工具gcov和lcov
- APP免费
6.1.1 lcov与gcov的安装和运行
- APP免费
6.1.2 lcov报告
- APP免费
6.1.3 lcov在Jenkins中的应用
- APP免费
6.2 Java语言覆盖率工具JaCoCo
- APP免费
6.2.1 JaCoCo在Eclipse中的应用
- APP免费
6.2.2 JaCoCo在Maven中的应用
- APP免费
6.2.3 JaCoCo在Jenkins中的应用
- APP免费
6.3 Python语言覆盖率工具Coverage和pytest-cov
- APP免费
6.3.1 Coverage
- APP免费
6.3.2 pytest-cov
- APP免费
6.3.3 Python语言覆盖率工具在Jenkins中的应用
- APP免费
6.4 习题
- APP免费
第7章 代码语法规范检查工具
- APP免费
7.1 Java语言静态分析工具PMD
- APP免费
7.1.1 PMD在Eclipse中的配置
- APP免费
7.1.2 PMD在Maven中的配置
- APP免费
7.1.3 PMD在Jenkins中的配置
- APP免费
7.2 Python语言静态分析工具flake8和pylint
- APP免费
7.2.1 flake8
- APP免费
7.2.2 pylint
- APP免费
7.2.3 flake8和pylint在Jenkins中的应用
- APP免费
7.3 多代码语法规范检查平台SonarQube
- APP免费
7.3.1 安装JDK
- APP免费
7.3.2 SonarQube支持的数据库
- APP免费
7.3.3 SonarQube
- APP免费
7.3.4 安装sonar-scanner
- APP免费
7.3.5 SonarQube的配置及应用
- APP免费
7.3.6 SonarQube在Jenkins中的配置
- APP免费
7.4 习题
- APP免费
第8章 TDD案例
- APP免费
8.1 斐波那契数列
- APP免费
8.1.1 初始化
- APP免费
8.1.2 第一次需求变更
- APP免费
8.1.3 第二次需求变更
- APP免费
8.1.4 第三次需求变更
- APP免费
8.1.5 第四次需求变更
- APP免费
8.2 完善计算器产品代码
- APP免费
8.3 利用Jenkins分析TDD代码
- APP免费
8.4 习题
- APP免费
附录A 在写作过程中发现开源软件中的Bug
- APP免费
参考文献
- APP免费
关于作者
更新时间:2023-12-13 15:39:25