Update qTest and Vera to support new business rules

Now we will modify the Vera polices and qTest test case settings to support new business rules.

Sample Business Rules

We will configure Vera to support the following chart.

Sample Requirement: Manual and automated test case approval is based on Type and Regulation (A = Approver) below.

Type

Regulation

Technical

Business

Data Owner

Product Team Member

Product Lead

Quality

Type

Regulation

Technical

Business

Data Owner

Product Team Member

Product Lead

Quality

Data Migration

N/A

A

A

A

 

 

A*

Configuration

None

A (2)

 

 

 

 

 

Configuration

GxP

A

 

 

 

 

A*

System

None

 

 

 

A (2)

 

 

System

GxP

A

A

 

 

 

A*

Acceptance

None

 

A (2)

 

 

 

 

Acceptance

GxP

 

A

 

 

 

A*

N/A

SOX

 

 

 

A

A*

 

N/A

SOX & GxP

A

A

 

 

A*

A*

Other

N/A

 

 

 

A**

 

 

*Approve after other approvals are complete. Quality will approve after Product Lead approval.

**Prevent author approval

If Regulatory field value is not set it should be evaluated as None.

Vera Analysis & Design

Based on the above requirement we will need to make the following modifications:

  • Update qTest Test Cases fields and field values in the qTest Project.

    • Update Test Case Type field value

    • Add Regulation custom field and add field values

  • Update the qTest Test Case Record Type data fields in the Records Management Policy in Tutorial Policy Set

  • Modify the Approval Policy in the Tutorial Policy Set

    • Add new Approval Groups

    • Add and modify Route Templates

The new business rules apply to the qTest Test Case and Automated Test Case Record Types. We will need to update the Approval Policy with the following Approval Templates:

Approval Template Name

Rank

Record Type

Constraints

Level 1 Approvers

Level 2 Approvers

Level 3 Approvers

Prevent Author Approval

Approval Template Name

Rank

Record Type

Constraints

Level 1 Approvers

Level 2 Approvers

Level 3 Approvers

Prevent Author Approval

Data Migration Test Case

10

qTest Test Case,

Automated Test Case

Type = Data Migration

Technical,

Business,

Data Owner

Quality

N/A

false

Configuration Test Case

70

Test Test Case,

Automated Test Case

Type = Configuration,

Regulation = None OR IsEmpty

Technical,

Technical

N/A

N/A

false

GxP Configuration Test Case

20

Test Test Case,

Automated Test Case

Type = Configuration,

Regulation = GxP

Technical

Quality

N/A

false

System Test Case

80

Test Test Case,

Automated Test Case

Type = System,

Regulation = None OR IsEmpty

Product Team Member,

Product Team Member

N/A

N/A

false

GxP System Test Case

30

Test Test Case,

Automated Test Case

Type = System,

Regulation = GxP

Technical,

Business

Quality

N/A

false

Acceptance Test Case

90

Test Test Case,

Automated Test Case

Type = Acceptance,

Regulation = None OR IsEmpty

Business,

Business

N/A

N/A

false

GxP Acceptance Test Case

40

Test Test Case,

Automated Test Case

Type = Acceptance,

Regulation = GxP

Business

Quality

N/A

false

SOX Test Case

50

Test Test Case,

Automated Test Case

Type = SOX

Product Team Member

Product Lead

N/A

false

SOX & GxP Test Case

60

Test Test Case,

Automated Test Case

Type = SOX & GxP

Technical, Business

Product Lead

Quality

false

Default

100

N/A

N/A

Product Team Member

N/A

N/A

true

Rank determines the order Route Templates are evaluated by Vera when a record is routed for approval. Use Rank to ensure Constraints are evaluated in the proper order. The rank can be any integer from 1 to 9999. Default is the lowest rank (highest number) so it is the last Route Template evaluated.

qTest Project Configuration

First we will look at qTest project Field Settings for Test Case.

  1. We need to update the Test Case Type Combo box list values by adding:

    1. Data Migration

    2. Configuration

    3. System

    4. Acceptance

  2. We need to add a new Test Case custom field Regulation Combo box and add the following list values:

    1. None

    2. SOX

    3. GxP

    4. SOX & GxP

