使用 Rational Quality Manager 管理虚拟环境中的实验室资产

扩展 IBM Rational Test Lab Manager 来实现测试资产管理

通过扩展 IBM® Rational® Quality Manager 的 IBM® Rational® Test Lab Manager 组件,您可以管理虚拟环境(比如云)中的测试资产。您可以导入虚拟镜像和机器的最新定义,以便将它们用于测试实验室中,并根据需要部署新的虚拟机。本文将介绍位于罗马的 IBM Tivoli® Lab 如何试验性地将 Rational Quality Manager 与 IBM® Tivoli® Service Automation Manager 7.2.2.1 相集成,从而帮助测试团队改善生产力、周期时间和成本效益。

Pietro Marella, 咨询工程师, IBM

作者的照片Pietro Marella 于 1991 加入 IBM,1998 年加入 Tivoli 担任罗马 Software Group 实验室的一名软件工程师。他担任过多年有关系统管理产品组合中不同产品的开发人员和设计师。他目前是 Rome QA 区域的测试架构师,专门负责规划、测试和自动化战略。



Torsten Schlegel, IT 专家, IBM

http://www.ibm.com/developerworks/i/p-tschlegel.jpgTorsten Schlegel 是位于伯布林根的 IBM 德国研发实验室的一名软件工程师。他于 1996 年加入 IBM,作为应用程序开发人员研究客户项目已有多年。Torsten 是 Tivoli Service Automation Manager 开发团队的一员,在该团队负责专门研究内部开发、构建和测试流程的自动化和集成。2013 年,他加入了 SmartCloud Orchestrator 开发团队。



2013 年 11 月 28 日

Rational Quality Manager 是一个基于 Web 的测试管理软件,它为质量保证团队提供了管理和跟踪整个质量生命周期的途径。它是一个协作式的、可自定义的解决方案,用于创建和维护测试计划和设计,执行手动或自动测试,管理目标和时间表,并跟踪和报告测试阶段的总体健康状况的指标。

作为 IBM® Rational Collaborative Lifecycle Management (CLM) 解决方案的一部分,Rational Quality Manager 包含针对需求和缺陷管理的模块。借助 Test Lab Manager(Rational Quality Manager 的一个嵌入式组件),测试团队可以将(虚拟或物理的)测试实验室资源集成到其组织的质量管理生命周期中。

图 1. Rational Quality Manager 测试周期管理
测试管理的重要操作

借助 Tivoli Service Automation Manager,您可以精心安排硬件资源来建立云环境。该软件支持使用一个虚拟机管理程序来自动配给服务器,以便可以实现按需硬件使用和预防资源空闲。

本文更新和详细地阐述了 Pietro Marella 撰写的 扩展 Rational Quality Manager 来管理云中的实验室资产 一文,这篇文章演示了如何将 IBM Rational Quality Manager 与 IBM SmartCloud Provisioning Version 1.2 相集成。罗马 IBM Tivoli Lab 的这个较早的试验项目已通过 Torsten Schlegel 的工作得以扩展,展示了如何通过扩展 Test Lab Manager 功能将 Rational Quality Manager 与 Tivoli Service Automation Manager 相集成,从而通过虚拟机管理和执行来加速测试周期。这项工作是罗马和伯布林根的质量保证团队的共同结晶。

架构

Tivoli 罗马实验室已经开始广泛采用 IBM Rational® Jazz™ 来实现 CLM,而对每个应用程序(IBM® Rational Team Concert™、IBM® Rational® Requirements Composer 和 Rational Quality Manager)的采用具有不同的成熟度水平。在我们 2012 年 5 月第一次描述我们的方法和成果时,我们使用的是 3.0.1.1 实现。请参见图 2:

图 2. Tivoli 罗马实验室中实现的架构
基于 Jazz 的实现的重要组件

