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

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

测试管理:以知识为核心

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

  • 及时更新测试计划
  • 通过中心知识库,测试团队可以查看最新的项目文档,如业务需求和规范点等,这些文档都是 测试部经理制定测试计划的重要依据。当项目文档更新时,测试部经理也能与开发团队同步查看,有利于及时更新测试计划、重新分配资源、或调整测试策略。

  • 提高测试计划效率
  • 基于知识库,测试团队可以轻松地创建、保存、管理和再利用测试模板。测试人员可以根据先 前的测试结果,分析相关的缺陷和bug数据,从而计划、分配测试任务。另外,测试团队还可以从知识库中调用原来的测试范围,或依据知识库中的历史记录更准 确的估计测试范围,以此提高测试计划的效率。

  • 促进项目团队沟通
  • 项目相关人员能够查看每个测试模板的变更历史和背景信息。每个测试用例都能直接与相应的文档关联,包括测试计划、业务需求、日程等, 测试人员通过将产品功能与这些文档对比,能更准确地理解测试任务,完成测试工作。

全面的测试管理方法

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

测试模板(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的全面测试管理,测试计划和任务分配通常按以下步骤进行:

  • 冒烟测试。发布周期中的第一个测试周期通常为基于产品功能的自动冒烟测试。如不能通过冒烟测试,就不需要马上投入人力来 开展接下来的测试工作了。
  • 设定初始测试周期计划。对于每个测试周期,测试团队都会对以下内容做好计划:环境变量、测试模板、测试人员或团队。
  • 增补测试周期。通过查看之前的测试周期中通过和失败的测试,针对bug比较多的功能点和运行环境,可以增加测试周期。
  • 确定测试目标。测试团队可以制定每个发布周期所需要达到的各项指标,如测试任务完成数量、发现缺陷的数目和整个发布周期所需 花费的时间等。

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

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

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

测试外包管理

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

  • ALM工具的整合 科学的项目规划
  • 日趋激烈的行业竞争使得ALM工具的整合成为必然。需求仍然是根本,可以作为项目计划、任务或测试的输入数据。例如,一个新需求 既可以被导入监控整个开发过程的任务执行工具内,也可能被导入产生测试用例及测试任务的测试工具内。

    对于测试外包项目,通过项目规划工具,发包方既可以为承包方制定项目规划,又能够实时监控承包方的项目进展情况,发现问题能够及 时处理,避免了项目延期和资源浪费等现象发生(如下图所示)。

  • 流程自动化
  • 测试流程的管理是整个测试外包中的关键问题,根据管理的内容不同,可以分为文档管 理、配置管理、缺陷管理、进度管理、质量管理、资源管理、成本管理、变更管理等方面。每个项目和测试团队若能根据需要自定义工作流程,且每一个状态都有专 人负责,保证任务有始有终,将会大大提高测试工作的效率。另外,一些自动化的机制,如邮件自动通知和任务自动升级等,也能够添加到流程里。

  • 支持分布式团队
  • 离岸外包的全面发展必然带来大量的分布式开发和测试模式。当数据量大或沟通频繁时,分布式团队的协同工作益形困难。使用分布式系 统让各个团队有其本地数据库,运行起来速度快又可靠。这种特殊性决定了适合测试外包项目(尤其是离岸方式)的解决方案最好能够支持分布式团队。

更多新闻 >

售后服务平台登录

用户名:

密码:

登录

分享到微信朋友圈