注重体验与质量的电子书资源下载网站
分类于: 云计算&大数据 人工智能
简介
全程软件测试(第3版) 豆 7.7分
资源最后更新于 2020-08-19 16:06:06
作者:朱少民
出版社:人民邮电出版社
出版日期:2019-01
ISBN:9787115496560
文件格式: pdf
简介· · · · · ·
本书系统地总结了过去十年中软件测试发生的变化,浓缩了作者许多宝贵的软件测试经验。本书首先介绍对于软件测试的不同看法,全程软件测试的思想,软件测试的基础设施与TA框架、团队能力建设;然后逐步深入到测试的计划、设计、执行、持续反馈和改进;接着,讨论全程测试的思想,包括全程静态测试、全程性能测试、全程安全性、全程建模、全程可视化。本书最后展望了软件测试的未来。
本书适合软件测试人员阅读,也可作为相关专业人士的参考指南。
目录
第1章 360度看软件测试:一览无余
1.1 软件测试基本认知——正反思维
1.2 从狭义测试到广义测试
1.3 基于质量的认知
1.4 基于风险的认知
1.5 基于社会性的认知
1.6 基于经济的认知
1.7 基于标准的认知
1.8 基于Test Oracle的认知
1.9 基于批判性思维的认知
1.10 基于传统开发模式的认知
1.11 基于敏捷开发模式的认知
1.12 小结
第2章 全程测试:闪光的思想
2.1 测试左移与右移
2.2 测试驱动开发
2.3 传统研发模式的测试环
2.4 敏捷研发中的测试环
2.5 DevOps 与测试
2.6 小结
第3章 准备:基础设施与 TA 框架
3.1 虚拟机与容器技术
3.2 基础设施即代码
3.3 持续集成环境
3.3.1 版本管理与构建
3.3.2 CI 管理工具的安装
3.4 自动化测试框架
3.4.1 自动化测试框架的构成与分类
3.4.2 单元测试框架
3.4.3 UI TA框架
3.4.4 移动应用 TA 框架
3.4.5 面向 API 的 TA 测试框架
3.4.6 验收测试框架
3.5 DevOps 完整工具链
3.6 小结
第4章 准备:个体与团队
4.1 全栈,体现了技术深度
4.2 个人测试能力模型
4.3 软件测试思维训练
4.3.1 软件测试系统性思维
4.3.2 分析性测试思维
4.3.3 批判性测试思维
4.3.4 创造性、发散性测试思维
4.4 软件研发团队测试组织与能力
4.5 软件研发团队测试过程改进
4.6 DevOps 对软件测试人员的影响分析
4.7 小结
第5章 项目启动:知己知彼、百战不殆
5.1 用户与质量要求
5.1.1 用户要求
5.1.2 对质量有什么要求
5.1.3 参照哪些质量标准
5.2 项目背景
5.3 产品元素
5.4 测试方法和技术
5.5 确定测试规范
5.6 小结
第6章 测试计划:分析与策略
6.1 软件测试的目标
6.1.1 分析软件产品的特定质量要求
6.1.2 测试目标
6.2 项目的测试需求
6.2.1 测试需求分析的基本方法
6.2.2 测试需求的分析技术
6.2.3 功能需求分析
6.2.4 非功能性需求分析
6.3 测试工作量估算
6.3.1 工作量的估计
6.3.2 工作分解结构表方法
6.3.3 工作量估计的实例
6.4 测试资源需求
6.5 测试里程碑和进度安排
6.5.1 传统测试
6.5.2 敏捷测试
6.6 测试风险分析
6.7 如何制定有效的测试策略
6.8 编写测试计划书
6.9 小结
第7章 测试设计:架构与用例
7.1 测试框架的设计
7.1.1 从需求到测试用例
7.1.2 基于 SUT 结构来组织设计
7.2 测试设计要考虑的因素
7.3 如何运用测试设计方法
7.4 非功能性测试也存在设计
7.5 探索性测试之设计
7.6 测试用例规范性与评审
7.6.1 测试用例的构成
7.6.2 测试用例书写标准
7.6.3 测试用例评审要点
7.7 测试集的创建
7.8 小结
第8章 测试执行:自动与探索
8.1 测试执行概述
8.2 测试执行的准备
8.2.1 测试任务安排
8.2.2 测试环境的建立与配置
8.2.3 测试自动化运行平台
8.3 如何有效地创建测试集
8.4 敏捷测试的执行
8.4.1 策略与实践
8.4.2 探索式测试的执行
8.5 用户体验和易用性测试
8.5.1 易用性测试的标准
8.5.2 如何进行A/B测试
8.6 回归测试
8.7 软件缺陷的报告
8.7.1 缺陷的属性及其描述
8.7.2 如何有效报告缺陷
8.8 小结
第9章 永不收尾:持续反馈与改进
9.1 验收测试
9.2 部署验证
9.2.1 客户端软件安装测试
9.2.2 后台系统的部署验证
9.3 在线测试与日志分析
9.4 后续版本的测试
9.5 测试过程的评审
9.6 团队反思:持续改进
9.7 小结
第10章 全程静态测试:以不变应万变
10.1 常用的评审方法
10.2 需求评审优秀实践
10.2.1 如何操作需求评审
10.2.2 需求评审的标准
10.2.3 需求的可测试性
10.3 系统架构的审查
10.3.1 系统架构选型的确认
10.3.2 软件设计评审标准
10.3.3 设计的可测试性
10.3.4 系统组件设计的审查
10.4 产品设计规格说明书的复审
10.4.1 重视设计规格说明书的审查
10.4.2 设计规格说明书的多层次审查
10.4.3 界面设计的评审
10.5 系统部署设计的审查
10.5.1 系统部署逻辑设计的审查
10.5.2 软件部署物理设计的审查
10.5.3 可用性设计的审查
10.5.4 可伸缩性设计的验证
10.5.5 安全性设计的验证
10.6 代码评审与静态分析
10.7 小结
第11章 全程性能测试:持续优化
11.1 常见的性能问题
11.2 如何确定系统的性能需求
11.2.1 明确性能测试的基本目标
11.2.2 关键性能指标分析
11.2.3 关键业务分析
11.3 如何完成性能测试的设计
11.3.1 如何模拟用户操作
11.3.2 如何有效地模拟加载过程
11.3.3 如何实时准确地控制加载
11.4 如何执行性能测试
11.5 如何分析和评估测试结果
11.6 小结
第12章 全程安全性:持续加固
12.1 贯穿研发生命周期的安全性测试
12.2 滥用案例与安全性需求
12.2.1 软件系统存在哪些安全漏洞
12.2.2 国内外标准中关于系统安全性的要求
12.2.3 安全性测试需求分析
12.3 安全性风险分析
12.4 安全性静态测试
12.5 渗透测试
12.6 系统运维安全性监控与审计
12.7 小结
第13章 全程建模:彻底自动化
13.1 测试过程模型
13.2 基于模型的测试
13.3 基于业务建模的 MBT 方法
13.3.1 基于业务流程建模
13.3.2 基于事件流、应用场景建模
13.4 基于 UML 的 MBT 方法
13.4.1 基于 UML 的 MBT 具体实现
13.4.2 基于有限状态机建模
13.5 小结
第14章 全程可视化:管理无死角
14.1 测试过程的度量体系
14.1.1 测试管理的全局性与层次性
14.1.2 测试过程度量指标体系
14.2 测试全过程的度量
14.2.1 测试分析与设计的度量
14.2.2 代码评审与分析的度量
14.2.3 测试执行的度量
14.2.4 与缺陷相关的度量
14.2.5 测试充分性和上线后的度量
14.3 测试度量管理与工具
14.4 测试用例管理
14.5 测试管理工具的应用
14.6 小结
第15章 测试展望:未来更具挑战
15.1 云计算与测试的基础设施
15.2 微服务、契约测试与自动化测试工具
15.2.1 契约测试工具
15.2.2 智能的单元测试工具
15.2.3 前端测试工具
15.3 如何测试人工智能软件
15.4 如何用 AI 技术为测试服务
15.4.1 AI 技术及其应用
15.4.2 AI 技术如何应用于测试
15.4.3 AI 测试工具
15.5 小结
附录A 测试中的记忆符号:测试思维宝库
附录B 测试计划(GB8567—2006)
B.1 引言
B.1.1 标识
B.1.2 系统概述
B.1.3 文档概述
B.1.4 与其他计划的关系
B.1.5 基线
B.2 引用文件
B.3 软件测试环境
B.4 计划
B.4.1 总体设计
B.4.2 计划执行的测试
B.4.3 测试用例
B.5 测试进度表
B.6 需求的可追踪性
B.7 评价
B.7.1 评价准则
B.7.2 数据处理
B.7.3 结论
B.8 注解
B.9 附录
附录C 代码审查的示范性列表
C.1 格式
C.2 程序语言的使用
C.3 数据引用错误
C.4 数据声明错误
C.5 计算错误
C.6 比较错误
C.7 入口和出口的连接
C.8 存储器的使用
C.9 控制流程错误
C.10 子程序参数错误
C.11 输入/输出错误
C.12 逻辑和性能
C.13 维护性和可靠性
附录D RF 库与工具
附录E 软件测试术语中英文对照
参考文献
1.1 软件测试基本认知——正反思维
1.2 从狭义测试到广义测试
1.3 基于质量的认知
1.4 基于风险的认知
1.5 基于社会性的认知
1.6 基于经济的认知
1.7 基于标准的认知
1.8 基于Test Oracle的认知
1.9 基于批判性思维的认知
1.10 基于传统开发模式的认知
1.11 基于敏捷开发模式的认知
1.12 小结
第2章 全程测试:闪光的思想
2.1 测试左移与右移
2.2 测试驱动开发
2.3 传统研发模式的测试环
2.4 敏捷研发中的测试环
2.5 DevOps 与测试
2.6 小结
第3章 准备:基础设施与 TA 框架
3.1 虚拟机与容器技术
3.2 基础设施即代码
3.3 持续集成环境
3.3.1 版本管理与构建
3.3.2 CI 管理工具的安装
3.4 自动化测试框架
3.4.1 自动化测试框架的构成与分类
3.4.2 单元测试框架
3.4.3 UI TA框架
3.4.4 移动应用 TA 框架
3.4.5 面向 API 的 TA 测试框架
3.4.6 验收测试框架
3.5 DevOps 完整工具链
3.6 小结
第4章 准备:个体与团队
4.1 全栈,体现了技术深度
4.2 个人测试能力模型
4.3 软件测试思维训练
4.3.1 软件测试系统性思维
4.3.2 分析性测试思维
4.3.3 批判性测试思维
4.3.4 创造性、发散性测试思维
4.4 软件研发团队测试组织与能力
4.5 软件研发团队测试过程改进
4.6 DevOps 对软件测试人员的影响分析
4.7 小结
第5章 项目启动:知己知彼、百战不殆
5.1 用户与质量要求
5.1.1 用户要求
5.1.2 对质量有什么要求
5.1.3 参照哪些质量标准
5.2 项目背景
5.3 产品元素
5.4 测试方法和技术
5.5 确定测试规范
5.6 小结
第6章 测试计划:分析与策略
6.1 软件测试的目标
6.1.1 分析软件产品的特定质量要求
6.1.2 测试目标
6.2 项目的测试需求
6.2.1 测试需求分析的基本方法
6.2.2 测试需求的分析技术
6.2.3 功能需求分析
6.2.4 非功能性需求分析
6.3 测试工作量估算
6.3.1 工作量的估计
6.3.2 工作分解结构表方法
6.3.3 工作量估计的实例
6.4 测试资源需求
6.5 测试里程碑和进度安排
6.5.1 传统测试
6.5.2 敏捷测试
6.6 测试风险分析
6.7 如何制定有效的测试策略
6.8 编写测试计划书
6.9 小结
第7章 测试设计:架构与用例
7.1 测试框架的设计
7.1.1 从需求到测试用例
7.1.2 基于 SUT 结构来组织设计
7.2 测试设计要考虑的因素
7.3 如何运用测试设计方法
7.4 非功能性测试也存在设计
7.5 探索性测试之设计
7.6 测试用例规范性与评审
7.6.1 测试用例的构成
7.6.2 测试用例书写标准
7.6.3 测试用例评审要点
7.7 测试集的创建
7.8 小结
第8章 测试执行:自动与探索
8.1 测试执行概述
8.2 测试执行的准备
8.2.1 测试任务安排
8.2.2 测试环境的建立与配置
8.2.3 测试自动化运行平台
8.3 如何有效地创建测试集
8.4 敏捷测试的执行
8.4.1 策略与实践
8.4.2 探索式测试的执行
8.5 用户体验和易用性测试
8.5.1 易用性测试的标准
8.5.2 如何进行A/B测试
8.6 回归测试
8.7 软件缺陷的报告
8.7.1 缺陷的属性及其描述
8.7.2 如何有效报告缺陷
8.8 小结
第9章 永不收尾:持续反馈与改进
9.1 验收测试
9.2 部署验证
9.2.1 客户端软件安装测试
9.2.2 后台系统的部署验证
9.3 在线测试与日志分析
9.4 后续版本的测试
9.5 测试过程的评审
9.6 团队反思:持续改进
9.7 小结
第10章 全程静态测试:以不变应万变
10.1 常用的评审方法
10.2 需求评审优秀实践
10.2.1 如何操作需求评审
10.2.2 需求评审的标准
10.2.3 需求的可测试性
10.3 系统架构的审查
10.3.1 系统架构选型的确认
10.3.2 软件设计评审标准
10.3.3 设计的可测试性
10.3.4 系统组件设计的审查
10.4 产品设计规格说明书的复审
10.4.1 重视设计规格说明书的审查
10.4.2 设计规格说明书的多层次审查
10.4.3 界面设计的评审
10.5 系统部署设计的审查
10.5.1 系统部署逻辑设计的审查
10.5.2 软件部署物理设计的审查
10.5.3 可用性设计的审查
10.5.4 可伸缩性设计的验证
10.5.5 安全性设计的验证
10.6 代码评审与静态分析
10.7 小结
第11章 全程性能测试:持续优化
11.1 常见的性能问题
11.2 如何确定系统的性能需求
11.2.1 明确性能测试的基本目标
11.2.2 关键性能指标分析
11.2.3 关键业务分析
11.3 如何完成性能测试的设计
11.3.1 如何模拟用户操作
11.3.2 如何有效地模拟加载过程
11.3.3 如何实时准确地控制加载
11.4 如何执行性能测试
11.5 如何分析和评估测试结果
11.6 小结
第12章 全程安全性:持续加固
12.1 贯穿研发生命周期的安全性测试
12.2 滥用案例与安全性需求
12.2.1 软件系统存在哪些安全漏洞
12.2.2 国内外标准中关于系统安全性的要求
12.2.3 安全性测试需求分析
12.3 安全性风险分析
12.4 安全性静态测试
12.5 渗透测试
12.6 系统运维安全性监控与审计
12.7 小结
第13章 全程建模:彻底自动化
13.1 测试过程模型
13.2 基于模型的测试
13.3 基于业务建模的 MBT 方法
13.3.1 基于业务流程建模
13.3.2 基于事件流、应用场景建模
13.4 基于 UML 的 MBT 方法
13.4.1 基于 UML 的 MBT 具体实现
13.4.2 基于有限状态机建模
13.5 小结
第14章 全程可视化:管理无死角
14.1 测试过程的度量体系
14.1.1 测试管理的全局性与层次性
14.1.2 测试过程度量指标体系
14.2 测试全过程的度量
14.2.1 测试分析与设计的度量
14.2.2 代码评审与分析的度量
14.2.3 测试执行的度量
14.2.4 与缺陷相关的度量
14.2.5 测试充分性和上线后的度量
14.3 测试度量管理与工具
14.4 测试用例管理
14.5 测试管理工具的应用
14.6 小结
第15章 测试展望:未来更具挑战
15.1 云计算与测试的基础设施
15.2 微服务、契约测试与自动化测试工具
15.2.1 契约测试工具
15.2.2 智能的单元测试工具
15.2.3 前端测试工具
15.3 如何测试人工智能软件
15.4 如何用 AI 技术为测试服务
15.4.1 AI 技术及其应用
15.4.2 AI 技术如何应用于测试
15.4.3 AI 测试工具
15.5 小结
附录A 测试中的记忆符号:测试思维宝库
附录B 测试计划(GB8567—2006)
B.1 引言
B.1.1 标识
B.1.2 系统概述
B.1.3 文档概述
B.1.4 与其他计划的关系
B.1.5 基线
B.2 引用文件
B.3 软件测试环境
B.4 计划
B.4.1 总体设计
B.4.2 计划执行的测试
B.4.3 测试用例
B.5 测试进度表
B.6 需求的可追踪性
B.7 评价
B.7.1 评价准则
B.7.2 数据处理
B.7.3 结论
B.8 注解
B.9 附录
附录C 代码审查的示范性列表
C.1 格式
C.2 程序语言的使用
C.3 数据引用错误
C.4 数据声明错误
C.5 计算错误
C.6 比较错误
C.7 入口和出口的连接
C.8 存储器的使用
C.9 控制流程错误
C.10 子程序参数错误
C.11 输入/输出错误
C.12 逻辑和性能
C.13 维护性和可靠性
附录D RF 库与工具
附录E 软件测试术语中英文对照
参考文献