RQM Test Lab Management: a cheat sheet

December 10, 2014

Recently, I’ve visited a Southern state of the US for a business trip. Among other topics, I’ve focused on the Test Lab management capabilities of RQM.

Request and Reservations


I remember that, during my initial grasp of this part of RQM, the information provided in various places (see the References section below) helped me a lot. Nonetheless I consider that it was not quick enough.

Maybe because I missed a synthetic view of the following aspects in a one-stop-table. Such document would aim at providing you both with a rapid comprehension of the features and a convenient communication medium around:

  • The Test Lab Management assets
  • Their associated definition
  • From which artefact they could be created (*)
  • What artifacts they could serve at creating (*)
  • Whether they could serve (or not) as a basis for creating a Request or a Reservation
  • Whether a view showing all the Reservations is available (or not)

As a consequence, I ended up creating the following table / cheat sheet:


CLICK to ENLARGE the table

This table revealed useful during discussions with customer. I hope this content could also help you:

      • At speeding up your understanding of the currently available capabilities in RQM, and
      • At facilitating the decision of the mapping between your own testing shop terminology with the RQM one.


(*): from the RQM GUI only here. REST APIs and other importer tools are excluded of the scope of this blog post.

(**): image borrowed from article: [devWorks] “Use RQM to manage lab assets in shared lab” (Nov 2013)

Direct access to CLM (RTC/RQM/RDNG/DM) Help / InfoCenter: a cheat sheet

September 16, 2014

Have you figured out that the CLM InfoCenter was relocated to a central Knowledge Center for a while now? As known by all of us (but often forgotten as well) the product documentation is the CORE/PRIMARY source of information (before reaching out to any other one).

But last time you were questioning a specific feature of the CLM product, how long did it take you to get to the right web page? more than 10 seconds?

If you ran a Google search (e.g.”RTC infocenter 5.1“), where you pointed to the specific product (RTC/RQM/RDNG/DM) and version (v3.x,v4.x,v5.x) you looked for ? Or, for whatever referencing reason, did it end up… missing its finest target?

In such case, we share this annoyance as I figured out the first returned results do NOT systematically match with my searching criterias (as for today, the search I provided earlier returned me with links to older product versions, some Jazz.net wikis, etc.)

As a result, I came up with idea of providing a “quick access list” (or cheat sheet) to get it systematically right and quick:

Direct Access to CLM KnowledgeCenter

CLM (Collaborative Lifecycle Management)
RTC (Rational Team Concert)
RQM (Rational Quality Manager)
RDNG (Rational Doors Next Generation)
RDM (Rhapsody Design Manager)
RSA DM (RSA Design Manager)
Related reporting products
Insight (Rational Insight)
RPE (Rational Publishing Engine)

I hope this blog post could save you some time and generated a positive side-effect: having the new Knowledge Center positioned higher in the returned results of your future web searches!

Value and ROIs of Rational solution for Enterprise Modernization

March 7, 2014

In the RETT team, we are dedicated at helping Enterprise Modernization customers make the jump of taking out their legacy tools and ease their switch for an IBM Rational-based solution. With a special focus on adoptions of Rational Team Concert Enterprise Extensions (RTC EE).

A customer classification… (to be cont’ed)

Customers we assist are likely to have a DECADE-long history in mainframe development and… a LOT of legacy source code to migrate to RTC EE SCM. But wait a second ! This does not always hold true, especially in the Emerging Markets.

A recent business trip I made to China proved it. We met with financial customers who were NEW to mainframe (note: I’ve already shared some lessons-learned about this trip in the previous blog posts: 1, 2). Not a surprising choice as mainframes have evolved along the way while constantly proving their unique value, performance, level of services, etc. Between us, what other technology could compete with this now turning 50 years old success story ?

Be customers either long time engaged or “new to mainframe”, our sales and Client Technical Representatives (CTPs) face questions about the business added-value and the associated return over investment (ROI) coming with the adoption of the Rational solution. Fair enough. So what is the answer here ?


A sound approach is to map the customer classification given above to ROIs with different scopes:

… for guiding ROI content and scope.

  • For a customer bringing new IBM Rational mainframe capabilities into his existing development environment: the ROI should consider productivity, speed, quality, etc.
  • For a customer considering taking out a previous tooling (e.g. a tier SCM tool or an existing collaboration tool, …): we should compare apples and apples. Some key indicators about the tier provided solution should be captured and compared with the new ones and a consolidation should be built on top of this exercise. While making explicit the strength of Rational products (our value proposition).

Well, the good news is that IBM Rational provides a number of such ROI tools for ALM, DevOps, Quality & Requirements and… Enterprise Modernization.

Please note that you could find a complete list of them in the References section below.

