内容


使用 Rational Quality Manager 对软件测试生命周期进行管理的最佳实践

Comments

简介

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

对于软件测试团队来说,选择一个好的测试管理工具往往能使测试工作事半功倍,基于 Jazz 平台的 IBM Rational Quality Manager(RQM)是一个协作性、基于 Web 的工具,它在软件开发的整个生命周期之内,提供了复杂的测试规划与测试评价管理方法。本文基于作者实际使用 RQM 过程中的最佳实践,详细地介绍在软件测试的整个生命周期内如何利用 RQM 来管理测试需求,测试计划,测试用例,测试脚本,测试环境,测试用例执行记录,测试中发现的缺陷,以及使用 RQM 管理测试过程中的评审与批准活动。另外,将介绍利用 RQM 与 Rational Team Concert(RTC),Rational ClearQuest(RCQ)的集成优化对测试过程的管理。

Rational Quality Manager (RQM) 概述

IBM Rational Quality Manager IBM 是一个协作性、基于 Web 的工具,它在软件开发的整个生命周期之内,提供了复杂的测试规划与测试评价管理方法。它建立在 Jazz 平台的基础之上,设计时是给各种规模测试团队使用的。利用 RQM,测试团队可以管理整个软件测试的生命周期。RQM 提供了各种角色的定义,测试经理,测试架构师,测试人员可以方便地在 RQM 提供的平台上协作工作。

测试生命周期概述

不论是瀑布模型,螺旋模型,又或者是 RUP(Rational Unified Process),在测试生命周期内都会经历测试计划,测试设计,测试构造,测试执行以及评审这些过程。有些过程甚至是迭代的。其中,测试计划在测试生命周期内是测试团队重要的指导文档。评审则是保证软件测试质量的一个重要手段,它的主要目是让测试人员尽早地进入测试环节并且可以防止许多缺陷的发生。

使用 RQM 对软件测试生命周期进行管理

利用 RQM,测试团队可以管理软件测试的整个生命周期。具体包括测试计划,测试开发,测试评审,测试执行,以及管理测试中发现的缺陷并且生成相应的测试报告。

使用 RQM 管理测试需求

需求(Requirement)对软件测试人员来说是非常重要的。只有测试人员充分地理解整个应用程序的功能,才能编写出高质量的测试用例,并且为搭建测试环境做好准备。使用 RQM 可以方便地管理测试需求。登陆 RQM,在左侧的质量管理操作类别(Quality management action categories)中点击 Requirement->Create Requirement,如图 1 所示:

图 1. 在 RQM 中创建 Requirement
图 1. 在 RQM 中创建 Requirement
图 1. 在 RQM 中创建 Requirement

创建 Requirement 之后,就可以接着填写 Requirement 的内容。在实际工作中,软件的功能可能会比较复杂。不同功能模块会有各自的需求文档,并且有的时候根需要根据客户的要求采用一定的格式。这种情况下就可以将文档中的内容复制到 RQM 的 Requirement 中,编辑 Requirement,添加相应的内容,如图 2 中所示:

图 2. 在 Requirement 中添加内容
图 2. 在 Requirement 中添加内容
图 2. 在 Requirement 中添加内容

图 2 大图

当添加完 Requirement 之后,再添加相应的 Reviewer 和 Approver 对 Requirement 内容进行评审。

使用 RQM 管理测试计划

测试计划(Test Plan)是质量保证非常重要的组成部分。测试计划包含测试策略,测试目的,测试环境,测试日程等。使用 RQM,可以很方便地管理 Test Plan。在 RQM 中点击 Planning->Create Test Plan 创建一个 Test Plan,如图 3 所示:

图 3. 创建 Test Plan
图 3. 创建 Test Plan
图 3. 创建 Test Plan

图 3 大图

在实际工作中,测试团队也许一开始就在使用 RQM 或者其他的管理工具,当然也可能使用文档进行日常测试活动的管理。基于在工作中总结的最佳实践,不同的情况在使用 RQM 时,可以选择如下任意一种方式:

1. 使用 RQM 管理 Test Plan。如图 3 所示,在 RQM 中建立 Test Plan 之后可以创建测试目标 (Test Objectives),测试环境 (Test Environment),测试日程 (Test Schedules) 等。

