IBM® Rational® Quality Manager is web-based test management software that provides quality assurance teams with the means to manage and track the whole quality life cycle.
It is a collaborative and customizable solution for teams to:
- Create and maintain a test plan
- Test, design, and run manual or automated tests
- Manage goals
- Schedule, track, and report metrics about the health of the test phase, overall
As shown in Figure 1, Rational Quality Manager simplifies all aspects of test management. In addition, it includes support for managing requirements and defects.
Figure 1. Rational Quality Manager test cycle management
Rational Test Lab Manager, an embedded component of Rational Quality Manager, enables test teams to integrate the management of test lab resources (virtual or physical) into their organization's quality management lifecycle.
Rational Test Lab Manager is designed to manage lab resources within each single project defined in Rational Quality Manager as silos. Lab resources can be reserved and assigned within the context of the same project, which is the main building block in Rational Quality Manager. In most cases, software development labs are shared among different groups and projects. Ideally, a lab management tool optimizes the use of lab resources across teams and projects to maximize resource use. This article describes a pilot project to extend Rational Test Lab Manager capabilities across multiple projects defined in Rational Quality Manager to enable a shared lab to be managed in a software development lab. The pilot takes advantage of the capability to integrate Rational Quality Manager with Tivoli Provisioning Manager. This integration is described in a separate article (see Resources for a link) and is referred to throughout this article.
The architecture of the pilot project
The IBM Tivoli lab in Rome has been gradually but widely adopting an approach to Rational solution for Collaborative Lifecycle Management (CLM) based on Jazz technology. Adoption of IBM® Rational Team Concert™, IBM® Rational® Requirements Composer, and Rational Quality Manager varies in maturity. As of August 2013, the implementation was at Version 4.0.3. Figure 2 shows the tasks covered by each product.
Figure 2. CLM architecture as implemented in the IBM Tivoli lab in Rome
In addition to these Rational products, IBM Tivoli Provisioning Manager is used to discover and manage the inventory of physical lab resources available in the IBM Tivoli lab in Rome.
With the integration of Rational Quality Manager and IBM Tivoli Provisioning Manager, the Tivoli lab wanted to increase the efficiency of the test teams by giving them easy access to test lab resources. The goal was to fully integrate the management of the test definition phase and the actual testing cycle. The SmarTest Asset Management (STAM adapter) enabled test teams to easily share resources among different groups for better resource use and gave them a full view of the resources in the lab, resource availability, and resource reservations.
Figure 3. Extended Rational CLM architecture as implemented in the IBM Tivoli lab in Rome
A first look at test lab management in Rational Quality Manager
Rational Quality Manager makes it easier to manage test lab resources 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 coverage issues, and enables your organization to use resources more efficiently, because you can track and administer your lab resources by using reservations, by organizing the resources by group, and so on.
The first step is to make sure that Rational Quality Manager knows about your lab resources. The basic method is to create lab resource definitions manually or to import resources definitions from an external file.
A more advanced method takes advantage of the ability in Rational Quality Manager to integrate with discovery and provisioning tools such as IBM Tivoli Service Request Manager, IBM Tivoli Application Dependency Discovery Manager, and IBM Tivoli Provisioning Manager (see Resources for a link to more details) to provide request fulfillment, inventory awareness, and automation.
Such an integration is performed by means of adapters that can be invoked by using the Rational Quality Manager web user interface to trigger operations on these products.
An overview of adapters
Adapters are implementations of specific interfaces provided by Rational Quality Manager for extensions. Three types of adapters can be implemented to extend lab management capabilities:
- Inventory: Integrates
- 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: Integrates
- 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
- Integrates 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 another special adapter type to extend the automation of running test scripts.
Tivoli Provisioning Manager adapter
The Tivoli Provisioning Manager adapter is used to integrate Rational Quality Manager with Tivoli Provisioning Manager. Rational Quality Manager uses the adapter to:
- Import information about resources that have been discovered by Tivoli Provisioning Manager
- Drive Tivoli Provisioning Manager to run an inventory of hardware and software that has been discovered
- Run automation tasks or provision software (when it's available) for discovered computers
See Resources for a link to more details about how to configure and customize the Tivoli Provisioning Manager adapter
The SmarTest Asset Manager (STAM) solution
To reserve a lab resource with Rational Quality Manager the user takes one of two paths:
- Fast path
- To reserve a resource for immediate use, the user reserves a lab resource with the hardware and software configuration that matches the needs of the test.
- Indirect path
- The user creates a specific request for a lab resource, detailing the software and hardware configuration needed, and the Lab Manager processes request, identifies and prepares the lab resource to meet requirements, reserves the resource, and assigns it to the requester.
Figure 4 illustrates the flow of a reservation using the fast path.
Figure 4. The flow of a fast path reservation in Rational Quality Manager
A fast path reservation can be used only to reserve resources for a single project. It cannot be used in test labs where resources are shared across teams and projects, because in that case, it's essential to know immediately which resources are available and to be guaranteed that lab resources will be available when expected. In addition, in a shared lab, the reservation process must be able to take into account any future hardware acquisition so as not to impact the success of the project.
The proposed STAM solution is to create a shared project, which is an extra project area to keep track of all the assets in the test lab, and to introduce and manage a new reservation process. This new process is a first-level reservation that enables testers and test leads to reserve one or more lab resources for their own projects in a secure way.
The STAM solution uses the Tivoli Provisioning Manager adapter to keep track of all the available physical resources in the test lab and the STAM adapter to manage the first-level reservation.
Figure 5 shows how this process works and illustrates the benefits of this solution.
Figure 5. Reservation flow in Rational Quality Manager with the STAM solution
In this diagram, assume that the shared lab project has already been linked with the Tivoli Provisioning Manager adapter, and the process of discovery and synchronization has been completed. All the physical resources available in the test lab have been discovered and represented in the Rational Quality Manager shared lab project as lab resources, as shown in Figure 6.
Figure 6. Resources discovered and imported into Rational Quality Manager
The flow of a reservation using the STAM solution includes several steps:
- Create a first-level reservation.
- Manage the first-level reservation request.
- Create a second-level reservation.
Step 1. Create a first-level reservation
When a tester needs a new lab resource for a test within a specific project, the tester logs in to the shared project and determines the availability of a lab resource with the requested characteristics.
The reservation process for a first-level reservation consists of three basic steps:
- The user creates a request that includes the following information:
- The reservation start and end date
- The hardware and software required
- The Rational Quality Manager project name under which to hold the reservation
- The email address of the tester for notifications about when the reservation has occurred and about any potential problems (optional)
- In the comments section, include the project name and the user's email address using a naming convention (%project name% and $user email$)
- The system fulfills the request, assigning one or more lab resources to the request.
- As shown in Figure 7, the system reserves the lab resources for the requested timeframe for all testers and prevents other testers from reserving those resources for that period.
Figure 7. A sample of a fulfilled request for first-level reservation
Step 2. Manage the first-level reservation with the STAM adapter
After the first-level reservation has been created and fulfilled, it is managed by the STAM adapter. The test can explicitly request that the STAM adapter start managing new requests or the tester can wait for the Rational Quality Manager scheduler (if configured) to trigger it this action.
The STAM adapter manages requests with two main automation tasks and one minor task:
- Manage reservation task
- Delete reservation task
- Export resource list task (minor)
The manage reservation task manages fulfilled reservations with the goal of making the resource available and in the target project, only for the reserved timeframe. This process is known as resource cloning, and follows this flows:
- Look for any reservation that needs to be managed (for example, reservations that match the start date.)
- Clone the lab resources in the target project, using the information in the comments section of the reservation request.
- Add the lab resource to the shared project in the lab resource group that has the same name as the target project. If the group does not exist, create a new one.
- Create a negative reservation for the just cloned resource in the target project, so that the resource appears to be available in the project only for the specified reservation timeframe.
- Send an email to the user as specified in the comment section of the initial request (optional)
In Figure 8, the lab resource has been assigned to the TEM_Rome project for the entire year 2013.
Figure 8. The lab resource detail as it in the shared lab project
After the cloning process, the lab resource shows in the target project TEM_Rome(BigFix, as illustrated in Figure 9. Note that the resource is available to the project for 2013, but it appears to be booked from 2014 on. The target project users can clearly see the period during which the resources are available to them and when the resources will be released to the community. Within the available time, they can use the second-level reservation to plan the use of the resources within the team.
Figure 9. Details of the cloned resource in the target project
The delete reservation task manages the cleanup when a reservation ends. As result of this job, the cloned resource is removed from the target project and removed from the lab resource group, and an email is sent to the user (if specified). The resource is available again for new reservations.
The export lab resource list task creates a list of all lab resources in comment-separated value (csv) format and is sent by email to the requester.
Step 3. Create a second-level reservation
Once a lab resource has been cloned in a target project, users can manage and reserve it as needed within the specific project, using the built-in reservation process available in Rational Quality Manager. We refer to this reservation process as a second-level reservation.
Configuring the STAM adapter with Rational Quality Manager
To enable Rational Quality Manager to recognize the STAM adapter, add a new section to the integration_configuration.xml file, which is usually hosted in the RQM installation path\server\conf\qm directory.
The new section defines the STAM adapter as an implementation of the automation adapter. automationExtensionId. This adapter enables Rational Quality Manager to invoke automated tasks on resources discovered or deployed by the adapter. By this means, the STAM adapter creates or discovers a fake resource, smartest.romelab.it.ibm.com to be used as a target for any automation call. The STAM adapter also implements an inventory adapter, inventoryExtensionId.
In the <instance> tag in the code in Listing 1, you can see the configuration details for the adapter. You can modify the details to suit 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
- Defines the different server instances the STAM adapter needs to deal with: the Rational Quality Manager server itself and the SMTP server for email notification
- hostname and port
- Defines where the servers reside and which port to use for communication
- credential section
- Provides the username and password to be used to establish the communication with servers
Note that in code, file names, or paths, the following abbreviations are used:
- RQM: Rational Quality Manager
- RTLM: Rational Test Lab Manager
Listing 1. The adapter configuration
<adapter> <name>STAM RTLM Integration Adapter</name> <version>1.0</version> <APIVersionSupported>1.0</APIVersionSupported> <inventoryExtensionId>com.ibm.tivoli.stam.rtlm.spi.inventory.STAMInventorySPI </inventoryExtensionId> <automationExtensionId>com.ibm.tivoli.stam.rtlm.spi.automation.STAMAutomationSPI </automationExtensionId> <pluginId>com.ibm.tivoli.stam.rtlm.spi</pluginId> <instance> <instanceId>STAMadapter</instanceId> <projectArea>Shared Project</projectArea> <hostname>my server name</hostname> <port>9443</port> <credential> <username>user</username> <password>password</password> </credential> <secure>true</secure> <smtpserver> <hostname>emea.relay.ibm.com</hostname> <credential> <username>user</username> <password>password</password> </credential> </smtpserver> </instance> </adapter>
To complete the installation of the adapter, you need to restart Rational Quality Manager.
The SmarTest search web user interface
The capability to search for available resources enables the lab manager, the tester, and the capital expense manager to have a better understanding of resource usage:
- What are most request resources?
- What hardware and software is available in the test lab?
- Who should define how to spend money to expand the test lab?
A new search interface, SmarTest search, substantially improves the ability to search lab resources, both virtual and physical. This search interface can be easily reached through the Related Site section in the Rational Quality Manager web user interface, as shown in Figure 10.
Figure 10. SmarTest search link on Rational Quality Manager
SmarTest search is based on the FLEX technology and provides three main views:
- Lab resource charts: Pie graphs showing resources by characteristic such as host type, operating system, and so on
- Lab resource list: List of lab resources that have the requested characteristics
- Not reserved resource list: List of unreserved resources that match the requested characteristics
The Lab Resource Charts view
The Lab Resource Charts as shown in Figure 11, displays three charts of data aggregated for the major lab resource characteristics. This view can be used by the procurement administrator or by the IT administrator for a global overview of the distribution of hardware and operating systems in the lab.
For Figure 11 we have chosen the characteristics:
- Host type (virtual or physical)
- Operating system distribution
- Operating system version
The same information can be filtered by project, so the project test lead can draw conclusions about the availability of lab resources and can proactively manage issues such as missing operating system versions.
Figure 11. Lab resource charts
To further filter the resources in the Host Type and Operating System Distribution charts, double-click on a slice of the pie chart. The filter action also affects the other charts dynamically, as shown in Figure 12, in which the Operating System Version chart shows results based on the filtering of previous charts, in the AND mode.
Figure 12. Charts that have been filtered further
With a double-click in the Operating System Version chart, it is possible to display a list of lab resource properties, as shown in Figure 13.
Figure 13. List of lab resource properties for selected operating system version
The Lab Resource List and Not Reserved Lab Resource List views
The Lab Resource List and Not Reserved Lab Resource List views have the same properties. The Lab Resource List shows all lab resources, as illustrated in Figure 14. The Not Reserved Lab Resource List shows the lab resources that have not yet been reserved. This is a subset of the Lab Resource List.
Figure 14. Lab Resource List
All columns can be filtered based on their content. The content can be in free-form text, check box for operating system version, or slider bar for the memory, and so on. A search function enables you to search content across all columns.
Columns can be filtered based on their content. Each column provides a different type of filtering depending on the context. For example, some columns can be filtered with free-form text, others can have a check box (for operating system, for example) or the filter can be controlled with a slider bar (for memory, for example.) Figures 15, 16, and 17 show some examples of filters.
Figure 15. Example of free-form text filter
Figure 16. Example of check-box filter
Figure 17. Example of slider-bar filter
Columns containing less important information (number of CPUs or OS kernel, for example) are hidden; however, clicking a check box enables you to view the hidden columns. A reserved resource is indicated by a red icon (a green icon means the resource is not reserved.) When clicked, a pop-up is displayed, showing the reservation period, as illustrated in Figure 18.
Figure 18.16 Pop-up reservation period
When clicked, the Ping button reveals whether the resource is responding and exports of the information about the resource to an Excel file for offline reference.
The SmarTest solution is a proof-of-concept project, developed in the IBM Tivoli Lab in Rome. It's designed to streamline the product development cycle by integrating Rational and Tivoli products to provide a complete end-to-end system for quality assurance. The SmarTest Asset Manager is just one building block of the SmarTest solution.
To find out more about other building blocks, look into the benefits of using Rational Quality Manager with IBM SmartCloud Provisioning to easily integrate your virtual lab within your test management (see Resources for a link to the developerWorks article, "Extend Rational Quality Manager to manage lab assets.")
- 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.
- For how-to tips, read Michael Kelly's article 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.)
- Also by Michael Kelly, learn about Getting started with IBM Rational Quality Manager (developerWorks, December 2008.)
- Learn how to go about Managing your first project with IBM Rational Quality Manager (developerWorks, October 2008), also by Michael Kelly.
- Find out how to Extend Rational Quality Manager to manage lab assets in the cloud (developerWorks, June 2012)
- Learn more about Tivoli products that can be integrated with Rational Quality Manager to provide a view into lab resources.
- Learn how to configure and customize the Tivoli Provisioning Manager adapter.
- See how IBM SmartCloud Provisioning could help you.
- Find out more about the Rational Collaborative Lifecycle Management approach to ALM on Jazz.net.
- 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.
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 or use it in a cloud environment.
- 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.