本文围绕这一主题,主要从软件外包测试服务提供商的角度,探讨软件外包测试项目的管理方法及实践经验。为了便于读者阅读和理解,笔者将分计划、组织、领导、控制四个篇章来展开论述。
1. 软件外包测试管理之计划篇
1.1 灵活选择外包测试服务的方式及合同类型
实施软件外包测试首先要确定采取什么样的形式。目前外包测试服务提供商(以下简称“外包公司”)提供的服务方式主要包括“现场测试”和“外部测试”。“现场测试”是指外包公司派遣测试人员到发包方的公司现场工作,开展测试业务。而“外部测试”是指在外包公司将发包方的单子(相关待测产品)拿回本公司,组织测试人员开展测试业务。
二者看上去虽然只是场地差异,但如何选择另有深意。比如,“现场测试”一般适用于软件测试环境非常复杂、有极高的保密性要求、需要与开发团队密切配合的场合。而“外部测试”一般适用于开发商对外包服务商管理能力非常信任、软件功能相对稳定、开发和测试可以独立进行的场合。
除了要合理选择合作的形式外,选择适当的合同类型也是重中之重。适用于外包测试项目的合同类型一般有两种,即物料工时合同和固定总价合同。物料工时合同适用于范围不确定、进度不明确的外包测试项目,固定总价合同适用于范围、进度、技术要求均清晰明了的外包测试项目。读者朋友可以根据外包项目的特点酌情选择。此外,对于项目管理能力不成熟的外包企业笔者建议尽量多地选择物料工时合同,规避可能的风险。
总而言之,外包公司需要分析被测试软件的功能特点、测试要求、外包测试的成熟度,以及本公司的服务能力,与发包方协商选择最有效的外包测试服务方式,降低测试风险,提高测试的质量。
1.2 制定切合实际的外包测试计划
大型软件开发商具有成熟的软件外包测试管理能力,他们通常制订出外包测试计划。一些刚刚开始把软件测试外包的软件公司,他们经常希望外包公司为他们提供外包测试计划、设计测试用例、执行测试和报告测试结果等全部测试服务。
对于第一种情况,开发商已经制定了测试计划,外包公司需要全面理解测试计划的内容,根据外包测试的经验和被测项目的特点,提出测试计划的改进建议。包括测试范围、测试阶段的划分、测试资源、测试过程质量跟踪等方面。
对于第二种情况,外包公司需要开发商提供软件需求文档、软件设计规格说明、测试需求等文档,根据开发商的项目进度、外包费用、质量要求,结合本公司的服务能力(软件、硬件、团队和测试经验),制定切实可行的外包测试计划。根据客户对测试计划的评价和反馈进行更新修改,最终获得双方的正式审批。
2. 软件外包测试管理之组织篇
2.1组建有“战斗力”的测试团队
外包测试是智力密集型工作,测试团队的能力决定了测试的质量。测试团队的建设要考虑两个问题:第一是组织结构,包括需要多少测试经理、测试组长、测试工程师。第二是每个岗位需要的技能,例如测试技术经验、项目管理经验等。
由于软件外包测试受到项目成本和资源的制约,由测试专家构成的“梦幻团队”是不切实际的。有“战斗力”的团队是现实目标,由具有测试管理经验的人员担任测试经理,掌握测试技术和熟悉被测软件的人员担任测试组长,高级测试工程师、测试工程师和测试新人执行测试。