2. 使用 RQM 加文档的方式管理 Test Plan。正如前面所说,当一个测试团队开始使用 RQM 时,虽然强大的 RQM 可以满足测试管理的需求。但实际上在使用 RQM 之前,测试团队已经使用文档管理测试相当长的时间,在 Test Plan 方面有很多很好的文档的模板(这同时也是测试团队的宝贵财产)。测试团队既希望可以利用已有的文档,又希望可以使用 RQM 提供的强大的功能。RQM 当然可以满足这样的需求并且可以很好地将现有的资源利用起来。RQM 提供了编辑文档的功能,使用它可以直接将文档中的内容复制到编辑区,进行编辑,并且可以很好地保留文档中的格式。这样就可以在项目开发过程中使用已有的模板编写测试目的,测试策略,测试设计等,然后将其复制到 RQM 中。具体的实现方法如下:如图 3 所示,点击 Test Objectives,在 Test Objectives 的页面上,点击 Add Content 进行 Test Objectives 的编辑,如图 4 所示:

图 4. 编辑 Test Objectives
图 4. 编辑 Test Objectives
图 4. 编辑 Test Objectives

图 4 大图

在 Test Schedules 中建立 Milestone。项目在开发的过程中,会有开发的里程碑(Milestone)。同样,测试也会有 Test Milestone。在 RQM 的 Test Plan 中可以很方便地管理 Milestone,点击 Test Schedules,添加相应的 Milestone,如图 5 所示:

图 5. 建立 Test Milestones
图 5. 建立 Test Milestones
图 5. 建立 Test Milestones

图 5 大图

Milestone 建立后,当创建测试用例执行记录(Test Case Execution Records)时,就可以选择相应的 Milestone 去更好地管理测试用例执行记录(Test Case Execution Records)。

如果开发中的是一个多平台应用的产品,例如支持多个操作系统(Operation System),多个 Web 服务器,多个数据库(Database),多个浏览器等,那么使用 RQM 管理 Test Environment 就是一个很方便的事情。如图 6 所示建立测试环境(Test Environment):

图 6. 建立 Test Environment
图 6. 建立 Test Environment
图 6. 建立 Test Environment

图 6 大图

建立好的 Environment 可以在多个 Test Plan 中使用。如图 7 所示,在创建 Test Execution Records 时,可以选择 Test Plan 中已填加好的 Test Environment。

图 7. 添加已有的 Test Environment
图 7. 添加已有的 Test Environment
图 7. 添加已有的 Test Environment

图 7 大图

评审(Review)是软件测试活动中非常重要的一部分,在 Test Plan 建立并得到完善之后(例如创建 Test Estimation,Entry Criteria,Exit criteria 等),要经过相关人员的评审。首先将 Test Plan 设置成 Ready for Review,然后点击 Formal Review,添加相关的 Reviewer 和 Approver。如果 Test Plan 的 Owner 希望 Test Plan 在某个特定的日期前完成评审,则可以添加 Due Date,如图 8 所示:

图 8. 评审 Test Plan
图 8. 评审 Test Plan
图 8. 评审 Test Plan

图 8 大图

当 Test Plan 被保存之后,相关的 Reviewer 和 Approver 会收到邮件通知。在评审的过程中,评审的建议可以加到注释(Comments)里。相应的评审进度会显示在 Status 中。

使用 RQM 管理测试用例和测试脚本

测试团队可以方便地使用 RQM 来管理测试用例。点击 Test Cases,可以编写新的测试用例(Test Case)或者添加已有的 Test Case 到 Test Plan 中,如图 9 所示:

图 9. 管理 Test Cases
图 9. 管理 Test Cases
图 9. 管理 Test Cases

图 9 大图

可以选择直接在 RQM 中编写 Test Case,也可以使用文档进行编辑,然后导入到 RQM 中。点击 Create Test Case Create Test Case 创建新的 Test Case,如图 10 所示:

图 10. 新建 Test Case
图 10. 新建 Test Case
图 10. 新建 Test Case

在创建 Test Case 时可以选择 Test Case 的类型(Type),包括功能测试用例(Functional),回归测试用例(Regression),系统测试用例(System)等。Test Case 的 Categories 是可以自定义的,点击 Manage Test Case Category Manage Test Case Category,如图 11 所示:

图 11. 管理 Test Case Categories
图 11. 管理 Test Case Categories
图 11. 管理 Test Case Categories

图 11 大图

填写 Test Case 的名字(Name),选择相应的 Category,点击 OK 保存 Test Case,如图 12 所示:

图 12. 已建好的 Test Case
图 12. 已建好的 Test Case
图 12. 已建好的 Test Case

图 12 大图

如图 13 中点击 Test Case 的 Name 打开相应的 Test Case 的页面,在 Test Case 的页面上点击 Test Script,如图 13 所示:

图 13. Test Scripts
图 13. Test Scripts
图 13. Test Scripts

图 13 大图

在图 13 所示中,可以选择添加一个已存在的 Test Script 或者是新建一个 Test Script。点击 Test Script 新建一个 Test Script,填写 Test Script 的 Name,保存 Test Case。如图 14 所示:

图 14. 已建好的 Test Scripts
图 14. 已建好的 Test Scripts
图 14. 已建好的 Test Scripts

图 14 大图

点击 Test Script 的 Name 进行 Test Script 的编辑,可以添加测试步骤(Test Step)到 Test Script,如图 15 所示:

图 15. 编辑 Test Scripts
图 15. 编辑 Test Scripts
图 15. 编辑 Test Scripts

图 15 大图

除了管理手动(Manual)的 Test Script,RQM 同时也可以方便地管理自动化测试脚本。自动化测试脚本是基于测试用例的。当写好测试用例之后,就可以决定哪些测试用例可以用自动化来实现,这样可以在回归测试时运行自动化测试脚本。点击左侧的 Construction->Import Script,可以选择从 Rational Functional Tester (RFT) 导入自动化脚本。在导入脚本之前要在 RFT 端配置好要连接的 RQM Server 并且启动 RFT Adapter,如图 16 所示:

图 16. RFT Adapter
图 16. RFT Adapter
图 16. RFT Adapter

在 RQM 中选择相应的 Adapter,填写正确的 RFT 项目路径(Project Path),选择 RFT Test Script,点击 Finish,如图 17 所示:

图 17. 导入 RFT Test Scripts
图 17. 导入 RFT Test Scripts
图 17. 导入 RFT Test Scripts

图 17 大图

在成功地导入自动化脚本之后,就可以将 RFT Test Script 添加到 Test Case 中,并且在 Test Case 里运行 RFT Test Script 并且可以查看 RFT 运行 Test Script 的结果。

在 Test Case 建好之后,还有一个非常重要的步骤,那就是对 Test Case 进行评审。打开之前建立的 Test Case,点击 Formal Review,设置 Test Case 的状态为 Ready for Review,添加相关的 Approver 和 Reviewer 并且设置 Due Date。如图 18 所示:

图 18. 评审 Test Case
图 18. 评审 Test Case
图 18. 评审 Test Case

图 18 大图

使用 RQM 管理测试用例执行记录

软件的测试活动应该被详细地记录。在 RQM 中,可以创建测试用例执行记录(Test Case Execution Records)来管理测试用例的执行。例如:要执行哪些测试用例,在什么环境和时间内由哪些测试人员执行等。在图 18 中,点击 Test Case Execution Records 进入 Test Case Execution Records 的页面,点击 Test Case Execution Records 创建 Test Case Execution Records,可以选择 Test Environment,如图 19 所示:

图 19. 创建 Test Case Execution Records
图 19. 创建 Test Case Execution Records
图 19. 创建 Test Case Execution Records

图 19 大图

点击 Next,进入选择 Test Environment 的页面,选择 Test Environment,点击 Next 进入选择 Test Case Execution Records 页面,选择相应的 Test Case Execution Records,点击 Finish,如图 20 所示:

图 20. 已建好的 Test Case Execution Records
图 20. 已建好的 Test Case Execution Records
图 20. 已建好的 Test Case Execution Records

图 20 大图

新建好的 Test Case Execution Records 也应当被评审,这一点容易被忽视。需要评审的最重要的内容是环境的覆盖是否足够。在 Test Case 的 Formal Review 里添加相关人员进行 Test Case Execution Records 的评审。

执行 TER 的时候,可以选择批量的执行。选中要执行的 Test Case Execution Records,点击 Create Result without Execution,选择 Create Result without Execution,如图 21 所示:

图 21. 执行 Test Case Execution Records
图 21. 执行 Test Case Execution Records
图 21. 执行 Test Case Execution Records

可供选择的状态有:Paused,In Progress,Passed,Incomplete,Failed,Error,Blocked。挑选其中的一个,点击 OK,在 Test Case Execution Records 页面就可以查看其执行的状态,如图 22 所示:

图 22. Test Case Execution Records 执行结果
图 22. Test Case Execution Records 执行结果
图 22. Test Case Execution Records 执行结果

图 22 大图

如图 22 中所示,如果一个 Test Case 关联了多个 Test Script,那么在执行 Test Case Execution Records 的时候也可以选择要执行的测试脚本。执行的结果也可以通过 View Test Case Execution Records 查询。查询的结果可以被保存,也可以共享给其他人,如图 23 所示:

图 23. 查询 Test Case Execution Records 并且保存查询(Query)
图 23. 查询 Test Case Execution Records 并且保存查询(Query)
图 23. 查询 Test Case Execution Records 并且保存查询(Query)

图 23 大图

View Test Case Execution Records 是一个非常有用的页面。可以在这里实时地查看测试的进度,统计测试的状态。在 View Test Case Execution Records 页面上,可以过滤出每个 Test Milestone 的 Test Case 的执行情况和每个 Test Case 的 Owner 的测试执行情况等。