Vera Configuration

Now that you evaluated the business rules and updated qTest, you can update the Records Management Policy and the Approval Policy.

Records Management Policy updates

We are going to update the Records Management Policy from https://tx3.atlassian.net/wiki/spaces/V20241/pages/546119096 . Open VeraRMPTutorial-part2.json in an editor for modification.

  1. Add Type and Regulation to the qTest Test Case Record Type in addition to the existing fields: Status, Description, and Precondition. The Automated Test Case Record Type inherits fields from the qTest Test Case Record Type with "Base Record Type": "qTest Test Case" element:

    "Fields": [ { "Name": "Status", "Is Data": true }, { "Name": "Description", "Is Data": true }, { "Name": "Precondition", "Is Data": true }, { "Name": "Type", "Is Data": true }, { "Name": "Regulation", "Is Data": true } ] }

    Here is the updated qTest Test Case Record Type in the Records Management Policy with above code block:

    { "Revision": "3", "Records Management Policy": { "Version": "Vera Tutorial 3", "Schema": { "ID": "http://tx3services.com/schemas/0/0/records-management-policy.json", "Major": "0", "Minor": "0" }, "Record Types": [ { "Name": "qTest Test Case", "Definitions": [ { "Systems": ["qTest"], "Item Types": ["test-case"], "Singular Name": "Test Case", "Plural Name": "Test Cases" } ], "Author": { "Source": "Route Owner" }, "Constraints": [ { "Type": "Field Is Not Equal", "Name": "Automation", "Value": "Tosca" } ], "Fields": [ { "Name": "Status", "Is Data": true }, { "Name": "Description", "Is Data": true }, { "Name": "Precondition", "Is Data": true }, { "Name": "Type", "Is Data": true }, { "Name": "Regulation", "Is Data": true } ] }, { "Name": "qTest Test Step", "Definitions": [ { "Systems": ["qTest"], "Item Types": ["test-step"], "Singular Name": "Test Step", "Plural Name": "Test Steps" } ], "Fields": [ { "Name": "Description", "Is Data": true }, { "Name": "Expected Result", "Is Data": true } ] }, { "Name": "Automated Test Case", "Base Record Type": "qTest Test Case", "Definitions": [ { "Systems": ["qTest"], "Item Types": ["test-case"], "Singular Name": "Test Case", "Plural Name": "Test Cases" } ], "Author": { "Source": "Route Owner" }, "Constraints": [ { "Type": "Field Is Equal", "Name": "Automation", "Value": "Tosca" } ] } ] } }
  2. Save the Records Management Policy as VeraRMPTutorial-part3.json

Now we have a Records Management Policy configured for the new Test Case business rules. The completed JSON file with qTest Test Case update can be downloaded here:

Approval Policy updates

We are going to update the Approval Policy from https://tx3.atlassian.net/wiki/spaces/V20241/pages/546119119. Open VeraAPTutorial-part1.json in an editor for modification.

First you will update Approval Roles, then you will add the Approval Templates in Rank order to make it easier to manage and troubleshoot.

Approval Roles

There are new Approval Roles you need to add to the Approval Policy: Data Owner, Product Team Member, and Product Lead

    "Approval Groups": [ "Business", "Technical", "Quality", "Data Owner", "Product Team Member", "Product Lead" ]

Approval Templates

Now we can add the new Route Templates and update the Default Route Template.

The following elements are set to default automatically if not defined in approval policy
 "Prevent Author Approval": null,        

"Signatures Required": "true"

You can read more here - https://tx3.atlassian.net/wiki/spaces/V20233/pages/444301317

 

Data Migration Test Case

Configuration element

Value

Code Snippet

Configuration element

Value

Code Snippet

Name

Data Migration Test Case

Rank

 10

Record Type

qTest Test Case,

Automated Test Case

Constraints

Type = Data Migration

The Field Is Equal or Field Is One Of constraint can be used for this business rule.

Note: Ignore Case default value is false.

Level 1 Approvers

Technical,

Business,

Data Owner

Level 2 Approvers

Quality

Prevent Author Approval

