软件单元测试

软件单元测试

我想读
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

类似推荐

编辑推荐

本书对软件单元测试进行了详细介绍。

内容简介

全书共8章。第1章与第2章介绍软件单元测试的概念和基础知识;第3章到第5章介绍C语言、Java语言和Python语言的单元测试框架和技巧;第6章与第7章介绍代码覆盖率工具和代码语法规范检查工具;第8章通过两个案例详细介绍TDD。另外,为了巩固大家的学习效果,每一章结尾都有相应的习题。

本书适合软件开发工程师、测试工程师、项目经理和大学计算机专业本科高年级学生与研究生阅读。

作者简介

作者顾翔,毕业于北京工业大学,毕业后即从事软件开发,2002年开始从事软件测试工作,曾经在各大知名的互联网公司、嵌入式软件公司、通信公司和网络管理软件公司等担任软件测试工程师、软件测试经理等职务,积累了丰富的软件测试知识和实践经验。

现专职从事软件开发与测试、大数据及云计算相关的培训工作,是中关村智联软件服务业质量创新联盟成员,被北京软件和信息服务业协会、北京课通天下、上海宇谷培训公司、上海知言网络科技有限公司和中睿信息技术有限公司聘为高级资深讲师。

章节目录

版权信息

内容简介

推荐语

前言

第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 动态自动化单元测试

2.1.1 被测程序

2.1.2 语句覆盖

2.1.3 分支覆盖

2.1.4 条件覆盖

2.1.5 条件/分支覆盖

2.1.6 MC/DC

2.1.7 路径覆盖

2.1.8 几种覆盖率的强弱关系

2.1.9 控制流覆盖

2.2 静态自动化单元测试:代码扫描

2.3 手工单元测试:代码调试

2.4 手工单元测试:代码评审

2.5 单元测试中的问题

2.5.1 功能层面的问题

2.5.2 性能层面的问题

2.5.3 安全层面的问题

2.6 习题

第3章 C语言动态自动化单元测试框架

3.1 在Windows下安装C语言运行环境

3.1.1 安装配置MinGW

3.1.2 安装配置MSYS2

3.1.3 安装配置IDE

3.2 安装编译CUnit

3.2.1 在Windows下安装CUnit

3.2.2 在Linux下安装CUnit

3.2.3 创建被测文件和测试文件

3.2.4 在Windows下运行测试文件

3.2.5 在Linux下运行测试文件

3.2.6 运行结果

3.3 查看测试报告

3.4 CUnit介绍

3.4.1 CUnit的四种运行模式

3.4.2 CUnit头文件

3.4.3 CUnit支持的断言

3.4.4 CUnit架构

3.4.5 CUnit的基本测试步骤

3.5 案例

3.5.1 指针操作

3.5.2 返回结构体

3.5.3 文件的读写操作

3.6 习题

第4章 Java语言动态自动化单元测试框架

4.1 在Eclipse中创建Maven项目

4.2 在Eclipse中配置JUnit和TestNG运行环境

4.2.1 配置JUnit运行环境

4.2.2 配置TestNG运行环境

4.3 JUnit 4

4.3.1 JUnit 4的测试代码

4.3.2 与JUnit 4相关的API

4.3.3 JUnit 4的装饰器

4.3.4 JUnit 4的断言

4.3.5 超时测试

4.3.6 JUnit 4参数化测试

4.3.7 测试异常

4.3.8 批量运行

4.3.9 利用Ant运行

4.3.10 利用Maven运行

4.3.11 配合Allure生成漂亮的JUnit 4测试报告

4.4 JUnit 5

4.4.1 JUnit 5的测试代码

4.4.2 与JUnit 5相关的API

4.4.3 JUnit 5的装饰器

4.4.4 JUnit 5的断言

4.4.5 JUnit 5的依赖注入

4.4.6 传递自定义参数

4.4.7 JUnit 5参数化测试

4.4.8 内嵌测试类

4.4.9 重复测试

4.4.10 动态测试

4.4.11 分组断言assertAll

4.4.12 批量测试

4.4.13 利用Maven运行

4.4.14 配合Allure生成漂亮的JUnit 5测试报告

4.5 TestNG

