业务需求驱动的软件质量管理系统 Rational Quality Manager
 

2009-07-14 作者:李佳慧 来源:IBM

 
本文内容包括:
软件质量管理不仅仅是测试、验证产品的质量,更要关注产品是否满足真正的业务需求,也就是产品是否满足的客户的真正需求。Rational Quality Manager (RQM) 是以业务为驱动的软件质量管理集成平台和门户,它通过强大的从业务需求到测试计划,设计和执行过程的跟踪帮助企业有效控制软件质量。本文主要介绍 RQM 系统如何实现需求驱动的质量管理。

简介

提到软件质量管理,您会想到什么?许多用户会联想到一些阶段性的测试工具,比如说 Rational Functional Tester、Rational Performance Tester 等等。实际上,软件质量管理不仅仅是测试,测试关注产品的质量,看其是否能为用户所使用,它包括功能,性能等方面的验证,这些都是必要的,但质量管理不仅要关注这些,更要关注产品是否满足真正的业务需求,也就是产品是否满足客户的真正需求。目前,工程师在软件质量管理方面遇到很多麻烦,那么针对这些麻烦和困惑,IBM Rational 最近推出了一款全新的企业软件全生命周期质量管理产品 Rational Quality Manager,简称为 RQM。它是基于新一代软件协作交付平台 Jazz 开发的一款新产品,因此具有 Jazz 良好的协作性以及信息透明化等特性。RQM 是以业务为驱动的软件质量管理集成平台和门户,它通过强大的从业务需求到测试计划,设计和执行过程的跟踪,帮助企业有效控制软件质量,优化资源,有效重用现有资源。

大家知道,尽早的将软件测试团队引入到软件开发中,可以从需求阶段就发现很多错误,从而以最小的代价修复错误。所以测试计划,测试用例与需求的关联追踪,能很好的控制软件的质量,从而使产品很好的满足用户的需求。传统的管理方法,会将需求、测试用例等放在 word 或 excel 文档中管理,然后用 excel 来追踪需求和测试用例之间的追踪关系。我们知道,需求没有一成不变的,所以一旦需求发生改变,用户需要手工更新该需求与测试用例间的追踪关系。这样,用户耗费巨大的时间和精力在维护两者之间的关系上,而且效果也不好。

这里我们来关注一下 RQM 如何完成业务需求驱动的软件质量管理,实现端到端的测试需求跟踪和变更管理。图 1 是软件生命周期过程中知名的需求追踪金字塔模型,系统分析师根据业务需求来设计产品特性,需求分析人员从产品特性中提取软件需求,设计人员由软件需求来进行设计,测试人员可以根据软件需求来设计测试用例,从而准确的测试到产品的特征。所以我们可以看到,测试用例实际上也是追踪于产品的业务需求的,所以更好的跟踪需求变更,可以及时修改测试用例。另外,测试人员有着丰富的产品使用经验,将他们尽早的引入到需求,也可以尽早发现需求方面的问题,从而以最小的代价修复错误,从而提高整个软件的质量。

图 1. 需求追踪金字塔模型
需求追踪金字塔模型

RQM 系统中的需求获取方式

那么如何配置 RQM,从而实现从测试计划、测试用例到需求的追踪管理。RQM 有三种方式来获取需求。首先,RQM 提供了需求模块,用户可以直接将需求输入到 RQM 的需求模块中进行管理。另外,RQM 还支持从存有大量需求的 XML 文件中批量导入需求;最后,RQM 还可以通过与当前主流的需求管理软件 Rational RequisitePro 或 Doors 集成,将 RequisitePro 或 Doors 中的需求导入 RQM 中的需求模块。RQM 导入需求后,可以根据需求来建立测试计划、测试用例,从而实现业务驱动的软件质量管理。

