为你推荐
前言
第1部分 软件需求与设计
第1章 软件需求
1.1 从需求的含混性说到软件测试的目的
1.1.1 需求的含混性
1.1.2 软件测试的目的
1.2 需求的定义与分类
1.2.1 业务需求
1.2.2 用户需求
第2章 PRD审核
2.1 PRD分类
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.3.4 项目优先级的定义
2.4 审核软件产品需求
2.4.1 如何保证软件需求的完整性
2.4.2 如何保证软件需求的正确性:明确用户动机
2.4.3 如何保证软件需求的正确性:正确的表达方式
2.4.4 一致性
2.5 范围约束
2.5.1 用户的期盼超出了实现的能力
2.5.2 非技术因素决定的技术选型
2.5.3 预期的使用环境
2.5.4 审核Scope
第3章 用户故事
3.1 什么用户故事
3.2 用户故事特点
3.2.1 体现用户价值
3.2.2 不要出现技术术语
3.2.3 可测试性
3.3 用户故事分解、细化、合并
3.3.1 按用户角色细化
3.3.2 根据用户的操作细化
3.3.3 按用户角色合并
第4章 审核FS
4.1 实现的含混性
4.2 交付目标
4.3 范围约束
4.4 假设和依赖
4.5 功能描述
4.6 审核功能描述
4.6.1 质量需求或产品特性的描述是否足够准确
4.6.2 实现方式可扩展性
4.6.3 技术合理性
4.6.4 集成和升级风险
4.6.5 理解一致性
4.6.6 设计一致性
4.7 非功能描述
第2部分 软件功能性测试
第5章 功能性测试的准确性和合适性
5.1 功能性测试概念
5.2 功能性测试分类
5.3 适合性测试
5.4 准确性测试
第6章 软件功能性测试用户故事
6.1 软件功能性测试故事表
6.2 执行者/行为/状态/预期结果/检查点
6.2.1 添加数据
6.2.2 显示数据
6.2.3 删除数据
6.2.4 查询数据
6.2.5 修改数据
6.2.6 激活/冻结
6.2.7 导入/导出数据
6.2.8 实例化
6.2.9 拷贝
6.2.10 检查日志
第7章 软件互操作性测试
7.1 互操作性测试定义
7.2 兼容性和互操作性的区别
7.3 不可互操作的原因
7.4 互操作性测试分类
7.4.1 软件与硬件平台及外设的互操作性
7.4.2 操作系统/文件系统的互操作性
7.4.3 软件间的互操作性
7.4.4 网络/数据库的互操作性
7.4.5 驱动程序的互操作性
7.4.6 文档的互操作性
第8章 安全性测试
8.1 软件安全性测试概念
8.2 软件安全性测试策略
8.2.1 软件安全漏洞
8.2.2 软件安全测试方法分类
8.3 用户认证安全
8.3.1 用户权限问题
8.3.2 密码验证机制
8.3.3 密码保护机制
8.4 系统网络安全性测试
8.4.1 缓冲区溢出
8.4.2 加密测试
8.4.3 SQL注入
8.5 数据库安全性测试
8.5.1 数据加密性测试
8.5.1 数据完整性测试
8.5.3 数据独立性测试
第9章 全球化测试
9.1 全球化测试分类
9.1.1 G11N
9.1.2 I18N和L10N
9.1.3 软件的国际化和软件的本地化
9.1.4 国际化测试和本地化测试
9.2 日期
9.2.1 时区检查
9.2.2 日历格式
9.3 字符格式
9.3.1 失效字符检测
9.3.2 大小写测试
9.4 数字格式
9.4.1 数字分隔测试
9.4.2 负数
9.4.3 货币符号测试
9.4.4 邮编/国家代码/电话号码格式测试
9.4.5 测量单位测试
9.4.6 百分号(%)测试
9.5 输入法编辑器测试
9.6 语言敏感信息测试
第3部分 软件非功能性测试
第10章 易用性测试
10.1 易用性测试分类
10.2 易理解性测试
10.2.1 清晰性
10.2.2 一致性
10.3 易学习性测试
10.3.1 直观性
10.3.2 可记忆性
10.4 易操作性测试
10.4.1 用户可控性
10.4.2 灵活性
10.4.3 可扩展性
10.4.4 避免错误
10.5 UI测试
10.5.1 标题栏
10.5.2 文字
10.5.3 控件
10.5.4 图形
10.5.5 表格
10.5.6 提示框
10.5.7 导航测试
第11章 可靠性测试
11.1 容错性测试
11.2 可恢复性测试
11.2.1 硬件及有关设备故障可恢复性测试
11.2.2 软件系统故障可恢复性测试
11.2.3 数据故障可恢复性测试
11.2.4 通信故障可恢复性测试
11.3 故障转移测试
第12章 可移植性测试
12.1 可移植性测试定义与分类
12.2 用户故事列表
12.3 行为/状态/预期结果/检查点
12.3.1 软件安装
12.3.2 更新/升级
12.3.2 软件卸载
第13章 性能测试
13.1 功能与性能的区别
13.2 性能测试指标
13.2.1 响应时间
13.2.2 并发用户数
13.2.3 吞吐量
13.2.4 资源利用率
13.3 获取性能需求
13.4 性能测试分类
13.4.1 性能参数测试
13.4.2 负载测试
13.4.3 压力测试
13.5 如何进行性能测试
13.5.1 搭建测试环境和准备测试工具和脚本
13.5.2 测试、记录测试数据
13.6 分析性能瓶颈
第14章 文档测试
14.1 文档测试重要性
14.2 文档种类
14.3 文档测试检查点
14.3.1 文档完整性
14.3.2 文档正确性
14.3.3 文档易用性
第4部分 软件项目流程与风险
第15章 软件项目开发流程
15.1 Project Milestone定义
15.2 软件项目的主要阶段
15.2.1 信息采集和立项阶段
15.2.2 需求分析阶段
15.2.3 项目架构与设计阶段
15.2.4 开发阶段
15.2.5 系统测试阶段
15.2.6 软件发布阶段
15.2.7 维护阶段
15.3 研发周期制定
15.4 工作量估计
15.4.1 为什么要估计工作量
15.4.2 工作量估计的方法
第16章 项目风险分析
16.1 风险、问题、缺陷的区别
16.2 风险分类
16.2.1 需求风险
16.2.2 技术风险
16.2.3 管理风险
16.3 风险分析
16.3.1 风险可能性
16.3.2 风险影响
16.3.3 风险评估
16.4 风险缓解
16.4.1 风险监控
16.4.2 风险控制
16.5 常见的风险处理措施
第5部分 测试策略与测试计划
第17章 测试策略
17.1 测试策略的定义和分类
17.2 测试重点/测试优先级分析
17.3 各时间阶段对应的测试策略
17.3.1 单元测试期间的测试策略
17.3.2 Feature测试期间的测试策略
17.3.3 集成测试期间的测试策略
17.3.4 回归测试期间的测试策略
17.3.5 健全性测试期间的测试策略
17.4 多平台/操作系统/浏览器的测试策略
17.5 测试开始和结束的标准
17.6 测试环境策略
17.6.1 测试环境规划策略
17.6.2 测试环境复用策略
17.6.3 软件环境频繁改变时的策略
17.7 测试人员指定策略/任务分配策略
17.7.1 注重个人因素
17.7.2 避免出现“灰色地带”
17.8 测试工具的使用策略
17.9 测试报告/进度策略
第18章 测试计划
18.1 测试计划的定义
18.2 测试计划的范围
18.3 测试用例设计方法
18.3.1 等价类
18.3.2 边界值分析
18.3.3 因果图法
18.3.4 事件流
18.4 测试用例优先级划分
第6部分 软件测试管理
第19章 如何预防Bug
19.1 Bug和Defect的区别
19.2 预防Bug的意义
19.3 干净的代码
19.3.1 代码简洁
19.3.2 有意义的命名
19.3.3 函数的有效组织
19.3.4 注释合理
19.4 代码可复用
19.5 代码审核管理机制
19.6 做好单元测试
19.7 代码重构
19.7.1 为什么要做代码重构
19.7.2 如何做代码重构
第20章 如何Log高质量的Bug
20.1 Bug报告写给谁看
20.2 Bug模板介绍
20.2.1 如何写Summary
20.2.2 如何写清测试条件
20.2.2 可归纳性/可扩展性
20.2.3 优先级、严重性、影响程度
20.2.4 如何写Bug描述
20.2.5 重现
20.2.5 附件
20.3 常见的Bug问题
20.3.1 类似的Bug如何Log
20.3.2 后期的设计问题如何Log
20.3.3 小问题该如何Log
20.3.4 重复的Log如何处理
20.4 如何分析Root Cause
20.4.1 比较法
20.4.2 假设法
20.4.3 分解法
20.5 Bug生命周期
20.5.1 Bug生命周期图
20.5.2 Bug追踪
20.6 测试报告分析
第21章 其他QA日常工作
21.1 日报
21.1.1 日报的目的
21.1.2 日报的书写者
21.1.3 日报的内容
21.2 如何开会
21.2.1 QA要开多少会
21.2.2 如何高效地开会
后记 QA的自我修养
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