为了降低成本和提高效率,人们付出了巨大努力,在开发和测试活动中提高虚拟环境的使用率。开发人员和测试人员可以使用一个 IBM Tivoli Service Automation Manager 7.2.2.1 系统,根据需要来请求虚拟环境,从而提高其工作的有效性和效率。此效率提升主要源于更高的资源可用性,以及从一个干净环境开始所带来的信心。

借助对 Rational Quality Manager 和 IBM Tivoli Service Automation Manager 的集成,Tivoli 罗马实验室打算进一步提高测试团队的效率。实验室管理功能的这种集成为团队提供了易用的、虚拟化的访问能力,以便在测试定义和执行周期中测试实验室资源。

图 3. 已实现的扩展的 Rational CLM 架构
罗马实验室 IT 的重要组成部分

Rational Quality Manager 中的测试实验室管理

测试实验室资源的管理是 Rational Quality Manager 为端到端测试管理而集成的功能之一。通过定义测试环境并将它们链接到测试案例,您能够全面跟踪测试执行,而且更容易理解覆盖问题。您还能够更高效地利用您的资源,因为您可以通过使用保留功能、按组组织它们等方式来跟踪和管理实验室资源。

管理虚拟环境中的实验室资产的第一步是确保 Rational Quality Manager 知道它们。为此,基本做法是手动创建实验室资源定义或从外部文件导入它们的定义。

了解它们的更高级的一种方式是,利用 Rational Quality Manager 功能与发现和配给工具相集成。您可以使用适配器 来执行此类集成,适配器可以通过 Rational Quality Manager Web UI 调用来触发这些产品上的操作。


适配器概述

适配器是用于扩展的特定接口的实现。有三种类型的适配器可以扩展实验室管理功能:

清单适配器
清单适配器集成了 Rational Quality Manager 与拥有清单功能的外部应用程序。借助此集成,实验室管理器可以更新实验室资源数据,显示最新的实验室资源配置和新实验室资源。
 
自动化适配器
自动化适配器集成了 Rational Quality Manager 与具有自动化功能的外部应用程序。借助这类集成,实验室管理器可以在远程实验室资源上运行在外部应用程序中配置的脚本、项目或库。
 
虚拟化适配器
虚拟化适配器集成了 Rational Quality Manager 与一个管理虚拟镜像和虚拟机的外部应用程序。
 

这些适配器被称为 Lab Manager 适配器,以便您可以将它们与其他扩展测试脚本执行自动化的适配器类型区分开。


IBM Tivoli Service Automation Manager 适配器

IBM Tivoli Service Automation Manager 适配器执行了许多任务。它可以:

  • 实现一个虚拟化适配器,将 Rational Quality Manager 与一个虚拟化引擎 (IBM Tivoli Service Automation Manager) 相集成
  • 发现虚拟镜像定义
  • 部署新虚拟机,从已发现的虚拟镜像开始
  • 发现虚拟机细节
  • 操作虚拟机(启动、停止或备份,以及还原)
  • 在虚拟机上运行自动化任务或在它们之上运行配给软件(如果可用)

接下来,您将了解如何使用 Rational Quality Manager 3.0 全面集成的适配器。


Tivoli Service Automation Manager 的 REST 客户端

Tivoli Service Automation Manager 适配器使用一个 REST 客户端来创建控制 Tivoli Service Automation Manager 的 REST API 请求,而不是使用自助的用户界面。REST 客户端是一个包含多个部分的 JAR 文件。它可以独立运行,也可以链接到其他 Java 应用程序。在本例中,直接调用了 REST 客户端 API。请参见图 4:

图 4. Tivoli Service Automation Manager REST 客户端组件集合
TSAM RESTful 客户端的组件集合视图

配置虚拟化适配器

对于 Rational Quality Manager 而言,要识别新适配器,则需要在 Integration_configuration.xml 文件中添加一个特定的部分。该文件通常位于以下目录中:

RATIONAL QUALITY MANAGER installation path\server\conf\qm