多种需求获取方式的支持使 RQM 可以应用于各种规模的企业。比如,一些中小型企业,可能没有使用专业的需求管理软件来做项目的需求管理,只是使用 Excel 来进行需求管理。RQM 系统为用户提供了需求管理模块,使用户可以直接将需求输入到 RQM 系统中的需求管理模块,或是从已有的包含需求的 XML 文件中,将需求批量导入到 RQM 系统,从而在 RQM 系统中进行简单的需求管理。而对于已经使用专业需求管理软件 Rational RequisitePro 或 Doors 的企业,可以按照下面的步骤,将需求导入到 RQM 系统中。

RQM 与 RequisitePro7.1 集成时,要求 RequisitePro 安装了 web client

集成步骤:

  1. 安装好 RequisitePro 7.1,并且配置了 RequisiteWeb.
  2. 在 RequisitePro 中创建一个 project 来管理项目的需求,并且为这个 project 添加一个或多个用户。
  3. 在这个 RequisitePro 的 project 中,添加各种类型的需求。
  4. 将 RequisitePro project 中的需求导入 RQM 的测试计划中,具体步骤见下面第二小节“如何完成 RQM 与 RequisitePro 的集成,将 RequisitePro 中需求导入 RQM 中”
  5. RQM 的测试计划中会包含多个测试用例,这些测试用例是可以关联一个或多个已经导入到测试计划中的需求。

如何完成 RQM 与 RequisitePro 的集成,将 RequisitePro 中需求导入 RQM 中

  1. 从 RQM 左侧的导航栏中,选择需求按钮 (需求按钮),然后点击“Import Requirements”;
  2. 用户将看到两种需求导入方式,选择从 RequisitePro 中导入“Import from an external requirement system (e.g. Rational RequisitePro)”;
图 2. Rational Quality Manager 与 RequisitePro 的集成
Rational Quality Manager 与 RequisitePro 的集成
  1. 如图 2 所示,在导入信息对话框中填写 RequisitePro Server 的主机名和端口,然后点击“Next”进入下一步。
  2. 在该步骤中,可以选择该 RequisitePro Server 上的 project,并输入该 project 的用户名和密码,用于集成。
  3. 接下来,RQM 中将会列出所有该 RequisitePro project 中的需求类型,以及该需求类型下的所有需求。从这些需求中,选择所需要的,导入 RQM 系统中。如图 3 所示,列出 RequisitePro 中的需求类型为”Stakeholder Request”的所有需求。选择部分需求后,点击”Import”按钮,将需求导入到 RQM 系统中。
图 3. 选择要导入的 RequisitePro 中的需求
选择要导入的 RequisitePro 中的需求
  1. RQM 从 RequisitePro 中导入需求成功后,可以从 RQM 左侧的导航栏中,选择需求按钮 (选择需求按钮),然后点击“All Requirements”,由此来验证需求是否导入成功。

如何将 RQM 中的需求与测试计划和测试用例进行关联

通过第一部分的介绍后,用户已经可以将 RequisitePro 中的需求已经被导入到 RQM 中,接下来介绍的是:如何将这些需求与 RQM 系统中的测试计划和测试用例关联,来实现测试用例、测试计划到需求的追踪。

这种追踪带来的好处是:首先用户可以方便的查看是否所有需求被测试计划和测试用例覆盖,其次是能及时根据需求的变动状态来更新测试用例、测试计划,更好的保证软件质量。

  1. 在 RQM 中打开一个已建好的测试计划,并展开其中的需求部分
  2. 在需求部分中,点击添加需求的按钮(添加需求的按钮),RQM 会列出该系统所有的需求
  3. 选择该测试计划所要覆盖的需求,将这些需求与该计划关联。至此,该测试计划所要覆盖的需求已经关联。
  4. 在该测试计划中,会包含多个测试用例,每个测试用例可以追踪于一个或多个需求。打开其中的一个测试用例,在该测试用例的需求部分,关联一个或多个测试计划已关联的需求。
  5. 至此,在 RQM 系统中,需求与测试计划和测试用例已经关联成功。