First, let’s start by CLM in general:

Rational Collaborative Lifecycle Management (CLM)
ROI Calculator Report Comment
Rational CLM Value Analyzer  – (in Flash)
 – The Total Economic Impact of The IBM Rational Solution for Collaborative Lifecycle Management June 2013 (by Forrester Consulting)

Now, let’s cover the Rational EM tools:

Rational Developer for z (RDz)
ROI Calculator Report Comment
ROI Calculator  – (in Flash)
 – Benchmarking z/OS Development Tasks – Comparing Programmer Productivity using RDz and ISPF May 2012


Rational Development and Test Environment for System z (RD&Tz)
ROI Calculator Report Comment
ROI Calculator  – (in Flash)
 – Benchmarking z/OS Development Tasks – Comparing Programmer Productivity using RDz and ISPF May 2012

What about RTC EE ?

RTC EE provides additional capabilities to RTC for developing and building mainframe programs with a modern IDE. The ISPF client capabilities let you work with green screens if this is a preferred approach. It provides competitive z SCM tools hosting your z source code and, thing to note, wherever you want (see a previous blog post). As building programs on the System z platform can be expensive (per MIPS and time consumption, etc.), it provides some dependency build, promotion (without rebuilding) and deployment mechanisms.

Traditional benefits from RTC EE adoption include:

  • improved compliance and auditability
  • decommissioned legacy SCM systems for mainframe & distributed
  • unification of practices, removal of redundancies
  • improved follow-up on project statuses
  • diminished time for rewriting documentation
  • improved workflows creation and updates,
  • etc.

For examples of returns on adoptions of RTC EE by Enterprise customers, you could refer to:

Rational Team Concert Enterprise Extensions (RTC EE): returns on adoption by customers
Customer Date Comment
CACEIS Case Study (2013) PDF file. First 2 slides are in French but the rest of the presentation is… in English !
IBM Hursley CICS Lab (UK) (2012)

Going even beyond about YOUR expected ROI…

Let’s take a step back and discuss the statement, tools and reports provided above. OK. They give you sound estimates. Good enough. As always, the particular context of your company could impact these figures. If you’re looking for the finest-grain ROI and you are in the process of rolling out the Rational solution, one advice here:  you would consider including this exercise to be part of a post-pilot activity.

And… what if you add Requirements and/or Test in this picture ?

Needs for testing makes no exception for Enterprise Modernization customers.

From a general standpoint and once the initial learning curve of a test automation tool is passed, test design effort for an automated test is generally considered slightly more expensive than a manual test (30 to 40 % rates are commonly cited). But the payback occurs when tests are automatically replayed (in a quicker way, with no human errors, possibly at night, etc). This is particularly the case for tests run frequently (e.g. for regression testing). You should not minimize the cost of their maintenance though.

The corresponding information for Rational Quality Manager (RQM), Rational Requirement Composer (RRC), Doors, Rational Functional Tester (RFT), … is listed in the table below:

Quality management (RQM, RRC, Doors, DNG, RFT, etc.)
ROI Calculator Report Comment
ROI calculator  – (in Flash)


CLM,RTC,RQM,RRC/RDNG: recommendations and “educated guesses” for limitations

September 5, 2013

As part of the Jumpstart team, I help our customers in their CLM adoption and deployments. Customers raise questions on the sizing of their CLM environment, the topologies to adopt, etc. The questions I hear most often are:

  • How many users (total or concurrent) can my CLM environment support ?
  • RTC rollout at our company is close to reach a second milestone (additional teams will use the tool). What planning (HW/SW) should we have wrt. these modifications?
  • We have this huge number of CLM (RTC/RQM/RRC-RDNG) artefacts. Will my CLM environment still handle this without any performance degradation as we continue adding artefacts into our repository ?
  • What are the intrinsic CLM product limitations and – if one is concerning me – what approach should I adopt to keep on working smoothly with my CLM ?
  • etc.

First of all, depending on the CLM version you’re running, central places to check are the CLM 2011 Sizing Guide and the CLM 2012 Sizing Guide which include an “Artifact Sizing Guidelines” section summarizing “the recommendations on artifact sizing that will ensure optimal performance of the repository when the data sizes increase significantly“.

Foreword to the reader:

  • This post follows the “cheat sheet/how to” format I’ve used in earlier posts for CLM Reporting or OSLC-related topics. As a consequence, if you’re already familiar with this post (and know exactly what you’re looking for), you may want to navigate directly to the tables: JTS tableRTC tableRQM tableRRC/RDNG table.
  • If you’re interested by a similar content for Enterprise Modernization products (i.e. RTC EE, RDz, RD&T, RAA, etc.)  by IBM Rational, check this dedicated blog post.

