书籍详情
软件测试与持续质量改进(第3版)
作者:(美)William E. Lewis David Dobbs Gunasekaran Veerapillai 著
出版社:人民邮电出版社
出版时间:2011-07-01
ISBN:9787115255402
定价:¥75.00
购买这本书可以去
内容简介
《软件测试与持续质量改进(第3版)》为软件测试过程提供了一个质量框架,目的是提出一个持续改进软件质量的途径,以提高测试效率。书中详细列举基本的软件测试技巧,并基于一种持续改进过程介绍Deming的质量概念,将“计划、执行、检查、改进”(Plan, Do, Check, Act, PDCA)这样一个质量循环引入软件测试过程,阐述现代质量保证理论及最佳实践方法。此外,附录中提供软件测试过程中可能涉及的各种文档的格式样本,非常便于查阅和参考。《软件测试与持续质量改进(第3版)》既适合软件测试领域的专业技术人员作为参考手册,又适合作为计算机及相关专业软件测试课程的教材。
作者简介
享誉世界的软件测试与质量保证领域的专家,有近40年计算机行业的从业经验。是Smartware技术公司的创始人。现任该公司董事长和CEOc.专利软件测试工具Test Smart的发明人。他曾先后供职于花旗集团、安永、IBM等国际知名企业,一直负责软件测试、质量管理方面的工作。从IBM退休后,他在世界各地从事与软件测试相关的教学和咨询工作。本书的技术合著者。美国PMI认证的PMP,国际软件测试认证委员会认证的软件测试工程师。他有25年以上的项目管理经验和质量管理经验,涉及的行业包括建筑、软件开发、电信和信息技术等。他为两家全国性的零售企业实施了项目管理方法。最近,他在为得克萨斯州欧文市的一家大型零售商管理I.S.Project Office项目。美国PMI认证的软件质量分析师(CSQA)和PMPo他曾供职于Canara、Thinlsoft、HCL和Covansys等公司。负责过许多软件开发、测试和维护项目。他现在是Wipr0 Technologies公司Test ALltomation Practice项目的负责人。
目录
第一部分 软件质量透视
第1章 软件测试简史
1.1 历史上软件测试和开发并行
1.2 极限编程
1.3 自动化测试工具的发展
1.3.1 静态捕获/回放工具(不附带脚本语言)
1.3.2 静态捕获/回放工具(具有脚本语言)
1.3.3 可变的捕获/回放工具
第2章 质量保证框架
2.1 什么是质量
2.2 预防与检测
2.3 验证与确认
2.4 软件质量保证
2.5 质量保证的组成
2.5.1 软件测试
2.5.2 质量控制
2.5.3 软件配置管理
2.6 软件质量保证计划
2.7 质量标准
2.7.1 萨班斯-奥克斯利法案
2.7.2 ISO9000
2.7.3 能力成熟度模型
2.7.4 PCMM
2.7.5 CMMI
2.7.6 美国波多里奇国家质量奖
2.8 注释
第3章 测试技术概述
3.1 黑盒测试(功能测试)
3.2 白盒测试(结构测试)
3.3 灰盒测试(功能与结构测试)
3.4 手工测试与自动化测试
3.5 静态测试与动态测试
3.6 软件测试技术的分类
第4章 将需求转换成可测试的测试用例
4.1 概述
4.2 将软件需求作为测试的基础
4.3 需求质量因素
4.3.1 可理解
4.3.2 必需
4.3.3 可修改
4.3.4 非冗余
4.3.5 简洁
4.3.6 可测试
4.3.7 可跟踪
4.3.8 在范围内
4.4 评估需求质量的数值方法
4.5 根据好的需求创建测试用例的过程
4.5.1 步骤1:评审需求
4.5.2 步骤2:编写测试计划
4.5.3 步骤3:确定测试套件
4.5.4 步骤4:命名测试用例
4.5.5 步骤5:编写测试用例描述及目标
4.5.6 步骤6:创建测试用例
4.5.7 步骤7:评审测试用例
4.6 将用例转换为测试用例
4.6.1 步骤1:绘制用例图
4.6.2 步骤2:编写详细的用例文本
4.6.3 步骤3:确定用例场景
4.6.4 步骤4:生成测试用例
4.6.5 步骤5:生成测试数据
4.6.6 小结
4.7 需求不存在或编写粗劣时怎么办
4.7.1 即兴测试
4.7.2 探索性测试
第5章 质量的持续改进过程
5.1 Edward Deming的贡献
5.2 统计方法扮演的角色
5.2.1 因果图
5.2.2 流程图
5.2.3 帕累托图
5.2.4 运行图
5.2.5 直方图
5.2.6 散布图
5.2.7 控制图
5.3 Deming的14条质量原则
5.3.1 第1条:树立始终如一的目标
5.3.2 第2条:采用新的质量观念
5.3.3 第3条:停止对大量审查的依赖
5.3.4 第4条:结束仅靠价签来激励企业的实践活动
5.3.5 第5条:坚持不懈地、永久地改进生产和服务系统
5.3.6 第6条:组织培训及再培训
5.3.7 第7条:确立领导职责
5.3.8 第8条:驱除恐惧
5.3.9 第9条:打破员工区域之间的壁垒
5.3.10 第10条:解除工作口号、训词及目标
5.3.11 第11条:去除数字化目标
5.3.12 第12条:消除阻碍员工自豪感的壁垒
5.3.13 第13条:开设有关教育和再培训方面的强有力的课程
5.3.14 第14条:采取行动完成转变
5.4 通过“计划、执行、检查、改进”实现持续改进
5.5 遵循PDCA循环
第二部分 瀑布测试概述
第6章 概述
6.1 瀑布式开发方法
6.2 “阶段化”持续改进方法
6.3 生命周期测试的心理学
6.4 将软件测试作为持续改进过程
6.5 测试的圣经:软件测试计划
6.6 制定测试计划的主要步骤
6.6.1 步骤1:定义测试目标
6.6.2 步骤2:确定测试方法
6.6.3 步骤3:定义测试环境
6.6.4 步骤4:制定测试规约
6.6.5 步骤5:确定测试日程表
6.6.6 步骤6:评审及批准测试计划
6.7 测试计划的组成
6.8 将技术评审作为持续改进过程
6.9 技术评审的动机
6.10 评审的类型
6.10.1 结构化走查
6.10.2 审查
6.11 参与人员角色
6.12 有效评审的步骤
6.12.1 步骤1:规划评审过程
6.12.2 步骤2:安排评审进度
6.12.3 步骤3:制定评审议程
6.12.4 步骤4:创建评审报告
第7章 需求的静态测试
7.1 通过歧义性评审测试需求
7.2 通过技术评审测试需求
7.3 审查和走查
7.4 检查表
7.5 需求可追溯性矩阵
7.6 制定系统/验收测试计划
第8章 逻辑设计的静态测试
8.1 数据模型、过程模型及其联系
8.2 通过技术评审测试逻辑设计
8.3 细化系统/验收测试计划
第9章 物理设计的静态测试
9.1 通过技术评审测试物理设计
9.2 创建集成测试用例
9.3 集成测试方法
9.3.1 步骤1:标识出单元接口
9.3.2 步骤2:全面协调接口
9.3.3 步骤3:创建集成测试条件
9.3.4 步骤4:评估集成测试条件的完整性
第10章 程序单元设计的静态测试
10.1 通过技术评审测试程序单元设计
10.1.1 顺序结构
10.1.2 选择结构
10.1.3 循环结构
10.2 编写单元测试用例
第11章 代码的静态测试与动态测试
11.1 用技术评审测试编码
11.2 执行测试计划
11.3 单元测试
11.4 集成测试
11.5 系统测试
11.6 验收测试
11.7 缺陷记录
第三部分 螺旋(敏捷)软件测试方法:计划、执行、检查、改进
第12章 开发方法概述
12.1 生命周期开发的局限性
12.2 客户/服务器架构的挑战
12.3 客户/服务器架构中螺旋测试的心理学
12.3.1 新思想
12.3.2 对测试人员/开发人员的理解
12.3.3 项目的目标:把质量保证和开发结合起来
12.3.4 迭代/螺旋式开发方法
12.4 JAD的角色
12.5 原型法的角色
12.6 开发原型的方法
12.6.1 步骤1:开发原型
12.6.2 步骤2:向管理层演示原型
12.6.3 步骤3:向用户演示原型
12.6.4 步骤4:修订并定稿规约
12.6.5 步骤5:开发产品系统
12.7 持续改进螺旋测试方法
第13章 信息收集(计划)
13.1 步骤1:准备访谈
13.1.1 任务1:确定参加访谈的人
13.1.2 任务2:确定议程
13.2 步骤2:执行访谈
13.2.1 任务1:理解项目
13.2.2 任务2:理解项目目标
13.2.3 任务3:理解项目状态
13.2.4 任务4:理解项目计划
13.2.5 任务5:理解项目开发方法
13.2.6 任务6:确定总体业务需求
13.2.7 任务7:进行风险分析
13.3 步骤3:总结访谈成果
13.3.1 任务1:总结访谈
13.3.2 任务2:确认访谈成果
第14章 测试计划(计划)
14.1 步骤1:建立测试计划
14.1.1 任务1:准备引言部分
14.1.2 任务2:定义总体功能需求
14.1.3 任务3:确定手动/自动化测试的类型
14.1.4 任务4:确定测试退出标准
14.1.5 任务5:制定回归测试策略
14.1.6 任务6:定义测试可交付物
14.1.7 任务7:组建测试团队
14.1.8 任务8:搭建测试环境
14.1.9 任务9:定义依赖关系
14.1.10 任务10:创建测试进度表
14.1.11 任务11:选择测试工具
14.1.12 任务12:建立缺陷报告/跟踪规程
14.1.13 任务13:建立变更请求规程
14.1.14 任务14:建立版本控制规程
14.1.15 任务15:定义配置构建规程
14.1.16 任务16:定义项目问题解决规程
14.1.17 任务17:建立报告规程
14.1.18 任务18:定义批准规程
14.2 步骤2:定义度量目标
14.2.1 任务1:定义度量标准
14.2.2 任务2:定义度量要点
14.3 步骤3:测试计划的评审和批准
14.3.1 任务1:评审的日程安排/执行
14.3.2 任务2:获得批准
第15章 测试用例设计(执行)
15.1 步骤1:设计功能测试
15.1.1 任务1:完善功能测试需求
15.1.2 任务2:建立功能/测试矩阵
15.2 步骤2:设计图形用户界面测试
15.2.1 任务1:确定应用程序图形用户界面组件
15.2.2 任务2:设计图形用户界面测试
15.3 步骤3:定义系统/验收测试
15.3.1 任务1:确定可能的系统测试
15.3.2 任务2:设计阶段性系统测试
15.3.3 任务3:确定可能的验收测试
15.4 步骤4:测试设计的评审和批准
15.4.1 任务1:评审的日程安排/准备
15.4.2 任务2:获得批准
第16章 测试开发(执行)
16.1 步骤1:开发测试脚本
16.1.1 任务1:开发手工/自动化图形用户界面/功能测试脚本
16.1.2 任务2:开发手工/自动化的阶段性系统测试脚本
16.2 步骤2:测试开发的评审和批准
16.2.1 任务1:评审的日程安排/准备
16.2.2 任务2:获得批准
第17章 通过可追溯性实现测试覆盖
17.1 用例和可追溯性
17.2 小结
第18章 测试执行/评价(执行/检查)
18.1 步骤1:组织测试内容并进行测试
18.1.1 任务1:回归测试手工/自动化修复上次螺旋过程中的缺陷
18.1.2 任务2:执行新的螺旋测试中的手工/自动化测试
18.1.3 任务3:记录螺旋测试中发现的缺陷
18.2 步骤2:测试评价
18.3 步骤3:发布中期报告
18.3.1 任务1:细化测试进度表
18.3.2 任务2:确定需求变更
第19章 准备下一次螺旋测试(改进)
19.1 步骤1:细化测试
19.1.1 任务1:更新功能/图形用户界面测试
19.1.2 任务2:更新阶段性系统测试
19.1.3 任务3:更新验收测试
19.2 步骤2:重新评价测试团队、规程和环境
19.2.1 任务1:评价测试团队
19.2.2 任务2:评审测试控制规程
19.2.3 任务3:更新测试环境
19.3 步骤3:发布中期测试报告
第20章 进行系统测试
20.1 步骤1:完成系统测试计划
20.1.1 任务1:确定系统测试类型
20.1.2 任务2:确定系统测试的日程安排
20.1.3 任务3:组建系统测试团队
20.1.4 任务4:搭建系统测试环境
20.1.5 任务5:安装系统测试工具
20.2 步骤2:完成系统测试用例
20.2.1 任务1:设计/脚本化性能测试
20.2.2 任务2:设计/脚本化安全性测试
20.2.3 任务3:设计/脚本化容量测试
20.2.4 任务4:设计/脚本化压力测试
20.2.5 任务5:设计/脚本化兼容性测试
20.2.6 任务6:设计/脚本化转换测试
20.2.7 任务7:设计/脚本化易用性测试
20.2.8 任务8:设计/脚本化文档测试
20.2.9 任务9:设计/脚本化备份测试
20.2.10 任务10:设计/脚本化恢复性测试
20.2.11 任务11:设计/脚本化安装测试
20.2.12 任务12:设计/脚本化其他类型的系统测试
20.3 步骤3:系统测试的评审和批准
20.3.1 任务1:评审的日程安排/执行
20.3.2 任务2:获得批准
20.4 步骤4:执行系统测试
20.4.1 任务1:对系统测试中的修正进行回归测试
20.4.2 任务2:执行新的系统测试
20.4.3 任务3:将系统缺陷记录在文档中
第21章 进行验收测试
21.1 步骤1:完成验收测试计划
21.1.1 任务1:确定验收测试类型
21.1.2 任务2:确定验收测试的日程安排
21.1.3 任务3:组建验收测试团队
21.1.4 任务4:建立验收测试环境
21.1.5 任务5:安装验收测试工具
21.2 步骤2:完成验收测试用例
21.2.1 任务1:确定系统级测试用例的子集
21.2.2 任务2:设计/脚本化附加的验收测试
21.3 步骤3:验收测试计划的评审和批准
21.3.1 任务1:评审的日程安排/执行
21.3.2 任务2:获得批准
21.4 步骤4:执行验收测试
21.4.1 任务1:对验收测试中的修正进行回归测试
21.4.2 任务2:执行新的验收测试
21.4.3 任务3:将验收测试缺陷记录在文档中
第22章 总结/报告测试结果
22.1 步骤1:执行数据精简
22.1.1 任务1:确保所有的测试均已执行/解决
22.1.2 任务2:通过测试编号整理测试缺陷
22.1.3 任务3:将剩余的缺陷写入一个矩阵
22.2 步骤2:准备最终的测试报告
22.2.1 任务1:准备项目概述
22.2.2 任务2:总结测试活动
22.2.3 任务3:分析/创建度量图
22.2.4 任务4:总结测试成果/建议
22.3 步骤3:最终测试报告的评审和批准
22.3.1 任务1:评审的日程安排/执行
22.3.2 任务2:获得批准
22.3.3 任务3:发布最终测试报告
第四部分 项目管理方法
第23章 项目管理框架
23.1 项目框架
23.2 产品质量与项目质量
23.3 项目框架的组成
23.4 项目框架与持续质量改进
23.5 项目框架的各个阶段
23.5.1 启动阶段
23.5.2 计划阶段
23.5.3 执行、监视和控制阶段
23.5.4 收尾阶段
23.6 划定项目范围以确保产品质量
23.7 产品范围和项目范围
23.8 项目规章
23.9 范围陈述
23.10 项目经理在质量管理中的作用
23.11 测试经理在质量管理中的作用
23.11.1 分析需求
23.11.2 进行差距分析
23.11.3 避免重复
23.11.4 定义测试数据
23.11.5 确认测试环境
23.11.6 分析测试结果
23.11.7 提交质量
23.12 给测试经理的建议
23.12.1 请求别人的帮助
23.12.2 出现问题时及时沟通
23.12.3 不断更新自身的业务知识
23.12.4 学习新的测试技术和工具
23.12.5 改进过程
23.12.6 创建知识库
23.13 质量项目管理和项目框架的好处
第24章 项目质量管理
24.1 项目质量管理过程
24.2 质量计划
24.3 确定高级项目活动
24.4 测试工作量估算
24.5 测试计划
24.6 工作量估算:项目建模
24.7 质量标准
第25章 缺陷管理过程
25.1 质量控制与缺陷管理
25.2 缺陷发现与分类
25.3 缺陷的优先级
25.4 缺陷的种类
25.5 缺陷跟踪
25.6 缺陷报告
25.7 缺陷总结
25.8 缺陷会议
25.9 缺陷度量
25.10 质量标准
第26章 测试与开发的整合
26.1 质量控制与测试整合
26.2 测试整合
26.2.1 步骤1:组建测试团队
26.2.2 步骤2:确定将要整合的任务
26.2.3 步骤3:定制测试步骤及任务
26.2.4 步骤4:选择整合时间点
26.2.5 步骤5:修改开发方法
26.2.6 步骤6:对测试方法进行培训
26.2.7 步骤7:合并缺陷记录
26.3 整合后的团队
第27章 测试管理的约束
27.1 组织架构
27.2 已建立得很好的质量保证部门的特征
27.3 职责划分
27.4 组织关系
27.5 在质量基础设施不存在的情况下使用项目框架
27.6 即兴测试和项目框架
27.7 使用可追溯性/确认矩阵
27.8 进度报告
第五部分 软件测试中的新兴专业领域
第28章 测试过程评估和自动化评估
28.1 测试过程评估
28.2 过程评估方法
28.2.1 步骤1:标识关键元素
28.2.2 步骤2:收集和分析信息
28.2.3 步骤3:分析测试成熟度
28.2.4 步骤4:记录和呈现结果
28.3 测试自动化评估
28.3.1 标识需要自动化的应用
28.3.2 确定最佳测试自动化工具
28.3.3 编写测试脚本的方法
28.3.4 测试执行的方法
28.3.5 测试脚本维护
28.4 测试自动化框架
28.4.1 自动化框架的基本特性
28.4.2 标准自动化框架
第29章 非功能测试
29.1 性能测试
29.2 负载测试
29.3 压力测试
29.4 容量测试
29.5 性能监视
29.6 性能测试的方法
29.7 知识获取过程
29.8 测试开发
29.9 性能测试可交付物
29.10 安全性测试
29.10.1 步骤1:确定安全性测试的范围
29.10.2 步骤2:生成测试用例并执行
29.11 安全性测试的类型
29.11.1 网络扫描
29.11.2 漏洞扫描
29.11.3 密码破译
29.11.4 日志评审
29.11.5 文件完整性检查器
29.11.6 病毒检测器
29.11.7 渗透测试
29.12 易用性测试
29.13 易用性测试的目的
29.13.1 方法和执行
29.13.2 易用性测试的原则
29.13.3 可访问性测试和《康复法案》第508条
29.14 合规性测试
第30章 SOA测试
第31章 敏捷测试
31.1 敏捷用户故事与正式需求对比
31.2 什么是用户故事
31.3 敏捷计划
31.4 敏捷测试的类型
第32章 测试卓越中心
32.1 行业最佳过程
32.2 测试度量
32.3 运营模型
32.4 测试自动化框架
32.5 能力的持续提升
第33章 本土/离岸模型
33.1 步骤1:分析
33.2 步骤2:确定经济上的得失
33.3 步骤3:确定选择标准
33.4 项目管理和监控
33.5 外包方法
33.5.1 本土活动
33.5.2 离岸活动
33.6 实现本土/离岸模型
33.6.1 知识转移
33.6.2 详细设计
33.6.3 基于里程碑的转移
33.6.4 稳定状态
33.6.5 应用管理
33.7 先决条件
33.7.1 关系模型
33.7.2 标准
33.8 本土/离岸方法的收益
33.9 本土/离岸模型的未来
第六部分 现代软件测试工具
第34章 软件测试趋势
34.1 自动捕获/回放测试工具
34.2 测试用例构建工具
34.3 必要条件和充分条件
34.4 测试数据生成策略
34.4.1 生产数据抽样
34.4.2 从零开始
34.4.3 数据播种
34.4.4 根据数据库生成数据
34.4.5 一种基于需求的有效测试用例生成器
第35章 软件测试工具的分类
35.1 测试工具选择检查表
35.2 商业厂商工具描述
35.3 开源自由件厂商工具
35.4 应该考虑使用测试自动化的情况
35.5 不应该考虑测试自动化的情况
第36章 自动化测试工具的评价方法
36.1 步骤1:定义测试需求
36.2 步骤2:设定工具目标
36.3 步骤3a:非正式采购模式下的选择活动
36.3.1 任务1:制定采购计划
36.3.2 任务2:定义选择标准
36.3.3 任务3:确定候选工具
36.3.4 任务4:进行候选工具评审
36.3.5 任务5:为候选工具打分
36.3.6 任务6:选择工具
36.4 步骤3b:正式采购模式下的选择活动
36.4.1 任务1:制定采购计划
36.4.2 任务2:创建技术需求文档
36.4.3 任务3:评审需求
36.4.4 任务4:生成请求建议
36.4.5 任务5:简化建议
36.4.6 任务6:进行技术评估
36.4.7 任务7:选择工具来源第一部分 软件质量透视
第1章 软件测试简史
1.1 历史上软件测试和开发并行
1.2 极限编程
1.3 自动化测试工具的发展
1.3.1 静态捕获/回放工具(不附带脚本语言)
1.3.2 静态捕获/回放工具(具有脚本语言)
1.3.3 可变的捕获/回放工具
第2章 质量保证框架
2.1 什么是质量
2.2 预防与检测
2.3 验证与确认
2.4 软件质量保证
2.5 质量保证的组成
2.5.1 软件测试
2.5.2 质量控制
2.5.3 软件配置管理
2.6 软件质量保证计划
2.7 质量标准
2.7.1 萨班斯-奥克斯利法案
2.7.2 ISO9000
2.7.3 能力成熟度模型
2.7.4 PCMM
2.7.5 CMMI
2.7.6 美国波多里奇国家质量奖
2.8 注释
第3章 测试技术概述
3.1 黑盒测试(功能测试)
3.2 白盒测试(结构测试)
3.3 灰盒测试(功能与结构测试)
3.4 手工测试与自动化测试
3.5 静态测试与动态测试
3.6 软件测试技术的分类
第4章 将需求转换成可测试的测试用例
4.1 概述
4.2 将软件需求作为测试的基础
4.3 需求质量因素
4.3.1 可理解
4.3.2 必需
4.3.3 可修改
4.3.4 非冗余
4.3.5 简洁
4.3.6 可测试
4.3.7 可跟踪
4.3.8 在范围内
4.4 评估需求质量的数值方法
4.5 根据好的需求创建测试用例的过程
4.5.1 步骤1:评审需求
4.5.2 步骤2:编写测试计划
4.5.3 步骤3:确定测试套件
4.5.4 步骤4:命名测试用例
4.5.5 步骤5:编写测试用例描述及目标
4.5.6 步骤6:创建测试用例
4.5.7 步骤7:评审测试用例
4.6 将用例转换为测试用例
4.6.1 步骤1:绘制用例图
4.6.2 步骤2:编写详细的用例文本
4.6.3 步骤3:确定用例场景
4.6.4 步骤4:生成测试用例
4.6.5 步骤5:生成测试数据
4.6.6 小结
4.7 需求不存在或编写粗劣时怎么办
4.7.1 即兴测试
4.7.2 探索性测试
第5章 质量的持续改进过程
5.1 Edward Deming的贡献
5.2 统计方法扮演的角色
5.2.1 因果图
5.2.2 流程图
5.2.3 帕累托图
5.2.4 运行图
5.2.5 直方图
5.2.6 散布图
5.2.7 控制图
5.3 Deming的14条质量原则
5.3.1 第1条:树立始终如一的目标
5.3.2 第2条:采用新的质量观念
5.3.3 第3条:停止对大量审查的依赖
5.3.4 第4条:结束仅靠价签来激励企业的实践活动
5.3.5 第5条:坚持不懈地、永久地改进生产和服务系统
5.3.6 第6条:组织培训及再培训
5.3.7 第7条:确立领导职责
5.3.8 第8条:驱除恐惧
5.3.9 第9条:打破员工区域之间的壁垒
5.3.10 第10条:解除工作口号、训词及目标
5.3.11 第11条:去除数字化目标
5.3.12 第12条:消除阻碍员工自豪感的壁垒
5.3.13 第13条:开设有关教育和再培训方面的强有力的课程
5.3.14 第14条:采取行动完成转变
5.4 通过“计划、执行、检查、改进”实现持续改进
5.5 遵循PDCA循环
第二部分 瀑布测试概述
第6章 概述
6.1 瀑布式开发方法
6.2 “阶段化”持续改进方法
6.3 生命周期测试的心理学
6.4 将软件测试作为持续改进过程
6.5 测试的圣经:软件测试计划
6.6 制定测试计划的主要步骤
6.6.1 步骤1:定义测试目标
6.6.2 步骤2:确定测试方法
6.6.3 步骤3:定义测试环境
6.6.4 步骤4:制定测试规约
6.6.5 步骤5:确定测试日程表
6.6.6 步骤6:评审及批准测试计划
6.7 测试计划的组成
6.8 将技术评审作为持续改进过程
6.9 技术评审的动机
6.10 评审的类型
6.10.1 结构化走查
6.10.2 审查
6.11 参与人员角色
6.12 有效评审的步骤
6.12.1 步骤1:规划评审过程
6.12.2 步骤2:安排评审进度
6.12.3 步骤3:制定评审议程
6.12.4 步骤4:创建评审报告
第7章 需求的静态测试
7.1 通过歧义性评审测试需求
7.2 通过技术评审测试需求
7.3 审查和走查
7.4 检查表
7.5 需求可追溯性矩阵
7.6 制定系统/验收测试计划
第8章 逻辑设计的静态测试
8.1 数据模型、过程模型及其联系
8.2 通过技术评审测试逻辑设计
8.3 细化系统/验收测试计划
第9章 物理设计的静态测试
9.1 通过技术评审测试物理设计
9.2 创建集成测试用例
9.3 集成测试方法
9.3.1 步骤1:标识出单元接口
9.3.2 步骤2:全面协调接口
9.3.3 步骤3:创建集成测试条件
9.3.4 步骤4:评估集成测试条件的完整性
第10章 程序单元设计的静态测试
10.1 通过技术评审测试程序单元设计
10.1.1 顺序结构
10.1.2 选择结构
10.1.3 循环结构
10.2 编写单元测试用例
第11章 代码的静态测试与动态测试
11.1 用技术评审测试编码
11.2 执行测试计划
11.3 单元测试
11.4 集成测试
11.5 系统测试
11.6 验收测试
11.7 缺陷记录
第三部分 螺旋(敏捷)软件测试方法:计划、执行、检查、改进
第12章 开发方法概述
12.1 生命周期开发的局限性
12.2 客户/服务器架构的挑战
12.3 客户/服务器架构中螺旋测试的心理学
12.3.1 新思想
12.3.2 对测试人员/开发人员的理解
12.3.3 项目的目标:把质量保证和开发结合起来
12.3.4 迭代/螺旋式开发方法
12.4 JAD的角色
12.5 原型法的角色
12.6 开发原型的方法
12.6.1 步骤1:开发原型
12.6.2 步骤2:向管理层演示原型
12.6.3 步骤3:向用户演示原型
12.6.4 步骤4:修订并定稿规约
12.6.5 步骤5:开发产品系统
12.7 持续改进螺旋测试方法
第13章 信息收集(计划)
13.1 步骤1:准备访谈
13.1.1 任务1:确定参加访谈的人
13.1.2 任务2:确定议程
13.2 步骤2:执行访谈
13.2.1 任务1:理解项目
13.2.2 任务2:理解项目目标
13.2.3 任务3:理解项目状态
13.2.4 任务4:理解项目计划
13.2.5 任务5:理解项目开发方法
13.2.6 任务6:确定总体业务需求
13.2.7 任务7:进行风险分析
13.3 步骤3:总结访谈成果
13.3.1 任务1:总结访谈
13.3.2 任务2:确认访谈成果
第14章 测试计划(计划)
14.1 步骤1:建立测试计划
14.1.1 任务1:准备引言部分
14.1.2 任务2:定义总体功能需求
14.1.3 任务3:确定手动/自动化测试的类型
14.1.4 任务4:确定测试退出标准
14.1.5 任务5:制定回归测试策略
14.1.6 任务6:定义测试可交付物
14.1.7 任务7:组建测试团队
14.1.8 任务8:搭建测试环境
14.1.9 任务9:定义依赖关系
14.1.10 任务10:创建测试进度表
14.1.11 任务11:选择测试工具
14.1.12 任务12:建立缺陷报告/跟踪规程
14.1.13 任务13:建立变更请求规程
14.1.14 任务14:建立版本控制规程
14.1.15 任务15:定义配置构建规程
14.1.16 任务16:定义项目问题解决规程
14.1.17 任务17:建立报告规程
14.1.18 任务18:定义批准规程
14.2 步骤2:定义度量目标
14.2.1 任务1:定义度量标准
14.2.2 任务2:定义度量要点
14.3 步骤3:测试计划的评审和批准
14.3.1 任务1:评审的日程安排/执行
14.3.2 任务2:获得批准
第15章 测试用例设计(执行)
15.1 步骤1:设计功能测试
15.1.1 任务1:完善功能测试需求
15.1.2 任务2:建立功能/测试矩阵
15.2 步骤2:设计图形用户界面测试
15.2.1 任务1:确定应用程序图形用户界面组件
15.2.2 任务2:设计图形用户界面测试
15.3 步骤3:定义系统/验收测试
15.3.1 任务1:确定可能的系统测试
15.3.2 任务2:设计阶段性系统测试
15.3.3 任务3:确定可能的验收测试
15.4 步骤4:测试设计的评审和批准
15.4.1 任务1:评审的日程安排/准备
15.4.2 任务2:获得批准
第16章 测试开发(执行)
16.1 步骤1:开发测试脚本
16.1.1 任务1:开发手工/自动化图形用户界面/功能测试脚本
16.1.2 任务2:开发手工/自动化的阶段性系统测试脚本
16.2 步骤2:测试开发的评审和批准
16.2.1 任务1:评审的日程安排/准备
16.2.2 任务2:获得批准
第17章 通过可追溯性实现测试覆盖
17.1 用例和可追溯性
17.2 小结
第18章 测试执行/评价(执行/检查)
18.1 步骤1:组织测试内容并进行测试
18.1.1 任务1:回归测试手工/自动化修复上次螺旋过程中的缺陷
18.1.2 任务2:执行新的螺旋测试中的手工/自动化测试
18.1.3 任务3:记录螺旋测试中发现的缺陷
18.2 步骤2:测试评价
18.3 步骤3:发布中期报告
18.3.1 任务1:细化测试进度表
18.3.2 任务2:确定需求变更
第19章 准备下一次螺旋测试(改进)
19.1 步骤1:细化测试
19.1.1 任务1:更新功能/图形用户界面测试
19.1.2 任务2:更新阶段性系统测试
19.1.3 任务3:更新验收测试
19.2 步骤2:重新评价测试团队、规程和环境
19.2.1 任务1:评价测试团队
19.2.2 任务2:评审测试控制规程
19.2.3 任务3:更新测试环境
19.3 步骤3:发布中期测试报告
第20章 进行系统测试
20.1 步骤1:完成系统测试计划
20.1.1 任务1:确定系统测试类型
20.1.2 任务2:确定系统测试的日程安排
20.1.3 任务3:组建系统测试团队
20.1.4 任务4:搭建系统测试环境
20.1.5 任务5:安装系统测试工具
20.2 步骤2:完成系统测试用例
20.2.1 任务1:设计/脚本化性能测试
20.2.2 任务2:设计/脚本化安全性测试
20.2.3 任务3:设计/脚本化容量测试
20.2.4 任务4:设计/脚本化压力测试
20.2.5 任务5:设计/脚本化兼容性测试
20.2.6 任务6:设计/脚本化转换测试
20.2.7 任务7:设计/脚本化易用性测试
20.2.8 任务8:设计/脚本化文档测试
20.2.9 任务9:设计/脚本化备份测试
20.2.10 任务10:设计/脚本化恢复性测试
20.2.11 任务11:设计/脚本化安装测试
20.2.12 任务12:设计/脚本化其他类型的系统测试
20.3 步骤3:系统测试的评审和批准
20.3.1 任务1:评审的日程安排/执行
20.3.2 任务2:获得批准
20.4 步骤4:执行系统测试
20.4.1 任务1:对系统测试中的修正进行回归测试
20.4.2 任务2:执行新的系统测试
20.4.3 任务3:将系统缺陷记录在文档中
第21章 进行验收测试
21.1 步骤1:完成验收测试计划
21.1.1 任务1:确定验收测试类型
21.1.2 任务2:确定验收测试的日程安排
21.1.3 任务3:组建验收测试团队
21.1.4 任务4:建立验收测试环境
21.1.5 任务5:安装验收测试工具
21.2 步骤2:完成验收测试用例
21.2.1 任务1:确定系统级测试用例的子集
21.2.2 任务2:设计/脚本化附加的验收测试
21.3 步骤3:验收测试计划的评审和批准
21.3.1 任务1:评审的日程安排/执行
21.3.2 任务2:获得批准
21.4 步骤4:执行验收测试
21.4.1 任务1:对验收测试中的修正进行回归测试
21.4.2 任务2:执行新的验收测试
21.4.3 任务3:将验收测试缺陷记录在文档中
第22章 总结/报告测试结果
22.1 步骤1:执行数据精简
22.1.1 任务1:确保所有的测试均已执行/解决
22.1.2 任务2:通过测试编号整理测试缺陷
22.1.3 任务3:将剩余的缺陷写入一个矩阵
22.2 步骤2:准备最终的测试报告
22.2.1 任务1:准备项目概述
22.2.2 任务2:总结测试活动
22.2.3 任务3:分析/创建度量图
22.2.4 任务4:总结测试成果/建议
22.3 步骤3:最终测试报告的评审和批准
22.3.1 任务1:评审的日程安排/执行
22.3.2 任务2:获得批准
22.3.3 任务3:发布最终测试报告
第四部分 项目管理方法
第23章 项目管理框架
23.1 项目框架
23.2 产品质量与项目质量
23.3 项目框架的组成
23.4 项目框架与持续质量改进
23.5 项目框架的各个阶段
23.5.1 启动阶段
23.5.2 计划阶段
23.5.3 执行、监视和控制阶段
23.5.4 收尾阶段
23.6 划定项目范围以确保产品质量
23.7 产品范围和项目范围
23.8 项目规章
23.9 范围陈述
23.10 项目经理在质量管理中的作用
23.11 测试经理在质量管理中的作用
23.11.1 分析需求
23.11.2 进行差距分析
23.11.3 避免重复
23.11.4 定义测试数据
23.11.5 确认测试环境
23.11.6 分析测试结果
23.11.7 提交质量
23.12 给测试经理的建议
23.12.1 请求别人的帮助
23.12.2 出现问题时及时沟通
23.12.3 不断更新自身的业务知识
23.12.4 学习新的测试技术和工具
23.12.5 改进过程
23.12.6 创建知识库
23.13 质量项目管理和项目框架的好处
第24章 项目质量管理
24.1 项目质量管理过程
24.2 质量计划
24.3 确定高级项目活动
24.4 测试工作量估算
24.5 测试计划
24.6 工作量估算:项目建模
24.7 质量标准
第25章 缺陷管理过程
25.1 质量控制与缺陷管理
25.2 缺陷发现与分类
25.3 缺陷的优先级
25.4 缺陷的种类
25.5 缺陷跟踪
25.6 缺陷报告
25.7 缺陷总结
25.8 缺陷会议
25.9 缺陷度量
25.10 质量标准
第26章 测试与开发的整合
26.1 质量控制与测试整合
26.2 测试整合
26.2.1 步骤1:组建测试团队
26.2.2 步骤2:确定将要整合的任务
26.2.3 步骤3:定制测试步骤及任务
26.2.4 步骤4:选择整合时间点
26.2.5 步骤5:修改开发方法
26.2.6 步骤6:对测试方法进行培训
26.2.7 步骤7:合并缺陷记录
26.3 整合后的团队
第27章 测试管理的约束
27.1 组织架构
27.2 已建立得很好的质量保证部门的特征
27.3 职责划分
27.4 组织关系
27.5 在质量基础设施不存在的情况下使用项目框架
27.6 即兴测试和项目框架
27.7 使用可追溯性/确认矩阵
27.8 进度报告
第五部分 软件测试中的新兴专业领域
第28章 测试过程评估和自动化评估
28.1 测试过程评估
28.2 过程评估方法
28.2.1 步骤1:标识关键元素
28.2.2 步骤2:收集和分析信息
28.2.3 步骤3:分析测试成熟度
28.2.4 步骤4:记录和呈现结果
28.3 测试自动化评估
28.3.1 标识需要自动化的应用
28.3.2 确定最佳测试自动化工具
28.3.3 编写测试脚本的方法
28.3.4 测试执行的方法
28.3.5 测试脚本维护
28.4 测试自动化框架
28.4.1 自动化框架的基本特性
28.4.2 标准自动化框架
第29章 非功能测试
29.1 性能测试
29.2 负载测试
29.3 压力测试
29.4 容量测试
29.5 性能监视
29.6 性能测试的方法
29.7 知识获取过程
29.8 测试开发
29.9 性能测试可交付物
29.10 安全性测试
29.10.1 步骤1:确定安全性测试的范围
29.10.2 步骤2:生成测试用例并执行
29.11 安全性测试的类型
29.11.1 网络扫描
29.11.2 漏洞扫描
29.11.3 密码破译
29.11.4 日志评审
29.11.5 文件完整性检查器
29.11.6 病毒检测器
29.11.7 渗透测试
29.12 易用性测试
29.13 易用性测试的目的
29.13.1 方法和执行
29.13.2 易用性测试的原则
29.13.3 可访问性测试和《康复法案》第508条
29.14 合规性测试
第30章 SOA测试
第31章 敏捷测试
31.1 敏捷用户故事与正式需求对比
31.2 什么是用户故事
31.3 敏捷计划
31.4 敏捷测试的类型
第32章 测试卓越中心
32.1 行业最佳过程
32.2 测试度量
32.3 运营模型
32.4 测试自动化框架
32.5 能力的持续提升
第33章 本土/离岸模型
33.1 步骤1:分析
33.2 步骤2:确定经济上的得失
33.3 步骤3:确定选择标准
33.4 项目管理和监控
33.5 外包方法
33.5.1 本土活动
33.5.2 离岸活动
33.6 实现本土/离岸模型
33.6.1 知识转移
33.6.2 详细设计
33.6.3 基于里程碑的转移
33.6.4 稳定状态
33.6.5 应用管理
33.7 先决条件
33.7.1 关系模型
33.7.2 标准
33.8 本土/离岸方法的收益
33.9 本土/离岸模型的未来
第六部分 现代软件测试工具
第34章 软件测试趋势
34.1 自动捕获/回放测试工具
34.2 测试用例构建工具
34.3 必要条件和充分条件
34.4 测试数据生成策略
34.4.1 生产数据抽样
34.4.2 从零开始
34.4.3 数据播种
34.4.4 根据数据库生成数据
34.4.5 一种基于需求的有效测试用例生成器
第35章 软件测试工具的分类
35.1 测试工具选择检查表
35.2 商业厂商工具描述
35.3 开源自由件厂商工具
35.4 应该考虑使用测试自动化的情况
35.5 不应该考虑测试自动化的情况
第36章 自动化测试工具的评价方法
36.1 步骤1:定义测试需求
36.2 步骤2:设定工具目标
36.3 步骤3a:非正式采购模式下的选择活动
36.3.1 任务1:制定采购计划
36.3.2 任务2:定义选择标准
36.3.3 任务3:确定候选工具
36.3.4 任务4:进行候选工具评审
36.3.5 任务5:为候选工具打分
36.3.6 任务6:选择工具
36.4 步骤3b:正式采购模式下的选择活动
36.4.1 任务1:制定采购计划
36.4.2 任务2:创建技术需求文档
36.4.3 任务3:评审需求
36.4.4 任务4:生成请求建议
36.4.5 任务5:简化建议
36.4.6 任务6:进行技术评估
36.4.7 任务7:选择工具来源
36.5 步骤4:采购测试工具
36.6 步骤5:制定评价计划
36.7 步骤6:制定工具经理的计划
36.8 步骤7:创建培训计划
36.9 步骤8:接收工具
36.10 步骤9:执行验收测试
36.11 步骤10:召开推介会议
36.12 步骤11:实施修改
36.13 步骤12:培训工具的使用户
36.14 步骤13:在操作环境中使用工具
36.15 步骤14:撰写评估报告
36.16 步骤15:确定目标是否实现
第七部分 附录
附录A 螺旋(敏捷)测试法
附录B 软件质量保证计划
附录C 需求规约
附录D 变更请求表
附录E 测试模板
附录F 检查表
附录G 软件测试技术
术语表
参考文献
索引
36.5 步骤4:采购测试工具
36.6 步骤5:制定评价计划
36.7 步骤6:制定工具经理的计划
36.8 步骤7:创建培训计划
36.9 步骤8:接收工具
36.10 步骤9:执行验收测试
36.11 步骤10:召开推介会议
36.12 步骤11:实施修改
36.13 步骤12:培训工具的使用户
36.14 步骤13:在操作环境中使用工具
36.15 步骤14:撰写评估报告
36.16 步骤15:确定目标是否实现
第七部分 附录
附录A 螺旋(敏捷)测试法
附录B 软件质量保证计划
附录C 需求规约
附录D 变更请求表
附录E 测试模板
附录F 检查表
附录G 软件测试技术
术语表
参考文献
索引
第1章 软件测试简史
1.1 历史上软件测试和开发并行
1.2 极限编程
1.3 自动化测试工具的发展
1.3.1 静态捕获/回放工具(不附带脚本语言)
1.3.2 静态捕获/回放工具(具有脚本语言)
1.3.3 可变的捕获/回放工具
第2章 质量保证框架
2.1 什么是质量
2.2 预防与检测
2.3 验证与确认
2.4 软件质量保证
2.5 质量保证的组成
2.5.1 软件测试
2.5.2 质量控制
2.5.3 软件配置管理
2.6 软件质量保证计划
2.7 质量标准
2.7.1 萨班斯-奥克斯利法案
2.7.2 ISO9000
2.7.3 能力成熟度模型
2.7.4 PCMM
2.7.5 CMMI
2.7.6 美国波多里奇国家质量奖
2.8 注释
第3章 测试技术概述
3.1 黑盒测试(功能测试)
3.2 白盒测试(结构测试)
3.3 灰盒测试(功能与结构测试)
3.4 手工测试与自动化测试
3.5 静态测试与动态测试
3.6 软件测试技术的分类
第4章 将需求转换成可测试的测试用例
4.1 概述
4.2 将软件需求作为测试的基础
4.3 需求质量因素
4.3.1 可理解
4.3.2 必需
4.3.3 可修改
4.3.4 非冗余
4.3.5 简洁
4.3.6 可测试
4.3.7 可跟踪
4.3.8 在范围内
4.4 评估需求质量的数值方法
4.5 根据好的需求创建测试用例的过程
4.5.1 步骤1:评审需求
4.5.2 步骤2:编写测试计划
4.5.3 步骤3:确定测试套件
4.5.4 步骤4:命名测试用例
4.5.5 步骤5:编写测试用例描述及目标
4.5.6 步骤6:创建测试用例
4.5.7 步骤7:评审测试用例
4.6 将用例转换为测试用例
4.6.1 步骤1:绘制用例图
4.6.2 步骤2:编写详细的用例文本
4.6.3 步骤3:确定用例场景
4.6.4 步骤4:生成测试用例
4.6.5 步骤5:生成测试数据
4.6.6 小结
4.7 需求不存在或编写粗劣时怎么办
4.7.1 即兴测试
4.7.2 探索性测试
第5章 质量的持续改进过程
5.1 Edward Deming的贡献
5.2 统计方法扮演的角色
5.2.1 因果图
5.2.2 流程图
5.2.3 帕累托图
5.2.4 运行图
5.2.5 直方图
5.2.6 散布图
5.2.7 控制图
5.3 Deming的14条质量原则
5.3.1 第1条:树立始终如一的目标
5.3.2 第2条:采用新的质量观念
5.3.3 第3条:停止对大量审查的依赖
5.3.4 第4条:结束仅靠价签来激励企业的实践活动
5.3.5 第5条:坚持不懈地、永久地改进生产和服务系统
5.3.6 第6条:组织培训及再培训
5.3.7 第7条:确立领导职责
5.3.8 第8条:驱除恐惧
5.3.9 第9条:打破员工区域之间的壁垒
5.3.10 第10条:解除工作口号、训词及目标
5.3.11 第11条:去除数字化目标
5.3.12 第12条:消除阻碍员工自豪感的壁垒
5.3.13 第13条:开设有关教育和再培训方面的强有力的课程
5.3.14 第14条:采取行动完成转变
5.4 通过“计划、执行、检查、改进”实现持续改进
5.5 遵循PDCA循环
第二部分 瀑布测试概述
第6章 概述
6.1 瀑布式开发方法
6.2 “阶段化”持续改进方法
6.3 生命周期测试的心理学
6.4 将软件测试作为持续改进过程
6.5 测试的圣经:软件测试计划
6.6 制定测试计划的主要步骤
6.6.1 步骤1:定义测试目标
6.6.2 步骤2:确定测试方法
6.6.3 步骤3:定义测试环境
6.6.4 步骤4:制定测试规约
6.6.5 步骤5:确定测试日程表
6.6.6 步骤6:评审及批准测试计划
6.7 测试计划的组成
6.8 将技术评审作为持续改进过程
6.9 技术评审的动机
6.10 评审的类型
6.10.1 结构化走查
6.10.2 审查
6.11 参与人员角色
6.12 有效评审的步骤
6.12.1 步骤1:规划评审过程
6.12.2 步骤2:安排评审进度
6.12.3 步骤3:制定评审议程
6.12.4 步骤4:创建评审报告
第7章 需求的静态测试
7.1 通过歧义性评审测试需求
7.2 通过技术评审测试需求
7.3 审查和走查
7.4 检查表
7.5 需求可追溯性矩阵
7.6 制定系统/验收测试计划
第8章 逻辑设计的静态测试
8.1 数据模型、过程模型及其联系
8.2 通过技术评审测试逻辑设计
8.3 细化系统/验收测试计划
第9章 物理设计的静态测试
9.1 通过技术评审测试物理设计
9.2 创建集成测试用例
9.3 集成测试方法
9.3.1 步骤1:标识出单元接口
9.3.2 步骤2:全面协调接口
9.3.3 步骤3:创建集成测试条件
9.3.4 步骤4:评估集成测试条件的完整性
第10章 程序单元设计的静态测试
10.1 通过技术评审测试程序单元设计
10.1.1 顺序结构
10.1.2 选择结构
10.1.3 循环结构
10.2 编写单元测试用例
第11章 代码的静态测试与动态测试
11.1 用技术评审测试编码
11.2 执行测试计划
11.3 单元测试
11.4 集成测试
11.5 系统测试
11.6 验收测试
11.7 缺陷记录
第三部分 螺旋(敏捷)软件测试方法:计划、执行、检查、改进
第12章 开发方法概述
12.1 生命周期开发的局限性
12.2 客户/服务器架构的挑战
12.3 客户/服务器架构中螺旋测试的心理学
12.3.1 新思想
12.3.2 对测试人员/开发人员的理解
12.3.3 项目的目标:把质量保证和开发结合起来
12.3.4 迭代/螺旋式开发方法
12.4 JAD的角色
12.5 原型法的角色
12.6 开发原型的方法
12.6.1 步骤1:开发原型
12.6.2 步骤2:向管理层演示原型
12.6.3 步骤3:向用户演示原型
12.6.4 步骤4:修订并定稿规约
12.6.5 步骤5:开发产品系统
12.7 持续改进螺旋测试方法
第13章 信息收集(计划)
13.1 步骤1:准备访谈
13.1.1 任务1:确定参加访谈的人
13.1.2 任务2:确定议程
13.2 步骤2:执行访谈
13.2.1 任务1:理解项目
13.2.2 任务2:理解项目目标
13.2.3 任务3:理解项目状态
13.2.4 任务4:理解项目计划
13.2.5 任务5:理解项目开发方法
13.2.6 任务6:确定总体业务需求
13.2.7 任务7:进行风险分析
13.3 步骤3:总结访谈成果
13.3.1 任务1:总结访谈
13.3.2 任务2:确认访谈成果
第14章 测试计划(计划)
14.1 步骤1:建立测试计划
14.1.1 任务1:准备引言部分
14.1.2 任务2:定义总体功能需求
14.1.3 任务3:确定手动/自动化测试的类型
14.1.4 任务4:确定测试退出标准
14.1.5 任务5:制定回归测试策略
14.1.6 任务6:定义测试可交付物
14.1.7 任务7:组建测试团队
14.1.8 任务8:搭建测试环境
14.1.9 任务9:定义依赖关系
14.1.10 任务10:创建测试进度表
14.1.11 任务11:选择测试工具
14.1.12 任务12:建立缺陷报告/跟踪规程
14.1.13 任务13:建立变更请求规程
14.1.14 任务14:建立版本控制规程
14.1.15 任务15:定义配置构建规程
14.1.16 任务16:定义项目问题解决规程
14.1.17 任务17:建立报告规程
14.1.18 任务18:定义批准规程
14.2 步骤2:定义度量目标
14.2.1 任务1:定义度量标准
14.2.2 任务2:定义度量要点
14.3 步骤3:测试计划的评审和批准
14.3.1 任务1:评审的日程安排/执行
14.3.2 任务2:获得批准
第15章 测试用例设计(执行)
15.1 步骤1:设计功能测试
15.1.1 任务1:完善功能测试需求
15.1.2 任务2:建立功能/测试矩阵
15.2 步骤2:设计图形用户界面测试
15.2.1 任务1:确定应用程序图形用户界面组件
15.2.2 任务2:设计图形用户界面测试
15.3 步骤3:定义系统/验收测试
15.3.1 任务1:确定可能的系统测试
15.3.2 任务2:设计阶段性系统测试
15.3.3 任务3:确定可能的验收测试
15.4 步骤4:测试设计的评审和批准
15.4.1 任务1:评审的日程安排/准备
15.4.2 任务2:获得批准
第16章 测试开发(执行)
16.1 步骤1:开发测试脚本
16.1.1 任务1:开发手工/自动化图形用户界面/功能测试脚本
16.1.2 任务2:开发手工/自动化的阶段性系统测试脚本
16.2 步骤2:测试开发的评审和批准
16.2.1 任务1:评审的日程安排/准备
16.2.2 任务2:获得批准
第17章 通过可追溯性实现测试覆盖
17.1 用例和可追溯性
17.2 小结
第18章 测试执行/评价(执行/检查)
18.1 步骤1:组织测试内容并进行测试
18.1.1 任务1:回归测试手工/自动化修复上次螺旋过程中的缺陷
18.1.2 任务2:执行新的螺旋测试中的手工/自动化测试
18.1.3 任务3:记录螺旋测试中发现的缺陷
18.2 步骤2:测试评价
18.3 步骤3:发布中期报告
18.3.1 任务1:细化测试进度表
18.3.2 任务2:确定需求变更
第19章 准备下一次螺旋测试(改进)
19.1 步骤1:细化测试
19.1.1 任务1:更新功能/图形用户界面测试
19.1.2 任务2:更新阶段性系统测试
19.1.3 任务3:更新验收测试
19.2 步骤2:重新评价测试团队、规程和环境
19.2.1 任务1:评价测试团队
19.2.2 任务2:评审测试控制规程
19.2.3 任务3:更新测试环境
19.3 步骤3:发布中期测试报告
第20章 进行系统测试
20.1 步骤1:完成系统测试计划
20.1.1 任务1:确定系统测试类型
20.1.2 任务2:确定系统测试的日程安排
20.1.3 任务3:组建系统测试团队
20.1.4 任务4:搭建系统测试环境
20.1.5 任务5:安装系统测试工具
20.2 步骤2:完成系统测试用例
20.2.1 任务1:设计/脚本化性能测试
20.2.2 任务2:设计/脚本化安全性测试
20.2.3 任务3:设计/脚本化容量测试
20.2.4 任务4:设计/脚本化压力测试
20.2.5 任务5:设计/脚本化兼容性测试
20.2.6 任务6:设计/脚本化转换测试
20.2.7 任务7:设计/脚本化易用性测试
20.2.8 任务8:设计/脚本化文档测试
20.2.9 任务9:设计/脚本化备份测试
20.2.10 任务10:设计/脚本化恢复性测试
20.2.11 任务11:设计/脚本化安装测试
20.2.12 任务12:设计/脚本化其他类型的系统测试
20.3 步骤3:系统测试的评审和批准
20.3.1 任务1:评审的日程安排/执行
20.3.2 任务2:获得批准
20.4 步骤4:执行系统测试
20.4.1 任务1:对系统测试中的修正进行回归测试
20.4.2 任务2:执行新的系统测试
20.4.3 任务3:将系统缺陷记录在文档中
第21章 进行验收测试
21.1 步骤1:完成验收测试计划
21.1.1 任务1:确定验收测试类型
21.1.2 任务2:确定验收测试的日程安排
21.1.3 任务3:组建验收测试团队
21.1.4 任务4:建立验收测试环境
21.1.5 任务5:安装验收测试工具
21.2 步骤2:完成验收测试用例
21.2.1 任务1:确定系统级测试用例的子集
21.2.2 任务2:设计/脚本化附加的验收测试
21.3 步骤3:验收测试计划的评审和批准
21.3.1 任务1:评审的日程安排/执行
21.3.2 任务2:获得批准
21.4 步骤4:执行验收测试
21.4.1 任务1:对验收测试中的修正进行回归测试
21.4.2 任务2:执行新的验收测试
21.4.3 任务3:将验收测试缺陷记录在文档中
第22章 总结/报告测试结果
22.1 步骤1:执行数据精简
22.1.1 任务1:确保所有的测试均已执行/解决
22.1.2 任务2:通过测试编号整理测试缺陷
22.1.3 任务3:将剩余的缺陷写入一个矩阵
22.2 步骤2:准备最终的测试报告
22.2.1 任务1:准备项目概述
22.2.2 任务2:总结测试活动
22.2.3 任务3:分析/创建度量图
22.2.4 任务4:总结测试成果/建议
22.3 步骤3:最终测试报告的评审和批准
22.3.1 任务1:评审的日程安排/执行
22.3.2 任务2:获得批准
22.3.3 任务3:发布最终测试报告
第四部分 项目管理方法
第23章 项目管理框架
23.1 项目框架
23.2 产品质量与项目质量
23.3 项目框架的组成
23.4 项目框架与持续质量改进
23.5 项目框架的各个阶段
23.5.1 启动阶段
23.5.2 计划阶段
23.5.3 执行、监视和控制阶段
23.5.4 收尾阶段
23.6 划定项目范围以确保产品质量
23.7 产品范围和项目范围
23.8 项目规章
23.9 范围陈述
23.10 项目经理在质量管理中的作用
23.11 测试经理在质量管理中的作用
23.11.1 分析需求
23.11.2 进行差距分析
23.11.3 避免重复
23.11.4 定义测试数据
23.11.5 确认测试环境
23.11.6 分析测试结果
23.11.7 提交质量
23.12 给测试经理的建议
23.12.1 请求别人的帮助
23.12.2 出现问题时及时沟通
23.12.3 不断更新自身的业务知识
23.12.4 学习新的测试技术和工具
23.12.5 改进过程
23.12.6 创建知识库
23.13 质量项目管理和项目框架的好处
第24章 项目质量管理
24.1 项目质量管理过程
24.2 质量计划
24.3 确定高级项目活动
24.4 测试工作量估算
24.5 测试计划
24.6 工作量估算:项目建模
24.7 质量标准
第25章 缺陷管理过程
25.1 质量控制与缺陷管理
25.2 缺陷发现与分类
25.3 缺陷的优先级
25.4 缺陷的种类
25.5 缺陷跟踪
25.6 缺陷报告
25.7 缺陷总结
25.8 缺陷会议
25.9 缺陷度量
25.10 质量标准
第26章 测试与开发的整合
26.1 质量控制与测试整合
26.2 测试整合
26.2.1 步骤1:组建测试团队
26.2.2 步骤2:确定将要整合的任务
26.2.3 步骤3:定制测试步骤及任务
26.2.4 步骤4:选择整合时间点
26.2.5 步骤5:修改开发方法
26.2.6 步骤6:对测试方法进行培训
26.2.7 步骤7:合并缺陷记录
26.3 整合后的团队
第27章 测试管理的约束
27.1 组织架构
27.2 已建立得很好的质量保证部门的特征
27.3 职责划分
27.4 组织关系
27.5 在质量基础设施不存在的情况下使用项目框架
27.6 即兴测试和项目框架
27.7 使用可追溯性/确认矩阵
27.8 进度报告
第五部分 软件测试中的新兴专业领域
第28章 测试过程评估和自动化评估
28.1 测试过程评估
28.2 过程评估方法
28.2.1 步骤1:标识关键元素
28.2.2 步骤2:收集和分析信息
28.2.3 步骤3:分析测试成熟度
28.2.4 步骤4:记录和呈现结果
28.3 测试自动化评估
28.3.1 标识需要自动化的应用
28.3.2 确定最佳测试自动化工具
28.3.3 编写测试脚本的方法
28.3.4 测试执行的方法
28.3.5 测试脚本维护
28.4 测试自动化框架
28.4.1 自动化框架的基本特性
28.4.2 标准自动化框架
第29章 非功能测试
29.1 性能测试
29.2 负载测试
29.3 压力测试
29.4 容量测试
29.5 性能监视
29.6 性能测试的方法
29.7 知识获取过程
29.8 测试开发
29.9 性能测试可交付物
29.10 安全性测试
29.10.1 步骤1:确定安全性测试的范围
29.10.2 步骤2:生成测试用例并执行
29.11 安全性测试的类型
29.11.1 网络扫描
29.11.2 漏洞扫描
29.11.3 密码破译
29.11.4 日志评审
29.11.5 文件完整性检查器
29.11.6 病毒检测器
29.11.7 渗透测试
29.12 易用性测试
29.13 易用性测试的目的
29.13.1 方法和执行
29.13.2 易用性测试的原则
29.13.3 可访问性测试和《康复法案》第508条
29.14 合规性测试
第30章 SOA测试
第31章 敏捷测试
31.1 敏捷用户故事与正式需求对比
31.2 什么是用户故事
31.3 敏捷计划
31.4 敏捷测试的类型
第32章 测试卓越中心
32.1 行业最佳过程
32.2 测试度量
32.3 运营模型
32.4 测试自动化框架
32.5 能力的持续提升
第33章 本土/离岸模型
33.1 步骤1:分析
33.2 步骤2:确定经济上的得失
33.3 步骤3:确定选择标准
33.4 项目管理和监控
33.5 外包方法
33.5.1 本土活动
33.5.2 离岸活动
33.6 实现本土/离岸模型
33.6.1 知识转移
33.6.2 详细设计
33.6.3 基于里程碑的转移
33.6.4 稳定状态
33.6.5 应用管理
33.7 先决条件
33.7.1 关系模型
33.7.2 标准
33.8 本土/离岸方法的收益
33.9 本土/离岸模型的未来
第六部分 现代软件测试工具
第34章 软件测试趋势
34.1 自动捕获/回放测试工具
34.2 测试用例构建工具
34.3 必要条件和充分条件
34.4 测试数据生成策略
34.4.1 生产数据抽样
34.4.2 从零开始
34.4.3 数据播种
34.4.4 根据数据库生成数据
34.4.5 一种基于需求的有效测试用例生成器
第35章 软件测试工具的分类
35.1 测试工具选择检查表
35.2 商业厂商工具描述
35.3 开源自由件厂商工具
35.4 应该考虑使用测试自动化的情况
35.5 不应该考虑测试自动化的情况
第36章 自动化测试工具的评价方法
36.1 步骤1:定义测试需求
36.2 步骤2:设定工具目标
36.3 步骤3a:非正式采购模式下的选择活动
36.3.1 任务1:制定采购计划
36.3.2 任务2:定义选择标准
36.3.3 任务3:确定候选工具
36.3.4 任务4:进行候选工具评审
36.3.5 任务5:为候选工具打分
36.3.6 任务6:选择工具
36.4 步骤3b:正式采购模式下的选择活动
36.4.1 任务1:制定采购计划
36.4.2 任务2:创建技术需求文档
36.4.3 任务3:评审需求
36.4.4 任务4:生成请求建议
36.4.5 任务5:简化建议
36.4.6 任务6:进行技术评估
36.4.7 任务7:选择工具来源第一部分 软件质量透视
第1章 软件测试简史
1.1 历史上软件测试和开发并行
1.2 极限编程
1.3 自动化测试工具的发展
1.3.1 静态捕获/回放工具(不附带脚本语言)
1.3.2 静态捕获/回放工具(具有脚本语言)
1.3.3 可变的捕获/回放工具
第2章 质量保证框架
2.1 什么是质量
2.2 预防与检测
2.3 验证与确认
2.4 软件质量保证
2.5 质量保证的组成
2.5.1 软件测试
2.5.2 质量控制
2.5.3 软件配置管理
2.6 软件质量保证计划
2.7 质量标准
2.7.1 萨班斯-奥克斯利法案
2.7.2 ISO9000
2.7.3 能力成熟度模型
2.7.4 PCMM
2.7.5 CMMI
2.7.6 美国波多里奇国家质量奖
2.8 注释
第3章 测试技术概述
3.1 黑盒测试(功能测试)
3.2 白盒测试(结构测试)
3.3 灰盒测试(功能与结构测试)
3.4 手工测试与自动化测试
3.5 静态测试与动态测试
3.6 软件测试技术的分类
第4章 将需求转换成可测试的测试用例
4.1 概述
4.2 将软件需求作为测试的基础
4.3 需求质量因素
4.3.1 可理解
4.3.2 必需
4.3.3 可修改
4.3.4 非冗余
4.3.5 简洁
4.3.6 可测试
4.3.7 可跟踪
4.3.8 在范围内
4.4 评估需求质量的数值方法
4.5 根据好的需求创建测试用例的过程
4.5.1 步骤1:评审需求
4.5.2 步骤2:编写测试计划
4.5.3 步骤3:确定测试套件
4.5.4 步骤4:命名测试用例
4.5.5 步骤5:编写测试用例描述及目标
4.5.6 步骤6:创建测试用例
4.5.7 步骤7:评审测试用例
4.6 将用例转换为测试用例
4.6.1 步骤1:绘制用例图
4.6.2 步骤2:编写详细的用例文本
4.6.3 步骤3:确定用例场景
4.6.4 步骤4:生成测试用例
4.6.5 步骤5:生成测试数据
4.6.6 小结
4.7 需求不存在或编写粗劣时怎么办
4.7.1 即兴测试
4.7.2 探索性测试
第5章 质量的持续改进过程
5.1 Edward Deming的贡献
5.2 统计方法扮演的角色
5.2.1 因果图
5.2.2 流程图
5.2.3 帕累托图
5.2.4 运行图
5.2.5 直方图
5.2.6 散布图
5.2.7 控制图
5.3 Deming的14条质量原则
5.3.1 第1条:树立始终如一的目标
5.3.2 第2条:采用新的质量观念
5.3.3 第3条:停止对大量审查的依赖
5.3.4 第4条:结束仅靠价签来激励企业的实践活动
5.3.5 第5条:坚持不懈地、永久地改进生产和服务系统
5.3.6 第6条:组织培训及再培训
5.3.7 第7条:确立领导职责
5.3.8 第8条:驱除恐惧
5.3.9 第9条:打破员工区域之间的壁垒
5.3.10 第10条:解除工作口号、训词及目标
5.3.11 第11条:去除数字化目标
5.3.12 第12条:消除阻碍员工自豪感的壁垒
5.3.13 第13条:开设有关教育和再培训方面的强有力的课程
5.3.14 第14条:采取行动完成转变
5.4 通过“计划、执行、检查、改进”实现持续改进
5.5 遵循PDCA循环
第二部分 瀑布测试概述
第6章 概述
6.1 瀑布式开发方法
6.2 “阶段化”持续改进方法
6.3 生命周期测试的心理学
6.4 将软件测试作为持续改进过程
6.5 测试的圣经:软件测试计划
6.6 制定测试计划的主要步骤
6.6.1 步骤1:定义测试目标
6.6.2 步骤2:确定测试方法
6.6.3 步骤3:定义测试环境
6.6.4 步骤4:制定测试规约
6.6.5 步骤5:确定测试日程表
6.6.6 步骤6:评审及批准测试计划
6.7 测试计划的组成
6.8 将技术评审作为持续改进过程
6.9 技术评审的动机
6.10 评审的类型
6.10.1 结构化走查
6.10.2 审查
6.11 参与人员角色
6.12 有效评审的步骤
6.12.1 步骤1:规划评审过程
6.12.2 步骤2:安排评审进度
6.12.3 步骤3:制定评审议程
6.12.4 步骤4:创建评审报告
第7章 需求的静态测试
7.1 通过歧义性评审测试需求
7.2 通过技术评审测试需求
7.3 审查和走查
7.4 检查表
7.5 需求可追溯性矩阵
7.6 制定系统/验收测试计划
第8章 逻辑设计的静态测试
8.1 数据模型、过程模型及其联系
8.2 通过技术评审测试逻辑设计
8.3 细化系统/验收测试计划
第9章 物理设计的静态测试
9.1 通过技术评审测试物理设计
9.2 创建集成测试用例
9.3 集成测试方法
9.3.1 步骤1:标识出单元接口
9.3.2 步骤2:全面协调接口
9.3.3 步骤3:创建集成测试条件
9.3.4 步骤4:评估集成测试条件的完整性
第10章 程序单元设计的静态测试
10.1 通过技术评审测试程序单元设计
10.1.1 顺序结构
10.1.2 选择结构
10.1.3 循环结构
10.2 编写单元测试用例
第11章 代码的静态测试与动态测试
11.1 用技术评审测试编码
11.2 执行测试计划
11.3 单元测试
11.4 集成测试
11.5 系统测试
11.6 验收测试
11.7 缺陷记录
第三部分 螺旋(敏捷)软件测试方法:计划、执行、检查、改进
第12章 开发方法概述
12.1 生命周期开发的局限性
12.2 客户/服务器架构的挑战
12.3 客户/服务器架构中螺旋测试的心理学
12.3.1 新思想
12.3.2 对测试人员/开发人员的理解
12.3.3 项目的目标:把质量保证和开发结合起来
12.3.4 迭代/螺旋式开发方法
12.4 JAD的角色
12.5 原型法的角色
12.6 开发原型的方法
12.6.1 步骤1:开发原型
12.6.2 步骤2:向管理层演示原型
12.6.3 步骤3:向用户演示原型
12.6.4 步骤4:修订并定稿规约
12.6.5 步骤5:开发产品系统
12.7 持续改进螺旋测试方法
第13章 信息收集(计划)
13.1 步骤1:准备访谈
13.1.1 任务1:确定参加访谈的人
13.1.2 任务2:确定议程
13.2 步骤2:执行访谈
13.2.1 任务1:理解项目
13.2.2 任务2:理解项目目标
13.2.3 任务3:理解项目状态
13.2.4 任务4:理解项目计划
13.2.5 任务5:理解项目开发方法
13.2.6 任务6:确定总体业务需求
13.2.7 任务7:进行风险分析
13.3 步骤3:总结访谈成果
13.3.1 任务1:总结访谈
13.3.2 任务2:确认访谈成果
第14章 测试计划(计划)
14.1 步骤1:建立测试计划
14.1.1 任务1:准备引言部分
14.1.2 任务2:定义总体功能需求
14.1.3 任务3:确定手动/自动化测试的类型
14.1.4 任务4:确定测试退出标准
14.1.5 任务5:制定回归测试策略
14.1.6 任务6:定义测试可交付物
14.1.7 任务7:组建测试团队
14.1.8 任务8:搭建测试环境
14.1.9 任务9:定义依赖关系
14.1.10 任务10:创建测试进度表
14.1.11 任务11:选择测试工具
14.1.12 任务12:建立缺陷报告/跟踪规程
14.1.13 任务13:建立变更请求规程
14.1.14 任务14:建立版本控制规程
14.1.15 任务15:定义配置构建规程
14.1.16 任务16:定义项目问题解决规程
14.1.17 任务17:建立报告规程
14.1.18 任务18:定义批准规程
14.2 步骤2:定义度量目标
14.2.1 任务1:定义度量标准
14.2.2 任务2:定义度量要点
14.3 步骤3:测试计划的评审和批准
14.3.1 任务1:评审的日程安排/执行
14.3.2 任务2:获得批准
第15章 测试用例设计(执行)
15.1 步骤1:设计功能测试
15.1.1 任务1:完善功能测试需求
15.1.2 任务2:建立功能/测试矩阵
15.2 步骤2:设计图形用户界面测试
15.2.1 任务1:确定应用程序图形用户界面组件
15.2.2 任务2:设计图形用户界面测试
15.3 步骤3:定义系统/验收测试
15.3.1 任务1:确定可能的系统测试
15.3.2 任务2:设计阶段性系统测试
15.3.3 任务3:确定可能的验收测试
15.4 步骤4:测试设计的评审和批准
15.4.1 任务1:评审的日程安排/准备
15.4.2 任务2:获得批准
第16章 测试开发(执行)
16.1 步骤1:开发测试脚本
16.1.1 任务1:开发手工/自动化图形用户界面/功能测试脚本
16.1.2 任务2:开发手工/自动化的阶段性系统测试脚本
16.2 步骤2:测试开发的评审和批准
16.2.1 任务1:评审的日程安排/准备
16.2.2 任务2:获得批准
第17章 通过可追溯性实现测试覆盖
17.1 用例和可追溯性
17.2 小结
第18章 测试执行/评价(执行/检查)
18.1 步骤1:组织测试内容并进行测试
18.1.1 任务1:回归测试手工/自动化修复上次螺旋过程中的缺陷
18.1.2 任务2:执行新的螺旋测试中的手工/自动化测试
18.1.3 任务3:记录螺旋测试中发现的缺陷
18.2 步骤2:测试评价
18.3 步骤3:发布中期报告
18.3.1 任务1:细化测试进度表
18.3.2 任务2:确定需求变更
第19章 准备下一次螺旋测试(改进)
19.1 步骤1:细化测试
19.1.1 任务1:更新功能/图形用户界面测试
19.1.2 任务2:更新阶段性系统测试
19.1.3 任务3:更新验收测试
19.2 步骤2:重新评价测试团队、规程和环境
19.2.1 任务1:评价测试团队
19.2.2 任务2:评审测试控制规程
19.2.3 任务3:更新测试环境
19.3 步骤3:发布中期测试报告
第20章 进行系统测试
20.1 步骤1:完成系统测试计划
20.1.1 任务1:确定系统测试类型
20.1.2 任务2:确定系统测试的日程安排
20.1.3 任务3:组建系统测试团队
20.1.4 任务4:搭建系统测试环境
20.1.5 任务5:安装系统测试工具
20.2 步骤2:完成系统测试用例
20.2.1 任务1:设计/脚本化性能测试
20.2.2 任务2:设计/脚本化安全性测试
20.2.3 任务3:设计/脚本化容量测试
20.2.4 任务4:设计/脚本化压力测试
20.2.5 任务5:设计/脚本化兼容性测试
20.2.6 任务6:设计/脚本化转换测试
20.2.7 任务7:设计/脚本化易用性测试
20.2.8 任务8:设计/脚本化文档测试
20.2.9 任务9:设计/脚本化备份测试
20.2.10 任务10:设计/脚本化恢复性测试
20.2.11 任务11:设计/脚本化安装测试
20.2.12 任务12:设计/脚本化其他类型的系统测试
20.3 步骤3:系统测试的评审和批准
20.3.1 任务1:评审的日程安排/执行
20.3.2 任务2:获得批准
20.4 步骤4:执行系统测试
20.4.1 任务1:对系统测试中的修正进行回归测试
20.4.2 任务2:执行新的系统测试
20.4.3 任务3:将系统缺陷记录在文档中
第21章 进行验收测试
21.1 步骤1:完成验收测试计划
21.1.1 任务1:确定验收测试类型
21.1.2 任务2:确定验收测试的日程安排
21.1.3 任务3:组建验收测试团队
21.1.4 任务4:建立验收测试环境
21.1.5 任务5:安装验收测试工具
21.2 步骤2:完成验收测试用例
21.2.1 任务1:确定系统级测试用例的子集
21.2.2 任务2:设计/脚本化附加的验收测试
21.3 步骤3:验收测试计划的评审和批准
21.3.1 任务1:评审的日程安排/执行
21.3.2 任务2:获得批准
21.4 步骤4:执行验收测试
21.4.1 任务1:对验收测试中的修正进行回归测试
21.4.2 任务2:执行新的验收测试
21.4.3 任务3:将验收测试缺陷记录在文档中
第22章 总结/报告测试结果
22.1 步骤1:执行数据精简
22.1.1 任务1:确保所有的测试均已执行/解决
22.1.2 任务2:通过测试编号整理测试缺陷
22.1.3 任务3:将剩余的缺陷写入一个矩阵
22.2 步骤2:准备最终的测试报告
22.2.1 任务1:准备项目概述
22.2.2 任务2:总结测试活动
22.2.3 任务3:分析/创建度量图
22.2.4 任务4:总结测试成果/建议
22.3 步骤3:最终测试报告的评审和批准
22.3.1 任务1:评审的日程安排/执行
22.3.2 任务2:获得批准
22.3.3 任务3:发布最终测试报告
第四部分 项目管理方法
第23章 项目管理框架
23.1 项目框架
23.2 产品质量与项目质量
23.3 项目框架的组成
23.4 项目框架与持续质量改进
23.5 项目框架的各个阶段
23.5.1 启动阶段
23.5.2 计划阶段
23.5.3 执行、监视和控制阶段
23.5.4 收尾阶段
23.6 划定项目范围以确保产品质量
23.7 产品范围和项目范围
23.8 项目规章
23.9 范围陈述
23.10 项目经理在质量管理中的作用
23.11 测试经理在质量管理中的作用
23.11.1 分析需求
23.11.2 进行差距分析
23.11.3 避免重复
23.11.4 定义测试数据
23.11.5 确认测试环境
23.11.6 分析测试结果
23.11.7 提交质量
23.12 给测试经理的建议
23.12.1 请求别人的帮助
23.12.2 出现问题时及时沟通
23.12.3 不断更新自身的业务知识
23.12.4 学习新的测试技术和工具
23.12.5 改进过程
23.12.6 创建知识库
23.13 质量项目管理和项目框架的好处
第24章 项目质量管理
24.1 项目质量管理过程
24.2 质量计划
24.3 确定高级项目活动
24.4 测试工作量估算
24.5 测试计划
24.6 工作量估算:项目建模
24.7 质量标准
第25章 缺陷管理过程
25.1 质量控制与缺陷管理
25.2 缺陷发现与分类
25.3 缺陷的优先级
25.4 缺陷的种类
25.5 缺陷跟踪
25.6 缺陷报告
25.7 缺陷总结
25.8 缺陷会议
25.9 缺陷度量
25.10 质量标准
第26章 测试与开发的整合
26.1 质量控制与测试整合
26.2 测试整合
26.2.1 步骤1:组建测试团队
26.2.2 步骤2:确定将要整合的任务
26.2.3 步骤3:定制测试步骤及任务
26.2.4 步骤4:选择整合时间点
26.2.5 步骤5:修改开发方法
26.2.6 步骤6:对测试方法进行培训
26.2.7 步骤7:合并缺陷记录
26.3 整合后的团队
第27章 测试管理的约束
27.1 组织架构
27.2 已建立得很好的质量保证部门的特征
27.3 职责划分
27.4 组织关系
27.5 在质量基础设施不存在的情况下使用项目框架
27.6 即兴测试和项目框架
27.7 使用可追溯性/确认矩阵
27.8 进度报告
第五部分 软件测试中的新兴专业领域
第28章 测试过程评估和自动化评估
28.1 测试过程评估
28.2 过程评估方法
28.2.1 步骤1:标识关键元素
28.2.2 步骤2:收集和分析信息
28.2.3 步骤3:分析测试成熟度
28.2.4 步骤4:记录和呈现结果
28.3 测试自动化评估
28.3.1 标识需要自动化的应用
28.3.2 确定最佳测试自动化工具
28.3.3 编写测试脚本的方法
28.3.4 测试执行的方法
28.3.5 测试脚本维护
28.4 测试自动化框架
28.4.1 自动化框架的基本特性
28.4.2 标准自动化框架
第29章 非功能测试
29.1 性能测试
29.2 负载测试
29.3 压力测试
29.4 容量测试
29.5 性能监视
29.6 性能测试的方法
29.7 知识获取过程
29.8 测试开发
29.9 性能测试可交付物
29.10 安全性测试
29.10.1 步骤1:确定安全性测试的范围
29.10.2 步骤2:生成测试用例并执行
29.11 安全性测试的类型
29.11.1 网络扫描
29.11.2 漏洞扫描
29.11.3 密码破译
29.11.4 日志评审
29.11.5 文件完整性检查器
29.11.6 病毒检测器
29.11.7 渗透测试
29.12 易用性测试
29.13 易用性测试的目的
29.13.1 方法和执行
29.13.2 易用性测试的原则
29.13.3 可访问性测试和《康复法案》第508条
29.14 合规性测试
第30章 SOA测试
第31章 敏捷测试
31.1 敏捷用户故事与正式需求对比
31.2 什么是用户故事
31.3 敏捷计划
31.4 敏捷测试的类型
第32章 测试卓越中心
32.1 行业最佳过程
32.2 测试度量
32.3 运营模型
32.4 测试自动化框架
32.5 能力的持续提升
第33章 本土/离岸模型
33.1 步骤1:分析
33.2 步骤2:确定经济上的得失
33.3 步骤3:确定选择标准
33.4 项目管理和监控
33.5 外包方法
33.5.1 本土活动
33.5.2 离岸活动
33.6 实现本土/离岸模型
33.6.1 知识转移
33.6.2 详细设计
33.6.3 基于里程碑的转移
33.6.4 稳定状态
33.6.5 应用管理
33.7 先决条件
33.7.1 关系模型
33.7.2 标准
33.8 本土/离岸方法的收益
33.9 本土/离岸模型的未来
第六部分 现代软件测试工具
第34章 软件测试趋势
34.1 自动捕获/回放测试工具
34.2 测试用例构建工具
34.3 必要条件和充分条件
34.4 测试数据生成策略
34.4.1 生产数据抽样
34.4.2 从零开始
34.4.3 数据播种
34.4.4 根据数据库生成数据
34.4.5 一种基于需求的有效测试用例生成器
第35章 软件测试工具的分类
35.1 测试工具选择检查表
35.2 商业厂商工具描述
35.3 开源自由件厂商工具
35.4 应该考虑使用测试自动化的情况
35.5 不应该考虑测试自动化的情况
第36章 自动化测试工具的评价方法
36.1 步骤1:定义测试需求
36.2 步骤2:设定工具目标
36.3 步骤3a:非正式采购模式下的选择活动
36.3.1 任务1:制定采购计划
36.3.2 任务2:定义选择标准
36.3.3 任务3:确定候选工具
36.3.4 任务4:进行候选工具评审
36.3.5 任务5:为候选工具打分
36.3.6 任务6:选择工具
36.4 步骤3b:正式采购模式下的选择活动
36.4.1 任务1:制定采购计划
36.4.2 任务2:创建技术需求文档
36.4.3 任务3:评审需求
36.4.4 任务4:生成请求建议
36.4.5 任务5:简化建议
36.4.6 任务6:进行技术评估
36.4.7 任务7:选择工具来源
36.5 步骤4:采购测试工具
36.6 步骤5:制定评价计划
36.7 步骤6:制定工具经理的计划
36.8 步骤7:创建培训计划
36.9 步骤8:接收工具
36.10 步骤9:执行验收测试
36.11 步骤10:召开推介会议
36.12 步骤11:实施修改
36.13 步骤12:培训工具的使用户
36.14 步骤13:在操作环境中使用工具
36.15 步骤14:撰写评估报告
36.16 步骤15:确定目标是否实现
第七部分 附录
附录A 螺旋(敏捷)测试法
附录B 软件质量保证计划
附录C 需求规约
附录D 变更请求表
附录E 测试模板
附录F 检查表
附录G 软件测试技术
术语表
参考文献
索引
36.5 步骤4:采购测试工具
36.6 步骤5:制定评价计划
36.7 步骤6:制定工具经理的计划
36.8 步骤7:创建培训计划
36.9 步骤8:接收工具
36.10 步骤9:执行验收测试
36.11 步骤10:召开推介会议
36.12 步骤11:实施修改
36.13 步骤12:培训工具的使用户
36.14 步骤13:在操作环境中使用工具
36.15 步骤14:撰写评估报告
36.16 步骤15:确定目标是否实现
第七部分 附录
附录A 螺旋(敏捷)测试法
附录B 软件质量保证计划
附录C 需求规约
附录D 变更请求表
附录E 测试模板
附录F 检查表
附录G 软件测试技术
术语表
参考文献
索引
猜您喜欢