这个新的部分将 IBM Tivoli Service Automation Manager 适配器定义为虚拟化适配器 (virtualizationExtensionId) 和自动化适配器 (automationExtensionId) 的实现。virtualizationExtensionId 调用与 IBM Tivoli Service Automation Manager 的同步功能将虚拟镜像和虚拟机定义导入到 Rational Quality Manager 数据库中。它还部署一个新虚拟机,这样您就可以在适配器发现或部署的资源上调用任务或执行自动化

清单 1 显示了适配器的配置细节(这里使用的缩写为 RQM = Rational Quality Manager,RTLM = Rational Test Lab Manager 和 TSAM = IBM Tivoli Service Automation Manager):

清单 1. 适配器配置
<adapter>
   <name>TSAM RTLM Integration Adapter</name>
   <version>1.0</version>
   <APIVersionSupported>1.0</APIVersionSupported>
   <automationExtensionId>com.ibm.tivoli.sa.rtlm.spi.automation.SAAutomationSPI
            </automationExtensionId>
   <virtualizationExtensionId>com.ibm.tivoli.sa.rtlm.spi.virtualization.
            SAVirtualizationSPI</virtualizationExtensionId>
   <pluginId>com.ibm.tivoli.sa.rtlm.spi</pluginId>
   <instance>
      <instanceId>TSAMadapter</instanceId>
      <projectArea>SPA PerformanceRome</projectArea>
      <hostname>nc112213.romelab.it.ibm.com</hostname>
      <port>9443</port>
      <credential>
         <username>admin user</username>
         <password>admin pwd</password>
      </credential>
      <details>
         <hypervisor>%2Fcloud%2Frest%2Fpools%2F0%2F</hypervisor>
         <version>tsam7221</version>
      </details>
      <options>
         <customer>PMRDPCUST</customer>
      </options>
   </instance>
</adapter>

您也可以根据您的需要来修改和更新适配器的配置细节。示例包括:

projectArea
为 Rational Quality Manager 中惟一有权与适配器交互的一个特定项目定义一个链接
 
hostname port
定义 IBM Tivoli Service Automation Manager 服务器位于何处和使用哪个端口进行通信
 
credential
提供将用来与 IBM Tivoli Service Automation Manager 服务器建立通信的用户名和密码
 
details
提供 IBM Tivoli Service Automation Manager 的版本和 Cloud Server Pool 的序列号。这个编号可在 Maximo > Go To >Service Automation > Configuration > Cloud Server Pool Administration(选项卡 Cloud Server Pool)中确定。例如,这里序列号为 0:%2Fcloud%2Frest%2Fpools%2F0%2F
 
options
提供客户名称。Cloud Customer Administration 应用程序 (Maximo > Go To >Service Automation > Configuration > Cloud Server Pool Administration) 将硬件分配给一个客户。只有分配给客户的资源可由客户安排。
 

使用虚拟化适配器

要完成虚拟化适配器的安装,您需要重新启动 Rational Quality Manager。完成此过程后,您可导入 IBM Tivoli Service Automation Manager 服务器中定义的镜像模板,并将它们与您配给的虚拟机同步。后续步骤将解释如何完成此任务。

同步 IBM Tivoli Service Automation Manager 以导入镜像模板

您可以从 All Inventory History 面板与虚拟化适配器同步。在左侧导航面板中,单击 Lab Management  图标并从下拉菜单中选择 All Inventory History(参见图 5)。

图 5. 显示 All Inventory History
导航菜单的屏幕截图

单击 All Inventory History 面板右侧的 Synchronize 按钮,以便从 IBM Tivoli Service Automation Manager 导入虚拟镜像和虚拟机。参见图 6。

图 6. 导入虚拟实验室资源
Synchronize 按钮,All Inventory History 面板

同步结束时,您会看到导入的镜像和虚拟机的完整列表。Rational Quality Manager 可将它们识别为新资产或更新的资产。参见图 7。

图 7. 导入的虚拟实验室资源
清单显示了镜像、虚拟机列表