Now back to the core of this post:


Tables are provided. OK. But what do we call a Limit and an Alert zone ?

  • Quantified data: the (maximum) number of….
  • Limit: a hard limit of the product. Meaning that you cannot go beyond this value.
  • Alert zone: based on experiences with customers, internal tests and development teams, it’s around these values that we start seeing performance issues. If you’re approaching these values, we’d suggest you monitor your system closely to detect any performance degradation before it becomes critical. WARNING: while provided figures are educated guesses and practical rules of thumbs, you could still find that your environment functions perfectly beyond these limits  (e.g. if your environment is particularly fine-tuned). In a similar way,  some intense CLM usage could show that these recommended values are too optimistic…

As a consequence, it’s important to understand this post is NOT an attempt for replacing existing resources (see the References section) that provide extensive views on CLM performance and tuning topics. We encourage administrators and project managers to read them as they both include finer-grain information and insist on the key aspect of not loosing the “bigger picture”.

What’s the use of the following tables then ?

Answer: they’re here to HELP YOU quickly figure out if you’ve reached some known CLM limitation or if you’re getting close to a threshold  (again: on the basis of a typical/average environment) requiring due monitoring of your environment.  To this regard, these tables are COMPLEMENTARY with existing resources and concentrate information ALREADY available but yet disseminated on multiple medias/sites/forum posts/etc.

What if… you can’t find what you’re looking for in the following tables ?

Answer: in such case, there MAY not be soft/hard limit on it. You should check the References section at the bottom of this post and check for the latest information (esp. from the CLM sizing guides).


Quantified data Limit Alert zone Reference(s)
Concurrent user sessions  – 400-2000+ Purple Book
Jazz user id length  – 250 bytes Jazz.net forum


Quantified data Limit Alert zone Reference(s)
Concurrent user sessions  –  300-500+ (per CCM instance) Purple Book
   Example: “CLM Sizing Strategy” (v4.0.6 – April 2014)  –   – 100-600 concurrent users. See report/environment details.
   Example: “Performance Report” (v5.0 – June 2014) 1200 concurrent users. See report/environment details.
Planning – Work-items
   WIs in a plan (<= v2.0) 2048 Jazz.net article
   WIs in a plan (>=v2.0.0.1)  –  250-500+ (impacts plan display time + questions ability from user to grasp several 100s of WIs in one plan) Jazz.net forumJazz.net forumPurple Book, RTC 4.0.3 Plan performance improvement
   WIs in a project area/repository  – Jazz.net forum, Jazz.net article
   WI attachment size  50 MB  If increasing this value or systematically using large attachments: be aware of the possible impact on DB growth and CLM performance in general. See how to change this value in TechNote, Jazz.net forum
   WI “Estimate” attribute  1 year  – Jazz.net forum. A  presentation-enforced limit.
   WI custom attribute length > Small String (*) 250 bytes Jazz.net article (RTC v4.0)
   WI custom attribute length > Medium String (*) 1000 bytes Jazz.net article (RTC v4.0)
   WI custom attribute length > Large String (*) 32768 bytes Jazz.net article (RTC v4.0), Enhancement 160469
   WI custom attribute length > Medium HTML (*) 1000 bytes Jazz.net article (RTC v4.0)
   WI custom attribute length > Large HTML (*) 32768 bytes Jazz.net article (RTC v4.0)
   Query results
 1000 results Jazz.net forum. Note: this default value could be increased but be aware of the possible negative impact on usability / server performance.
Planning – Timelines
   Timelines  2048  (see recommended approach in the forum post’s answer) Jazz.net forum
   Files/folders in a single component (CLM 2011)  50K (split into multiple components if required) Jazz.net forumJazz.net article
   Files/folders in a single component (CLM 2012, RTC 5.0)  100K (split into multiple components if required) Jazz.net forumJazz.net article, Jazz.net forum,
   Suspended change-sets by individual user  300 (for not slowing down operations) Jazz.net article
   Components in workspaces and streams  500 (as tested by IBM) Jazz.net article , Task 176441 (in progress)
  Build definitions associated to a build engine ( < v4.0.3) 2048 TechNote
   oslc_cm.pageSize parameter (when querying work-items) 100 Jazz.net RFEJazz.net forum

(*): text-based


Quantified data Limit Recommendation Reference(s)
Concurrent user sessions  –  100-150+ (per QM instance) Purple Book
   Example: “CLM Sizing Strategy” (v4.0.6 – April 2014)  – 350-500 concurrent users. See report/environment details.
   Example: “Performance Report” (v5.0 – June 2014) 1000 concurrent users. See report/environment details.
