
编辑推荐
本书从测试过程、测试管理、评审、缺陷管理、测试过程改进、测试工具及自动化,以及人员管理等几个方面,全面介绍了测试经理在测试过程中需要关注的流程、测试文档、管理技术与方法、测试管理工具与自动化等内容
目录
第1章测试过程 1
1.1简介 2
1.2测试计划、监督与控制 3
1.2.1测试计划 3
1.2.2测试监督和控制 8
1.3测试分析 9
1.3.1影响测试条件详细程度的因素 10
1.3.2测试条件详细化的优点 12
1.3.3测试条件详细化的缺点 13
1.3.4测试条件详细化的适合场景 13
1.3.5测试条件简单化的适合场景 14
1.4测试设计 15
1.4.1测试设计中的可追溯性 16
1.4.2概要测试用例和详细测试用例 17
1.5测试实施 18
1.5.1测试执行优先级 18
1.5.2测试执行入口准则 19
1.5.3测试执行进度 20
1.5.4尽早测试实施的优缺点 21
1.6测试执行 22
1.6.1选择合适的测试策略 23
1.6.2测试经理在测试执行中的职责 24
1.6.3测试结果比较 25
1.6.4确认测试和回归测试 26
1.6.5测试日志 27
1.7评估出口准则和报告 27
1.7.1评估出口准则 27
1.7.2测试报告 28
1.8测试结束活动 29
小结 30
模拟题 32
第2章测试管理 42
2.1简介 44
2.2一定条件下的测试管理 46
2.2.1了解利益干系人 46
2.2.2软件开发生命周期其他活动及工作产品 47
2.2.3测试活动和软件开发生命周期其他活动的整合 49
2.2.4管理非功能性测试 52
2.2.5管理基于经验的测试 53
2.3基于风险的测试和其他测试优先级设定以及工作量分配的方法 56
2.3.1基于风险的测试 56
2.3.2基于风险的测试技术 66
2.3.3测试用例选择的其他技术 69
2.3.4测试过程中的测试优先级设定和工作量分配 71
2.4测试文档和其他工作产品 72
2.4.1测试方针 72
2.4.2测试策略 73
2.4.3主测试计划 75
2.4.4级别测试计划 84
2.4.5项目风险管理 91
2.4.6其他的测试工作产品 91
2.5测试估算 92
2.5.1测试估算的影响因素 94
2.5.2基于百分比的测试估算 96
2.5.3基于专家团队的测试估算 97
2.5.4基于类似项目的测试估算 98
2.5.5基于工作分解结构的测试估算 99
2.6定义和使用测试度量 100
2.6.1产品风险 101
2.6.2缺陷 104
2.6.3测试 107
2.6.4覆盖率 110
2.6.5信心 112
2.7测试的商业价值 116
2.7.1预防成本 116
2.7.2检测成本 117
2.7.3内部失效成本 117
2.7.4外部失效成本 118
2.8分布式测试、外包以及内包测试 122
2.8.1分布式测试 122
2.8.2外包测试 123
2.8.3内包测试 124
2.8.4风险 125
2.9管理行业标准的使用 127
2.9.1标准的来源和有效性 127
2.9.2国际标准 128
2.9.3国家标准 129
2.9.4特定领域标准 131
2.9.5其他标准 132
小结 132
模拟题 134
第3章评审 151
3.1简介 152
3.2管理评审和审计 153
3.2.1管理评审 153
3.2.2审计 154
3.2.3案例分析:成功实施评审活动 154
3.3对评审进行管理 159
3.3.1评审基本原则 159
3.3.2评审影响因素 160
3.4评审度量 163
3.5管理正式评审 164
小结 165
模拟题 166
第4章缺陷管理 172
4.1简介 173
4.2缺陷生命周期和软件开发生命周期 173
4.2.1缺陷工作流程和状态 174
4.2.2无效和重复缺陷的管理 182
4.2.3跨职能缺陷管理 183
4.3缺陷报告信息 184
4.4使用缺陷报告信息评估过程能力 186
小结 188
模拟题 189
第5章改进测试过程 193
5.1简介 193
5.2测试改进过程 194
5.2.1过程改进的介绍 194
5.2.2过程改进的类型 194
5.3改进测试过程 195
5.4使用TMMi改进测试过程 196
5.4.1初始级 197
5.4.2管理级 197
5.4.3定义级 198
5.4.4度量级 198
5.4.5优化级 199
5.5使用TPI-Next改进测试过程 200
5.6使用CTP改进测试过程 202
5.6.1模型结构 202
5.6.2评估模型 205
5.7使用STEP改进测试过程 206
5.7.1组成 206
5.7.2架构 206
5.7.3活动时序 207
5.7.4工作产品 209
5.7.5角色和职责 209
小结 210
模拟题 211
第6章测试工具及自动化 216
6.1简介 216
6.2选择工具 216
6.2.1开源工具 217
6.2.2定制工具 219
6.2.3投资回报率 221
6.2.4选择流程 224
6.3工具生命周期 226
6.4工具度量 227
小结 227
模拟题 228
第7章人员技能——团队构成 234
7.1简介 234
7.2个人技能 235
7.2.1角色和职责 236
7.2.2软技能 238
7.2.3个人技能评估 241
7.3测试团队动力 244
7.3.1团队性格角色分类 244
7.3.2案例:测试团队分析 246
7.3.3测试团队优化 249
7.4使测试适合组织 250
7.5激励 253
7.5.1激励方式 253
7.5.2量化管理 257
7.6沟通 259
7.6.1正确对待缺陷 259
7.6.2开发和测试的合作 260
小结 260
模拟题 262
附录IGMP需求列表 268
参考文献 272
序言
1.ISTQB简介
ISTQB目前拥有54个分会,覆盖包括美国、德国、英国、法国、印度等在内的110多个国家和地区。来自于这些国家和地区的数百位测试领域专家作为志愿者服务于ISTQB 及其倡导的软件测试工程师认证体系。截至目前在全球范围内参加过ISTQB认证的软件测试工程师已达到650 000人,并每季度以超过20 000人的速度递增,使得ISTQB为测试行业的第一大认证机构,在整个IT行业居第三位(仅次于PMI和ITIL)。
CSTQB(Chinese Software Testing Qualifications Board)全权代表ISTQB授权在大中华区域内推广ISTQB软件测试工程师认证体系,认证、管理培训机构和考试机构,接受ISTQB 全面的业务指导和授权。
2.编写目的
目前国内对软件测试的重视程度在不断提高,软件企业对测试工程师的测试技能要求也在不断提高。随着通过ISTQB基础级认证的测试工程师越来越多,他们将会渴望获得更高层次的测试知识和技能,因此ISTQB高级测试经理认证就是他们测试职业规划中的一个重要发展方向。
目前,国内针对ISTQB高级测试经理认证的主要参考资料是ISTQB高级测试经理认证大纲,包括英文版本和中文版本。由于大纲提供的是概要性的测试知识描述,无法有效地帮助学员进行ISTQB高级测试经理认证的考前学习和复习。为了帮助参加ISTQB高级测试经理认证考试的学员系统学习测试管理知识,以帮助测试人员尽快掌握国际通用的软件测试管理知识和技能,同时推动国内软件测试行业的国际化和标准化,本书作者合作一起编写了这本ISTQB 高级认证的参考书。本书完全覆盖了ISTQB 高级测试经理认证大纲的内容,同时在每个章节中罗列了相关的学习目标和测试术语,而且每个章节后面提供了针对学习目标的模拟题和参考答案,以方便测试人员更好地进行复习和学习。
3.本书结构
本书共7个章节,以软件测试过程为基础,描述了软件测试过程中每个测试阶段涉及的主要测试管理活动、管理技术与方法、测试管理工具、测试过程改进和角色与职责等内容。每个章节的主要内容如下。
第1章 测试过程:介绍了测试过程的几大阶段,如测试计划与监控、测试分析、测试设计、测试实施、测试执行、测试出口准则评估与测试总结报告,以及测试结束活动。测试经理主要关注在测试计划、测试监视和控制、评估和报告,以及测试回顾总结和改进等方面。
第2章 测试管理:主要介绍特定背景下如何开展测试管理活动(例如测试干系人、其他开发生命周期活动及工作产品、测试与开发的集成等)、基于风险测试过程中进行测试优先级设定和工作量分配、管理测试过程中的测试文档、有效开展测试估算、定性与定量分析测试的商业价值,以及阐述分布式测试、外包测试和内包测试的特点和优缺点,并介绍了测试过程中可能涉及的各种国际、国内和行业的测试相关标准。
第3章 评审:主要介绍了管理评审和审计的特点与区别、评审过程每个阶段测试经理需要关注的检查点、需要收集针对评审产品和评审过程相关的度量,以及如何对评审过程进行管理。
第4章 缺陷管理:主要介绍了缺陷的管理生命周期,包括缺陷管理流程和状态、管理无效和重复缺陷的策略、跨职能缺陷管理以改善缺陷管理过程的效率和有效性;同时也介绍了缺陷报告的主要内容和元素,以及如何根据缺陷报告提供的信息对开发过程和测试过程进行评估。
第5章 改进测试过程:主要阐述了戴明改进循环PDCA、改进测试过程IDEAL的主要阶段和活动、角色和职责等。同时,简单介绍了不同的改进模型:TMMi、TPI-Next、CTP和STEP,以及它们各自的特点、成熟度级别、关键域等。
第6章 测试工具及自动化:主要介绍了开源工具和定制工具的特点和优缺点、投资回报分析中的一次性成本和经常性成本组成,以及选择测试工具的流程。另外,也描述了工具的生命周期和评估工具的适合度量。
第7章 人员管理:主要介绍了测试人员的测试技能要求,并根据测试过程中涉及的技能要求,对测试工程师进行全面评估,并制定相应得到培训计划。同时描述了测试团队需要具备的硬技能和软技能,选择合适的测试独立性以满足测试组织要求。最后描述了如何高效开展团队内的激励和沟通。
作者分工
本书作者郑文强、周震漪和马均飞共同承担了本书的编写和评审工作,他们是国内最早参与ISTQB活动的CSTQB专家组成员,也是国内最早获得ISTQB基础级认证证书和高级认证证书的成员之一。本书作者有总共超过50年的测试工作相关经验,他们对ISTQB软件测试管理知识体系的深入理解和学习目标的诠释,确信可以为读者带来不一样的感受。
致谢
本书的出版离不开在我们成长过程中给予我们帮助的同学、同事和朋友,他们为此书的出版提供了诚恳的指导和宝贵的意见。同时,特别感谢CSTQB办公室对本书编写的大力支持。
感谢清华大学出版社魏江江主任为本书出版提供大力支持,本书才得以在这么短的时间内与大家见面;同时感谢出版社其他人员,他们的专业素质和敬业精神令我们感动。
最后要感谢我们的家人,这本书的写作占用了大量本该陪伴家人的晚上和周末时间,没有她们的支持和鼓励,这本书也很难和大家见面。
郑文强
2017年1月
文摘
评审
本章学习目标如表3-1所示。
表3-1学习目标
编号
学习目标描述
级别
TM-3.2.1
了解管理评审和审计的关键特性
K2
TM-3.3.1
分析项目,选择适宜的评审类型并定义开展评审的计划,确保评审得到适当的实施、跟进,并确定责任
K4
TM-3.3.2
了解参与评审需要的因素、技能和时间
K2
TM-3.4.1
定义评审使用的过程和产品度量
K3
TM-3.5.1
举例说明正式评审的特点
K2
本章相关术语如表3-2所示。
表3-2相关术语
英文
中文
说明
audit
审计
对软件产品或过程进行的独立评审,以确认产品是否满足标准、指南、规格说明书以及基于客观准则的步骤等,包括下面的文档:① 产品的内容与形式;② 产品开发应该遵循的流程;③ 度量符合标准或指南的准则[IEEE 1028]
informal review
非正式评审
一种不基于正式(文档化)过程的评审
inspection
审查
一种同级评审,通过检查文档以发现缺陷,例如不符合开发标准,不符合更上层的文档等。审查最正式的评审技术,是基于文档化的过程[IEEE 610, IEEE 1028]。参见 peer review[GBT 11457]
management review
管理评审
由管理层或其代表执行的对软件采购、供应、开发、运作或维护过程的系统化评估,包括监控过程、判断计划和进度表的状态、确定需求及其系统资源分配,或评估管理方式的效用,以达到正常运作的目的 [IEEE 610, IEEE 1028]
moderator
主持人
负责审查或其他评审过程的负责人或主要人员
review
评审
对产品或产品状态进行的评估,以确定与计划的结果所存在的误差,并提供改进建议。例如,管理评审、非正式评审、技术评审、审查和走查与(IEEE 1028一致)[GBT 11457]
review plan
评审计划
项目评审计划,它描述了评审方法、资源和进度安排,除此之外,明确了评审的文档、代码、评审类型、参与者、进入/退出标准,同时对计划制定的依据进行了说明
reviewer
评审员
参与评审的人员,辨识并描述被评审产品或项目中的异常。在评审过程中,可以选择评审人员从不同角度评审或担当不同角色
technical review
技术评审
一种同行间的小组讨论活动,主要为了对所采用的技术实现方法达成共识[Gilb and Graham, IEEE 1028]。参见peer review
walkthrough
走查
由文档作者逐步陈述文档内容,以收集信息并对内容达成共识[Freedman and Weinberg, IEEE 1028]。参见 peer review[GBT 11457]
3.1简介
评审属于静态测试的范畴,测试经理需要对其成功实施负责,尤其是针对软件开发生命周期中输出的工作产品时。组织测试方针需要在更广泛的软件项目层面,明确定义评审的过程、角色和职责。正式评审可以在软件开发生命周期的任何阶段实施,而且可以应用于不同的领域和软件产品。评审的负责人可以是测试经理、质量保证经理、有资质的测试人员,也可以是经过培训的评审协调员。在本书中,评审的负责人一律称为评审主持人。
评审的成功与否会受到各种因素的影响,因此评审主持人应该确保当前的环境条件与ISTQB基础级大纲中定义的确保评审成功实施的因素相符合。评审主持人需要编制评审度量计划,从而对评审进行评估并确保评审达到既定目标。
具备特定软件产品业务技能和技术技能的利益干系人参与评审是评审成功实施的重要条件。而测试人员通常同时具备针对测试对象的业务技能和技术技能,例如,了解用户使用软件产品的操作行为和理解该软件产品所必须具备的功能特性等,因此他们积极参与评审过程也是非常重要的。
为了更加高效地开展评审活动,评审参与人员应该接受正规的评审培训,包括评审过程(评审过程的6大阶段、每个阶段的主要活动等)、评审参与的角色与职责、不同评审类型的特点与目标等。所有评审的参与者都必须尽力完成各自需负责的职责要求,从而为评审带来良好的效益。
软件开发生命周期中每个阶段输出的不同软件工作产品,都可以作为评审对象,并对它们实施不同的评审类型。假如评审过程成功实施,评审是一种非常有效的质量保证手段,不仅可以提高软件产品质量和降低成本,还可以加快软件项目的进度。而评审主持人对评审过程的监控和协调,以及证明评审的投资收益率,对成功实施评审尤为重要。评审主持人根据开发过程中不同阶段输出的工作产品的特点和质量要求,可以开展不同的评审类型,例如:
(1)合同评审,软件项目开始启动时和项目主要里程碑点可以开展;
(2)需求评审,需求文档初稿且满足一定条件下即可发起评审,通常需要同时覆盖功能和非功能需求;
(3)概要设计评审,软件产品整体架构设计满足评审条件时即可发起评审;
(4)详细设计评审,详细设计规格说明满足评审条件时即可发起评审,通常是在编码工作开始之前发起;
(5)代码评审,软件模块生成代码时进行,可以包括单元测试结果以及代码本身;
(6)测试工作产品评审,可以覆盖测试计划、测试条件、质量风险分析结果、测试用例、测试数据、测试环境和测试结果等;
(7)每个测试级别的测试入口准则评审和测试出口准则评审,分别在测试执行开始前检查测试入口准则,结束测试执行前检查测试出口准则;
(8)验收评审,用于获取客户或利益干系人对软件产品是否满足要求的批准。
不同类型的测试技术,其侧重点是不一样的,例如,评审可以在编码之前发现需求中存在的问题,因此可以避免将该问题引入到后续的代码中;而静态分析可以协助编码规范的检查,并发现通过人工检查工作产品难以识别的一些问题;而审查不仅可以发现和移除缺陷,还能训练作者如何避免在其工作产品中引入缺陷。
不同的评审类型可以结合使用,例如,可以先对测试用例规格说明进行走查,后续再进行技术评审。评审的主要目的是尽早发现其中的缺陷,但评审是实现该目的的手段之一。假如评审结合其他静态测试手段,例如,静态分析,或者代码的动态测试,可以更好地发挥不同技术在发现缺陷方面的优点,并弥补各自的不足,从而可以提高测试覆盖率,并识别更多的缺陷。
ISTQB基础级大纲把评审作为静态测试技术引入,包括:非正式评审、走查、技术评审和审查,其对象是软件开发生命周期中的各种工作产品。而测试经理还经常需要参与管理评审和审计,它们也属于静态测试范畴。相对于前面的4种评审类型,管理评审和审计更关注过程,而非软件工作产品。
本书从测试过程、测试管理、评审、缺陷管理、测试过程改进、测试工具及自动化,以及人员管理等几个方面,全面介绍了测试经理在测试过程中需要关注的流程、测试文档、管理技术与方法、测试管理工具与自动化等内容
目录
第1章测试过程 1
1.1简介 2
1.2测试计划、监督与控制 3
1.2.1测试计划 3
1.2.2测试监督和控制 8
1.3测试分析 9
1.3.1影响测试条件详细程度的因素 10
1.3.2测试条件详细化的优点 12
1.3.3测试条件详细化的缺点 13
1.3.4测试条件详细化的适合场景 13
1.3.5测试条件简单化的适合场景 14
1.4测试设计 15
1.4.1测试设计中的可追溯性 16
1.4.2概要测试用例和详细测试用例 17
1.5测试实施 18
1.5.1测试执行优先级 18
1.5.2测试执行入口准则 19
1.5.3测试执行进度 20
1.5.4尽早测试实施的优缺点 21
1.6测试执行 22
1.6.1选择合适的测试策略 23
1.6.2测试经理在测试执行中的职责 24
1.6.3测试结果比较 25
1.6.4确认测试和回归测试 26
1.6.5测试日志 27
1.7评估出口准则和报告 27
1.7.1评估出口准则 27
1.7.2测试报告 28
1.8测试结束活动 29
小结 30
模拟题 32
第2章测试管理 42
2.1简介 44
2.2一定条件下的测试管理 46
2.2.1了解利益干系人 46
2.2.2软件开发生命周期其他活动及工作产品 47
2.2.3测试活动和软件开发生命周期其他活动的整合 49
2.2.4管理非功能性测试 52
2.2.5管理基于经验的测试 53
2.3基于风险的测试和其他测试优先级设定以及工作量分配的方法 56
2.3.1基于风险的测试 56
2.3.2基于风险的测试技术 66
2.3.3测试用例选择的其他技术 69
2.3.4测试过程中的测试优先级设定和工作量分配 71
2.4测试文档和其他工作产品 72
2.4.1测试方针 72
2.4.2测试策略 73
2.4.3主测试计划 75
2.4.4级别测试计划 84
2.4.5项目风险管理 91
2.4.6其他的测试工作产品 91
2.5测试估算 92
2.5.1测试估算的影响因素 94
2.5.2基于百分比的测试估算 96
2.5.3基于专家团队的测试估算 97
2.5.4基于类似项目的测试估算 98
2.5.5基于工作分解结构的测试估算 99
2.6定义和使用测试度量 100
2.6.1产品风险 101
2.6.2缺陷 104
2.6.3测试 107
2.6.4覆盖率 110
2.6.5信心 112
2.7测试的商业价值 116
2.7.1预防成本 116
2.7.2检测成本 117
2.7.3内部失效成本 117
2.7.4外部失效成本 118
2.8分布式测试、外包以及内包测试 122
2.8.1分布式测试 122
2.8.2外包测试 123
2.8.3内包测试 124
2.8.4风险 125
2.9管理行业标准的使用 127
2.9.1标准的来源和有效性 127
2.9.2国际标准 128
2.9.3国家标准 129
2.9.4特定领域标准 131
2.9.5其他标准 132
小结 132
模拟题 134
第3章评审 151
3.1简介 152
3.2管理评审和审计 153
3.2.1管理评审 153
3.2.2审计 154
3.2.3案例分析:成功实施评审活动 154
3.3对评审进行管理 159
3.3.1评审基本原则 159
3.3.2评审影响因素 160
3.4评审度量 163
3.5管理正式评审 164
小结 165
模拟题 166
第4章缺陷管理 172
4.1简介 173
4.2缺陷生命周期和软件开发生命周期 173
4.2.1缺陷工作流程和状态 174
4.2.2无效和重复缺陷的管理 182
4.2.3跨职能缺陷管理 183
4.3缺陷报告信息 184
4.4使用缺陷报告信息评估过程能力 186
小结 188
模拟题 189
第5章改进测试过程 193
5.1简介 193
5.2测试改进过程 194
5.2.1过程改进的介绍 194
5.2.2过程改进的类型 194
5.3改进测试过程 195
5.4使用TMMi改进测试过程 196
5.4.1初始级 197
5.4.2管理级 197
5.4.3定义级 198
5.4.4度量级 198
5.4.5优化级 199
5.5使用TPI-Next改进测试过程 200
5.6使用CTP改进测试过程 202
5.6.1模型结构 202
5.6.2评估模型 205
5.7使用STEP改进测试过程 206
5.7.1组成 206
5.7.2架构 206
5.7.3活动时序 207
5.7.4工作产品 209
5.7.5角色和职责 209
小结 210
模拟题 211
第6章测试工具及自动化 216
6.1简介 216
6.2选择工具 216
6.2.1开源工具 217
6.2.2定制工具 219
6.2.3投资回报率 221
6.2.4选择流程 224
6.3工具生命周期 226
6.4工具度量 227
小结 227
模拟题 228
第7章人员技能——团队构成 234
7.1简介 234
7.2个人技能 235
7.2.1角色和职责 236
7.2.2软技能 238
7.2.3个人技能评估 241
7.3测试团队动力 244
7.3.1团队性格角色分类 244
7.3.2案例:测试团队分析 246
7.3.3测试团队优化 249
7.4使测试适合组织 250
7.5激励 253
7.5.1激励方式 253
7.5.2量化管理 257
7.6沟通 259
7.6.1正确对待缺陷 259
7.6.2开发和测试的合作 260
小结 260
模拟题 262
附录IGMP需求列表 268
参考文献 272
序言
1.ISTQB简介
ISTQB目前拥有54个分会,覆盖包括美国、德国、英国、法国、印度等在内的110多个国家和地区。来自于这些国家和地区的数百位测试领域专家作为志愿者服务于ISTQB 及其倡导的软件测试工程师认证体系。截至目前在全球范围内参加过ISTQB认证的软件测试工程师已达到650 000人,并每季度以超过20 000人的速度递增,使得ISTQB为测试行业的第一大认证机构,在整个IT行业居第三位(仅次于PMI和ITIL)。
CSTQB(Chinese Software Testing Qualifications Board)全权代表ISTQB授权在大中华区域内推广ISTQB软件测试工程师认证体系,认证、管理培训机构和考试机构,接受ISTQB 全面的业务指导和授权。
2.编写目的
目前国内对软件测试的重视程度在不断提高,软件企业对测试工程师的测试技能要求也在不断提高。随着通过ISTQB基础级认证的测试工程师越来越多,他们将会渴望获得更高层次的测试知识和技能,因此ISTQB高级测试经理认证就是他们测试职业规划中的一个重要发展方向。
目前,国内针对ISTQB高级测试经理认证的主要参考资料是ISTQB高级测试经理认证大纲,包括英文版本和中文版本。由于大纲提供的是概要性的测试知识描述,无法有效地帮助学员进行ISTQB高级测试经理认证的考前学习和复习。为了帮助参加ISTQB高级测试经理认证考试的学员系统学习测试管理知识,以帮助测试人员尽快掌握国际通用的软件测试管理知识和技能,同时推动国内软件测试行业的国际化和标准化,本书作者合作一起编写了这本ISTQB 高级认证的参考书。本书完全覆盖了ISTQB 高级测试经理认证大纲的内容,同时在每个章节中罗列了相关的学习目标和测试术语,而且每个章节后面提供了针对学习目标的模拟题和参考答案,以方便测试人员更好地进行复习和学习。
3.本书结构
本书共7个章节,以软件测试过程为基础,描述了软件测试过程中每个测试阶段涉及的主要测试管理活动、管理技术与方法、测试管理工具、测试过程改进和角色与职责等内容。每个章节的主要内容如下。
第1章 测试过程:介绍了测试过程的几大阶段,如测试计划与监控、测试分析、测试设计、测试实施、测试执行、测试出口准则评估与测试总结报告,以及测试结束活动。测试经理主要关注在测试计划、测试监视和控制、评估和报告,以及测试回顾总结和改进等方面。
第2章 测试管理:主要介绍特定背景下如何开展测试管理活动(例如测试干系人、其他开发生命周期活动及工作产品、测试与开发的集成等)、基于风险测试过程中进行测试优先级设定和工作量分配、管理测试过程中的测试文档、有效开展测试估算、定性与定量分析测试的商业价值,以及阐述分布式测试、外包测试和内包测试的特点和优缺点,并介绍了测试过程中可能涉及的各种国际、国内和行业的测试相关标准。
第3章 评审:主要介绍了管理评审和审计的特点与区别、评审过程每个阶段测试经理需要关注的检查点、需要收集针对评审产品和评审过程相关的度量,以及如何对评审过程进行管理。
第4章 缺陷管理:主要介绍了缺陷的管理生命周期,包括缺陷管理流程和状态、管理无效和重复缺陷的策略、跨职能缺陷管理以改善缺陷管理过程的效率和有效性;同时也介绍了缺陷报告的主要内容和元素,以及如何根据缺陷报告提供的信息对开发过程和测试过程进行评估。
第5章 改进测试过程:主要阐述了戴明改进循环PDCA、改进测试过程IDEAL的主要阶段和活动、角色和职责等。同时,简单介绍了不同的改进模型:TMMi、TPI-Next、CTP和STEP,以及它们各自的特点、成熟度级别、关键域等。
第6章 测试工具及自动化:主要介绍了开源工具和定制工具的特点和优缺点、投资回报分析中的一次性成本和经常性成本组成,以及选择测试工具的流程。另外,也描述了工具的生命周期和评估工具的适合度量。
第7章 人员管理:主要介绍了测试人员的测试技能要求,并根据测试过程中涉及的技能要求,对测试工程师进行全面评估,并制定相应得到培训计划。同时描述了测试团队需要具备的硬技能和软技能,选择合适的测试独立性以满足测试组织要求。最后描述了如何高效开展团队内的激励和沟通。
作者分工
本书作者郑文强、周震漪和马均飞共同承担了本书的编写和评审工作,他们是国内最早参与ISTQB活动的CSTQB专家组成员,也是国内最早获得ISTQB基础级认证证书和高级认证证书的成员之一。本书作者有总共超过50年的测试工作相关经验,他们对ISTQB软件测试管理知识体系的深入理解和学习目标的诠释,确信可以为读者带来不一样的感受。
致谢
本书的出版离不开在我们成长过程中给予我们帮助的同学、同事和朋友,他们为此书的出版提供了诚恳的指导和宝贵的意见。同时,特别感谢CSTQB办公室对本书编写的大力支持。
感谢清华大学出版社魏江江主任为本书出版提供大力支持,本书才得以在这么短的时间内与大家见面;同时感谢出版社其他人员,他们的专业素质和敬业精神令我们感动。
最后要感谢我们的家人,这本书的写作占用了大量本该陪伴家人的晚上和周末时间,没有她们的支持和鼓励,这本书也很难和大家见面。
郑文强
2017年1月
文摘
评审
本章学习目标如表3-1所示。
表3-1学习目标
编号
学习目标描述
级别
TM-3.2.1
了解管理评审和审计的关键特性
K2
TM-3.3.1
分析项目,选择适宜的评审类型并定义开展评审的计划,确保评审得到适当的实施、跟进,并确定责任
K4
TM-3.3.2
了解参与评审需要的因素、技能和时间
K2
TM-3.4.1
定义评审使用的过程和产品度量
K3
TM-3.5.1
举例说明正式评审的特点
K2
本章相关术语如表3-2所示。
表3-2相关术语
英文
中文
说明
audit
审计
对软件产品或过程进行的独立评审,以确认产品是否满足标准、指南、规格说明书以及基于客观准则的步骤等,包括下面的文档:① 产品的内容与形式;② 产品开发应该遵循的流程;③ 度量符合标准或指南的准则[IEEE 1028]
informal review
非正式评审
一种不基于正式(文档化)过程的评审
inspection
审查
一种同级评审,通过检查文档以发现缺陷,例如不符合开发标准,不符合更上层的文档等。审查最正式的评审技术,是基于文档化的过程[IEEE 610, IEEE 1028]。参见 peer review[GBT 11457]
management review
管理评审
由管理层或其代表执行的对软件采购、供应、开发、运作或维护过程的系统化评估,包括监控过程、判断计划和进度表的状态、确定需求及其系统资源分配,或评估管理方式的效用,以达到正常运作的目的 [IEEE 610, IEEE 1028]
moderator
主持人
负责审查或其他评审过程的负责人或主要人员
review
评审
对产品或产品状态进行的评估,以确定与计划的结果所存在的误差,并提供改进建议。例如,管理评审、非正式评审、技术评审、审查和走查与(IEEE 1028一致)[GBT 11457]
review plan
评审计划
项目评审计划,它描述了评审方法、资源和进度安排,除此之外,明确了评审的文档、代码、评审类型、参与者、进入/退出标准,同时对计划制定的依据进行了说明
reviewer
评审员
参与评审的人员,辨识并描述被评审产品或项目中的异常。在评审过程中,可以选择评审人员从不同角度评审或担当不同角色
technical review
技术评审
一种同行间的小组讨论活动,主要为了对所采用的技术实现方法达成共识[Gilb and Graham, IEEE 1028]。参见peer review
walkthrough
走查
由文档作者逐步陈述文档内容,以收集信息并对内容达成共识[Freedman and Weinberg, IEEE 1028]。参见 peer review[GBT 11457]
3.1简介
评审属于静态测试的范畴,测试经理需要对其成功实施负责,尤其是针对软件开发生命周期中输出的工作产品时。组织测试方针需要在更广泛的软件项目层面,明确定义评审的过程、角色和职责。正式评审可以在软件开发生命周期的任何阶段实施,而且可以应用于不同的领域和软件产品。评审的负责人可以是测试经理、质量保证经理、有资质的测试人员,也可以是经过培训的评审协调员。在本书中,评审的负责人一律称为评审主持人。
评审的成功与否会受到各种因素的影响,因此评审主持人应该确保当前的环境条件与ISTQB基础级大纲中定义的确保评审成功实施的因素相符合。评审主持人需要编制评审度量计划,从而对评审进行评估并确保评审达到既定目标。
具备特定软件产品业务技能和技术技能的利益干系人参与评审是评审成功实施的重要条件。而测试人员通常同时具备针对测试对象的业务技能和技术技能,例如,了解用户使用软件产品的操作行为和理解该软件产品所必须具备的功能特性等,因此他们积极参与评审过程也是非常重要的。
为了更加高效地开展评审活动,评审参与人员应该接受正规的评审培训,包括评审过程(评审过程的6大阶段、每个阶段的主要活动等)、评审参与的角色与职责、不同评审类型的特点与目标等。所有评审的参与者都必须尽力完成各自需负责的职责要求,从而为评审带来良好的效益。
软件开发生命周期中每个阶段输出的不同软件工作产品,都可以作为评审对象,并对它们实施不同的评审类型。假如评审过程成功实施,评审是一种非常有效的质量保证手段,不仅可以提高软件产品质量和降低成本,还可以加快软件项目的进度。而评审主持人对评审过程的监控和协调,以及证明评审的投资收益率,对成功实施评审尤为重要。评审主持人根据开发过程中不同阶段输出的工作产品的特点和质量要求,可以开展不同的评审类型,例如:
(1)合同评审,软件项目开始启动时和项目主要里程碑点可以开展;
(2)需求评审,需求文档初稿且满足一定条件下即可发起评审,通常需要同时覆盖功能和非功能需求;
(3)概要设计评审,软件产品整体架构设计满足评审条件时即可发起评审;
(4)详细设计评审,详细设计规格说明满足评审条件时即可发起评审,通常是在编码工作开始之前发起;
(5)代码评审,软件模块生成代码时进行,可以包括单元测试结果以及代码本身;
(6)测试工作产品评审,可以覆盖测试计划、测试条件、质量风险分析结果、测试用例、测试数据、测试环境和测试结果等;
(7)每个测试级别的测试入口准则评审和测试出口准则评审,分别在测试执行开始前检查测试入口准则,结束测试执行前检查测试出口准则;
(8)验收评审,用于获取客户或利益干系人对软件产品是否满足要求的批准。
不同类型的测试技术,其侧重点是不一样的,例如,评审可以在编码之前发现需求中存在的问题,因此可以避免将该问题引入到后续的代码中;而静态分析可以协助编码规范的检查,并发现通过人工检查工作产品难以识别的一些问题;而审查不仅可以发现和移除缺陷,还能训练作者如何避免在其工作产品中引入缺陷。
不同的评审类型可以结合使用,例如,可以先对测试用例规格说明进行走查,后续再进行技术评审。评审的主要目的是尽早发现其中的缺陷,但评审是实现该目的的手段之一。假如评审结合其他静态测试手段,例如,静态分析,或者代码的动态测试,可以更好地发挥不同技术在发现缺陷方面的优点,并弥补各自的不足,从而可以提高测试覆盖率,并识别更多的缺陷。
ISTQB基础级大纲把评审作为静态测试技术引入,包括:非正式评审、走查、技术评审和审查,其对象是软件开发生命周期中的各种工作产品。而测试经理还经常需要参与管理评审和审计,它们也属于静态测试范畴。相对于前面的4种评审类型,管理评审和审计更关注过程,而非软件工作产品。
ISBN | 9787302467106 |
---|---|
出版社 | 清华大学出版社 |
作者 | 郑文强、周震漪、马均飞 |
尺寸 | 16 |