使用 Rational Quality Manager 高效管理敏捷项目的测试

Rational Quality Manager(RQM)是一款基于 Web 的集成化测试管理工具。它已经可以完全的取代 IBM Rational Manual Tester(RMT)和 IBM Rational ClearQuest Test Manager(CQTM)等胖客户端的测试管理软件。敏捷开发(Agile)由于其灵活,高效的特点越来越多的被软件项目组所采用。本文作者基于 2 年的使用经验,介绍了如何在敏捷项目中使用 RQM 进行测试管理。

蒋 明哲, 高级软件工程师, IBM

IBM 高级软件工程师。具有 5 年的敏捷项目软件测试经验。在 FVT、SVT、AVT 等多个领域具有测试管理经验。



2012 年 12 月 06 日

下载 IBM® Rational® Quality Manager 试用版  |  在线试用 IBM Rational 协作化生命周期管理解决方案
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

背景

Rational Quality Manager(RQM)是一款基于 Web 的集成化测试管理工具。它已经可以完全的取代 IBM Rational Manual Tester(RMT)和 IBM Rational ClearQuest Test Manager(CQTM)成为很多项目组的首选测试管理软件。近年来越来越多的项目开始使用敏捷开发模式(Agile),怎样使用 RQM 高效的管理敏捷项目成为很多测试项目组急需要解决的问题。幸运的是,RQM 针对敏捷迭代的特性提供了强大的支持。但是如果没有正确的利用 RQM 提供的功能,可能会使项目处于进退两难的境地。本文结合作者 2 年的 RQM 使用经验,介绍了如何使用 RQM 在敏捷项目中高效的进行测试管理。


RQM 简介

RQM 是基于 Jazz 平台的集成化测试管理工具。用户可以通过 Web 访问。与胖客户端的测试管理软件相比具有更高的可用能和灵活性。RQM 集成了 Jazz 平台的很多特性,能够为各种规模的测试项目组提供全生命周期的测试管理支持。RQM 中可以管理的资源实体(Artifact)包括项目,测试计划,测试需求,测试用例,测试脚本,测试执行记录,测试结果等。

图 1. RQM 中各资源实体的关系
图 1. RQM 中各资源实体的关系
  • 测试计划(Test Plan):一个项目可以包含多了测试计划。测试计划可以按照测试种类划分,例如功能测试,系统测试,性能测试等。
  • 测试需求(Test Requirement):测试需求可以对应多个测试计划和测试用例。测试需求可以对应于敏捷开发模式中的用户故事(User Story)。这样可以把测试计划和测试用例与用户故事关联起来,便于管理。
  • 测试用例(Test Case):测试人员进行测试的核心资源实体。
  • 测试脚本(Test Script):具体的测试步骤。依附于测试用例。一个测试用例可以关联多个测试脚本。
  • 测试执行记录(Test Execution Record):基于测试用例,测试环境,测试阶段,测试人员创建而成。用于记录测试结果。
  • 测试结果(Test Result):记录测试脚本每一步的测试结果。一个测试执行记录可以关联多个测试结果。最后一次测试结果将作为测试执行记录的最终结果。

创建项目

敏捷开发模式的一个突出特点是迭代。整个开发周期会被分为若干个阶段(sprint)。每个 sprint 会在上一个 sprint 的基础上开发扩展用户需求。对于测试来说,在每个 sprint 除了要对新功能进行测试,大多还需要对旧的功能进行回归测试。这就需要重用旧的测试用例。为了减少测试用例在多个项目之间频繁迁移,在敏捷开发模式下,建议为每一个产品版本建立一个项目而不是 sprint。

另外,RQM 中所有的资源实体(Artifact)都是在项目中进行管理。在创建项目时要充分考虑到项目的规模。如果项目创建的太小,会经常涉及到项目中的实体资源在多个项目之间进行迁移。如果项目创建的太大,一个项目中的资源实体过多,会影响使用及管理的效率。

RQM 管理员可以在项目管理面板(Jazz Project Administration)中创建项目。在创建项目的过程中可以进行项目模板选择,添加用户等操作。当然管理员也可以随时对其进行修改。