TER (Test Execution Record) name length  250  – Jazz.net forum
TCERs bulk generated from test plan wizard  500 Work-around article, RQM defect, WAS maxParamPerRequest
TCERs bulk changed/removed at once tbd  tbd Jazz.net forum, Jazz.net forum, WAS maxParamPerRequest
Records in a datapool / test data 2000  – Jazz.net enhancement
Character limit: Description field of a Lab Resource 250 Jazz.net enhancement
Number of categories defined on an artifact type 50 RQM defect, RQM defect
Feed entries per page ( < 4.0.4)  512  – Jazz.net forum, RQM defect
“Large Record Count” (SQL query result set generated by OOTB BIRT reports) ( >= 4.0.5)  –  10K TechNote, Jazz.net defect
Attachment size using UI Jazz.net enhancement
Attachment size using CLI ( Command-Line Interface) ( >= 4.0)  50 Mo Jazz.net article (for how to change this default value, see the Comments section). Note: if increased, be aware of the possible negative impact on usability / server performance.
TCERs runnable off-line and at once (>=4.0) 50 4.0 InfoCenter


Quantified data Limit Recommendation Reference(s)
Concurrent user sessions (< v4.0.1)  200+ Purple Book
 (>= v4.0.1)  400+ Purple Book
   Example: “CLM Sizing Strategy” (v4.0.6 – April 2014) 300-400 concurrent users. See report/environment details.
   Example:  “Performance Report” (v5.0 – June 2014) 400 concurrent users. See report/environment details.
Coexistence with DM (Design Manager) on the same box (in v.4.x and v5.0.x)  Incompatible  – Jazz.net forum (related to the converter component)
Instances of RM application per JTS (<= v4.0.6) 1 4.0.3 InfoCenter, Jazz.net article, Plan Item
RM Projects per RM application / JTS  200+ Jazz.net article
Number of undos in edit mode  20 TechNote
Number of displayable links (>= v4.0.1)
  • 60 (IE7)
  • 100 (other browsers)
Jazz.net forum
Number of artifacts selectable in the Artifact view 50 Enhancement 71080, Jazz.net forum
Using ReqIF
   Imports to DNG from DOORS (>= v4.0.1)
  • 5000 modules
  • 200K objects (total)
Jazz.net article, Jazz.net forum
   max depth supported for import 3 Jazz.net forum


  1. CLM 2012 Sizing Report

  2. CLM 2011 Sizing Guide
  3. Rational Team Concert (RTC) 2.0 sizing guide
  4. Rational Team Concert 4.x sizing report for z/OS

  5. The Deployment wiki
  6. Jazz Performance: A Guide to Better Performance” by D. Toczala (Feb 2013). A.k.a the “Purple Book
  7. Sizing and tuning guide for RDNG (Rational DOORS Next Generation) 5.0

Acknowledment/Credit: thanks to the authors of the cited documents above and more generally to the Jazz community who collaboratively provides accurate information through library articles, forums questions & answer, etc..

CLM 4.0 Enterprise Deployment tasks: Oracle DB, proxy, IHS, SSO setup and RRDI configuration

June 27, 2013

Sometimes it can get difficult to narrow down all pieces of information you need to perform some specific administrative task on your CLM/RTC/RQM/RQM/DM environment.

As part of the Jumpstart team, I regularly provide guidance to customers in the CLM area covering RTC, RQM, Enterprise deployments, upgrades, customizations, OSLC and Reporting. As questions about CLM Administration and Reporting show up frequently, I use to collect and keep preciously links I can refer to later with customers. Until very recently, my personal “Top 3” included the following resources:

Until… I found out that Rational Support had provided very useful videos in the CLM 4.0.1 Education Assistant

RRDI configuration
Prepare Linux libraries for RRDI (9 min video)
Install RRDI software (4 min video)
Create an Oracle database for the RRDI content store (9 min video)
Install Oracle 32-bit client software for RRDI (6 min video )
Configure Oracle client environment for RRDI (9 min video)
Preparation for RRDI setup process (7 min video)
Run RRDI setup wizard (9 min video)


WebSphere and IBM HTTP Server configuration
Public URI and host file configurations (3 min video)
Install IBM WebSphere Application Server (WAS) Network Deployment (ND) (8 min video)
IBM HTTP Server (IHS) configuration and self-signed SSL certificate (8 min video)
Setup the IBM HTTP Server (IHS) admin server (6 min video )
Application server profile creation (8 min video)
Setup WebSphere Application Server (WAS) global security (11 min video)
Setup HTTP server proxy on RRDI application server instance (20 min video)
Add a second application server profile to the HTTP server proxy (19 min video)
Add a third application server profile to the HTTP server proxy (8 min video)