4.5.1 TestNG的使用和运行

4.5.2 testng.xml文件与Suite测试

4.5.3 与TestNG相关的API

4.5.4 TestNG的装饰器

4.5.5 TestNG的断言

4.5.6 异常测试

4.5.7 忽略测试

4.5.8 超时测试

4.5.9 分组测试

4.5.10 依赖测试

4.5.11 TestNG参数化测试

4.5.12 TestNG报告

4.5.13 利用Maven运行

4.5.14 配合Allure生成漂亮的TestNG测试报告

4.6 测试替身

4.6.1 桩对象

4.6.2 伪造对象

4.6.3 间谍对象

4.6.4 模拟对象

4.7 利用EvoSuite自动生成测试用例

4.7.1 在Eclipse中运行

4.7.2 在命令行中运行

4.8 变异测试

4.8.1 变异测试引出

4.8.2 变异测试简介

4.8.3 PITest在Eclipse中的安装和使用

4.8.4 PITest测试报告

4.8.5 修改测试数据

4.9 在Jenkins中配置JUnit 4、JUnit 5、TestNG和Allure

4.9.1 Jenkins安装和基本配置

4.9.2 JUnit在Jenkins中的配置

4.9.3 TestNG在Jenkins中的配置

4.9.4 Allure JUnit在Jenkins中的配置

4.10 习题

第5章 Python语言动态自动化单元测试框架

5.1 unittest

5.1.1 计算器案例

5.1.2 unittest的装饰器

5.1.3 unittest的断言

5.1.4 通过parameterized.expand实现参数化

5.1.5 测试异常

5.1.6 批量运行生成报告

5.2 Pytest

5.2.1 Pytest安装

5.2.2 案例

5.2.3 Pytest的装饰器

5.2.4 Pytest常用命令行选项

5.2.5 Pytest实现并发测试

5.2.6 Pytest特有的参数化功能

5.2.7 配合Allure生成漂亮的Pytest测试报告

5.2.8 在Jenkins中配置Allure Pytest

5.3 Python的模拟对象

5.3.1 产品代码

5.3.2 通过unittest使用模拟对象

5.3.3 通过Pytest使用模拟对象

5.4 变异测试工具mutpy

5.4.1 mutpy的安装

5.4.2 mutpy的使用

5.5 习题

第6章 代码覆盖率工具

6.1 C语言覆盖率工具gcov和lcov

6.1.1 lcov与gcov的安装和运行

6.1.2 lcov报告

6.1.3 lcov在Jenkins中的应用

6.2 Java语言覆盖率工具JaCoCo

6.2.1 JaCoCo在Eclipse中的应用

6.2.2 JaCoCo在Maven中的应用

6.2.3 JaCoCo在Jenkins中的应用

6.3 Python语言覆盖率工具Coverage和pytest-cov

6.3.1 Coverage

6.3.2 pytest-cov

6.3.3 Python语言覆盖率工具在Jenkins中的应用

6.4 习题

第7章 代码语法规范检查工具

7.1 Java语言静态分析工具PMD

7.1.1 PMD在Eclipse中的配置

7.1.2 PMD在Maven中的配置

7.1.3 PMD在Jenkins中的配置

7.2 Python语言静态分析工具flake8和pylint

7.2.1 flake8

7.2.2 pylint

7.2.3 flake8和pylint在Jenkins中的应用

7.3 多代码语法规范检查平台SonarQube

7.3.1 安装JDK

7.3.2 SonarQube支持的数据库

7.3.3 SonarQube

7.3.4 安装sonar-scanner

7.3.5 SonarQube的配置及应用

7.3.6 SonarQube在Jenkins中的配置

7.4 习题

第8章 TDD案例

8.1 斐波那契数列

8.1.1 初始化

8.1.2 第一次需求变更

8.1.3 第二次需求变更

8.1.4 第三次需求变更

8.1.5 第四次需求变更

8.2 完善计算器产品代码

8.3 利用Jenkins分析TDD代码

8.4 习题

附录A 在写作过程中发现开源软件中的Bug

参考文献

软件单元测试是2023年由电子工业出版社出版,作者顾翔。

得书感谢您对《软件单元测试》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

你可能喜欢