Reconciliation deep dive for requirements in Rational Quality Manager 4.0

Rational Quality Manager 4.0 has introduced several new features in requirement reconciliation domain. These new features will help users to grasp more accurate and in-time requirement changes in RQM. This article will try to introduce the requirement reconciliation functions case by case, and show the readers how to use these useful functions.

Background

In Rational Quality Manager 4.0, requirements and requirement collections maintained in remote requirement management container like Rational Requirement Composer can be associated to test cases and test plans. When the requirements or requirement collections have been changed in remote side, like updated or removed, the associated test cases or test plans owners in RQM shall be informed as the changes may also affect the test cases or test plans to make corresponding changes or adjustments. This process in RQM 4.0 is called requirement reconciliation or requirement collection reconciliation.

The new features of requirement reconciliation and requirement collection reconciliation in RQM 4.0 are mainly for the OSLC-Style association between RQM and other requirement management container, like RQM with Rational Requirement Composer, RQM with Rational Doors (In RQM 4.0, Rational Doors can be configured as a Requirement Management OSLC provider. As a result, instead of Doors RQMI, the requirements in Doors can be associated to test cases in “Requirement Links” section through OSLC way, like Rational Requirement Composer) or other containers that has implemented Requirement Management domain OSLC standard (Because the new features of requirement and requirement collection reconciliation in RQM 4.0 are mainly for OSLC based association, so this article will only introduce the scenarios whose requirements or requirement collections are linked through OSLC approach. Other requirement association approaches, like RQM with Rational RequisitePro, their reconciliation process will not be involved in this article’s scope. For more information of the non-OSLC based reconciliation, please go to Rational Quality Manager Help). At present in RQM 4.0, by using OSLC-Style association:

  • Requirement collection, which is a group of requirements, can be linked to test plan in the “Requirement Collection Links” section in a test plan editor page. User can manage a single test plan’s linked requirement collections in this section. The requirement collection reconciliation process of requirement collections will be introduced in the second chapter “Requirement Collection Reconciliation” in this article.
  • Individual requirement can be linked to test case in the “Requirement Links” section in a test case editor page. User can manage a single test case’s linked requirements in this section. The reconciliation process of individual requirement will be introduced in chapter “Requirement Reconciliation” in this article.
  • During requirement reconciliation or requirement collection reconciliation, RQM permits user to create Quality Task in related Change Management Container, like Rational Team Concert, to trace the changes of test cases or test plans due to the requirement changes. This scenario will be described in chapter “Create Quality Task during Reconciliation” in this article.

Requirement Collection Reconciliation

A requirement collection is a group of requirements, which form a logical requirements set. In Rational Requirement Composer, it is called “requirement collection”, while in Rational Doors, it is “Module” or “View” (For Rational RequisitePro, requirement collection is called “Package” or “View”. As RQM 4.0 is not using OSLC to connect with Rational RequisitePro, the reconciliation of RequisitePro requirement collection will not be introduced in this article, please refer to RQM Help to get more information on this topic). A requirement collection can be associated with a test plan in RQM and user could manage the requirement collections of a test plan in its “Requirement Collection Links” section:

Requriement Collction Links Section in Test Plan Editor Page

All the requirement collections linked to a test plan will be reconciled during the requirement collection reconciliation. The general process of requirement collection reconciliation is like:

Requriement Collction Reconciliation Process

In the above process, firstly, RQM will collect all the requirements that are included in the linked requirement collections from remote requirement management containers, these requirements form a remote requirements set; Secondly, RQM will collect all the requirements that are linked to the test cases which are included in this test plan, which is treated as local associated requirements set; Then, RQM will compare the remote requirements set with the local associated requirements set to detect which requirements are newly added into the requirement collections or removed from requirement collections; Finally, RQM will reconcile the requirements in the local associated requirements set one by one to see whether the requirements have been changed since last reconciliation(based on individual requirement reconciliation which is described in chapter “Requirement Reconciliation”), the results (including updated requirements, removed requirements, deleted requirements and failed requirements) will be listed on the reconciliation result dialog. There is only one requirement collection link copy in a single RQM project area, which assurance that the reconciliation result from multiple test plans are consistent. Based on the above reconciliation process, the following behaviors will cause a requirement collection changes:

  • There are new requirements added into requirement collection(new requirements)
  • There are requirements that have been deleted from requirement management container(deleted requirements)
  • There are requirements that have been moved out from requirement collection(removed requirements)
  • There are requirements that in the requirement collection have been updated since last reconciliation(updated requirements)
When there are no changes to requirement collection

If there are no changes to the requirement collections linked to a test plan, RQM will show a dialog titled “No requirements have been changed or removed” after the reconciliation is finished:

Requriement Collction Reconciliation No Update

When there are new requirements added to requirement collection

There will be a two-page wizard pop up to let user manage newly added requirements if there are requirements added into requirement collections after last time reconciliation. The first page collects and lists the new requirements in a table, asking whether user want to add them into this test plan’s test coverage:

Wizard Page 1

For this wizard page, user can take three kinds of actions:

  • If user clicks Cancel button, the reconciliation will terminate and the dialog will close.
  • If user does not select any requirements on the page and click Next, reconciliation process will carry on to reconcile the local associated requirements set to see whether there are updated/deleted/removed requirements in the requirement collection and show the reconciliation result page later.
  • If user selects some requirements on the page and clicks Next, the second wizard page will show the concrete actions for the requirements that user want to take test coverage:

Wizard Page 2

In the second wizard page, all the selected new requirements from the first page will be listed in the “Reconcile Test Coverage” entry. There are two new columns in the requirements table: “Linked Test Cases” and “Action”. For each requirement in the table, its linked test cases in this project area will be listed in the “Linked Test Cases” column; for the “Action” column, it will record what action has been taken for each requirement. For each requirement, only one of the following actions can be performed:

  • “Add Existing Test Case” action. This action is enabled only when the selected requirements all have been linked to existing test cases in this project area before. If user performs this action for the selected requirements, all the test cases linked to these requirements will be automatically added into this test plan.
  • “Generate Test Case” action. RQM will generate new test cases that linked to the selected requirements and add the new generated test cases into this test plan.

Then, if user clicks Next button on the wizard page, reconciliation process will carry on reconciling single requirement changes, which will be described in the following section; if user clicks Cancel, the reconciliation process will terminate and the dialog will close.

When there are requirements in requirement collection that have been changed

If there are no new requirements added into requirement collections or user has finished the new requirement test coverage wizard described in the above section, reconciliation process will reconcile the requirements in the requirement collection one by one to detect whether these requirements have been changed. In this part, requirement collection reconciliation process will re-use the function of individual requirement reconciliation, which will be described in the following “Requirement Reconciliation” chapter of this article. Basically, this process will generate four kinds of results:

  • Updated requirements. RQM will detect which requirements have been updated since last time reconciliation on this requirement.
  • Deleted requirements. RQM will detect which requirements have been deleted from the remote requirement management container.
  • Removed requirements. RQM will detect which requirements have been moved out from the requirement collections since last time reconciliation.
  • Failed requirements. RQM will collect those requirements that failed to reconcile.

When the requirements in requirement collection have been updated

If there are requirements in the requirement collections that have been updated since last time reconciliation, these requirements will be listed in the “Reconcile Updated Items” entry on the reconciliation result dialog:

Requriement Collction Updated

There is a column named ¡°Action¡± in the updated requirements table which identifies what action will be taken for each updated requirement item. From left to right, these three actions are:

  • “Ignore” action. This is the default action for all the changed requirements. When user select this action for the selected requirements and click Finish button, the changes of this requirement will be ignored and when next time operating reconciliation, this requirement will again be listed in the updated requirements list.
  • “Clear Suspicion” action. When selecting this action, the requirement’s changes will be dismissed this time. If the requirement won’t be changed anymore, next time operating reconciliation, this requirement will no longer be detected as changes requirement.
  • “Mark Suspect” action. When selecting this action, the requirement’s changes will be accepted. Besides, RQM will set its associated test cases’ status as suspect. This action aims at informing test case owner to adjust test case according to the requirement changes.

There is also another action on the dialog: “Create a new Quality Task”, which is displayed as a checkbox under the updated table. This action is only enabled when user has selected some requirements and taken “Mark Suspect” action for them. This action permits user to create Quality Task in other change management container to trace the changes of the requirement or test case changes. All the changed requirements introduced in the following sections can apply this action. More information about this action is in the following “Create Quality Task during Reconciliation” chapter.

When the requirements in requirement collection have been deleted

Those requirements that have already been deleted from remote requirement management containers will be listed in the “Reconcile Deleted Items” entry on the reconciliation result dialog:

Requriement Collction Deleted

In this deleted requirements table, “Ignore” and “Mark Suspect” actions, which have been introduced in the above section, can be applied to the requirements.

When the requirements in requirement collection have been removed

Those requirements that have already been moved out from the requirement collections or those requirements do not belong to any requirement collections (but have been associated to the test cases in this test plan) will be listed in the “Reconcile Removed Items” entry on the reconciliation result dialog:

Requriement Collction Removed

In this removed requirements table, requirements share the same actions as the ones for deleted requirements table.

Exception situation

For those requirements that failed to reconcile, e.g. due to network broken, remote server is not accessible, RQM will collect these requirements, exception information, and list them in the “Reconcile Failed Items” entry:

Requriement Collction Failed


Requirement Reconciliation

In “Requirement Links” section of test case editor page, user can manage the requirements associated with this test case, like the following picture shows:

Requirement Links Section in Test Case Editor Page

