SCMLife.com

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3319|回复: 1

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

[复制链接]
发表于 2012-12-25 18:11:20 | 显示全部楼层 |阅读模式
本帖最后由 技术狂人 于 2012-12-25 18:13 编辑 , n# V8 O. ~- u- g/ [4 k0 E
; O5 |# @3 q3 O" s
背景
Rational Quality Manager(RQM)是一款基于 Web 的集成化测试管理工具。它已经可以完全的取代 IBM Rational Manual Tester(RMT)和 IBM Rational ClearQuest Test Manager(CQTM)成为很多项目组的首选测试管理软件。近年来越来越多的项目开始使用敏捷开发模式(Agile),怎样使用 RQM 高效的管理敏捷项目成为很多测试项目组急需要解决的问题。幸运的是,RQM 针对敏捷迭代的特性提供了强大的支持。但是如果没有正确的利用 RQM 提供的功能,可能会使项目处于进退两难的境地。本文结合作者 2 年的 RQM 使用经验,介绍了如何使用 RQM 在敏捷项目中高效的进行测试管理。
5 w! h! f, M% w9 `2 m3 Z

% H9 N, Q- _1 Z  J( S6 U+ G" f* M- B$ @1 y0 H
RQM 简介
RQM 是基于 Jazz 平台的集成化测试管理工具。用户可以通过 Web 访问。与胖客户端的测试管理软件相比具有更高的可用能和灵活性。RQM 集成了 Jazz 平台的很多特性,能够为各种规模的测试项目组提供全生命周期的测试管理支持。RQM 中可以管理的资源实体(Artifact)包括项目,测试计划,测试需求,测试用例,测试脚本,测试执行记录,测试结果等。: A) |7 w' ]3 b/ B& Q9 W) {2 L
. @* Z! D' b! J2 ?
图 1. RQM 中各资源实体的关系% p8 Z! |! P1 U; A3 h: j4 G2 \
6 E% P2 b' o6 ]! P; b' K$ m
  • 测试计划(Test Plan):一个项目可以包含多了测试计划。测试计划可以按照测试种类划分,例如功能测试,系统测试,性能测试等。
  • 测试需求(Test Requirement):测试需求可以对应多个测试计划和测试用例。测试需求可以对应于敏捷开发模式中的用户故事(User Story)。这样可以把测试计划和测试用例与用户故事关联起来,便于管理。
  • 测试用例(Test Case):测试人员进行测试的核心资源实体。
  • 测试脚本(Test Script):具体的测试步骤。依附于测试用例。一个测试用例可以关联多个测试脚本。
  • 测试执行记录(Test Execution Record):基于测试用例,测试环境,测试阶段,测试人员创建而成。用于记录测试结果。
  • 测试结果(Test Result):记录测试脚本每一步的测试结果。一个测试执行记录可以关联多个测试结果。最后一次测试结果将作为测试执行记录的最终结果。
    ( l) a3 t8 Q$ W

& ~& Q: q9 Z$ n) n

- o( H0 [3 ]0 l
创建项目
敏捷开发模式的一个突出特点是迭代。整个开发周期会被分为若干个阶段(sprint)。每个 sprint 会在上一个 sprint 的基础上开发扩展用户需求。对于测试来说,在每个 sprint 除了要对新功能进行测试,大多还需要对旧的功能进行回归测试。这就需要重用旧的测试用例。为了减少测试用例在多个项目之间频繁迁移,在敏捷开发模式下,建议为每一个产品版本建立一个项目而不是 sprint。7 C) Y3 [- A0 ?  H: Z6 E" D
另外,RQM 中所有的资源实体(Artifact)都是在项目中进行管理。在创建项目时要充分考虑到项目的规模。如果项目创建的太小,会经常涉及到项目中的实体资源在多个项目之间进行迁移。如果项目创建的太大,一个项目中的资源实体过多,会影响使用及管理的效率。3 ~2 X: P, j* K
RQM 管理员可以在项目管理面板(Jazz Project Administration)中创建项目。在创建项目的过程中可以进行项目模板选择,添加用户等操作。当然管理员也可以随时对其进行修改。" _+ p  q+ o3 d& s/ k7 V


4 F/ o5 @, Q& O8 c5 I4 B  B% o5 ]: q' E- I' D( o
创建测试计划
在创建完项目之后,需要创建测试计划。测试计划是 RQM 中资源实体管理的核心。测试计划中包括测试需求,测试阶段,测试用例等资源实体。各个项目组需要按照测试计划完成测试。在敏捷项目中,建议为每一种测试类型建立一个测试计划。而在每个测试计划中,对各个 sprint 的测试内容分别进行管理。这样,既能在逻辑上对不同的测试类型分别进行管理,又能在不同的测试计划之间共享资源实体,节约测试资源。$ L4 o- F' o1 }+ K( e$ k
6 ~, i" e5 h$ a8 A7 F) c1 y
图 2. 测试计划列表/ d2 @. g' d+ E' |
. C: V& t( e6 z* ]( ^+ l
  • 为每一种测试类型建立一个测试计划。图 2 中分别为 FVT、SVT、GVT、PVT 创建测试计划。
  • 各个测试计划可以共用测试需求,测试用例。5 t' h5 `; x! @- a5 e( K8 Y4 \* `
在创建测试计划时,需要选择测试计划模板。用户可以根据项目的需求定制模板。
$ q5 B; d* r, o& Z- @& N0 y7 P5 O9 A( t7 h  w
图 3. 创建测试计划模板* e5 T7 j9 ]- f8 b. y

/ \* \! A; n1 X3 w7 |" a+ r
  • 测试需求(Requirements):管理该测试计划所需要满足的测试需求。
  • 测试用例(Test Cases):该测试计划所需要完成的所有测试用例。
  • 测试阶段(Test Schedule ):用于列举测试计划中所包括的所有测试阶段(Sprint)。在敏捷项目中起着关键作用。本文后续将做详细介绍。
  • 进入标准(Entry Criteria):列举开始该测试计划的系列标准。用户可以选择及修改预设标准,也可定制更适合特定项目的标准。
  • 退出标准(Exit Criteria):列举退出该测试计划的系列标准。用户可以选择及修改预设标准,也可定制更适合特定项目的标准。
  • 测试环境(Test Environment):定义测试阶段需要覆盖的所有测试环境。在创建测试执行记录时,可以根据需要选择定义测试环境。
  • 审查(Formal Review):RQM 提供完善的审查流程。
  • 定制部分(Custom section):用户可以根据项目需要添加定制部分。定制部分可以是多格式文本或表格形式。
    / N( {& ^. n5 L' `2 A
以上列举了在敏捷项目中推荐的测试计划模板内容。当然,用户可以根据项目的需要进行添加和删减。9 c# {$ b7 R' @6 e
0 W4 ^4 c* [: A( A
图 4. 测试阶段定义4 Y* u/ ?& t4 A

. T- z$ n) w8 |: N8 q
  • 为每一个 sprint 创建一条记录,包括测试阶段的开始和结束时间,计划的点数(Points),预期的缺陷数目(Defect )等。
  • 在创建测试执行记录时,需要选择测试阶段。这样,可以实现在一个测试计划中,基于一个测试用例创建多条测试记录,并在不同的测试阶段执行。测试用例可以在不同测试阶段重复使用。
  • 建议在每个测试计划中为回归测试(Regression Test)创建一条记录,并基于其创建测试执行记录。这样,使用者不需要为回归测试复制测试用例。对于具有上千测试用例的项目来说,大大节省了测试资源。: W7 m& Y# G" a5 q' x$ D5 |


$ X% S" l; Y! P8 W& ~4 u0 {  P1 [6 `0 W  C* g, ?) J9 U# l! ?
创建测试用例及用例分类
测试用例是测试人员进行测试的核心资源实体。每个测试用例可以关联一个或多个测试脚本。测试脚本用来记录具体的测试步骤。建议创建测试脚本而不是把测试步骤记录在测试用例里。这样,在执行测试执行记录时,可以按步骤记录详细的执行结果,节省了手工记录执行结果的时间。
5 `1 c! r% B" {4 n# Q; x很多项目的测试用例的数量很大,有些已经达到万级。我们需要能够有效的管理这些测试用例,快速的筛选出需要的测试用例。
2 l+ j7 b: t3 O6 ]$ r+ c; p
$ W1 y( P* L1 {$ u. E0 ^' D图 5. 测试用例分类/ ?0 o8 g8 p% y7 P! j! O! v

8 s6 d# W( w8 t2 e  YRQM 可以对测试用例进行分类管理。用户可以根据项目自身的特点,对分类进行定制。图 5 中,我们通过自动化(Automation)、类别(Category)、功能(Function)、测试阶段(Test Phase)等对测试用例进行分类。
& M& A" |3 M) B4 R9 x0 v- y' K5 ^, ?
图 6. 测试用例筛选1 r, v: w  x: I, g( K+ E! P) _

8 e( e3 o2 L# A  O5 I7 s9 d在测试用例页面,可以根据分类对测试用例进行筛选。
7 [! `2 E: ^/ k

8 c% |' Y  l( x( R% `8 Q( H( i4 z+ z" G5 w( m! o
创建测试执行记录及执行
测试执行记录是测试者最终使用并记录测试结果的资源实体。
* ?% {( }7 u! o
6 M1 w8 R* |) D* g1 X8 _% W0 ~图 7. 创建测试执行记录% v6 Z8 v" G' A; ~4 u( q) M: n' }
# N- M! Q, o% R9 [
  • 测试执行记录基于测试用例,测试环境,测试阶段和测试者进行创建。
  • 可以同时为多个测试阶段,测试环境创建多个测试执行记录。
  • 建议使用测试计划中定义的测试环境(Reuse Existing Test Environment),比避免产生大量重复的测试环境。4 ~5 k4 f7 ~* y/ ]/ H$ v, `

8 h' D% l. W) x图 8. 执行测试执行记录
9 i9 c5 c9 P+ \! f# E$ T* c0 ^6 |: P$ B# W; u
  • 在执行过程中可以逐步标记执行结果,并添加注释。
  • 如果项目通过 RQM 管理缺陷,或与 Rational Clear Quest、Rational Team Concert 整合管理来管理缺陷,可以实现在执行中创建或添加 defect。
  • 测试者可以多次执行测试记录。最后一次的测试结果将作为测试执行记录的最终结果。每次测试结果都会被保存以供后续查询。) h# K4 _) r9 L7 Q, J% p

2 c$ k  J8 i% S& J* ?) A
  j0 w# U1 B& @8 o: c( s. ~+ Z2 n
监控项目进度
敏捷开发模式的各个 sprint 周期较短,一般在 4~6 周。这就要求管理者及时监控项目状态,发现解决问题,以保证项目能够及时退出本 sprint,进入下个 sprint。RQM 提供了多种报告模板,可以对 RQM 中所有的资源实体进行监控,能够满足大多数项目的要求。RQM 提供的报告模板包括:8 K9 f! {& F6 @6 c2 h, o5 F
  • 缺陷列表,状态,缺陷报告和解决趋势
  • 测试执行进度
  • 测试结果统计
  • 测试需求覆盖
    & J* C6 r- P2 a7 D3 J7 n5 ?6 Q
以一个 sprint 周期为例。* O- z4 _2 c" O- a" K/ m) J
  • 在测试计划中,可以预估每天需要完成的测试点数。使用模板“执行趋势”(Execute trend)可以比较出实际测试趋势与计划测试趋势的区别,从而评估项目可能发生的风险,及时执行风险应对计划。
  • 使用模板“测试者 TER 执行状态”(Execution Status by Owner using TER Count)监控每一个测试者在该 sprint 的工作完成情况。通过监控,可以帮助协调测试资源,以按时完成整个测试计划。
  • 使用模板“TER 执行状态”(Execution Status using TER Count)监控整个项目在该 sprint 的测试执行情况。通过监控可以帮助管理者实时的在整体上把握项目的进度。
  • 如果使用 RQM 管理缺陷,模板“缺陷报告和解决趋势”(Defects arrival and resolution)可以帮助按时间段(天 / 周 / 月)统计缺陷的报告和解决情况。管理者可以通过该趋势评估产品的质量,以及未来可能出现的质量风险。
    ; S# T  m. y! v# V: T3 }/ Y
除了 RQM 提供的报告模板,RQM 还可以与 Rational Common Reporting 整合提供更强大的报告功能。
; t0 }- k( O# P
6 j* q& c  @$ s; d& s- V0 c
( d2 w; \& \3 \! K
小结
本文介绍了如何在敏捷项目中使用 RQM 进行测试管理。内容包括项目的规模,测试计划的创建,测试用例的分类,测试执行,项目监控,数据复制等。除此之外,RQM 还提供很多其他功能,如与自动化测试工具的整合,缺陷管理,实验室资源管理等。读者可以在使用中不断学习,加以利用。& u! L9 M6 d5 I7 ~8 x3 z

3 z5 e6 Q7 L9 R4 z8 i0 u3 N

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
 楼主| 发表于 2012-12-25 18:12:37 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

SCMLife推荐上一条 /4 下一条

QQ|小黑屋|手机版|无图版|SCMLife.com ( 京ICP备06056490号-1 )

GMT+8, 2019-7-24 07:12 , Processed in 0.067253 second(s), 8 queries , Gzip On, MemCache On.

Powered by SCMLife X3.4 Licensed

© 2001-2017 JoyShare.

快速回复 返回顶部 返回列表