FALSE

The completed Route Template for Data Migration Test case is below:

GxP Configuration Test Case

Configuration element

Value

Code Snippet

Configuration element

Value

Code Snippet

Name

GxP Configuration Test Case

Rank

20

Record Type

Test Test Case,

Automated Test Case

Constraints

Type = Configuration,

Regulation = GxP

The Field Is Equal or Field Is One Of constraint can be used for this business rule. Ignore Case element default value is false.

Note: The All Boolean constraint is the default constraint.

Level 1 Approvers

Technical

Level 2 Approvers

Quality

Prevent Author Approval

FALSE

The completed Route Template for GxP Configuration Test case is below:

GxP System Test Case

Configuration element

Value

Code Snippet

Configuration element

Value

Code Snippet

Name

GxP System Test Case

Rank

30

Record Type

Test Test Case,

Automated Test Case

Constraints

Type = System,

Regulation = GxP

The Field Is Equal or Field Is One Of constraint can be used for this business rule.

Note: The All Boolean constraint is the default constraint.

Level 1 Approvers

Technical,

Business

Level 2 Approvers

Quality

Prevent Author Approval

FALSE

The completed Route Template for GxP System Test case is below:

GxP Acceptance Test Case

Configuration element

Value

Code Snippet

Configuration element

Value

Code Snippet

Name

GxP Acceptance Test Case

Rank

40

Record Type

Test Test Case,

Automated Test Case

Constraints

Type = Acceptance,

Regulation = GxP

The Field Is Equal or Field Is One Of constraint can be used for this business rule.

Note: The All Boolean constraint is the default constraint.

Level 1 Approvers

Business

Level 2 Approvers

Quality

Prevent Author Approval

FALSE

The completed Route Template for GxP Acceptance Test case is below:

SOX Test Case

Configuration element

Value

Code Snippet

Configuration element

Value

Code Snippet

Name

SOX Test Case

Rank

50

Record Type

Test Test Case,

Automated Test Case

Constraints

Type = SOX

The Field Is Equal or Field Is One Of constraint can be used for this business rule.

Note: The All Boolean constraint is the default constraint.

Level 1 Approvers

Product Team Member

Level 2 Approvers

Product Lead

Prevent Author Approval

FALSE

The completed Route Template for SOX Test case is below:

SOX & GxP Test Case

Configuration element

Value

Code Snippet

Configuration element

Value

Code Snippet

Name

SOX & GxP Test Case

Rank

60

Record Type

Test Test Case,

Automated Test Case

Constraints

Type = SOX & GxP

The Field Is Equal or Field Is One Of constraint can be used for this business rule.

Note: The All Boolean constraint is the default constraint.

Level 1 Approvers

Technical, Business

Level 2 Approvers

Product Lead

Level 3 Approvers

Quality

Prevent Author Approval

FALSE

The completed Route Template for SOX & GxP Test case is below:

Configuration Test Case

Configuration element

Value

Code Snippet

Configuration element

Value

Code Snippet

Name

Configuration Test Case

Rank

70

Record Type

Test Test Case,

Automated Test Case

Constraints

Type = Configuration,

Regulation = None

OR

Regulation IsEmpty

The Field Is Equal, Field Is One Of or Field Is Not One Of constraint can be used for this business rule. The Any constraint can be used if only one constraint needs to be true.

Level 1 Approvers

Technical,

Technical

Prevent Author Approval

FALSE

The completed Route Template for Configuration Test case is below:

System Test Case

Configuration element

Value

Code Snippet

Configuration element

Value

Code Snippet

Name

System Test Case

Rank

80

Record Type

Test Test Case,

Automated Test Case

Constraints

Type = System,

Regulation = None

OR

Regulation IsEmpty

The Field Is Equal, Field Is One Of or Field Is Not One Of constraint can be used for this business rule.

Note: The All Boolean constraint is the default constraint.

Level 1 Approvers

Product Team Member,

Product Team Member

Prevent Author Approval

FALSE

The completed Route Template for System Test case is below:

Acceptance Test Case

Configuration element

Value

Code Snippet

Configuration element

Value

Code Snippet

