《软件测试项目管理》由会员分享,可在线阅读,更多相关《软件测试项目管理(104页珍藏版)》请在金锄头文库上搜索。
1、章晓芳第 6 章 软件测试项目管理 6.1 测试项目管理概述 6.2 测 试 文 档 6.3 软件测试计划 6.4 测试的组织与人员管理 6.5 软件测试过程管理6.1 测试项目管理概述6.1.1 测试项目与测试项目管理 1测试项目测试项目是在一定的组织机构内,利用 有限的人力和财力等资源,在指定的环境 和要求下,对特定软件完成特定测试目标 的阶段性任务。该任务应满足一定质量、 数量和技术指标等要求。测试项目一般具有如下一些基本特性。 (1)项目的独特性 (2)项目的组织性 (3)测试项目的生命期 (4)测试项目的资源消耗特性 (5)测试项目目标冲突性 (6)测试项目结果的不确定因素2测试项目
2、管理测试项目管理就是以测试项目为管理对 象,通过一个临时性的专门的测试组织,运 用专门的软件测试知识、技能、工具和方法 ,对测试项目进行计划、组织、执行和控制 ,并在时间成本、软件测试质量等方面进行 分析和管理活动。 测试项目管理贯穿整个测试项目的生命 周期。测试项目管理有以下基本特征。(1)系统工程的思想贯穿测试项目管理的全过程。 (系统性,阶段性)(2)测试项目管理的组织有一定的特殊性。(临时性,柔性)(3)测试项目管理的要点是创造和保持一个使测试工作顺利进行的环境,使置身于这个环境中的人员能在集体中协调工作以完成预定的目标。(4)测试项目管理的方法、工具和技术手段具有先进性。6.1.2
3、测试项目的范围管理测试项目范围管理就是界定项目所必须包含且只需包含的全部工作,并对其他的测试项目管理工作起指导作用,以确保测试工作顺利完成。 项目目标确定后,下一步过程就是确定需要执行哪些工作,或者活动来完成项目 的目标,这就是要确定一个包含项目所有 活动在内的一览表。准备这样的一览表通常有两种方法: 一种是让测试小组利用“头脑风暴法” 根据经验,集思广益来形成。这种方法比 较适合小型测试项目。 另一种是对更大更复杂的项目建立一 个工作分解结构WBS (Work Breakdown Structure)和任务的一览表。6.2 测 试 文 档测试文档是对要执行的软件测试及测 试的结果进行描述、定
4、义、规定和报告的 任何书面或图示信息。测试文档不只是在测试阶段才考虑的 ,它应该在软件开发初期的需求分析阶段 就开始着手。 测试文档与用户的密切关系:用户了解开发过程 用户理解开发的应用系统 用户澄清模糊的认识 项目小组认清用户的要求测试文档:设计方案测试文档:测试阶段工作的指导与评价测试文档:再测试或回归测试测试文档的编写是测试管理的一个重要组成部分。6.2.1 测试文档的作用测试文档的重要作用可从以下几个方面看出。1促进项目组成员之间的交流沟通2便于对测试项目的管理3决定测试的有效性 4检验测试资源 5明确任务的风险 6评价测试结果 7方便再测试 8验证需求的正确性6.2.2 测试文档的类
5、型根据测试文档所起的不同作用,通常 把它分成两类。 测试计划及测试用例的文档属于前置 作业文档。 后置作业文档在测试完成后提交的, 主要包括软件缺陷报告和分析总结报告。 根据测试文档编制的不同方法,分为 手工编制和自动编制。6.2.3 主要软件测试文档根据一定的标准编写文档,具备一致的外观、结构和质量。1软件测试文档给出了软件测试主要文档的类型。2软件测试计划主要对软件测试项目、所需要进行的测试工作、测试人员所应该负责的测试工作、测试过程、测试所需的时间和资源,以及测试风险等做出预先的计划和安排。3测试设计规格说明用于每个测试等级,以指定测试集的 体系结构和覆盖跟踪。 4软件测试用例规格说明文
6、档用于描述测试用例。5测试规程用于指定执行一个测试用例集的步骤。6测试日志由于记录测试的执行情况不同,可根据需要选用。7软件缺陷报告用来描述出现在测试过程或软件中的异常情况,这些异常情况可能存在于需求 、设计、代码、文档或测试用例中。8测试总结报告用于报告某个测试完成情况。6.3 软件测试计划测试计划就是描述所有要完成的测试工作,包括被测试项目的背景、目标、范围、方式、资源、进度安排、测试组织,以及与测试有关的风险等方面。 实现全生命周期测试,测试管理的基础。6.3.1 制定测试计划的目的1使软件测试工作进行更顺利(考虑和计划测试采用的模式、方法、步骤、问 题和风险等) 2促进项目参加人员彼此
7、的沟通(测试人员间,测试人员与产品开发小组) 3使软件测试工作更易于管理(两种重要管理方式:工作分解结构WBS,监督 和控制)6.3.2 制定测试计划的原则制定测试计划是软件测试中最有挑战性 的一个工作。以下原则将有助于制定测试 计划工作。 1制定测试计划应尽早开始 2保持测试计划的灵活性 3保持测试计划简洁和易读 4尽量争取多渠道评审测试计划 5计算测试计划的投入(1/3工作量)6.3.3 制定测试计划时面对的问题制定测试计划时,测试人员可能面对以下 问题,必须认真对待,并妥善予以处理。1与开发者意见不一致2缺乏测试工具3培训不够4管理部门缺乏对测试工作的理 解和支持 5缺乏用户的参与 6测
8、试时间不足 7过分依赖测试人员 8测试人员处于进退两难的状态 9不得不说“不” (进度和费用)6.3.4 制定测试计划制定测试计划时,由于各软件公司的背景不同,测试计划文档也略有差异。实践 表明,制定测试计划时,使用正规化文档 通常比较好。根据IEEE8291998软件测试文档编制 标准的建议,测试计划包含了16个大纲要 项,简要说明如下。 1测试计划标识符一个测试计划标识符是一个由公司生成 的惟一值,它用于标识测试计划的版本、 等级,以及与该测试计划相关的软件版本 。2介绍在测试计划的介绍部分主要是测试软件 基本情况的介绍和测试范围的概括性描述( 包含哪些阶段的测试)。 3测试项测试项部分主
9、要是纲领性描述在测 试范围内对哪些具体内容进行测试,确 定一个包含所有测试项在内的一览表。 具体要点如下。 功能的测试 设计的测试 整体测试 (数据流)IEEE标准中指出,可以参考下面 的文档来完成测试项: 需求规格说明 用户指南 操作指南 安装指南 与测试项相关的事件报告4需要测试的功能测试计划中这一部分列出了待测的功能。 (用户的角度)VS 测试项 (开发者或程序管理者的角度)5方法(策略)这部分内容是测试计划的核心所在,所 以有些软件公司更愿意将其标记为“策略”, 而不是“方法”。 测试策略主要描述如何进行测试,以 及解释测试成功与否起决定左右的所有相 关问题。测试策略描述测试小组用于测
10、试整体 和每个阶段的方法。6不需要测试的功能测试计划中这一部分列出了不需要测试 的功能,具有相对低的风险。当测试落后于进度表时: 需要测试的功能 - 不需要测试的功能7测试项通过/失败的标准测试计划中这一部分给出了“测试项” 中描述的每一个测试项通过/失败的标准, 由通过/失败的测试用例,缺陷数量、类型 、严重性和位置,可靠性或稳定性等来描 述。下面是通过/失败的标准的一些例子: 通过测试用例所占的百分比; 缺陷的数量、严重程度和分布情况; 测试用例覆盖; 用户测试的成功结论; 文档的完整性; 性能标准。8测试中断和恢复的规定常用的测试中断标准如下: 关键路径上的未完成任务 大量的缺陷 严重的
11、缺陷 不完整的测试环境资源短缺恢复测试:重新设计、修改错误、替代等9测试完成所提交的材料测试完成所提交的材料包含了测试工作开发设计的所有文档、工具等。例如,测试计划、测试设计规格说明、测试用例、测试日志、测试数据、自定 义工具、测试缺陷报告和测试总结报告等 。10测试任务测试计划中这一部分给出了测试工作所需完成的一系列任务。在这里还列举了所有任务 之间的依赖关系和可能需要的特殊技能。 通常与“测试人员的工作分配”一起描述11环境需求环境需求是确定实现测试策略必备条 件的过程。 例如: 人员 设备办公室和实验室空间 软件 其他资源12测试人员的工作职责测试人员的工作职责是明确指出了测试任务和测试
12、人员的工作责任。有时测试需要定义的任务类型不容易分清。复杂的任务可能有多个执行者,或 者由多人共同负责。 利用表格来组织测试人员的工作职责 P14113人员安排与培训需求 人员安排与培训需求是指明确测试人 员具体负责软件测试的哪些部分、哪些可 测试性能,以及他们需要掌握的技能等。 实际责任表会更加详细,确保软件的 每一部分都有人进行测试。P142 测试人员任务分配表14进度表测试进度是围绕着包含在项目计划中 的主要事件(如文档、模块的交付日期, 接口的可用性等)来构造的。作为测试计划的一部分,完成测试进度 计划安排,可以为项目管理员提供信息, 以便更好地安排整个项目的进度。 进度危机 表6-3
13、 固定日期表6-4 相对日期,摆脱进度危机 15潜在的问题和风险软件测试人员要明确地指出计划过程中 的风险,并与测试管理员和项目管理员交 换意见。 这些风险应该在测试计划中明确指出 ,在进度中予以考虑。 尽早明确指出,以免在项目晚期发现 时感到惊慌。勾画出风险的轮廓,将有助于测试人员排定待测试项的优先顺序,并且有助于集中精力去关注那些极有可能发生失效的领域。 不现实的交付日期 与其他系统的接口 处理巨额现金的特征 极其复杂的软件 有过缺陷历史的模块 发生过许多或者复杂变更的模块 安全性、性能和可靠性问题 难于变更或测试的特征16审批审批人应该是有权宣布已经为转入下 一个阶段做好准备的某个人或某
14、几个人。 审批人除了在适当的位置签署自己的 名字和日期外,还应该签署表明他们是否 建议通过评审的意见。6.4 测试的组织与人员管理6.4.1 测试的组织与人员管理概述测试项目成功完成的关键因素之一就是要有高素质的软件测试人员,并将他们有 效地组织起来,分工合作,形成一支精干的 队伍,使他们发挥出最大的工作效率。 “人”的重要性:关键资源,难以管理测试的组织与人员管理就是对测试项目 相关人员在组织形式、人员组成与职责方面 所做的规划和安排。测试的组织与人员管理的任务是: (1)为测试项目选择合适的组织结构模式 ; (2)确定项目组内部的组织形式; (3)合理配备人员,明确分工和责任; (4)对项
15、目成员的思想、心理和行为进行 有效地管理,充分发挥他们的主观能动性 ,密切配合实现项目的目标。测试的组织与人员管理应注意的原则是: (1)尽快落实责任测试的准备工作在分析和设计阶段就 开始了,在软件项目的开始就要尽早指定 专人负责,让他有权去落实与测试有关的 各项事宜。(2)减少接口要尽可能地减少项目组内人与人之间的 层次关系,缩短通信的路径,方便人员之 间的沟通,提高工作效率。 (3)责任明确、均衡项目组成员都必须明确自己在项目组 中的地位、角色和职责,各成员所负的责 任不应比委任的权力大,反之亦然。6.4.2 测试人员的组织结构组织结构是指用一定的模式对责任、 权威和关系进行安排,直至通过
16、这种结构 发挥功能。测试组织结构设计时主要考虑 以下因素。 垂直还是平缓 集中还是分散 分级还是分散 专业人员还是工作人员 功能还是项目 选择合理高效的测试组织结构方案的准则是:(1)提供软件测试的快速决策能力;(2)利于合作,尤其是产品开发与测试开发之间的合作;(3)能够独立、规范、不带偏见地运作并具有精干的人员配置;(4)有利于满足软件测试与质量管理的关 系; (5)有利于满足软件测试过程管理要求;(6)有利于为测试技术提供专有技术;(7)充分利用现有测试资源,特别是人;(8)对测试者的职业道德和事业产生积极 的影响。进行软件测试的测试组织结构形式很多, 目前常见的测试组织结构有独立的测试小组和集成的测试小组两种形式。