创建测试计划

在创建完项目之后,需要创建测试计划。测试计划是 RQM 中资源实体管理的核心。测试计划中包括测试需求,测试阶段,测试用例等资源实体。各个项目组需要按照测试计划完成测试。在敏捷项目中,建议为每一种测试类型建立一个测试计划。而在每个测试计划中,对各个 sprint 的测试内容分别进行管理。这样,既能在逻辑上对不同的测试类型分别进行管理,又能在不同的测试计划之间共享资源实体,节约测试资源。

图 2. 测试计划列表
图 2. 测试计划列表
  • 为每一种测试类型建立一个测试计划。图 2 中分别为 FVT、SVT、GVT、PVT 创建测试计划。
  • 各个测试计划可以共用测试需求,测试用例。

在创建测试计划时,需要选择测试计划模板。用户可以根据项目的需求定制模板。

图 3. 创建测试计划模板
图 3. 创建测试计划模板
  • 测试需求(Requirements):管理该测试计划所需要满足的测试需求。
  • 测试用例(Test Cases):该测试计划所需要完成的所有测试用例。
  • 测试阶段(Test Schedule ):用于列举测试计划中所包括的所有测试阶段(Sprint)。在敏捷项目中起着关键作用。本文后续将做详细介绍。
  • 进入标准(Entry Criteria):列举开始该测试计划的系列标准。用户可以选择及修改预设标准,也可定制更适合特定项目的标准。
  • 退出标准(Exit Criteria):列举退出该测试计划的系列标准。用户可以选择及修改预设标准,也可定制更适合特定项目的标准。
  • 测试环境(Test Environment):定义测试阶段需要覆盖的所有测试环境。在创建测试执行记录时,可以根据需要选择定义测试环境。
  • 审查(Formal Review):RQM 提供完善的审查流程。
  • 定制部分(Custom section):用户可以根据项目需要添加定制部分。定制部分可以是多格式文本或表格形式。

以上列举了在敏捷项目中推荐的测试计划模板内容。当然,用户可以根据项目的需要进行添加和删减。

图 4. 测试阶段定义
图 4. 测试阶段定义
  • 为每一个 sprint 创建一条记录,包括测试阶段的开始和结束时间,计划的点数(Points),预期的缺陷数目(Defect )等。
  • 在创建测试执行记录时,需要选择测试阶段。这样,可以实现在一个测试计划中,基于一个测试用例创建多条测试记录,并在不同的测试阶段执行。测试用例可以在不同测试阶段重复使用。
  • 建议在每个测试计划中为回归测试(Regression Test)创建一条记录,并基于其创建测试执行记录。这样,使用者不需要为回归测试复制测试用例。对于具有上千测试用例的项目来说,大大节省了测试资源。

创建测试用例及用例分类

测试用例是测试人员进行测试的核心资源实体。每个测试用例可以关联一个或多个测试脚本。测试脚本用来记录具体的测试步骤。建议创建测试脚本而不是把测试步骤记录在测试用例里。这样,在执行测试执行记录时,可以按步骤记录详细的执行结果,节省了手工记录执行结果的时间。

很多项目的测试用例的数量很大,有些已经达到万级。我们需要能够有效的管理这些测试用例,快速的筛选出需要的测试用例。

图 5. 测试用例分类
图 5. 测试用例分类

RQM 可以对测试用例进行分类管理。用户可以根据项目自身的特点,对分类进行定制。图 5 中,我们通过自动化(Automation)、类别(Category)、功能(Function)、测试阶段(Test Phase)等对测试用例进行分类。

图 6. 测试用例筛选
图 6. 测试用例筛选

图 6 大图

在测试用例页面,可以根据分类对测试用例进行筛选。


创建测试执行记录及执行

测试执行记录是测试者最终使用并记录测试结果的资源实体。

图 7. 创建测试执行记录
图 7. 创建测试执行记录