Name

Acceptance Test Case

Rank

90

Record Type

Test Test Case,

Automated Test Case

Constraints

Type = Acceptance,

Regulation = None

OR

Regulation IsEmpty

The Field Is Equal, Field Is Not Equal, Field Is One Of or Field Is Not One Of constraint can be used for this business rule.

Note: The All Boolean constraint is the default constraint.

Level 1 Approvers

Business,

Business

Prevent Author Approval

FALSE

The completed Route Template for Acceptance Test case is below:

Default Approval Template

Update the current Default Approval Route with the changes below:

Configuration element

Value

Code Snippet

Configuration element

Value

Code Snippet

Name

Default

Rank

 100

Record Type

Any

Add all record types

Constraints

No Constraints

No constraints are defined

Level 1 Approvers

Product Team Member

Prevent Author Approval

TRUE

The completed Route Template for Default Route Template is below:

Save the Approval Policy as VeraAPTutorial-part2.json

Now we have an Approval Policy configured for the new Test Case business rules. The completed JSON file with new Approval Roles and Approval Templates can be downloaded:

Uploading Updated Policy File Revisions

Next, we will upload the VeraAPTutorial-part2.json as a revision of the Vera Tutorial Approval Policy in the Tutorial Policy Set.

  1. Login and navigate to Vera Administration

  2. Navigate to the Policy Management

  3. Select Tutorial AP

  4. On the policy details select Add Revision, the Import Policy Revision dialog opens

  5. Select VeraAPTutorial-part2.json with the Choose File button

  6. Enter “Added Regulation approval templates for Test Cases” in Revision Comments

  7. Click Import to add the revision

Uploading the VeraRMPTutorial-part3.json as a revision of the Vera Tutorial RMP in the Tutorial Policy Set

  1. Login and navigate to Vera Administration

  2. Navigate to the Policy Management

  3. Select Tutorial RMP

  4. On the policy details select Add Revision, the Import Policy Revision dialog opens

  5. Select VeraRMPTutorial-part3.json with the Choose File button

  6. Enter “Added Regulation and Type fields to Test Case” in Revision Comments

  7. Click Import to add the revision

Assign Users new approval roles

New Approval Roles were introduced in the revised Approval Policy.

We will add new approvers to the Tutorial domain and update tutor_mu with additional approval roles:

User Name

Full Name

Domain Membership

User Name

Full Name

Domain Membership

tutor_data

Tutor Data Owner

Tutorial: Data Owner

tutor_mem

Tutor Product Team Member

Tutorial: Product Team Member

tutor_lead

Tutor Product Lead

Tutorial: Product Lead

tutor_mu

Tutor Multi Role

Tutorial: Data Owner,Product Team Member, Product Lead

Use the sample file below to import the following users into Vera

  1. Download the csv file to your desktop

  2. Add passwords for local accounts

    1. Open the file to edit

    2. Add a strong password after the colon (:) in the IdP User Name Column for each user

  3. Save the file in CSV (comma delimited) format

  4. Open and log in to the VERA Administration site

  5. On the VERA sidebar, select User Management

  6. Click Import Users and the Import Users dialog box opens

  7. Select the file TutorialUsersImportSample-2.csv

  8. Click Import

  9. View Latest Import Results for success status

View imported users by domain (Domain Management)

  1. Open and log in to the VERA Administration site

  2. Display the Domain Management module

    1. On the VERA sidebar, select Domain Management

  3. On the domains table, search and select Tutorial Domain

  4. Scroll down to Domain Users on the Domain Details

  5. Domain Users are displayed with their User Name, Full Name, and Roles

Vera configuration verification

Next let’s verify our configuration changes by importing Test Cases and Routing the Test cases for approval. First, Import the below Excel file to add Test Cases with Regulation and Type fields defined. Click here for instructions on how to import from Excel.

Now that the Tests Cases are in qTest you can route each of the Test Cases for approval to verify the polices are configured correctly.

Select each imported test case and click the Route for Approval button. Reload the record and view the Vera Approval Route and compare the Approval Route with the Approval Route documented in the Test Case Step. If you configured Vera correctly, the results will match.