这里举一个实际应用中的例子,我们知道在 RequisitePro 中的需求有很多中类型,这样能更好的描述不同阶段的需求。比如一个项目 Project 1 中的需求类型有 Product Feature 和 Supplementary Requirement,这两种需求类型用于描述产品的特性需求,以及后期的补充需求。

  1. 在 RQM 中,导入 RequisitePro 项目 Project 1 中的这两种类型的所有需求。这样在 RQM 需求管理部分,我们可以看到所有导入的这两种类型的所有需求。
  2. 在 RQM 的测试计划 Plan 1 中,选择“Requirement”section,将导入的需求与该测试计划关联。
  3. 在该测试计划中建立新的测试用例,为了能让该测试用例更好的对产品特性进行测试,我们让每个测试用例关联一个相应的产品的特性需求,让每个测试用例专门测试产品的某个特性。例如,让 test Case1 与需求 Feature1 关联。

这样,我们就建立了测试计划、测试用例与需求的追踪关系。在下面的章节中,继续我们的这个例子:在 RequisitePro 中,更新产品的特性需求,从而看到 RQM 系统如何跟踪需求的变化,来更新相应的测试计划、测试用例。

三.RQM 系统中的需求变化追踪

众所周知的,需求是不断变化的,怎么样能在测试过程中更好的追踪需求变化,从而降低需求变化所带来的风险?

RQM 系统提供了需求变更的自动通知功能,当需求在需求管理工具 RequisitePro/Doors 中变动时,RQM 为需求提供了“Status”标识位,该标识位会自动更新为“Updated”。从而通知用户需要更新相关的测试计划、测试用例,更好的测试需求的变更。例如,当 RequisiteRro 中的原始需求被更新或是被删除时,导入 RQM 中的需求状态标识位“Status”会被相应的标成”Updated”或是”Deleted”。关联了该需求的测试用例会自动更新其状态为”Suspect”,测试人员可以及时看到需求变化对哪些测试计划和测试用例产生影响,从而及时对测试计划或测试用例进行准确的更新和修改,达到更好的控制软件质量的目标。

在第二部分中,我们做了一个例子,让测试计划 Plan 1 中的 test case1 与导入的需求 Feature1 建立关联。我们继续这个例子,来看 RQM 系统如何追踪需求的变更。

  1. 用户的需求发生变化了,在 RequisitePro 系统中,需求管理人员修改了产品特性需求 Feature 1 的内容,而且该需求的优先级也被相应提高了。
  2. 这时在 RQM 系统中,如图 4 所示,我们会发现导入的需求 Feature 1 的状态发生了变更,由 Status 表示位自动更新,由原先的”normal”变成了”Updated”。这样可以让用户及时得到信息,需求发生变化了。
图 4. 需求的状态标识位
需求的状态标识位
  1. 与这个需求相关联的 Test case 1 的状态会自动变成”Suspect”,所以,用户可以及时知道:需求的变更让这个测试用例受到了影响。
  2. 用户可以查看需求的变化,根据这些变化,修改相关联的测试用例 test case 1,这样才能更好的测试产品的特性。

除此之外,RQM 还提供了丰富的需求覆盖分析方面的报表,比如“Plan Requirements Coverage by Test Case”, “Requirements Traceability”,以此来帮助用户来追踪需求与测试用例,缺陷之间的关系。如图 5 所示,用户可以清晰的查看出哪些需求被测试用例所覆盖,哪些测试用例没有被覆盖到。一旦需求有变动,两者之间的关系会变成“Suspect”,提示用户来进行需求变更的处理。

图 5. 需求与测试用例覆盖关系图
需求与测试用例覆盖关系图

总结

综上所述,用户可以根据本文介绍的方法,在 Rational Quality Manager(RQM)系统中,建立测试计划、测试用例与需求的追踪关系。一旦需求发生变更,RQM 系统会提示用户调整相关联的测试计划和测试用例。用户可以根据需求的变化,对相关联的测试计划和测试用例做出准确的调整,从而实现端到端的测试需求跟踪和变更管理;更好的监控产品质量,使产品满足客户的真正需求。

参考资料

学习 获得产品和技术 讨论

火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织