CLM Solution Configuration
Oracle database user and table space creation (5 min video)
Configure profile JVM properties to support CLM WAR files (9 min video)
Deploy the CLM WAR files to the first server (6 min video)
Update the CLM server plug-in with the profile XML file changes (6 min video )
Virtual frame buffer requirement and creation for Linux Requirements Management Converter (4 min video)
Configure profile JVM properties and deploy CLM WAR files to second server (8 min video)
Configure Single Sign On (SSO) with HTTP server and WebSphere topology (5 min video)
Run Jazz Team Server (JTS) setup wizard (17 min video)

This is my new “Top 4” I wish I had complete a little earlier.

Thanks to Rational support  for providing these videos. Hope this blog will (modestly) provide the additional visibility this useful material deserves.

Note 1: while the title page of the Education assistant states it’s for “IBM Rational Quality Manager“, this content is more largely applicable (to RTC, RRC, etc.)

Note 2: updates for 4.0.1+ versions are not available at this time AFAIK.

A RQM usage anti-pattern: multiplying test scripts associated to a test case

May 22, 2013

During discussions with customers who start using Rational Quality Manager,  I sometimes get the following questions:

I’ve associated MULTIPLE test scripts to my test cases. Now when I execute them, the LAST execution status returned when selecting a specific test script OVERRIDES previous execution status (with a different test script associated).

Seems like RQM is “loosing” previous execution status each time !  This is a bug, right ?

Actually no, this behavior is NOT weird. You need to get the logic of the RQM tool wrt the semantic of the relationship between test cases and test scripts.


Let’s recap it here :

  • A Test Case answers the question : “what am I going to test ?” It defines the things you need to validate to ensure the system is working correctly and is written to be environment-agnostic.
  • As sketched in the model above, you could have AS MANY test scripts associated to a test case than desired…

BUT there are some best practices associated to this model. You can have multiple test scripts associated to a test case provided each test script tests the SAME functionality. This would typically be the case for:

  • Running a test case in different test environments (thus implying non identical steps).
  • When you have a manual test script and a robotic test script (e.g. RPT, RFT, Selenium, etc.)

Once this basis is stated, customer figure out they have followed a RQM anti-pattern which needs to be fixed.

While the solution to adopt is very dependent on the customer context, a possible remediation includes a refactoring work through the splitting of the test case content into several test cases, the merging of the multiple test scripts into a single test script (provided this doesn’t create an ugly monolithic test piece), etc.

Question: for running a test case in different test environments (not an anti-pattern), where shall the choice of the test script be done ?



  • As an example, above snapshot presents the TCER section of the test case TC01.
  • It includes 2 TCERs (which were generated for 2 different test environments: TC01_Chrome… and TC01_Firefox…). Test script Script for Chrome addresses TC01_Chrome… environment and Test script Script for Firefox addresses TC01_Firefox… environment.

CLM Reporting: a landing page for RRDI or Insight

May 6, 2013

As part of Jumpstart team, I found myself answering customer questions about the reporting capabilities in CLM. As a result of this, last year, I’ve consolidated and shared information/guidance on the subject through a MindMap (see blog post: “Get things clear about the CLM 2012 reporting capabilities“). Some of our customers provided me with great feedback (which is still welcome BTW !).

As an assiduous reader of Jazz.net forum, I see that questions like the following are common:

I want to create a RTC/RRC/RTC/CLM report with this information plus this other information….  how should I proceed ?“.

Say 90% of the time, a pragmatical 1st answer advise users to check the existing/OOTB reports available in CLM. Then, say in half of the cases, directions for creating custom reports are provided. Just like if it was a pattern…


It’s important to note that pretty much ALL the information exists ALREADY (in the CLM InfoCenter, the Jazz.net/DevWorks articles and wikis, etc.). The kind of gap this blog post aims at filling is a landing page providing a useful answer to the pattern described above. It shall present key information for both:

with the following characteristics:

  • Content shall indifferently cover release versions: CLM 2012, CLM 2011.
  • Format may be not a (Mind)Map. As some users revealed to me they could be reluctant to this format. Not to change my mind on this… Just adopting people’s preferred communication channels. I’ve chosen a table format this time.

Let’s go for now…

1) List the Out-of-the-box reports

All reports [Wiki] OOTB Reports (also incl. BIRT/RRDG-based reports)
Reports by domain
(in progress) CLM InfoCenter CLM 2012/4.0 InfoCenter CLM 2011/3.0.1 InfoCenter
RRC/RM (*) RRC/RM (*) RRC/RM (*)

(*): see “Table 2” in the referenced page.

2) Author your own reports