From this section, user can select several requirements and click the Reconcile button on top-right of the requirements table, then RQM will connect corresponding remote requirement management server and detect whether the selected requirements have been changed since last time reconciliation. At present, RQM only keep one copy for each requirement link in a single project area, so if the requirement has been linked to multiple test cases, the reconciliation will return consistent result when user operate requirement reconciliation in different test cases independently.

When no requirements have been changed

If no requirements have been changed since last reconciliation operation, then a dialog will pop up showing that “No requirements have been changed or removed”:

No requirements have been changed or removed

When remote requirements have been updated

If there are requirements that have been updated in remote requirement management container since last time reconciliation, RQM will list them in the “Reconcile Updated Items” entry on the reconciliation result dialog :

There are updated requirements

For each updated requirement, “Ignore”, “Clear Suspicion” or “Mark Suspect” action can be applied.

When remote requirements have been deleted

If there are requirements that have been deleted in remote requirement management container since last reconciliation operation, RQM will list them in the “Reconcile Deleted Items” entry on the reconciliation result dialog:

There are deleted requirements

For each deleted requirement, “Ignore” or “Mark Suspect” action can be applied.

Auto requirement reconciliation

When associating a new requirement to a test case, RQM will automatically operate the requirement reconciliation operation once. This process is called “Auto requirement reconciliation”. This function is designed for when requirement has been associated with multiple test cases in RQM. For example, if there is a scenario like:

    (1).Requirement Req1 has been linked to test case TC1
    (2).Make some changes in Req1
    (3).Link Req1 to another test case TC2

When operating step3, RQM should tell user that Req1 has been changed before, so user could help to update TC1 when associating Req1 to TC2. Auto reconciliation will implement this function and inform the reconciliation result when user have associated a requirement with a test case.

Exception situation

If there are exceptions happened during the reconciliation process, such as network broken or remote requirement management server is not accessible, the reconciliation process will fail. RQM will list the failed requirements in the “Reconcile Failed Items” entry. User can also check what exception has been thrown out during reconciliation on the result dialog:

There are failed requirements


Create Quality Task During Reconciliation

There is a new feature in RQM 4.0 that permits user to create Quality Task when there are requirement changes during requirement reconciliation or requirement collection reconciliation.

Quality Task Creation Scenario

The basic scenario of this new feature is like the following picture shows:

Create Quality Task Scenario

When requirement have been changed, users in RQM would use reconciliation to detect the changes. The changes of requirements may affect the design of test cases or test plans. This asks the corresponding adjustment of test cases or test plans. So when user in RQM has detected that some requirements linked to test cases or test plans have changed, he or she can create a quality task and mark the test cases as suspect to trace the changes. After user has taken the correct actions to the test case or test plan based on the requirement change, the quality task will be resolved and the test cases’ suspect status will be removed. This Quality Task life cycle will help user to trace the changes in requirement management domain and testing management domain in a more accurate way.

Quality Task Creation UI

There will be a “Create a new Quality Task” check box on the reconciliation result dialog if there are any requirements that have been changed since last time reconciliation. This checkbox will only be enabled when user selects some of the changed requirements and takes “Mark Suspect” action for them (Note: quality task creation requires that RQM project area has already been associated with a change management container, and the CCM server is configured as a Quality Task Management provider for RQM). If user checks this checkbox and clicks Finish button on the reconciliation result dialog, there will be a Quality Creation Wizard pop up to lead user create the new Quality Task.

Create Quality Task Page 1

The above picture shows the first page of the wizard. In this page, RQM will list all the test cases that the changed requirements have been linked to. The created Quality Task will also create back links to these test cases after it has been created. User can click Create New Quality Task to carry on creating the Quality Task.

Create Quality Task Page 2

Then, the second wizard page shows the detail input of this to be created Quality Task. User can input details for this quality task on this page.

Create Quality Task Page 3

If user clicks the OK button on the second wizard page, the creation process will start and after the creation is complete, RQM will show the Quality Task creation result (Whether the Quality Task has been created successfully) on the top information area of the test case’s editor page, like the above picture shows.The created quality tasks will be listed in corresponding task owner’s “My Tasks” viewlet on RQM dashboard if user have filled in the onwer field when creating the quality tasks.


Summary

This article generally introduced new features for requirement reconciliation and requirement collection reconciliation in Rational Quality Manager 4.0. The new features introduced in this article are mainly for the Requirement Management Containers that using OSLC style connection with RQM, like Rational Requirement Composer and Rational Doors. The information of the reconciliation feature for requirements and requirement collections can also be found in RQM 4.0 help, readers can also refer to this material to get a more clear understanding of these new features.


For more information


About the author

Xing Zhou is a developer in Rational Quality Manager CSDL team in China. He can be contacted at xingzhou@cn.ibm.com.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.
Feedback
Was this information helpful? Yes No 2 people rated this as helpful.