Rational Quality Manager is web-based test management software that provides quality assurance teams with the means to manage and track the entire quality life cycle. It is a collaborative and customizable solution for creating and maintaining test plans and designs, executing manual or automated tests, managing goals and schedules, and tracking and reporting metrics about the health of the test phase overall.
As part of the IBM® Rational solution for Collaborative Lifecycle Management (CLM), Rational Quality Manager includes modules for requirement and defect management. Using Test Lab Manager, an embedded component of Rational Quality Manager, test teams can integrate test lab resources (virtual or physical) into their organization's quality management lifecycle.
Figure 1. Rational Quality Manager test cycle management
With Tivoli Service Automation Manager, you can orchestrate hardware resources to establish cloud environments. This software supports a hypervisor for automated server provisioning so you can realize on-demand hardware use and prevent resources from idling.
This article updates and expands on Pietro Marella's Extend Rational Quality Manager to manage lab assets in the cloud, which demonstrated how to integrate IBM Rational Quality Manager with IBM SmartCloud Provisioning Version 1.2. This earlier pilot project of the IBM Tivoli Lab in Rome has been expanded with the work of Torsten Schlegel to show how Rational Quality Manager integrates with the Tivoli Service Automation Manager by extending Test Lab Manager capabilities, thus accelerating test cycles with virtual machine management and execution. This effort is a joint effort between QA teams in Rome and Boeblingen.
The Tivoli Rome lab has been gradually but widely adopting IBM Rational® Jazz™ for CLM, with a different level of maturity for each application (IBM® Rational Team Concert,™ IBM® Rational® Requirements Composer, and Rational Quality Manager). When we first described our methods and outcomes in May 2012, we had used the 188.8.131.52 implementation. See Figure 2:
Figure 2. Architecture as implemented in the Tivoli Rome lab
To reduce costs and improve efficiency, there's been a major effort to increase the use of virtual environments for development and test activities. Developers and testers can use an IBM Tivoli Service Automation Manager 184.108.40.206 system to request virtual environments on demand, making their jobs more efficient and effective. This efficiency is gained primarily because of the increased availability of resources and the confidence fostered by starting from a clean environment.
By integrating Rational Quality Manager and IBM Tivoli Service Automation Manager, the Rome Tivoli lab aimed to increase the efficiency of the test teams even more. This integration of the lab management would give the teams easy-to-use virtualized access to test lab resources in the test definition and execution cycles.
Figure 3. Extended Rational CLM architecture as implemented
Test lab management in Rational Quality Manager
The management of test lab resources is one of the capabilities that Rational Quality Manager integrates for end-to-end test management. Defining your test environments and linking them to the test cases gives you full traceability of your test execution and helps you understand coverage issues. You can also make more efficient use of your resources because you can track and administer them by using reservations, organizing them by group, and so on.
The first step to managing lab assets in virtual environments is to make sure that Rational Quality Manager knows about them. The basic way to do this is to create lab resources definitions manually or import their definitions from an external file.
A more advanced way is to leverage the Rational Quality Manager capability to integrate with discovery and provisioning tools. You can perform this kind of integration with adapters that can be invoked through the Rational Quality Manager Web UI to trigger operations on these products.
An overview of adapters
Adapters are implementations of specific interfaces for extensions. There are three types of adapters that can extend lab management capabilities:
- Inventory adapters
- Inventory adapters integrate Rational Quality Manager with external applications that have inventory capability. With this integration, the lab manager can update lab resource data to display the latest lab resource configurations and new lab resources.
- Automation adapters
- Automation adapters integrate Rational Quality Manager with external applications that have automation capability. With such integrations, the lab manager can run scripts, projects, or libraries that are configured in the external applications on remote lab resources.
- Virtualization adapters
- Virtualization adapters integrate Rational Quality Manager with an external application that manages virtual images and virtual machines.
These adapters are known as Lab Manager adapters so that you can differentiate them from other adapter types that extend test script execution automation.
The IBM Tivoli Service Automation Manager adapter
The IBM Tivoli Service Automation Manager adapter performs several tasks. It can:
- Implement a virtualization adapter to integrate Rational Quality Manager with a virtualization engine (the IBM Tivoli Service Automation Manager)
- Discover virtual image definition
- Deploy new virtual machines, starting from the virtual images discovered
- Discover virtual machine details
- Operate on virtual machines (start, stop or backup, and restore)
- Run automation tasks on the virtual machine or provision software on them (when available)
Next, you'll see how to use the fully integrated adapter in Rational Quality Manager 3.0.
The REST client for Tivoli Service Automation Manager
The Tivoli Service Automation Manager adapter uses a REST client to create REST API requests to control the Tivoli Service Automation Manager without using the Self-Service user interface. The REST client is a single JAR file consisting of several parts. It can run standalone, or it can be linked to other Java applications. In this case, the REST client API is called directly. See Figure 4:
Figure 4. The Tivoli Service Automation Manager REST client components stack
Configure the virtualization adapter
For the Rational Quality Manager to recognize the new adapter, you need to add a specific section in the
Integration_configuration.xml file. This file is usually hosted in this directory:
RATIONAL QUALITY MANAGER installation path\server\conf\qm
The new section defines the IBM Tivoli Service Automation Manager adapter as an implementation of the virtualization adapter (
virtualizationExtensionId) and the automation adapter (
virtualizationExtensionId invokes synchronization with the IBM Tivoli Service Automation Manager to import virtual images and machine definitions in the Rational Quality Manager database. It also deploys a new virtual machine, so you can invoke tasks, or automations, on resources discovered or deployed by the adapter.
Listing 1 shows the configuration details for the adapter (abbreviations used here are RQM = Rational Quality Manager, RTLM = Rational Test Lab Manager, and TSAM = IBM Tivoli Service Automation Manager):
Listing 1. The adapter configuration
<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>
You can also modify and update the configuration details for the adapter based on your needs. Examples include:
- Defines a link with a specific project in Rational Quality Manager that is the only one entitled to interact with the adapter
- Define where the IBM Tivoli Service Automation Manager server resides and which port to use for communication
- Provides the username and password to be used to establish the communication with the IBM Tivoli Service Automation Manager server
- Provides the version of IBM Tivoli Service Automation Manager and the sequence number of the Cloud Server Pool. This number could be determined in Maximo > Go To >Service Automation > Configuration > Cloud Server Pool Administration (tab Cloud Server Pool. For example, here the sequence number is the 0: %2Fcloud%2Frest%2Fpools%2F0%2F
- Provides the customer name. The Cloud Customer Administration application (Maximo > Go To >Service Automation > Configuration > Cloud Server Pool Administration) assigns hardware to a customer. Only resources assigned to the customer could be orchestrated by the customer.
Using the virtualization adapter
To complete the installation of the virtualization adapter, you need to restart Rational Quality Manager. When that's complete, you can import the image templates defined in the IBM Tivoli Service Automation Manager server and sync them with the virtual machines you provisioned. The next steps explain how to do this.
Synchronize IBM Tivoli Service Automation Manager to import image templates
You can synchronize with the virtualization adapter from the All Inventory History panel. In the left navigation panel, click theLab Management icon and select All Inventory History from the drop-down menu (see Figure 5).
Figure 5. Show All Inventory History
Click the Synchronize button at the right of the All Inventory History panel to import virtual images and virtual machines from IBM Tivoli Service Automation Manager. See Figure 6.
Figure 6. Import the virtual lab resources
At the end of the synchronization, you should see the complete list of the images and virtual machines imported. Rational Quality Manager can recognize them as either New or Update assets. See Figure 7.
Figure 7. Imported virtual lab resources
Virtual image collections and virtual machines collections are not covered in this article.
Deploy a new virtual machine as a lab resource
After you have imported the virtual image definitions from IBM Tivoli Service Manager, you can operate on them. The most basic operation is deploying a new virtual machine. To do this,
go to the left navigation panel, click theLab Managementicon, and selectView Lab Resources. See Figure 8.
Figure 8. View Lab Resources option
In the View Lab Resources panel, open the View Builder editor. Refine the search by selecting the Virtual Image type, and click Run to start the search. See Figure 9.
Figure 9. Refine the search to list only virtual images
Now all the virtual images defined in Rational Quality Manager through the Tivoli Service Automation Manager adapter are listed. Select the virtual image that you want to deploy for a new virtual machine and click Deploy. That button should be active on the top-right of the screen. See Figure 10.
Figure 10. List of all of the virtual image lab resources
Notice that general information has been discovered and registered in Rational Quality Manager. This information includes the image type and the tool that owns it. You can also see details about the operating system of the image, such as the operating system level and architecture. See Figure 11.
Figure 11. Virtual image details window
You can monitor the deployment operation in Rational Quality Manager within the Deployment Operations section in the Inventory History panel. See Figure 12.
Figure 12. Deployment monitoring panel
Double-check the IBM Tivoli Service Automation Manager user console to verify that the deployment operation has been performed. Figure 13 shows that a new "VMware project" has been started.
Figure 13. The Tivoli Service Automation Manager user console
To see the newly deployed virtual machine, go back to Rational Quality Manager. From the View Lab Resources panel, open the View Builder editor again. Refine the search by selecting the Virtual Machines type, and click Run to start the search.
Among the listed virtual machines, you'll find the one just deployed. From this point on, you can add this new virtual machine in any test cell that you need to link to a test case execution. See Figure 14.
Figure 14. View all virtual machine lab resources
A more sophisticated deployment using automated tasks
The deployment of a virtual image usually requires you to specify parameters such as reservation time frame or virtual machine capacity (CPU, RAM, and disk). However, the built-in deployment operation in Rational Quality Manager does not provide any feature to specify any characteristic for the virtual machine that you request.
The IBM Tivoli Service Automation Manager adapter overcomes this limitation by providing tasks, or automations, for this scope. (You can add others, too, such as actions to start or stop a deployed virtual machine or to take a snapshot.) You can easily invoke the automated task in Rational Quality Manager.
From the left navigation panel, click theLab Managementicon and selectAll Automations from the drop-down menu. See Figure 15.
Figure 15. Select the All Automations view
All of the available automations supported by the adapter are listed in the Automations section.
Other automations could be provided with the adapter to cover all the functionality available from Tivoli Service Automation Manager. See Figure 16.
Figure 16. List all automated tasks available, by adapters
Such automation tasks are then applied to a specific resource, depending on the task. For example,
DeployVirtualmachine applies to the virtual image resource (highlighted in yellow in Figure 17. List all available machines for the automations7), while all the others (
Start, Stop, Backup, and
Restore) apply to a virtual machine resource (highlighted in red in Figure 17. List all available machines for the automations7). The Available Machines for Automation section lists all the available resources (images and machines) discovered by the adapter that you can run an automation task against. Making the right distinction and association when running an automation task is up to the user.
Figure 17. List all available machines for the automations
Next, you want to specify which image to deploy. From the list of available automations to run, select the TSAM.DeployVirtualMachine automation. The panel shows all the resources that the Tivoli Service Automation Manager adapter discovered, and these resources are the only resources authorized for this task.
Select the image you want to deploy from among the ones available (be sure to select a virtual image, or you will get an error). See Figure 18.
Figure 18. Specify which image to deploy
Click the Run icon to start deployment. You will be prompted to fill in the required parameters in the Properties pop-up window. This window can be customized according to the adapter and can provide the default. In this example, you can specify the reservation time frame; the capacity of the virtual machine to deploy in terms of CPU, RAM, and disk; and an email address to be notified when the deployment finishes. See Figure 19.
Figure 19. Enter parameters for the deployment tasks
Using a virtual machine with Rational Quality Manager
Now you can take a closer look at the lab resource that you just created. See Figure 20.
Figure 20. Details of a lab resource representing a virtual machine
At this level of the adapter implementation, the lab resource reports the basic information about the virtual machine: IP address, hostname, and operating system. More information can be included in the lab resource definition, such as the kernel architecture and resource capacity (CPU, RAM and disk).
Suppose that you plan to run a build verification test of your system under test (SUT) on a Linux machine. In Rational Quality Manager, define a test environment — a set of lab resource attributes, such as the operating system and software for a particular set of machines. Our test environment is composed of a single lab resource, and the only specification is that the operating system is Red Hat Linux. With this scenario, your test environment looks like Figure 21.
Figure 21. Test environment definition
Now you need to instantiate a test cell. A test cell is a collection of lab resources, such as physical and virtual machines with specific hardware and software configurations that match the requirements of a specific test environment. The cell can be reserved for teams or individual testers. See Figure 22.
Figure 22. Define a test cell
Now you need to assign a real resource to the test cell. When you click on the Assign Lab Resource icon, Rational Quality Manager finds a resource with the required characteristics among the resources it can recognize. As Figure 23 shows, Rational Quality Manager picks up the just-deployed virtual machine.
Figure 23. Assign a lab resource to a test cell
Now look at a lab resource that represents a virtual machine that you just deployed. Notice that the lab resource contains the most significant information about the virtual machine: the IP address and the operating system.
Integrating Rational Quality Manager with Tivoli Service Automation Manager 220.127.116.11 can help test teams improve productivity, cycle times, and cost effectiveness. This article shows how, by extending the Rational Test Lab Manager component of Rational Quality Manager, you can manage test assets in a virtual environment. You can import up-to-date definitions of virtual images and machines for use in your test lab, and deploy new virtual machines on demand. Finally, with the Tivoli Service Automation Manager REST client, you can control the life cycle of test machines without manual intervention. Using the Self-Service user interface, no manual interaction is necessary to provision or deprovision virtual systems.
- For more information, see:
- IBM Tivoli Service Automation Manager documentation
- Rational Quality Manager and Tivoli documentation to learn how how Rational Quality Manager can be deployed with Tivoli products such as IBM® Tivoli® Service Request Manager, IBM® Tivoli® Application Dependency Discovery Manager, and IBM® Tivoli® Provisioning Manager to provide request fulfillment, inventory awareness, and automation
- Tivoli Service Automation Manager REST API documentation
- Administering customers and their resources
- Learn more about the Rational solution for Collaborative Lifecycle Management (CLM):
- Learn more about reporting with CLM:
- Check the Rational Quality Manager and Rational Test Lab Manager pages on developerWorks for links to product documentation, articles, tutorials, courses, downloads, and other useful areas.
- Explore the Rational Quality Manager Information Center for technical details, check the Rational Quality Manager Roadmap for links to more resources, and browse the IBM Quality Management page to learn more about what else is available.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Improve your skills. Check the Rational training and certification catalog, which includes many types of courses on a wide range of topics. You can take some of them anywhere, anytime, and many of the Getting Started ones are free.
Get products and technologies
- Download the free trial version of Rational Quality Manager, which includes Rational Test Lab Manager.
- Evaluate other IBM software in the way that suits you best: Download it for a trial, try it online, use it in a cloud environment, or spend a few hours in the SOA Sandbox learning how to implement service-oriented architecture efficiently.
- Get involved in the Rational Quality Manager forum on developerWorks, which also includes discussions and information from IBM about Rational Test Lab Manager, as well as the Using Quality Manager forum on Jazz.net.
- Get connected with your peers and keep up on the latest information in the Rational community.
- Share your knowledge and help others who use Rational software by writing a developerWorks article. Find out what makes a good developerWorks article and how to proceed.
- Rate or review Rational software. It's quick and easy.
- Follow Rational software on Facebook, Twitter (@ibmrational), and YouTube, and add your comments and requests.