Data models [Wiki] CLM Framework Manager Data Model Details
(in progress) CLM InfoCenter CLM 2012/4.0 InfoCenter CLM 2011/3.0.1 InfoCenter
RTC dictionary RTC dictionary RTC dictionary
RQM dictionary RQM dictionary RQM dictionary
RRC dictionary RRC dictionary RRC dictionary
Data warehouse metrics
(in progress) CLM InfoCenter CLM 2012/4.0 InfoCenter
Data warehouse metrics populated by CLM application data Data warehouse metrics populated by CLM application data
 “How To”s
[CLM 4.0 InfoCenter]
Tutorial: “Creating reports with Query Studio
Deploying new report resources
Custom reporting using work item relationship links” by M. Prout (April 2013)
[Jazz.net forum / Article]
“Display reports from Report Studio in the RTC dashboard
How to make RRDI Reports work like RTC widgets?
How can I get a custom BIRT report to show on a dashboard?
Way to export reports in report studio so they can be uploaded to another server?
How to install missing (i.e. not deployed by default) reports in RTC
Dozens of useful videos in “RRDI Playlist” by Rational User Education. Covers installation aspects, new features, introductions, building reports, etc.

What if some complementary information is required ?

  • For “hands-on”-oriented guidance, I’d advise to read and complete the Reporting Workshop.
  • For a selection of key resources on a broader scope  (e.g. reporting for CLM in general including document generation (RRDG, RPE), installation procedures, troubleshooting tips, etc.), have a read at this blog post (and MindMap) “Get things clear about the CLM 2012 reporting capabilities” (note: it’s updated on a regularly basis – last update as for today: May 1st, 2013).
Last updated: July 18th, 2013 (added links to Jazz.net “in progress” InfoCenter)

OSLC and REST APIs: “Cheat sheets” / “How To” for querying RQM 4.0/5.0 resources

April 9, 2013

During discussions with customers, business partners and IBM client technical representatives about OSLC integrations for RQM, I’ve realized related information is rather dispatched across disparate sources.  I got this impression confirmed when parsing the Jazz.net RQM-related forum questions.

The customers’ core question that typically arise aims at unblocking an on-going integration development effort and often resumes to :

How could I access/create this test artefact in RQM through OSLC or REST APIs?“.

There are de facto resources (Wikis, etc.) that you would want to consult for an exhaustive listing of parameters and options (see “References” section below). What we want to provide you here is consolidated information I collected from both Jumpstart work (during the development of a tool importing test results  into RQM) and readings of related sources of information in the community (posts, wikis, e-mails, etc.).

I decided to put an emphasis for providing sample URLs that you could quickly adapt to your CLM environment. Caution here, your attempts shall be done in a test environment first ! (remember that I’m not liable for any harm you could do to your computer…)

What this post provides you with :

  1. OSLC-oriented descending approach to discover test resources on your CLM system
  2. “Cheat sheet” for accessing test resources through OSLC
  3. “Cheat sheet” for accessing test resources through REST APIs
  4. “Cheat sheet” for creating test resources through REST APIs
  5. References

As you’ll be making HTTP calls, I’d advise you use Firefox with an add-on like Poster, RESTclient, or use standalone REST utilities like curl or HTTP4e. Unless specified differently, all example HTTP requests mentioned below are assumed to contain the following HTTP headers:

Name Value
OSLC-Core-Version 2.0
Accept application/xml
Content-Type application/rdf+xml

Be aware that :

  • I’ve cut parts of some server-returned RDF/XML contents reported below. Goal was to ease the reading of this post and focus on the main information. Each time, I’ve symbolized cuts by  “…”.
  • Most of the URLs I provide included some specifics (i.e. to my own CLM instance):
    • it either contains reference to the “JKE Banking (Quality Management)” project area, either include some specific context string in the URL (e.g. the “_7C2_YDQIEeKh2o37xigryw” context)
    • the “JKE Banking (Quality Management)” appears as “JKE+Banking+%28Quality+Management%29” (URL encoded string format). If just for playing with your favorite REST tool, you could keep the non URL-encoded format.

As a consequence, you’ll need to adapt these URLs to your own CLM specifics (including the server public URI). Which should be straightforward.

1. OSLC-oriented descending approach to discover test resources on your CLM system.

Now making our first step of our descent to the RQM testing resources.

Step 1: Retrieve the QM Root Services URL


<oslc_qm:qmServiceProviders xmlns:oslc_qm="http://open-services.net/xmlns/qm/1.0/" rdf:resource="https://localhost:9443/qm/oslc_qm/catalog" />...

What you locate here is the URL for discovering the QM’s various services and specific capabilities. For the following step, please note that – in contrary to the Root Services document – the Service Provider catalog  document is a protected document, so the client needs to authenticate with the JTS to be able to access it (Jazz form-based authentication). As a consequence, to proceed with the following HTTP requests from your browser, you’d need to authenticate on the RQM server first.

