作者阵容强大:本书有茹炳晟、陈磊和朱少民领衔主编,由21位研发效能各个领域的专家共同撰写。 作者背景资深:参与编写的作者都在软件测试领域深耕多年,具有丰富的、可落地的实践经验。 内容系统全面:全书共20章,详细讲解了软件测试的工程理念、策略、分析、设计及系统架构,重介绍了软件测试涉及的各项技术,特别是软件测试的新实践和新方法,包括智能化测试、AI产品测试、大数据产品测试、区块测试、图形图像相关的测试技术等,通过一本书即可全面了解软件测试技术。
售 价:¥
纸质售价:¥132.70购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
前折页
内容简介
作者简介
前言
第1章 现代软件测试的工程理念
1.1 软件的可测试性
1.1.1 可测试性的定义
1.1.2 可测试性引发的问题
1.1.3 可测试性的三个核心观点
1.1.4 可测试性的四个维度
1.1.5 不同级别的可测试性与工程实践
1.2 测试左移和开发者自测
1.2.1 传统瀑布模型下软件测试面临的挑战
1.2.2 测试左移的早期实践
1.2.3 软件测试工程化面临的挑战与机遇
1.2.4 测试左移的进阶实践
1.2.5 测试左移的深度思考
1.3 测试右移的工程实践
1.3.1 生产环境冒烟测试
1.3.2 全链路压力测试
1.3.3 混沌工程
1.3.4 红蓝对抗
1.3.5 A/B测试
1.3.6 灰度发布
1.3.7 线上监控
1.3.8 用户体验分析
1.4 DevSecOps:从安全测试到安全工程
1.4.1 传统软件安全开发体系面临的挑战
1.4.2 新技术对软件安全开发提出的挑战
1.4.3 DevSecOps概念的诞生与内涵
1.4.4 DevSecOps工具
1.4.5 典型DevSecOps流程解读
1.5 DevPerfOps:从性能测试到性能工程
1.5.1 DevPerfOps的由来
1.5.2 全链路压测的局限性
1.5.3 DevPerfOps全流程解读
第2章 软件测试策略
2.1 什么是测试策略
2.1.1 测试策略不等于测试方针
2.1.2 测试策略不等于测试计划
2.1.3 测试策略不等于测试方案
2.1.4 测试策略本质上是一种选择
2.2 常用的测试策略
2.2.1 基于产品质量的测试策略
2.2.2 基于产品特性价值的测试策略
2.2.3 不同产品阶段下的测试策略
2.2.4 基于探索的测试策略——启发式测试策略
2.2.5 自动化持续测试策略
2.3 测试策略的制定方法
2.3.1 四步测试策略制定法
2.3.2 产品质量评估模型
2.3.3 组合缺陷分析技术
2.4 测试风险分析
2.4.1 测试风险识别
2.4.2 测试风险评估
2.4.3 测试风险应对
2.5 不同研发模式下的测试分层
2.5.1 瀑布模式下的测试分层
2.5.2 敏捷模式下的测试分层
第3章 测试分析和测试设计
3.1 测试分析和测试设计概述
3.1.1 好的测试设计的“味道”
3.1.2 当前测试设计的困顿
3.1.3 测试分析和测试设计是两个不同的活动
3.2 测试分析的方法
3.2.1 深入理解质量是做好测试分析的基础
3.2.2 软件产品质量模型
3.2.3 深入理解测试类型
3.2.4 通过质量属性来探索测试方法
3.2.5 通过质量属性确定测试的深度和广度
3.2.6 使用车轮图进行测试分析
3.3 测试设计的方法
3.3.1 基于路径分析的测试设计方法
3.3.2 基于输入-输出表的测试设计方法
3.3.3 基于等价类-边界值的测试设计方法
3.3.4 基于因子表的测试设计方法
3.3.5 几种测试设计方法的比较
第4章 软件测试与系统架构
4.1 典型应用系统架构与测试关键指标
4.1.1 典型应用系统架构
4.1.2 客户端请求的网络通信
4.1.3 与测试相关的系统架构关键指标
4.2 缓存架构及其对缓存测试的影响
4.2.1 缓存架构
4.2.2 缓存对测试的影响
4.3 异步消息驱动架构及其对测试的影响
4.3.1 异步消息驱动架构
4.3.2 异步消息驱动架构对测试的影响
4.4 负载均衡架构及灰度发布对测试的影响
4.4.1 负载均衡架构
4.4.2 灰度发布及其对测试的影响
4.5 分布式数据库架构及高可用性测试
4.5.1 分布式数据库架构
4.5.2 分布式数据的高可用性测试
4.6 微服务架构及其对测试的影响
4.6.1 微服务架构
4.6.2 微服务架构对测试的影响
4.7 大数据架构及机器学习对测试的影响
4.7.1 大数据架构
4.7.2 机器学习对测试的影响
第5章 Web测试技术精要
5.1 Web测试技术概述
5.1.1 Web测试技术要点
5.1.2 Web自动化测试技术
5.2 基于编程语言的Web测试框架
5.2.1 Selenium
5.2.2 Airtest
5.2.3 Playwright
5.3 基于编程语言的测试代码的组织
5.3.1 未经组织的测试代码
5.3.2 组织后的测试代码
5.4 Web自动化测试的痛点
5.5 高效执行自动化测试
5.5.1 并行模式
5.5.2 无头模式
5.5.3 模拟登录
5.6 稳定的自动化测试
5.6.1 基于页面或元素状态的等待
5.6.2 重试机制
5.7 视觉验证测试
5.7.1 Appilitools Eyes
5.7.2 Recheck-Web
5.8 自我修复测试
5.8.1 Healenium
5.8.2 Recheck-Web
5.9 无代码/低代码自动化测试
第6章 移动端测试技术精要
6.1 移动端测试基础技能
6.1.1 通过HTTP Debug Proxy深入了解移动端测试
6.1.2 设计测试用例
6.2 移动端测试进阶
6.2.1 UI自动化测试
6.2.2 稳定性测试
6.3 移动端测试的左移和右移
第7章 接口测试技术精要
7.1 接口测试概述
7.2 接口测试关键技术
7.2.1 模拟协议客户端
7.2.2 接口逻辑模拟
7.2.3 数据驱动
7.2.4 测试断言
7.2.5 解耦技术
7.2.6 关键字驱动
7.2.7 测试报告
7.3 自动化接口测试关键技术
7.4 接口测试的新技术
7.4.1 契约测试
7.4.2 流量录制
7.4.3 精准测试
7.5 接口测试平台化
7.6 测试右移下的接口测试
第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.3 代码评审技术
8.3.1 代码评审概述
8.3.2 代码评审的价值
8.3.3 代码评审的类型
8.3.4 代码评审的内容
8.3.5 代码评审最佳实践
8.4 契约测试技术
8.4.1 契约测试概述
8.4.2 契约测试基本要素
8.4.3 继承与契约
8.4.4 一些说明
8.5 单元测试技术
8.5.1 单元测试概述
8.5.2 设计方法
8.5.3 测试先行
8.6 智能测试技术
8.6.1 智能测试技术概述
8.6.2 智能测试技术阶段划分
8.6.3 智能测试关键技术
第9章 性能测试技术精要
9.1 性能市场现状
9.2 RESAR性能工程概述
9.2.1 RESAR性能工程
9.2.2 性能容量规划
9.2.3 性能工具解析
9.3 性能测试阶段
9.3.1 需求阶段
9.3.2 准备阶段
9.3.3 执行阶段
9.3.4 报告阶段
9.3.5 环比阶段
9.4 性能监控分析逻辑
9.4.1 操作系统监控分析逻辑
9.4.2 开发语言监控分析逻辑
9.4.3 数据库监控分析逻辑
9.5 性能分析案例
9.5.1 场景运行数据
9.5.2 分析系统架构
9.5.3 拆分响应时间
第10章 可靠性测试技术精要
10.1 可靠性测试概述
10.1.1 可靠性测试目的
10.1.2 可靠性测试设计
10.1.3 可靠性测试环境
10.1.4 可靠性测试执行
10.1.5 可靠性测试工具
10.1.6 可靠性评估指标
10.1.7 可靠性测试报告
10.2 可靠性设计验证
10.2.1 可靠性故障管理验证
10.2.2 可靠性冗余设计验证
10.2.3 可靠性容灾设计验证
10.2.4 可靠性过载控制验证
10.3 可靠性负向验证
10.3.1 故障模式
10.3.2 故障预案
10.3.3 混沌工程
第11章 自动化测试框架设计和实现
11.1 自动化测试框架概述
11.1.1 自动化测试框架的定义
11.1.2 自动化测试框架的目标
11.1.3 自动化测试框架和测试库的区别
11.2 自动化测试框架类型
11.2.1 简单测试框架
11.2.2 x-Driven测试框架
11.2.3 混合型测试框架
11.2.4 不同类型测试框架对比
11.3 自动化测试框架的通用实现原理
11.3.1 分层架构模型
11.3.2 gTAA模型
11.3.3 通用型测试框架
11.4 自动化测试框架开发设计指南
11.4.1 测试框架必备特征
11.4.2 代码编写原则
11.4.3 设计模式的使用
第12章 测试基础设施能力建设
12.1 测试执行环境架构设计基础
12.1.1 测试执行环境概述
12.1.2 测试基础架构的设计
12.1.3 早期的测试基础架构
12.1.4 经典的测试基础架构
12.2 测试执行环境架构设计进阶
12.2.1 基于Docker实现的Selenium Grid测试基础架构
12.2.2 引入统一测试执行平台的测试基础架构
12.2.3 基于Jenkins集群的测试基础架构
12.2.4 测试负载自适应的测试基础架构
12.2.5 测试基础架构的选择
12.3 实战案例:大型全球化电商网站的测试基础架构设计
第13章 软件测试新实践和新方法
13.1 测试驱动开发
13.1.1 测试驱动开发的基本理念
13.1.2 UTDD、ATDD与BDD
13.1.3 测试驱动开发的误区
13.2 精准测试
13.2.1 精准测试的技术实现
13.2.2 精准测试的前沿探索
13.3 代码注入测试
13.3.1 灰盒测试面临的挑战
13.3.2 OOP的困境及AOP的解决思路
13.3.3 AOP基本概念及其启示
13.3.4 基于AOP的测试实战案例
13.3.5 AOP的局限性
13.4 混沌工程
13.4.1 混沌工程的起源
13.4.2 混沌工程的原则
13.4.3 攻防演练
13.4.4 混沌工程的相关工具
13.5 变异测试
13.5.1 变异测试的基本流程
13.5.2 变异测试的核心概念
13.5.3 变异测试的应用案例
13.5.4 变异测试的工程化实践
13.6 探索式测试
13.6.1 探索式测试的基本理念
13.6.2 探索式测试的思维模型
13.6.3 探索式测试的方法
13.6.4 探索式测试的开展
13.6.5 探索式测试的误区
13.7 微服务测试
13.7.1 云原生和微服务
13.7.2 微服务测试体系建设
第14章 智能化测试技术
14.1 从测试视角看AI
14.2 基于数据的智能化测试
14.3 基于目标的智能化测试
14.4 智能化测试的实践
第15章 AI产品测试技术
15.1 AI产品测试技术概述
15.1.1 AI相关概念
15.1.2 AI产品对测试提出的挑战
15.2 AI产品的功能测试
15.2.1 AI产品功能测试面临的挑战
15.2.2 蜕变测试
15.2.3 AI产品的测试评估
15.3 AI产品的非功能测试
15.3.1 模型相关的性能度量指标
15.3.2 AI产品相关的性能指标
15.3.3 伦理道德验证
第16章 大数据产品测试技术
16.1 大数据基础知识
16.1.1 初识大数据
16.1.2 什么是大数据
16.1.3 主流大数据架构和产品
16.2 大数据产品测试与传统软件测试
16.2.1 大数据产品测试与传统软件测试的联系
16.2.2 大数据产品测试面临的挑战
16.3 测试数据的准备
16.3.1 测试数据的重要性
16.3.2 数据准备方式
16.4 大数据产品的功能性测试
16.4.1 ETL测试
16.4.2 数据质量测试
16.5 大数据产品的非功能性测试
16.5.1 大数据产品非功能性测试面临的挑战
16.5.2 非功能性测试设计
第17章 区块链测试技术
17.1 区块链概述
17.1.1 区块链定义
17.1.2 区块链特征
17.1.3 区块链分类
17.1.4 区块链的应用场景
17.2 区块链测试技术总览
17.2.1 区块链通用架构体系
17.2.2 区块链“四横四纵”测试体系
17.3 DApp测试
17.3.1 DApp概述
17.3.2 专项测试
17.3.3 异常测试
17.3.4 安全测试
17.3.5 稳定性测试
17.4 分布式共识测试
17.4.1 常见共识算法
17.4.2 专项测试
17.4.3 异常测试
17.4.4 安全测试
17.4.5 稳定性测试
17.5 智能合约测试
17.5.1 智能合约
17.5.2 专项测试
17.5.3 异常测试
17.5.4 安全测试
17.5.5 稳定性测试
17.6 P2P网络测试
17.6.1 P2P
17.6.2 专项测试
17.6.3 异常测试
17.6.4 安全测试
17.6.5 稳定性测试
第18章 图形图像相关应用的测试技术实践
18.1 机器视觉产品的测试概述
18.1.1 机器视觉概述
18.1.2 测试机器视觉产品的挑战和策略
18.2 AI技术在画质增强方向的产品
18.2.1 画质客观测试
18.2.2 画质测试的效能提升实践
18.3 AI技术在人脸识别方向的产品
18.3.1 人脸解锁概述
18.3.2 AI技术在人群画像、人群追踪客流技术方向综合应用的产品
第19章 大模型赋能下的测试智能化
19.1 大模型和大语言模型
19.1.1 大语言模型与代码生成
19.1.2 多模态大模型
19.2 大模型时代的智能化测试
19.2.1 软件测试本质探讨
19.2.2 更聪明的猴子
19.3 大模型智能化测试的探索实战
19.3.1 智能探索型测试
19.3.2 测试用例生成
19.3.3 测试结果分析和诊断建议
19.3.4 利用Hydra Lab搭建智能化测试平台
第20章 XRunner应用案例
20.1 信息系统领域性能保障痛点
20.1.1 业务挑战
20.1.2 技术挑战
20.1.3 工具挑战
20.2 解决思路
20.2.1 技术突破
20.2.2 业务突破
20.2.3 工具突破
20.3 案例
20.3.1 背景简介
20.3.2 压测需求
20.3.3 压测目标
20.3.4 压测方案
20.3.5 压测方法和范围
20.4 实践后的效果对比与总结
20.4.1 压测结果
20.4.2 总结报告
后折页
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