图 7 大图

  • 测试执行记录基于测试用例,测试环境,测试阶段和测试者进行创建。
  • 可以同时为多个测试阶段,测试环境创建多个测试执行记录。
  • 建议使用测试计划中定义的测试环境(Reuse Existing Test Environment),比避免产生大量重复的测试环境。
图 8. 执行测试执行记录
图 8. 执行测试执行记录

图 8 大图

  • 在执行过程中可以逐步标记执行结果,并添加注释。
  • 如果项目通过 RQM 管理缺陷,或与 Rational Clear Quest、Rational Team Concert 整合管理来管理缺陷,可以实现在执行中创建或添加 defect。
  • 测试者可以多次执行测试记录。最后一次的测试结果将作为测试执行记录的最终结果。每次测试结果都会被保存以供后续查询。

监控项目进度

敏捷开发模式的各个 sprint 周期较短,一般在 4~6 周。这就要求管理者及时监控项目状态,发现解决问题,以保证项目能够及时退出本 sprint,进入下个 sprint。RQM 提供了多种报告模板,可以对 RQM 中所有的资源实体进行监控,能够满足大多数项目的要求。RQM 提供的报告模板包括:

  • 缺陷列表,状态,缺陷报告和解决趋势
  • 测试执行进度
  • 测试结果统计
  • 测试需求覆盖

以一个 sprint 周期为例。

  • 在测试计划中,可以预估每天需要完成的测试点数。使用模板“执行趋势”(Execute trend)可以比较出实际测试趋势与计划测试趋势的区别,从而评估项目可能发生的风险,及时执行风险应对计划。
  • 使用模板“测试者 TER 执行状态”(Execution Status by Owner using TER Count)监控每一个测试者在该 sprint 的工作完成情况。通过监控,可以帮助协调测试资源,以按时完成整个测试计划。
  • 使用模板“TER 执行状态”(Execution Status using TER Count)监控整个项目在该 sprint 的测试执行情况。通过监控可以帮助管理者实时的在整体上把握项目的进度。
  • 如果使用 RQM 管理缺陷,模板“缺陷报告和解决趋势”(Defects arrival and resolution)可以帮助按时间段(天 / 周 / 月)统计缺陷的报告和解决情况。管理者可以通过该趋势评估产品的质量,以及未来可能出现的质量风险。

除了 RQM 提供的报告模板,RQM 还可以与 Rational Common Reporting 整合提供更强大的报告功能。


小结

本文介绍了如何在敏捷项目中使用 RQM 进行测试管理。内容包括项目的规模,测试计划的创建,测试用例的分类,测试执行,项目监控,数据复制等。除此之外,RQM 还提供很多其他功能,如与自动化测试工具的整合,缺陷管理,实验室资源管理等。读者可以在使用中不断学习,加以利用。

参考资料

学习

获得产品和技术

  • IBM Rational Quality ManagerRQM)是一个基于 Jazz 平台技术的实时协作式质量管理环境,可以帮助跨地域分布的开发团队简化协作质量管理,并使其软件质量管理过程实现自动化管理。

    免费下载:

  • 获取免费的 Rational 软件工具包系列,了解最新的 IBM Rational 软件开发工具技术文档和资源。
  • 下载更多免费的 IBM Rational 试用版软件,了解 IBM Rational 软件的最新特性。
  • 获取更多 IBM 试用版软件,并熟练掌握来自 DB2®、Lotus®、Tivoli®,以及 WebSphere® 的开发工具和中间件产品,用这些试用版软件开发您的下一个项目。这些试用版软件可以免费直接从 developerWorks 下载。

讨论

  • 加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。
  • 访问 developerWorks 社区上的 Jazz 技术小组,这里汇集了丰富的 Jazz 平台中文技术资源。 您可以通过这里了解更多关于 Jazz 平台和 Jazz 技术发展趋势的最新信息。
  • 访问 developerWorks 社区上的 敏捷开发小组,在那里您将有机会与更多的开发人员一起交流敏捷开发最佳实践。
  • 加入 IBM 软件下载与技术交流群组,参与在线交流。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=852639
ArticleTitle=使用 Rational Quality Manager 高效管理敏捷项目的测试
publish-date=12062012