展开全部

主编推荐语

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

内容简介

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

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

目录

  • 版权信息
  • 内容简介
  • 推荐语
  • 前言
  • 第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
  • 参考文献
展开全部

评分及书评

评分不足
2个评分
  • 用户头像
    给这本书评了
    1.0

    本书绝大多数篇幅讲的都是相关测试工具的使用,因为个人对这些领域不是太熟悉,所以无法判断这些工具的热门程度。读了这本书之后,小白形成不了对软件测试这一项技能的基础认识,已经在相关领域的人也不会加深对测试的理解。因此个人认为本书不适合任何人阅读。

      转发
      评论

    出版方

    电子工业出版社

    电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。