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:

rqm-5-0_test-lab-management-cheat-sheet_landscape-format-COMPLETE

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.

References:

(*): 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!


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

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).

Ξ

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

Ξ

RTC 
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)
Queries
   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
SCM
   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
  Build definitions associated to a build engine ( < v4.0.3) 2048 TechNote
OSLC
   oslc_cm.pageSize parameter (when querying work-items) 100 Jazz.net RFEJazz.net forum

(*): text-based

Ξ

RQM
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

Ξ

RRC-DNG/RDNG
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

References:

  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..


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.

RQM-TestCaseTestScript-nm-Linking

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 ?

RQM-2TCERS-2TestScripts

Answer:

  • 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…

RRDI-Insight-LandingPage

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
RTC/CCM (*) RTC/CCM (*) RTC/CCM (*)
RQM/QM RQM/QM RQM/QM
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
Dictionaries
(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
[devWorks]
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
[Videos]
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

https://localhost:9443/qm/rootservices
<rdf:..

<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)

https://localhost:9443/qm/oslc_qm/catalog

RQM Service Provider Catalog Rational Quality Manager version 4.0.0.1...
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

https://localhost:9443/qm/oslc_qm/contexts/_7C2_YDQIEeKh2o37xigryw/services.xml
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)
https://localhost:9443/qm/service/com.ibm.rqm.integration.service.IIntegrationService/resources/JKE+Banking+%28Quality+Management%29/keyword/urn:com.ibm.rqm: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 4.0.0.1 (or later)
There, you would directly get a 403 “Forbidden” HTTP status code returned.

Indeed, starting in RQM 4.0.0.1, 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


Failover recovery and high-availability strategies in the Rational Solution for Collaborative Lifecyle Management (CLM)

June 27, 2012

Recently customers asked me about best practices for disaster/failover recovery and high-availability (HA) implementation for their CLM deployments.
This topic resonates particularly as the Rational Solution for Collaborative Lifecyle Management 2012 provides a new clustering feature. As you feel certainly curious and interested about it, I suggest you have a read at the end of this post for references.

In enterprise organizations, Business Impact Analysis is usually performed, critical functions/activities are identified and requirements in terms of :

are set as well.

But how to make sure your CLM deployment will comply with these “control points” ?
What are the solutions in terms of deployment architecture that could be used ?

To help you along that path, I’ve gathered some considerations and technical aspects you should be aware of :

A backup strategy first !
The need for putting a backup strategy in place shall always be kept in mind.
It’s basically the starting point of any disaster/failover recovery strategy.
As a result, check for the best online backup capability of your enterprise database vendor to produce frequent backups.
Drop the idea of using repotool -import/export commands for backup purpose :

  • they’re not ideal as server must be taken offline (which is not very handy for regularly scheduled backups) and Generally the off-line backup and restore facilities provided by an enterprise database
  • they were not designed for this purpose but instead for database vendor migration scenarios (and more rarely for upgrade scenarios e.g. when upgrading from CLM 2.x to CLM 2011).

The safe path here is to parse CLM 2012 InfoCenter and check for backup techniques : Backing up and restoring other supported databases

I also advise this article from Ralph Schoon: Backup the Rational solution for CLM. It provides valuable insights on what exactly to backup up and which ordering sequence should be respected.

You said high-availability ? Here’s a simple requirement
WebSphere Application Server must be used for any HA configurations, both for manual or automatic failover.

A CLM history : from manual failover to CLM 2012 Clustering…

Act I : in the v2.x times…

A manual failover strategy was available for RTC exclusively. The approach is depicted in Deploying RTC 2.0 on WAS for HA using idle standby :

  • backup server is running but isn’t connected to the database.
  • a couple other tweaks are required to ensure a safe failover.

Act II : in CLM 2011

Manual failover strategy is generalized to all CLM applications. Scott Rich’s article High availability and disaster recovery for Rational’s CALM products details both the cold and idle/hot standby solutions. Unless you really have aggressive RTO, the cold standby :

  • where the backup server is started but
  • where the Jazz applications (JTS/CCM/RM/QM) are stopped

appears as a simpler/safer solution than the hot/idle standby. Because :

  • the backup server needs fewer configuration tweaks and
  • the chances of a request accidentally activating the backup server is reduced

Note that the backup server installation is not intended to be run for extended periods in place of the primary server (which should be put back on-line asap).

For InfoCenter references, check :

Check also this guide for additional failure scenarios (and guidance) associated to virtualization, disk storage and network:

Act III : the clustering feature in CLM 2012

This new feature guarantees a server operating with no manual intervention in case of hardware/software failure on any of the server nodes. In other words, as long as one node is alive, the application is responding.

High Availability with Rational solution for Collaborative Lifecycle Management 2012 Clustering gives an overall picture of the technical implications of adopting the clustering solution.

It shall be noted that this new feature :

  • requires additional key from Rational Support.
  • provides horizontal scalability but primary focus is on high-availability only. In other words, performance scalability is out of its scope. From a practical point of view,  expect a 3 nodes configuration to get similar performances than with a non HA-enabled solution.

(CLM 2012 System Requirements for clustering) Related Information:


Get things clear about the CLM 2012 reporting capabilities

September 21, 2011

(Last update – for CLM 2012 – on May 1st 2013)

Customers regularly asks me the following questions regarding the reporting capabilities in CLM 2012/2011:

  • “Shall we use Insight which has more capabilities than RRDI ?”
  • “Better if we use RRDG or… RPE ?”
  • “RRDG stands for…  what exactly ?”

After discussing a few minutes the details, we generally… touch base and go back to more common questions :

  • “What kind of reports your company would like to generate ?”
  • “What’s the difference between all these products ?”
  • “Do you know what’s is Development Intelligence ?”
  • “Do you want me to explain you the basics around the reporting architecture in CLM 2012/2011?”
  • etc…

As a result of this, I’ve summarized the reporting capabilities in CLM 2012/2011 (with convenient links on sample templates, etc.). You just need to CLICK here (or on the following map image) (note: be patient, it could take up to 10s to load this page… all depending on your network)clm2012reporting

After consulting it, I hope you could:

  • Have a clear idea of where each product stands in the reporting area.
  • Share with colleagues about reporting with more confidence.
  • Speak about the “double bubble chart”.
  • Find quickly the piece of information you were looking for

If helpful, feel free to Report that to me  !


%d bloggers like this: