IBM® Rational® Quality Manager is web-based test management software that gives quality assurance teams (QAT) the means to manage and track the complete QA lifecycle. It is a collaborative and customizable solution for teams to create and maintain test plans and test designs, execute manual or automated tests, manage goals and schedules, and track and report metrics about the health of the test phase, overall. As one of the Collaborative Lifecycle Management (CLM) applications, Rational Quality Manager connects with modules for managing requirements and defect reports (IBM® Rational® Requirements Composer and IBM® Rational® Team Concert™, respectively — see Resources for a link to more information about CLM).
Test Lab Manager is an embedded component of Rational Quality Manager that enables test teams to integrate management of test lab resources (virtual or physical) into their organization's quality management lifecycle.
Figure 1. Rational Quality Manager test cycle management
IBM® SmartCloud Provisioning is a highly scalable, low-touch Infrastructure-as-a-Service (IaaS) offering that delivers computer infrastructure as a service by providing on-demand access to virtual machines and storage in the network.
This article describes a pilot project to integrate Rational Quality Manager with the IBM SmartCloud Provisioning by extending the Test Lab Manage capabilities, thereby accelerating test cycles with virtual machine management and test execution.
The Tivoli Rome Lab has been gradually but widely adopting Rational Jazz technology-based approach to Collaborative Lifecycle Management (CLM), with a different level of maturity in the adoption of the different applications involved (Rational Team Concert, Rational Requirements Composer, and Rational Quality Manager). When this article was published, in 2012, our implementation was at the Version 188.8.131.52 level
Figure 2. Rational Jazz CLM architecture as implemented in the Tivoli Rome Lab
At the same time, a major effort to increase use of virtual environments for development and test activities, driven by cost reduction and efficiency improvement, was in place. Developers and testers can use an IBM SmartCloud Provisioning 1.2 system to request a virtual environment on demand. This makes them more efficient and effective, mainly because of the easier access, or increased availability, of the resources and the confidence fostered by starting from a clean environment.
With integration of Rational Quality Manager and IBM SmartCloud Provisioning, the Rome Tivoli Lab aimed to further increase the efficiency of the test teams by providing them with easy-to-use, virtualized access to test lab resources for a full integration of lab management in the test definition and execution cycle.
Figure 3. Extended Rational CLM architecture as implemented
Managing test lab resources is one of the capabilities that Rational Quality Manager integrates for end-to-end test management. Being able to define your test environments and link them to the test cases gives you full traceability of your test execution, helps you understand any coverage issues, and enables a more efficient use of the resources, because you can track and administer your lab resources by using reservations, organizing them by group and so on.
The first step is to make sure that Rational Quality Manager recognizes your lab resources. The basic way is to either create lab resource definitions manually or import their definition from an external file. A more advanced method is to use the Rational Quality Manager capability to integrate with discovery and provisioning tools.
Rational Quality Manager can be deployed with IBM® Tivoli® software — such as Tivoli Service Request Manager, Tivoli Application Dependency Discovery Manager, and Tivoli Provisioning Manager — to provide request fulfillment, inventory awareness, and automation (see the "Rational Quality Manager and Tivoli" link in Resources for details). Such an integration is performed by means of adapters that can be invoked by using the Rational Quality Manager web UI to trigger operations on these applications.
Adapters are implementations of specific interfaces provided by Rational Quality Manager for extensions. There are three types of adapters that can be implemented to extend lab management capabilities:
- To 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.
- To 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
- To integrate Rational Quality Manager with an external application that manages virtual images and virtual machines.
These adapters are all known as Lab Manager adapters, so that we can differentiate them from another special adapter type to extend test script execution automation.
The scope of the SmartCloud Provisioning adapter is to perform these tasks:
- Implement a virtualization adapter to integrate Rational Quality Manager with a virtualization engine (IBM SmartCloud Provisioning)
- Discover virtual image definition
- Deploy new virtual machines, starting from the virtual images discovered
- Discover virtual machine data
- Run automation tasks on the virtual machine
The subsections that follow explain, in a few steps, how to use the fully integrated adapter in Rational Quality Manager 3.0.
Once installed, adapters need to be declared to the Rational Quality Manager by adding a specific section in the Integration_configuration.xml file, which is usually hosted in the RQM installation path\server\conf\qm directory.
The new section defines the SmartCloud Provisioning for the Rational Test Lab Manager integration adapter as an implementation of the automation adapter (automationExtensionId) and the virtualization adapter (virtualizationExtensionId). The first interface allows Rational Quality Manager to invoke synchronization with IBM SmartCloud Provisioning to import virtual images and machine definitions into the Rational Quality Manager database. The latter allows it to invoke tasks (automations) on resources discovered or deployed by the adapter.
In the instance of the code in Listing 1, you can see the configuration details for the adapter, which you can modify and update based on your needs:
- Defines a link with a specific project in Rational Quality Manager that will be the only one entitled to interact with the adapter
- hostname and port
- Define where the SmartCloud Provisioning CLI server resides and which port to use for communication
- credential section
- Provide the username and password to be used to establish the communication with the SmartCloud Provisioning server
- options section
- Specify the keystore file name that contains the user private key to be used to invoke the SmartCloud Provisioning API
Note about abbreviations:
In code, file names, or paths:
- RQM = Rational Quality Manager
- RTLM = Rational Test Lab Manager
- SCP = SmartCloud Provisioning
Listing 1. The adapter configuration
<adapter> <name>SCP RTLM Integration Adapter</name> <version>1.0</version> <APIVersionSupported>1.0</APIVersionSupported> <automationExtensionId> com.ibm.tivoli.scp.rtlm.spi.automation.SCPAutomationSPI </automationExtensionId> <virtualizationExtensionId> com.ibm.tivoli.scp.rtlm.spi.virtualization.SCPVirtualizationSPI </virtualizationExtensionId> <pluginId>com.ibm.tivoli.scp.rtlm.spi</pluginId> <instance> <instanceId>SCPAdapter</instanceId> <projectArea>my project</projectArea> <service>SCP.</service> <hostname>my server name</hostname> <port>5678</port> <credential> <username>scpuser</username> <password>password</password> </credential> <options> <keyfile>scpuser_pkcs8.key</keyfile> </options> </instance> </adapter>
To complete installation of the virtualization adapter, you need to restart Rational Quality Manager.
After the adapter is installed and loaded in Rational Quality Manager, you can import the image templates defined in the SmartCloud Provisioning server and then sync them with the virtual machines already provisioned. The next steps explain how to do this.
Synchronize SmartCloud Provisioning to import image templates
You can synchronize with the virtualization adapter from the All Inventory History panel (see Figure 4).
- In the left navigation panel, click the Lab Management icon and then select All Inventory History from the drop-down menu.
Figure 4. Show All Inventory History
- Click the Synchronize button at the right of the All Inventory History panel (Figure 5) to start the process to import virtual images and virtual machines from SmartCloud Provisioning.
Figure 5. Start important the virtual lab resources
- At the end of the synchronization, you should see the complete list of the images and virtual machines imported (see Figure 6). Rational Quality Manager can recognize them as either New or Update assets.
Virtual image collections and virtual machines collections are not covered in this article
Figure 6. Imported virtual lab resources
After you have imported virtual images definitions from SmartCloud Provisioning, you can operate on them. The very basic operation that you can do is to ask for a new virtual machine to be deployed.
- In the left navigation panel, click the Lab Management icon and select View Lab Resources
Figure 7. View Lab Resources option
- In the View Lab Resources panel, open the View Builder editor.
- Refine the search by selecting the Virtual Image type (Figure 8), and click the Run button to start the search.
Figure 8. Refine search to list only virtual Images
As Figure 9 shows, all of the virtual images defined in Rational Quality Manager through the SmartCloud Provisioning adapter will be listed.
Figure 9. List of all of the virtual image lab resources
- Select the virtual image that you want to deploy for a new virtual machine, and click the Deploy button that should be active on the top-right of the screen (see Figure 10).
Notice that general information, such as the image type and the tool that owns it, and some more specific details about the operating system of the image, such as the operating system level and the OS architecture, have been discovered and registered in Rational Quality Manager.
Figure 10. Virtual image details window
The deployment operation is monitored from Rational Quality Manager in the in the Deployment Operations section (Figure 11) of the All Inventory History panel.
Figure 11. Deployment monitoring panel
You can check the SmartCloud Provisioning console to verify that the deployment operation has been performed. Figure 12 shows that new virtual machine (VM) with an RQMProject suffix has being provisioned.
Figure 12. The SmartCloud Provisioning admin console
- Back in 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 the Run button 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.
Figure 13. View all virtual machine lab resources
Deployment of a virtual image usually requires you to specify some parameters (in SmartCloud Provisioning, for example, you need to define the VM size). You will have noticed, on the contrary, that the built-in deployment operation in Rational Quality Manager does not provide any feature to specify any characteristic for the virtual machine that you are going to request.
The SmartCloud Provisioning adapter overcomes this limit by providing tasks (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 the Lab Management icon and select All Automations from the drop-down menu.
Figure 14. Select the All Automations view
- In the Automations section, you will be presented with all of the available automations (automated tasks) supported by the adapter. In this example (Figure 15), it is only the DeployVirtualMachine task exposed by the SmartCloud Provisioning adapter
Figure 15. List all of the automated tasks available, by adapters
- The Available Machines for Automation section will list all of the available resources (machines) discovered by the adapter that you can run an automation task against.
Figure 16. List all available machines for the automations
- For this example, select the SCP.DeployedVirtualMachine automation.
The panel will show all and only the resources discovered by the SmartCloud Provisioning adapter, which are the only resources authorized for this task.
- Select the image that you want to deploy from among the ones available.
Figure 17. Specify which image to deploy
- Click the Run icon to start deployment.
- Next, 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 default values. In this example, you can specify the email address to be notified and the size of the VM.
Figure 18. Enter the parameters for the deployment tasks
Again, you can look at the SmartCloud Provisioning console to verify that the deployment operation has really been performed. In Figure 19, notice that a new virtual machine (RQMProject_2121_03_21:04.13) is going to be deployed by SmartCloud Provisioning.
Figure 19. Another look at the SmartCloud Provisioning admin console
Figure 20 gives you a closer look at the lab resource that you just created.
Figure 20. Details of a lab resource representing a virtual machine
At this level of the adapter implementation, the lab resource reports the base information about the virtual machine: the IP address, the hostname, and the operating system. More information can be included in the lab resource definition, such as the kernel architecture and resource capacity (CPU, RAM, and disk).
As an example, suppose that you plan to run a build verification test of your system under test (SUT) on a Linux machine. You would have defined a test environment in Rational Quality Manager for your test. A test environment is a set of lab resource attributes, such as operating system and software for a particular set of machines. It describes the environment where you will run your test. With this scenario, your test environment will look like Figure 21.
Figure 21. Test environment definition
This test environment is composed of a single lab resource, and the only specification is that the operating system is Red Hat Linux.
- 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. Teams or individual testers can reserve the cell to run tests.
Figure 22. Assign a lab resource to a test cell (Step 1)
- Now you need to assign a real resource to the test cell. Click on the Assign Lab Resource icon, and Rational Quality Manager will find a resource with characteristics required among the resources it can recognize.
As Figure 23 shows, it picks up the just-deployed virtual machine.
Figure 23. Assign a lab resource to a test cell (Step 2)
- Now, as a final example, look at a lab resource that represents a virtual machine that you have just deployed. Notice that the lab resource contains the most significant information about the VM: the IP address and the operating system.
As already outlined, the SCP adapter has been developed as part of a pilot project, which is still on-going. Not all of the IBM SmartCloud Provisioning features have been exploited in this adapter, which still has some limitations (for example, the management of the user access id and private key for the server connection, or usage of the adapter from multiple projects). Nevertheless, we have had positive feedback in terms of effectiveness with this integration from our test teams. This feedback encourages us to continue to invest in such direction.
- 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. Also, 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. For how-to tips, read these developerWorks articles by Michael Kelly:
- Lab Management using IBM Rational Test Lab Manager: Extending IBM Rational Quality Manager for collaborative, comprehensive test planning and test asset management (developerWorks, October 2008)
- Getting started with IBM Rational Quality Manager (developerWorks, December 2008)
- Managing your first project with IBM Rational Quality Manager (developerWorks, October 2008)
- See how IBM SmartCloud Provisioning could help you.
- Find out more about the Rational Collaborative Lifecycle Management approach to ALM on Jazz.net.
- Subscribe to the developerWorks weekly email newsletter, and choose the topics to follow.
- Stay current with developerWorks technical events and webcasts focused on a variety of IBM products and IT industry topics.
- Attend a free developerWorks Live! briefing to get up-to-speed quickly on IBM products and tools, as well as IT industry trends.
- Watch developerWorks on-demand demos, ranging from product installation and setup demos for beginners to advanced functionality for experienced developers.
- 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, any time, and many of the "Getting Started" ones are free.
- Find out how Collaborative Lifecycle Management connects ALM resources .
- Learn how Rational Quality Manager and Tivoli software work together.
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
- 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.
- Join the Rational community to share your Rational software expertise and get connected with your peers.
- 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.
Pietro Marella joined IBM in 1991 and Tivoli in 1998 as a software engineer in the Rome Software Group Lab. He has been working for several years as a developer and designer of different products in the System Management portfolio. He is currently Test Architect in the Rome QA area, focusing on planning, test, and automation strategy.