备注:
本文未介绍虚拟镜像集合和虚拟机集合。


部署一个新虚拟机作为实验室资源

从 IBM Tivoli Service Manager 导入虚拟镜像定义后,就可以对它们进行操作。最基本的操作是部署一个新虚拟机。为此,

请转到左侧导航面板,单击 Lab Management 图标,然后选择 View Lab Resources。参见图 8。

图 8. View Lab Resources 选项
Rational Quality Manager 导航菜单

View Lab Resources 面板中,打开 View Builder 编辑器。选择 Virtual Image 类型来细化搜索,单击 Run 开始搜索。参见图 9。

图 9. 细化搜索以仅列出虚拟镜像
View Lab Resources 面板,View Builder 编辑器

现在列出了 Rational Quality Manager 中通过 Tivoli Service Automation Manager 适配器定义的所有虚拟镜像。选择您希望部署作为新虚拟机的虚拟镜像,请单击 Deploy。屏幕右上角的按钮 右上角的按钮 应处于活动状态。参见图 10。

图 10. 所有虚拟镜像实验室资源的列表
View Lab Resources 面板结果列表

请注意,一般信息已发现并且已在 Rational Quality Manager 中注册。此信息包含镜像类型和拥有它的工具。您还可以看到镜像的操作系统细节,比如操作系统级别和架构。参见图 11。

图 11. 虚拟镜像细节窗口
该屏幕截图显示了镜像细节和 Deploy 图标

您可以在 Inventory History 面板中的 Deployment Operations 部分中监视 Rational Quality Manager 中的部署操作。参见图 12。

图 12. 部署监视面板
部署操作跟踪

仔细检查 IBM Tivoli Service Automation Manager 用户控制台,以验证部署操作是否已执行。图 13 表明已经启动一个新的 “VMware 项目”。

图 13. Tivoli Service Automation Manager 用户控制台
TSAM Console 显示了已启动的项目

要查看新部署的虚拟机,请转回到 Rational Quality Manager。从 View Lab Resources 面板,再次打开 View Builder 编辑器。选择 Virtual Machines 类型来细化搜索,单击 Run 开始搜索。

在列出的虚拟机中,您会发现刚才部署的虚拟机。从这里,您可将这个新虚拟机添加到您需要链接到一次测试案例执行的任何测试单元中。参见图 14。

图 14. 查看所有虚拟机实验室资源
View Lab Resource 屏幕显示了新部署的虚拟机

一个使用自动化任务的更复杂的部署

虚拟机的部署通常需要您指定参数,比如保留时间范围或虚拟机容量(CPU、RAM 和磁盘)。但是,Rational Quality Manager 中内置的部署操作未提供指定您请求的虚拟机的任何特征的功能。

IBM Tivoli Service Automation Manager 适配器通过为此范围提供任务或自动化而克服了这一限制。(也可添加其他操作,比如开始或停止一个部署的虚拟机的操作,或者创建快照的操作。)可在 Rational Quality Manager 中轻松地调用自动化的任务。

从左侧导航面板,单击 Lab Management 图标并从下拉菜单选择 All Automations。参见图 15。

图 15. 选择 All Automations 视图
导航菜单,已选择 All Automations

该适配器支持的所有可用的自动化已在 Automations 部分中列出。

  • StopVirtualMachine
  • BackupVirtualMachine
  • DeployVirtualMachine
  • RestoreVirtualMachine
  • StartVirtualmachine

该适配器还可以提供其他自动化,以涵盖 Tivoli Service Automation Manager 中的所有可用功能。参见图 16。

图 16. 按适配器列出了所有可用的自动化任务
All Automations 视图显示了可用于运行的任务

根据具体任务,可以将这些自动化任务应用到特定的资源。例如,DeployVirtualmachine 被应用于虚拟镜像资源(在图 17 中以黄色突出显示。列出了 automations7 的所有可用虚拟机),而其他所有任务(Start、Stop、BackupRestore)被应用于虚拟机资源(已在图 17 中以红色突出显示。列出了 automations7 的所有可用虚拟机)。Available Machines for Automation 部分列出了适配器已经发现的、您可以对其运行自动化任务的所有可用资源(镜像和机器)。在运行自动化任务时进行正确区分和关联,这是用户的职责。

图 17. 列出自动化任务的所有可用机器
Available Machines for Automation 列表

接下来,您希望指定要应用哪个镜像。从要运行的可用自动化列表,选择 TSAM.DeployVirtualMachine 自动化。该面板显示了 Tivoli Service Automation Manager 适配器发现的所有资源,这些资源是为此任务授权的惟一资源。

从可用镜像中选择您希望部署的镜像(一定要选择一个虚拟镜像,否则将出现错误)。参见图 18。

图 18. 指定要部署哪个镜像
可用的自动化和机器

单击 Run 图标开始部署。系统会提示您在 Properties 弹出窗口中填入所需的参数。此窗口可以根据适配器进行自定义,也可以提供默认设置。在本示例中,您可以指定保留时间范围;要部署的虚拟机的在 CPU、RAM 和磁盘方面的容量;以及在部署完成时要通知的电子邮件地址。参见图 19。

图 19. 输入部署任务的参数
Properties 窗口

将一个虚拟机用于 Rational Quality Manager

现在您可仔细看看刚创建的实验室资源。参见图 20。

图 20. 表示一个虚拟机的实验室资源的详细信息
虚拟实验室资源详细信息的屏幕截图

在这个适配器实现级别,实验室资源报告有关虚拟机的基本信息:IP 地址、主机名和操作系统。可在实验室资源定义中包含更多信息,比如内核架构和资源容量(CPU、RAM 和磁盘)。

假设您计划在一个 Linux 机器上对您的测试系统 (SUT) 运行一个构建验证测试。在 Rational Quality Manager 中,定义一个测试环境 — 一组实验室资源属性,比如一个特定的机器集的操作系统和软件。我们的测试环境仅包含一个实验室资源,惟一的规范是操作系统,即 Red Hat Linux。在此场景中,您的测试环境类似于图 21。

图 21. 测试环境定义
测试环境的定义的屏幕截图

现在您需要实例化一个测试单元。测试单元是一组实验室资源,比如物理和虚拟机,它们具有与一个特定测试环境的需求相匹配的硬件和软件配置。该单元可为团队或个人测试人员而保留。参见图 22。

图 22. 定义一个测试单元
一个测试单元的定义的屏幕截图

现在您需要向测试单元分配一个真实资源。单击 Assign Lab ResourceAssign Lab Resource 图标时,Rational Quality Manager 在它可以识别的资源中找到具有所需特征的一个资源。如图 23 所示,Rational Quality Manager 挑选了刚刚部署的虚拟机。

图 23. 向一个测试单元分配一个实验室资源
包含在圆圈中的 Resource Name 的屏幕截图

现在看看一个表示您刚创建的虚拟机的实验室资源。请注意,该实验室资源包含虚拟机的最重要信息:IP 地址和操作系统。


结束语

将 Rational Quality Manager 与 Tivoli Service Automation Manager 7.2.2.1 集成可帮助测试团队改善生产力、周期时间和成本效益。本文介绍了如何通过扩展 Rational Quality Manager 的 Rational Test Lab Manager 组件来管理虚拟环境中的测试资产。您可以导入虚拟镜像和虚拟机的最新定义供测试实验室使用,并按需部署新虚拟机。最后,借助 Tivoli Service Automation Manager REST 客户端,您可无需手动干预就可以控制测试机器的生命周期。使用自助服务用户界面,无需手动交互来配给或解除配给虚拟系统。

参考资料

学习

获得产品和技术

讨论

条评论

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, Tivoli
ArticleID=954835
ArticleTitle=使用 Rational Quality Manager 管理虚拟环境中的实验室资产
publish-date=11282013