Step 2: Retrieve the QM Service Provider catalog (basically all QM project areas)


RQM Service Provider Catalog Rational Quality Manager version
JKE Banking (Quality Management)...

A Service Provider publishes all the services provided by a context of an OSLC application. In RQM, it is basically a Project Area.

Step 3: Retrieve the services of the “JKE Banking (Quality Management)” project area

JKE Banking (Quality Management) JKE Banking (Quality Management)...
Default creation factory for TestCase
https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.planning.VersionedTestCase"/> ...
Default creation factory for TestResult https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.execution.ExecutionResult"/>
Default creation factory for TestPlan
https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.planning.VersionedTestPlan"/> ...
Default creation factory for TestScript
https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.planning.VersionedExecutionScript"/> ... Default creation factory for TestExecutionRecord
https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.execution.TestcaseExecutionRecord"/> ... Default query capability for TestCase... TestResult... TestPlan...TestScript... TestExecutionRecord... Select TestCase... TestResult... TestPlan...TestScript... TestExecutionRecord... New Test Case... Test Plan... Test Script...

In the RDF content above, we distinguish  shapes (“Creation Factory”, “Query capability”) and dialog (ie. representation/rendering of the properties dialogs that the QM provider has full control on).

Step 4: Access the list of test artefacts in the selected project area URLs for accessing list of Test Plans, Test Cases, Test Results, Test Scripts, TERS/TCERs appear highlighted in the above XML.

They’re consolidated with others in the following table.

2. “Cheat sheet” for accessing test resources through OSLC

Cheat Sheet #1

(GET)ting RQM Test artefacts through OSLC

QM Root Services URL https://localhost:9443/qm/rootservices
QM Users https://localhost:9443/qm/oslc/users
QM Service Provider catalog (basically all QM Project Areas) https://localhost:9443/qm/oslc_qm/catalog
“JKE Banking (Quality Management)” project area https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/services.xml
Test Plans https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.planning.VersionedTestPlan
Test Cases https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.planning.VersionedTestCase
Test Case #32 https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.planning.VersionedTestCase?oslc.where=oslc:shortId=%2232%22
Test Cases (requesting partial representation title+creator in results) https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.planning.VersionedTestCase?oslc.properties=dcterms:title,dcterms:creator
Test Results https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.execution.ExecutionResult
Test Scripts https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.planning.VersionedExecutionScript
Test Script Steps (v4.0.6+) https://localhost:9443/qm/oslc_qm/contexts/_Vq7X0qK7EeOXe4hxHLy8DQ/resources/com.ibm.rqm.planning.ExecutionElement2
TERS/TCERs https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.execution.TestcaseExecutionRecord
TER/TCER #39 https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/resources/com.ibm.rqm.execution.TestcaseExecutionRecord?oslc.where=oslc:shortId=%2239%22

3. “Cheat sheet” for accessing test resources through REST APIs.

Cheat Sheet #2

(GET)ting RQM Test artefacts through REST APIs

