以知识为核心的ALM之测试管理篇

随着商业竞争的日趋激烈和软件开发规模的日趋庞大,测试管理在应用生命周期管理(Application Lifecycle Management,简称ALM)中的地位越发显著。近几年来,中国软件企业迅速成长,“重开发,轻测试”的情况也得到了很大改观。然而,测试管理在实 际操作中仍然存在种种问题。例如,传统的瀑布式开发将测试置于需求分析、设计、编码之后,需求及设计的变更往往会导致一系列返工。又如,很多测试管理还是 基于纸质文档,而且是遵照项目最初的需求制定,无法根据进展实时更新。缺乏测试计划将导致QA团队总是忙于手头上的测试任务,而忽略了测试的总体目标和对 测试结果的分析。只有基于有效的测试管理方法,才能使得企业真正实现标准化测试管理,提升测试效率和产品质量。

测试管理:以知识为核心

多年来,我们一直倡导“以知识为核心的ALM”,在测试项目实施过程中,也不能回避知识管理的问题。这不是简单的文档管理,而是对整 个开发和测试过程中所有知识(包括各类文档、链接、Email、附件等)的有序记录,以及有效的积累和查询,以备当前和未来项目之用。知识库中的需求能够 与测试模板以及测试任务链接,确保所有需求都得到妥善的测试。以知识为核心的测试管理,体现为以下三方面:

全面的测试管理方法

全面的测试管理涉及到方方面面的内容,从测试用例、计划和团队管理,到测试结果分析。有效的测试管理方法不仅要能创建、管理产品版 本的整个测试周期,还需要制定测试计划、分配测试任务、管理测试范围以及提交产品缺陷。

测试模板(Test Template)和测试任务(Test Task)是TechExcel测试管理模型中的两个重要概念。测试模板是测试任务的蓝图,包含了测试的内容、步骤和测试点。一个测试模板可以用于多个产 品或版本的测试。举例来讲,设计一个测试IE浏览器是否可以保存当前页面的测试模板,该模板就应该可以用于IE6.0和7.0等多个版本。

通常一个软件产品会在多个环境中运行,如一款软件有英语、汉语和法语版本,需要对三个版本的产品测试,又如某软件要在Linux、 Windows Vista、Windows XP上运行。这就需要在测试模板中设置一个或多个环境变量,提供多种供选择的值,一个测试模板与多个环境变量的组合就产生了多个测试任务。测试任务是测试 模板的一个实例,每个测试任务包含执行的过程、历史、状态信息。例如,环境变量“Web浏览器”可设3个值:IE、Firefox和Safari;一个包 含该环境变量的测试模板则可产生3个测试任务:IE测试任务、Firefox测试任务和Safari测试任务。

图1显示了TechExcel测试管理方法的总体流程。首先,QA经理从测试模板库中选择已有的测试模板或由资深测试人员创建新的 测试模板,将测试模板有序的组织起来,就形成了测试模版树(图中模板视图)。测试部经理或项目经理以测试模板树为依据来规划测试周期和发布周期。在测试任 务的执行过程中,失败的测试任务还可直接生成缺陷,提交到缺陷及任务跟踪工具(如DevTrack)中进行跟踪修复。

测试计划及任务分配

测试计划分为两大部分,首先是设计产品的发布周期和测试周期,一个发布周期包含多个测试周期;之后通过测试模板在对应的测试周期中 生成测试任务,此为测试计划的重要步骤,测试模板树形结构是QA经理或项目经理做测试计划的重要依据。如图2所示,针对游戏产品的测试工作,左边部分为测 试部经理所设计的测试范围,涉及音效、人物、级别三大部分,每个文件夹中包含对应的测试模板。图中右边部分为根据测试模板所制定的测试计划,Speed Racer和Football 2008两款游戏能共用大部分测试模板。针对Speed Racer游戏,有1.0和1.1两个发布周期,对应游戏的1.0和1.1版本,1.0版本包含了两个测试周期,分别为Test Cycle1和Test Cycle2,每个测试周期中都有对应的测试任务。

结合常用的测试方法和TechExcel的全面测试管理,测试计划和任务分配通常按以下步骤进行:

执行测试任务、记录测试缺陷、跟踪测试结果

有效的测试管理工具不仅需要全程跟踪每一个测试任务的执行情况,而且还能自动提交缺陷。在测试任务完成或者缺陷提交的第一时刻,测试 管理工具将其结果记录下来,使测试和开发人员都能了解到最新状况。

与缺陷及任务跟踪工具的紧密关联是高效测试管理的重要保证之一。当测试任务失败时,测试管理工具会自动提示测试人员提交产品缺陷。通 过与缺陷及任务跟踪工具(如DevTrack)的集成,测试人员在提交bug时可在DevTrack中自动创建新的任务,该任务不仅与测试任务相关联,也 与DevTrack中该bug对应的开发任务关联(如下图所示)。这就有利于开发人员查找相关信息,准确跟踪和修复bug。

测试外包管理

在快速发展的中国离岸外包市场中,软件测试外包占到了相当比例。因此,测试工具不仅需要适用于传统意义上的测试管理,还应更好的服务 于测试外包企业。综合考虑国内测试管理和外包行业的特点,测试外包管理至少需要解决以下问题: