测试管理活动贯穿于整个软件测试生命周期。测试经理必须通过合理的测试计划和测试过程监控,保障软件项目的成功,或者防止出现严重的失效,从而体现测试价值。
测试管理必定是在特定条件下开展的,因此测试经理必须根据其他项目利益干系人的需求、环境和资源、活动(如软件开发生命周期的阶段和任务)、工作产品(如需求规格说明)等要求和特点,适当地安排测试过程,包括测试活动及工作产品。
一、了解利益干系人
测试活动贯穿于整个软件开发生命周期,因此测试人员需要与软件项目其他人员交流沟通、协调互助和反馈监控。本文将他们统称为利益干系人,有效识别利益干系人有助于更有效地开展测试活动。
利益干系人是指与测试活动、测试工作产品、最终软件系统或交付物的质量有利益关系的人。利益干系人的利益可以表现为直接或间接地介入测试活动、直接或间接地接受测试工作产品,或者直接或间接地接受到软件项目输出的交付物的质量的影响。利益干系人的类型受到软件项目、产品、组织或其他因素的影响,主要包括:
1、开发人员、开发组长和开发经理
该利益干系人的主要职责是根据软件产品设计要求实现和部署软件代码;然后根据测试团队测试结果,例如开发的缺陷,有针对性地定位、重现和修复缺陷。开发人员对缺陷进行修复并验证完成之后,再将代码集成后发布给测试团队进行确认测试,以及回归测试。
2、数据库架构师、系统架构师和设计师
该利益干系人的主要职责是设计软件架构、数据库架构或者系统架构,并作为开发人员编码的重要参考输入。例如测试团队在测试过程中给发现的问题是由于设计原因导致的,那他们需要分析其中原因进行修复。
3、市场和业务分析师
该利益干系人的主要职责是确定软件产品必须呈现的特性,以及这些特定的固有质量水平要求。他们通常还参与确定测试范围,评审测试结果,根据测试结果对产品质量做出评估,并给予这些信息做出决策。
4、高层管理人员、产品经理和项目发起人
该利益干系人的主要职责是参与确定测试范围,评审测试结果,并根据测试结果做出决策。
5、项目经理
该利益干系人的主要职责是负责管理软件项目,并最终确保项目取得成功。为了达到这个目标,项目经理在项目管理过程中,需要平衡产品特性、质量、进度和成本。他们通常还需要负责获取测试活动所需的资源,并协同测试经理斤西瓜测试计划和监控。
6、技术支持、客户支持实施人员及客服人员
该利益干系人的主要职责是针对永华和客户在使用产品过程中碰到的问题和疑问,为他们提供给技术支持,同时他们也是已交付软件产品的功能和质量的受益人。
7、直接和间接用户
该利益干系人直接使用软件产品,即最终用户,或者接受由该软件产品生产或支持的输出或服务。
根据软件产品、开发模型和组织等的不同特点,测试经理必须识别符合当前软件项目或者软件产品的具体利益干系人。测试经理必须确切理解不同利益干系人与测试之间的本质关系,以及测试团队如何更好地满足利益干系人的需求。
二、软件开发生命周期其他活动及工作产品
软件测试通常是在软件开发生命周期的各种活动的大背景下开展的,而软件测试的一个重要目标是评价由该生命周期生成的软件工作产品的质量。因此,项目经理必须了解其他活动和工作产品怎样影响测试,并在了解测试怎样影响其他活动和工作产品的情况下,计划和指导测试活动。
组织特点、软件产品特点、软件开发模型等因素都会影响测试活动、利益干系人、软件开发生命周期活动和工作产品之间的关系。但下面的软件开发生命周期活动与测试活动之间的关系尤其密不可分。
1、需求工程和管理
需求规格说明是测试生命周期中各个测试活动的主要参考依据(即测试依据),因此需求工程和管理里将影响每个测试活动的有效展开。例如,测试设计阶段,需求规格说明可以帮助确定测试范围和估算测试工作量;测试分析与设计阶段,需求规格说明中的需求是识别测试条件和获取测试判断准则的重要依据;测试执行阶段,通过运行测试用例,判断软件是否正确实现和满足了需求规格说明中的功能和要求,同时可以基于需求开展需求覆盖率的评估。
同时,缺陷修复或者功能增强贯穿于软件开发生命周期中,特别是采用增量-迭代开发模型时,而这都会导致需求发生变更。而需求变更必定会影响测试活动产品做出相应的变更,因此测试经理需要对需求变更保持高度的警惕。测试过程中保持测试用例和需求之间的可追溯性,有助于测试经理更好地应对需求变更。当需求出现变更时,基于可追溯性可以帮助测试经理采取合理的测试控制活动以应对这些变更,例如,通过需求变更的影响分析,确定回归测试的深度和广度。
测试分析师和技术测试分析师参与需求工程和管理是非常重要的,他们需要参与前期的需求评审,基于需求识别测试条件和设计、执行测试用例,并通过执行测试用例验证需求是否正确得到实现,假如没有正确实现,需要提交相应的缺陷报告。
2、项目管理
软件项目启动时,测试经理需要提供工作量的数据,以指导测试计划的制定。而测试工作量的估算,需要测试分析师和技术测试分析师的协助。基于测试工作量的估算数据,测试经理将测试进度和测试资源等需求提交给项目经理。测试经理必须与项目经理共同面对项目计划的变更,并采取测试控制活动以适应这些变更。
需要注意的是,项目经理和测试管理是项目影响的,例如,项目计划的变更,会导致测试计划相应进行变更;同样,测试计划的变更,也会影响项目计划。
3、配置和变更管理
配置管理的目的是在整个软件开发生命周期内,建立和维护软件产品的完整性。