Project Areas (for process related information) https://localhost:9443/qm/process/project-areas
Users/members of a Project Area https://localhost:9443/qm/process/project-areas/_7C2_YDQIEeKh2o37xigryw/members
Team areas of a Project Area https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/teamarea?abbreviate=false
Test Plans https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testplan
Test Plan (#2) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testplan/urn:com.ibm.rqm:testplan:2
Test Plan (filtered by “System” title name and wildcard in the title) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testplan?fields=feed/entry/content/testplan%5Btitle=’System X’]/(title|description)&wildcard=X
Test Cases https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testcase
Test Cases (filtered by a category) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testcase?fields=feed/entry/content/testcase/(title|description|category[@term=’Function’ and @value=’Data entry’])
Test Cases (filtered by a custom attribute value) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testcase/?fields=feed/entry/content/testcase%5BcustomAttributes/customAttribute/name=&#8221;custom1” and (customAttributes/customAttribute/value=”AAA” or customAttributes/customAttribute/value=”BBB“)]/*
Test Cases included in Test Suite #2 (filtered by a test suite) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testcase?fields=feed/entry/content/testcase/(*|testsuite[@href=’https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testsuite/urn:com.ibm.rqm:testsuite:2′%5D)
Test Case (#32) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testcase/urn:com.ibm.rqm:testcase:32
Test Case (#33) with UUIDs (Categories, etc.) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testcase/urn:com.ibm.rqm:testcase:33?metadata=UUID
Keywords https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/keyword
Keyword (#3)
Keyword (filtered by title “JKE Logout”(v4.0.3+)
https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/keyword?fields=keyword%5Btitle=”JKE Logout”]
Test Case Execution Results https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/executionresult
Test Case Execution Result (#47) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/executionresult/urn:com.ibm.rqm:executionresult:47
Test Case Execution Results (filtered by test case #14) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/executionresult?fields=feed/entry/content/executionresult/testcase%5B@href=’https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testcase/urn:com.ibm.rqm:testcase:14′%5D
Test Suite Execution Result (#267) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testsuitelog/urn:com.ibm.rqm:testsuitelog:267
TCERs https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/executionworkitem
TCERs (filtered by owner ‘Deb’) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/executionworkitem?fields=feed/entry/content/executionworkitem%5Bowner=’deb’%5D
TCERs (filtered by test phase #4 – identifiers returned) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/executionworkitem?fields=feed/entry/content/executionworkitem/(testphase%5B@href=’https://clmserver:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testphase/urn:com.ibm.rqm:testphase:4′%5D|identifier)
TSER (#67) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/suiteexecutionrecord/urn:com.ibm.rqm:suiteexecutionrecord:67
Test Environment (“TE13”) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/configuration/TE13
Test Cells https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testcell
Test Phase (#36) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testphase/urn:com.ibm.rqm:testphase:36
Test Phases (filtered by test phase name ‘S1’) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testphase?fields=feed/entry/content/testphase%5Btitle=”S1″%5D/identifier
Test Script (#31) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testscript/urn:com.ibm.rqm:testscript:31
Adapters https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/adapter
Adapter Task (#2) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/tasks/urn:com.ibm.rqm:tasks:2
Attachment (#2) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/attachment/urn:com.ibm.rqm:attachment:2
Attachments (in Test Case #38) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testcase/urn:com.ibm.rqm:testcase:38?fields=testcase/attachment
Test Plan, Test Case and Test Suite Templates https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/template
Test Plan Template (“Default”) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/template/testplan/com.ibm.rqm.planning.templates.testplan.default
Project Properties (from the “Manage Project Properties” menu) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/project/JKE+Banking+%28Quality+Management%29/settings
“Lab Resource and Channel Properties” (from the “Manage Project Properties” menu) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/catalog
Lab resources (v4.0.2+) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/labresource
Lab resources (#22) (v4.0.2+) Format: simple, tdm https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%292/labresource/urn:com.ibm.rqm:labresource:22
Lab resources (experimental, v4.0.5+) – for a complete interactivity, open this URL directly in a Browser https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/labresource?propertyDictionary=true
Lab resources groups (v4.0.2+) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/resourcegroup
Requests (v4.0.2+) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/request
Reservations (v4.0.2+) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/reservation

Note about the slug id (and how to handle them once they’re returned to you in the response header “Content-Location” following a POST operation):

4. “Cheat sheet” for creating test resources through REST APIs.

Cheat Sheet #3

(PUT/POST)ting test artifacts through REST APIs

Create a Test Case (v4.0.6+) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testcase
Create a Test Case (ext ID “myExternalID”) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/testcase/myExternalID
Create a Test Case Execution Results (ext  ID “myChosenID”) https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/executionresult/myChosenID

A common pitfall I found myself helping customers with were failures at creating test resources due to failing HTTP requests (403, etc.)

Be aware such errors typically occurs in the case where :
– you’re using a browser
– you’re doing a POST access
– you’re targeting RQM version (or later)
There, you would directly get a 403 “Forbidden” HTTP status code returned.

Indeed, starting in RQM, there is an additional check for the header “X-Jazz-CSRF-Prevent“. It’s required ONLY for a POST access coming from a browser environment (note: this is detected by the Jazz server through the ‘user-agent’ header).

To stay on the safe path, I recommend you :
– either use a PUT access instead (depending on your use case),
– either add the additional header “X-Jazz-CSRF-Prevent” with the current JSESSIONID value in your favorite browser tool (Poster, RESTClient, etc.). For this,  you just need to search your cookies and copy the ‘Content‘ value of the JSESSIONID for the hostname and path (/qm) corresponding to your server public URI. A practical description on how to retrieve such value (from Firefox/Mozilla browser) is provided in this Jazz.net forum post.

Other things to keep in mind:

  • If providing an external ID, you should make sure your PUT does NOT contain any /urn:com.ibm.rqm:xxxxxx content (this is reserved for GUI created test artifacts).
  • If you don’t provide an external ID (like in the “Create a Test Case” sample above), RQM will auto generate one. It shall be returned in the  response header “Content-Location“.

5. References

5.1 QM OSLC References

5.2 RQM REST API References

6. Other resources

6.1 Additional samples for RQM REST API

%d bloggers like this: