Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Now that you created a Records Management Policy and added Test Case records, we can add Test Runs following the same approach. If In this tutorial, we will only create one Test Run Record test run record type for qTest. We will add a new Record Type to VeraRMPTutorial-part1.json.

Info

In the example below we are only showing the qTest Test Run record due to the size of the file.

Table of Contents

Create qTest Test Run Record Type

  1. Add a Record Type Name. We are going to start by defining a qTest Test CaseRun. We will create unique Test Cases a unique test run record type for qTest and Tosca tests..:

    Code Block
    languagejson
    {
      "Revision": "2",
      "Records Management Policy": {
        "Version": "1.0.0.0Vera Tutorial 2",
        "Record TypesSchema": [{
          {
    "ID": "http://tx3services.com/schemas/0/0/records-management-policy.json",
           "NameMajor": "qTest Case Run0",
          }"Minor": "0"
        },
        "Record Types": [
          {
            "Name": "qTest Test Run"
          }
        ]
      }
    }
  2. Define the Record Type by System and Item Type. qTest is the System and the Item Type is test-run:

    Code Block
    languagejson
            "Definitions": [
              {
                "Systems": ["qTest"],
                "Item Types": ["test-caserun"],
                "Singular Name": "Test CaseRun",
                "Plural Name": "Test CasesRuns"
              }
            ]

    Here is the updated Records Management Policy with above code block:

    Code Block
    languagejson
    {
      "Revision": "2",
      "Records Management Policy": {
        "Version": "1.0.0.0"Vera Tutorial 2",
        "Schema": {
          "ID": "http://tx3services.com/schemas/0/0/records-management-policy.json",
          "Major": "0",
          "Minor": "0"
        },
        "Record Types": [
          {
            "Name": "qTest Test CaseRun",
            "Definitions": [
              {
                "Systems": ["qTest"],
                "Item Types": ["test-caserun"],
                "Singular Name": "Test CaseRun",
                "Plural Name": "Test CasesRuns"
              }
            ]
          }
        ]
      }
    }
  3. Define the Record record Author. The Record record Author can be the Route Owner (the person who routed the record for approval) or by a record field .value or by the Actual Testers. Actual Testers are the people who created qTest Execution Logs and executed Execution Log Steps:

    Code Block
                "Author":
                  {
                    "Source": "RouteActual OwnerTesters"
                  }

    Here is the updated Records Management Policy with above code block:

    Code Block
    languagejson
    {
      "Revision": "2",
      "Records Management Policy": {
        "Version": "1.0.0.0Vera Tutorial 2",
        "Record TypesSchema": [{
          {
     "ID": "http://tx3services.com/schemas/0/0/records-management-policy.json",
          "NameMajor": "0",
          "Minor": "0"
        },
        "Record Types": [
          {
            "Name": "qTest Test CaseRun",
            "Definitions": [
              {
                "Systems": ["qTest"],
                "Item Types": ["test-caserun"],
                "Singular Name": "Test CaseRun",
                "Plural Name": "Test CasesRuns"
              }
            ],
            "Author": 
              {
                "Source": "RouteActual OwnerTesters"
              }
          }
        ]
      }
    }
  4. Add a Constraint to definition to create unique Record Types. Identify any qTest Test Case that does not have Tosca automation flag as a qTest Test Case using the Field Is Not Equal constraint.We are not adding any Constraints to the qTest Test Run record because all qTest Test Runs will be defined as qTest Test Runs in Vera. Add the Record fieldsyou want to include in Vera by adding the Fields section to the Record Type. Add the Status, Test Case ID, Test Case Version, Target Release/Build, and Execution Type:

    Code Block
    languagejson
                "ConstraintsFields": [
      
               {
       
                "TypeName": "Status"Field,
    Is Not Equal",          "Is Data": true
        "Name": "Automation",     },
              {
    "Value": "Tosca"           "Name": "Test Case ID",
    }            "Is ] 
    Code Block
    languagejson
    {Data": true
      "Records Management Policy": {     "Version": "1.0.0.0",},
         "Record Types": [   {
       {         "Name": "qTest Test Case Version",
                "DefinitionsIs Data": [ true
              },
              {
                "SystemsName": ["qTestTarget Release/Build"],
                "ItemIs TypesData": ["test-case"],true
              },
           "Singular Name": "Test Case",{
                "Plural Name": "TestExecution CasesType",
              }  "Is Data": true
        ],      }

    Here is the updated Records Management Policy with above code block:

    Code Block
    languagejson
    {
      "AuthorRevision": "2",
      "Records Management Policy": {
        {
      "Version": "Vera Tutorial 2",
        "Schema": {
       "Source": "Route Owner"   "ID": "http://tx3services.com/schemas/0/0/records-management-policy.json",
          "Major": "0",
      },    "Minor": "0"
       "Constraints": [ },
        "Record Types":  [
      {    {
            "TypeName": "FieldqTest IsTest Not EqualRun",
            "Definitions": [
         "Name": "Automation",     {
                "ValueSystems": ["ToscaqTest"],
              }  "Item Types": ["test-run"],
        ]       } "Singular Name": "Test Run",
    ]   } }

    Add the Record Fields you want to include in Vera by adding Fields to Record Type.

    Code Block
    languagejson
            "FieldsPlural Name": ["Test Runs"
              }
    {        ],
        "Name": "Status",   "Author": 
            "Is Data": true{
              },  "Source": "Actual Testers"
          {    },
            "Fields": [
              {
                "Name": "DescriptionStatus",
                "Is Data": true
              },
              {
                "Name": "PreconditionTest Case ID",
                "Is Data": true
              }
    Code Block
    languagejson
    {,
           "Records Management Policy": {
          "Version": "1.0.0.0",     "Record TypesName": ["Test Case Version",
        {        "Is "NameData": "qTesttrue
    Test Case",         "Definitions": [},
               {
                "SystemsName": ["qTestTarget Release/Build"],
                "ItemIs TypesData": ["test-case"],true
                "Singular Name": "Test Case"},
              {
     "Plural Name": "Test Cases"        "Name": "Execution Type",
    }         ],         "Author"Is Data": true
              {}
            ]
       "Source": "Route Owner" }
        ]
        },
       }
    }

Create qTest Test Log Record Type

  1. qTest Test Runs have a sub-record type: Test Log. Add the qTest Test Log as a record type as well. Start by adding the Record Type Name under Record Types:

    Code Block
    languagejson
         "Constraints": [          "Record {Types": [
               "Type": "Field Is Not Equal",      {
          "Name": "Automation",             "ValueName": "Tosca"qTest Test Log"
            }         ],  }
          "Fields": [         ]

    Here is the updated Records Management Policy with above code block:

    Code Block
    languagejson
    {
      "Revision": "2",
      "Records Management Policy": {
        "Version": "Vera Tutorial 2",
        "Schema": {
          "ID": "http://tx3services.com/schemas/0/0/records-management-policy.json",
          "Major": "0",
          "Minor": "0"
        },
        "Record Types": [
          {
            "Name": "qTest Test Run",
            "Definitions": [
              {
                "Systems": ["qTest"],
                "Item Types": ["test-run"],
                "Singular Name": "Test Run",
                "Plural Name": "Test Runs"
              }
            ],
            "Author": 
              {
                "Source": "Actual Testers"
              },
            "Fields": [
              {
                "Name": "Status",
                "Is Data": true
              },
              {
                "Name": "Test Case ID",
                "Is Data": true
              },
              {
                "Name": "Test Case Version",
                "Is Data": true
              },
              {
                "Name": "Target Release/Build",
                "Is Data": true
              },
              {
                "Name": "Execution Type",
                "Is Data": true
              }
            ]
          },
          {
            "Name": "qTest Test Log"
          }
        ]
      }
    }
  2. Add the qTest Test log definition with the System qTest and Item Type test-log:

    Code Block
    languagejson
                        "Definitions": [
                          {
                            "Systems": ["qTest"],
                            "Item Types": ["test-log"],
                            "Singular Name": "Test Log",
                            "Plural Name": "Test Logs"
                          }
                        ]

    Here is the updated Records Management Policy with above code block:

    Code Block
    languagejson
    {
      "Revision": "2",
      "Records Management Policy": {
        "Version": "Vera Tutorial 2",
        "Schema": {
          "ID": "http://tx3services.com/schemas/0/0/records-management-policy.json",
          "Major": "0",
          "Minor": "0"
        },
        "Record Types": [
          {
            "Name": "qTest Test Run",
            "Definitions": [
              {
                "Systems": ["qTest"],
                "Item Types": ["test-run"],
                "Singular Name": "Test Run",
                "Plural Name": "Test Runs"
              }
            ],
            "Author": 
              {
                "Source": "Actual Testers"
              },
            "Fields": [
              {
                "Name": "Status",
                "Is Data": true
              },
              {
                "Name": "Test Case ID",
                "Is Data": true
              },
              {
                "Name": "Test Case Version",
                "Is Data": true
              },
              {
                "Name": "Target Release/Build",
                "Is Data": true
              },
              {
                "Name": "Execution Type",
                "Is Data": true
              }
            ]
          },
          {
            "Name": "qTest Test Log",
            "Definitions": [
              {
                "Systems": ["qTest"],
                "Item Types": ["test-log"],
                "Singular Name": "Test Log",
                "Plural Name": "Test Logs"
              }
            ]
          }
        ]
      }
    }
  3. Add the record fields you want to include in Vera by adding the Fields section to the Record Type. Add the Test Case Name, Test Case ID, Test Case Version, Status, Tester, Target Release/Build, Execution Type, Executed Start, Executed End, and Execution Log Notes:

    Code Block
    languagejson
          "Fields": [
              {
                "Name": "Test Case Name",
                "Is Data": true
              },
              {
                "Name": "Test Case ID",
                "Is Data": true
              },
              {
                "Name": "Test Case Version",
                "Is Data": true
              },
              {
                "Name": "Status",
                "Is Data": true  
              },
              {
                "Name": "Tester",
                "Is Data": true
              },
              {
                "Name": "Target Release/Build",
                "Is Data": true
              },
              {
                "Name": "Execution Type",
                "Is Data": true             
              },
              {
                "Name": "Executed Start",
                "Is Data": true
              },
              {
                "Name": "Executed End",
                "Is Data": true
              },
              {
                "Name": "Execution Log Notes",
                "Is Data": true
              }
          ]    

    Here is the updated Records Management Policy with above code block:

    Code Block
    languagejson
    {
      "Revision": "2",
      "Records Management Policy": {
        "Version": "Vera Tutorial 2",
        "Schema": {
          "ID": "http://tx3services.com/schemas/0/0/records-management-policy.json",
          "Major": "0",
          "Minor": "0"
        },
        "Record Types": [
          {
            "Name": "qTest Test Run",
            "Definitions": [
              {
                "Systems": ["qTest"],
                "Item Types": ["test-run"],
                "Singular Name": "Test Run",
                "Plural Name": "Test Runs"
              }
            ],
            "Author": 
              {
                "Source": "Actual Testers"
              },
            "Fields": [
              {
                "Name": "Status",
                "Is Data": true
              },
              {
                "Name": "Test Case ID",
                "Is Data": true
              },
              {
                "Name": "Test Case Version",
                "Is Data": true
              },
              {
                "Name": "Target Release/Build",
                "Is Data": true
              },
              {
                "Name": "Execution Type",
                "Is Data": true
              }
            ]
          },
          {
            "Name": "qTest Test Log",
            "Definitions": [
              {
                "Systems": ["qTest"],
                "Item Types": ["test-log"],
                "Singular Name": "Test Log",
                "Plural Name": "Test Logs"
              }
            ],
            "Fields": [
              {
                "Name": "Test Case Name",
                "Is Data": true
              },
              {
                "Name": "Test Case ID",
                "Is Data": true
              },
              {
                "Name": "Test Case Version",
                "Is Data": true
              },
              {
                "Name": "Status",
                "Is Data": true
              },
              {
                "Name": "Tester",
                "Is Data": true
              },
              {
                "Name": "Target Release/Build",
                "Is Data": true
              },
              {
                "Name": "Execution Type",
                "Is Data": true             
              },
              {
                "Name": "Executed Start",
                "Is Data": true
              },
              {
                "Name": "Executed End",
                "Is Data": true
              },
              {
                "Name": "Execution Log Notes",
                "Is Data": true
              }
            ]
          }
        ]
      }
    }

Create qTest Test Step Log Record Type

  1. qTest Test Logs have a sub-record type: Test Step Log. Add the qTest Test Step Log as a record type as well. Start by adding the Record Type Name under Record Types:

    Code Block
    languagejson
                    "Record Types": [
                      {
                        "Name": "qTest Test Step Log"
                      }
                    ]

    Here is the updated Records Management Policy with above code block:

    Code Block
    languagejson
    {
      "Revision": "2",
      "Records Management Policy": {
        "Version": "Vera Tutorial 2",
        "Schema": {
          "ID": "http://tx3services.com/schemas/0/0/records-management-policy.json",
          "Major": "0",
          "Minor": "0"
        },
        "Record Types": [
          {
            "Name": "qTest Test Run",
            "Definitions": [
              {
                "Systems": ["qTest"],
                "Item Types": ["test-run"],
                "Singular Name": "Test Run",
                "Plural Name": "Test Runs"
              }
            ],
            "Author": 
              {
                "Source": "Actual Testers"
              },
            "Fields": [
              {
                "Name": "Status",
                "Is Data": true
              },
              {
                "Name": "Test Case ID",
                "Is Data": true
              },
              {
                "Name": "Test Case Version",
                "Is Data": true
              },
              {
                "Name": "Target Release/Build",
                "Is Data": true
              },
              {
                "Name": "Execution Type",
                "Is Data": true
              }
            ]
          },
          {
            "Name": "qTest Test Log",
            "Definitions": [
              {
                "Systems": ["qTest"],
                "Item Types": ["test-log"],
                "Singular Name": "Test Log",
                "Plural Name": "Test Logs"
              }
            ],
            "Fields": [
              {
                "Name": "Test Case Name",
                "Is Data": true
              },
              {
                "Name": "Test Case ID",
                "Is Data": true
              },
              {
                "Name": "Test Case Version",
                "Is Data": true
              },
              {
                "Name": "Status",
                "Is Data": true
              },
              {
                "Name": "Tester",
                "Is Data": true
              },
              {
                "Name": "Target Release/Build",
                "Is Data": true
              },
              {
                "Name": "Execution Type",
                "Is Data": true             
              },
              {
                "Name": "Executed Start",
                "Is Data": true
              },
              {
                "Name": "Executed End",
                "Is Data": true
              },
              {
                "Name": "Execution Log Notes",
                "Is Data": true
              }
            ]
          },
          {
            "Name": "qTest Test Step Log"
          }
        ]
      }
    }
  2. Add the qTest Test Step definition with the System qTest and Item Type test-step-log:

    Code Block
    languagejson
                        "Definitions": [
                          {
                            "Systems": ["qTest"],
                            "Item Types": ["test-step-log"],
                            "Singular Name": "Test Step Log",
                            "Plural Name": "Test Step Logs"
                          }
                        ]

    Here is the updated Records Management Policy with above code block:

    Code Block
    languagejson
    {
      "Revision": "2",
      "Records Management Policy": {
        "Version": "Vera Tutorial 2",
        "Schema": {
          "ID": "http://tx3services.com/schemas/0/0/records-management-policy.json",
          "Major": "0",
          "Minor": "0"
        },
        "Record Types": [
          {
            "Name": "qTest Test Run",
            "Definitions": [
              {
                "Systems": ["qTest"],
                "Item Types": ["test-run"],
                "Singular Name": "Test Run",
                "Plural Name": "Test Runs"
              }
            ],
            "Author": 
              {
                "Source": "Actual Testers"
              },
            "Fields": [
              {
                "Name": "Status",
                "Is Data": true
              },
              {
                "Name": "Test Case ID",
                "Is Data": true
              },
              {
                "Name": "Test Case Version",
                "Is Data": true
              },
              {
                "Name": "Target Release/Build",
                "Is Data": true
              },
              {
                "Name": "Execution Type",
                "Is Data": true
              }
            ]
          },
          {
            "Name": "qTest Test Log",
            "Definitions": [
              {
                "Systems": ["qTest"],
                "Item Types": ["test-log"],
                "Singular Name": "Test Log",
                "Plural Name": "Test Logs"
              }
            ],
            "Fields": [
              {
                "Name": "Test Case Name",
                "Is Data": true
              },
              {
                "Name": "Test Case ID",
                "Is Data": true
              },
              {
                "Name": "Test Case Version",
                "Is Data": true
              },
              {
                "Name": "Status",
                "Is Data": true
              },
              {
                "Name": "Tester",
                "Is Data": true
              },
              {
                "Name": "Target Release/Build",
                "Is Data": true
              },
              {
                "Name": "Execution Type",
                "Is Data": true             
              },
              {
                "Name": "StatusExecuted Start",
                "Is Data": true
              },
              {
                "Name": "DescriptionExecuted End",
                "Is Data": true
              },
              {
                "Name": "PreconditionExecution Log Notes",
                "Is Data": true
              }
            ]
          },
        ]  {
        } }

Create qTest Test Step Record Type

  1. qTest Test Cases have a sub-record, Test Steps. Add the qTest Test Steps as a record as well. Start by adding the Record Type Name under Record Types

    Code Block
    languagejson
       "Name": "qTest Test Step Log",
            "Record TypesDefinitions": [
              {
           {     "Systems": ["qTest"],
                "Item  Types"Name": "qTest Test Step"["test-step-log"],
                "Singular Name": "Test Step Log",
     }           "Plural      ]
    Code Block
    languagejson
    {
      "Records Management Policy": {Name": "Test Step Logs"
         "Version": "1.0.0.0",    }
    "Record Types": [      ]
    {      }
      "Name": "qTest Test]
    Case",  }
    }
  2. Add the record fields you want to include in Vera by adding the Fields section to the Record Type. Add the Status, Description, Expected Result, Actual Result, Executed, and Tester:

    Code Block
    languagejson
          "DefinitionsFields": [
              {
                "SystemsName": ["qTestStatus"],
                "ItemIs TypesData": ["test-case"],true  
              "Singular Name": "Test Case",       },
         "Plural Name": "Test Cases"  {
            }    "Name": "Description",
       ],         "AuthorIs Data": true
              {},
              {
     "Source": "Route Owner"         "Name": "Expected }Result",
            "Constraints": [   "Is Data": true
         {     },
           "Type": "Field Is Not Equal",{
                "Name": "AutomationActual Result",
                "ValueIs Data": "Tosca"true           }
           
    ],         "Fields": [ },
              {
                "Name": "StatusExecuted",
                "Is Data": true
              },
              {
                "Name": "DescriptionTester",
                "Is Data": true
              },
          ]    

    Here is the updated Records Management Policy with above code block:

    Code Block
    languagejson
    {
      "Revision": "2",
      "Records Management Policy": {
        "NameVersion": "PreconditionVera Tutorial 2",
        "Schema": {
          "ID"Is: Data"http: true//tx3services.com/schemas/0/0/records-management-policy.json",
          "Major": "0",
       }   "Minor": "0"
        ]},
        "Record Types": },[
          {
            "Name": "qTest Test StepRun",
          }  "Definitions": [
     ]   } }

    Add the qTest Test Step definition with the System qTest and Item Type test-step.

    Code Block
    languagejson
           {
                "DefinitionsSystems": ["qTest"],
                "Item Types": ["test-run"],
           {     "Singular Name": "Test Run",
                    "Systems"Plural Name": ["qTest"],Test Runs"
              }
            ],
          "Item Types": ["test-step"],Author": 
              {
                "Singular NameSource": "TestActual StepTesters",
              },
                 "Plural Name"Fields": "Test[
    Steps"          {
                }
    "Name": "Status",
                "Is Data": true
        ]
    Code Block
    languagejson
    {   "Records Management Policy": {
        "Version": "1.0.0.0",
        "Record Types": [ },
              {
                "Name": "qTest Test Case ID",
                "DefinitionsIs Data": [true
              },
              {
                "SystemsName": ["qTestTest Case Version"],
                "ItemIs TypesData": ["test-case"], true
              },
              {
                "Singular Name": "TestTarget CaseRelease/Build",
                "PluralIs NameData": "Test Cases"
        true
          }    },
        ],      {
      "Author":          "Name": "Execution {Type",
                "SourceIs Data": "Routetrue
    Owner"           },
            "Constraints":]
    [      },
        {   {
             "TypeName": "FieldqTest IsTest Not EqualLog",
                "NameDefinitions": "Automation", [
              {
       "Value": "Tosca"        "Systems": ["qTest"],
     }         ],  "Item Types": ["test-log"],
        "Fields": [       "Singular Name": "Test Log",
    {            "Plural "Name": "Status",Test Logs"
              }
        "Is Data": true  ],
            },"Fields": [
              {
                "Name": "DescriptionTest Case Name",
                "Is Data": true
              },
              {
                "Name": "PreconditionTest Case ID",
                "Is Data": true
              },
            ]    {
      },       {         "Name": "qTestTest TestCase StepVersion",
            "Definitions": [   "Is        {
          Data": true
         "Systems": ["qTest"],    },
            "Item Types": ["test-step"], {
                "Singular Name": "Test StepStatus",
                "PluralIs NameData": "Testtrue
    Steps"
              },
            ]  {
        }     ]   }
    }

    Add the Record Fields you want to include in Vera by adding Fields to Record Type. Now we have a complete qTest Test Case record defined for any qTest Test Case that does not have a Tosca Automation Flag set.

    Code Block
    languagejson
    "Name": "Tester",
                "FieldsIs Data": [ true
              },
              {
                "Name": "DescriptionTarget Release/Build",
                "Is Data": true
              },
              {
                "Name": "ExpectedExecution ResultType",
                "Is Data": true             
         }     },
       ]
    Code Block
    languagejson
    {    "Records Management Policy": {
         "Version": "1.0.0.0",       "Record TypesName": [
      "Executed Start",
       {         "Name":Is Data"qTest: Testtrue
    Case",         "Definitions": [ },
              {
                "SystemsName": ["qTestExecuted End"],
                "ItemIs TypesData": ["test-case"],true
              },
           "Singular Name": "Test Case",{
                "Plural Name": "TestExecution Log CasesNotes",
              }  "Is Data": true
            ],  }
          "Author":  ]
          },
      {    {
            "SourceName": "Route Owner"
              }qTest Test Step Log",
            "ConstraintsDefinitions": [
              {
                "TypeSystems": "Field Is Not Equal"["qTest"],
                "NameItem Types": ["Automationtest-step-log"],
                "ValueSingular Name": "Tosca"Test Step Log",
            }         ],
            "Fields"Plural Name": ["Test Step  Logs"
           {   }
             "Name": "Status"],
                "Is Data": true
              },"Fields": [
                {
                "Name": "DescriptionStatus",
                "Is Data": true  
              },
              {
                "Name": "PreconditionDescription",
                "Is Data": true
              },
            ]  {
        },       {         "Name": "qTestExpected Test StepResult",
            "Definitions": [   "Is Data": true
         {             "Systems": ["qTest"]},
                "Item Types": ["test-step"],{
                "Singular Name": "TestActual StepResult",
                "PluralIs NameData": "Test Steps"
         true      }       
     ],         "Fields": [},
              {
                "Name": "DescriptionExecuted",
                "Is Data": true
              },
              {
                "Name": "Expected ResultTester",
                "Is Data": true
              }
            ]           
          }
        ]
      }
    }

Now we have a Records Management Policy configured for qTest integration. The completed JSON file with qTest Test Case, Automated Test Case, and qTest Test Runs can be downloaded here:

View file
nameVeraRMPTutorial-part2.json

Info

Next we will create Approval Routes for the records defined in the Records Management Policy, Add Approval Template to Approval Policy