使用 RQM 管理测试缺陷

在执行 Test Case Execution Records 的过程中,会发现应用程序的缺陷 (Defect)。使用 RQM 可以方便地管理测试过程发现的 Defect。点击左侧的 Defect->Create Defect 创建 Defect,如图 24 所示:

图 24. 创建 Defect
图 24. 创建 Defect
图 24. 创建 Defect

创建好 Defect 后,可以在 Test Case Execution Records 的执行结果中关联相应的 Defect。点击 Defect 添加已存在 Defect,如图 25 所示:

图 25. 在 Test Case Execution Records 执行结果中关联 Defect
图 25. 在 Test Case Execution Records 执行结果中关联 Defect
图 25. 在 Test Case Execution Records 执行结果中关联 Defect

图 25 大图

使用 RQM 生成测试报告

当测试执行结束后,通常测试人员要写测试报告,需要相应的测试数据支持。RQM 提供了很多的 Reports 的模板,使用 RQM 可以方便的生成关于 Defect,Execution,Requirement,Test Case 等的报告(Reports)。点击左侧的 Reports->View Reports,如图 26 所示:

图 26. RQM 中 Reports 的分类
图 26. RQM 中 Reports 的分类
图 26. RQM 中 Reports 的分类

其中,Defects 和 Execution 是测试人员在执行测试过程中要经常用的 Reports。点击 Execution->Execution Status by TER Count,选择要生成 Reports 的参数,点击 Run 生成 Reports,如图 27 所示:

图 27. RQM 中生成的 Report
图 27. RQM 中生成的 Report
图 27. RQM 中生成的 Report

利用 RQM 与 RTC、RCQ 的集成优化对测试过程的管理

IBM Rational Team Concert (RTC) 基于 Jazz 技术平台的团队协作开发平台,它包含了集成的源代码控制、工作项管理和构建管理等功能。在测试人员使用 RTC 管理工作项的同时,也可以利用与 RQM 的集成来方便地查看在 RQM 里的 Test Plan 和 Test Case。

IBM Rational ClearQuest (CQ) 提供了强大的管理缺陷的能力。利用 CQ 与 RQM 的集成,测试人员可以方便地对缺陷进行跟踪及针对缺陷进行应用程序的回归测试。

RQM 与 RTC 的集成

在 RTC 中可以关联 RQM 的 Test Plan 和 Test Case。这样当测试人员可以在查看 Epic 或者 Story 时点击 Test Plan 的链接跳转到 RQM 里,查看详细的 Test Plan。在查看 Task 的同时也可以方便地查看相对应的 Test Case。如图 28 所示:

图 28. RTC 中关联 Test Plan 和 Test Case
图 28. RTC 中关联 Test Plan 和 Test Case
图 28. RTC 中关联 Test Plan 和 Test Case

RQM 与 CQ 的集成

CQ 在管理 Defect 方面更加地强大。当测试团队使用 CQ 管理 Defect 时,可以在 CQ 中关联 RQM 里相应的 Test Case,如图 29 所示:在 Defect 的 Links 中,选择 Related Artifact,然后选择将要关联的 Test Case。

图 29. CQ 中关联 Test Case
图 29. CQ 中关联 Test Case
图 29. CQ 中关联 Test Case

相对应地,也可以在 RQM 里的 Test Result 中,关联 CQ 中的 Defect。如图 30 所示:

图 30. RQM 中关联 CQ 的 Defect
图 30. RQM 中关联 CQ 的 Defect
图 30. RQM 中关联 CQ 的 Defect

图 30 大图

在这个过程中,如果测试人员在执行测试时,在 CQ 里记录了 Defect,但是在 RQM 中并没有对应的 Test Case,那么就应当在 RQM 中创建 Test Case 以便在回归测试时验证 Defect 是否依然存在。并且应当在 CQ 里相应的 Defect 中关联创建好的 Test Case。理想的结果是在 CQ 中的每一个 Defect 都应该有相应的 Test Case 对应。

总结

使用 RQM 测试人员可以很方便地管理测试的整个活动过程。当一个测试团队开始使用 RQM 时,如何做到最佳地使用是需要测试人员快速了解的。本文通过实例详细介绍了如何使用 RQM 对软件测试生命周期进行管理的最佳实践。在实践中,使用 RQM 本身也是一个持续的过程。无论如何,只要开始使用 RQM,就能从 RQM 强大的生命周期管理中使测试工作事半功倍。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational
ArticleID=853099
ArticleTitle=使用 Rational Quality Manager 对软件测试生命周期进行管理的最佳实践
publish-date=12212012