Traceability Configuration
Reference of the Ketryx Traceability Configuration
How to configure
Base example
{
"version": "3",
"rtmApprovalEnabled": false,
"enforceGreenCheck": true,
"defaultColumnId": "designInput",
"statusDefinitions": {
"REQUIREMENT_MISSING": {
"level": "ERROR"
},
"SPEC_MISSING": {
"level": "ERROR"
},
"MANUAL_TEST_EXECUTION_MISSING": {
"level": "ERROR"
},
"TEST_EXECUTION_MISSING": {
"level": "ERROR"
},
"TEST_EXECUTION_MISSING_RESULT": {
"level": "ERROR"
},
"VERIFICATION_TEST_MISSING": {
"level": "ERROR"
},
"VALIDATION_TEST_MISSING": {
"level": "ERROR"
},
"TEST_EXECUTION_FAILED": {
"level": "ERROR"
},
"NOT_INCLUDED_IN_TEST_PLAN": {
"level": "MUTED"
},
"TEST_EXECUTION_NOT_CONTROLLED": {
"level": "WARNING"
},
"RISK_NOT_CONTROLLED": {
"level": "WARNING"
},
"NOT_CONTROLLED": {
"level": "WARNING"
}
},
"rowStatusMessages": {
"REQUIREMENT_MISSING": {
"message": {
"subject": "Use case",
"description": "not covered by a design input."
}
},
"SPEC_MISSING": {
"message": {
"subject": "Design input",
"description": "not covered by a design output."
}
},
"VERIFICATION_TEST_MISSING": {
"message": {
"subject": "Design output",
"description": "not covered by a verification test."
}
},
"VALIDATION_TEST_MISSING": {
"message": {
"subject": "Design input",
"description": "not covered by a validation test."
}
},
"MANUAL_TEST_EXECUTION_MISSING": {
"message": {
"subject": "Test Case",
"description": "without manual test executions for automated tests."
}
},
"TEST_EXECUTION_MISSING_RESULT": {
"message": {
"subject": "Test Execution",
"description": "without a test result."
}
},
"TEST_EXECUTION_MISSING": {
"message": {
"subject": "Test Case",
"description": "without a test execution."
}
},
"TEST_EXECUTION_FAILED": {
"message": {
"subject": "Test Execution",
"description": "failed."
}
},
"NOT_CONTROLLED": {
"aliases": [
"RISK_NOT_CONTROLLED",
"TEST_EXECUTION_NOT_CONTROLLED"
],
"message": {
"subject": "Item",
"description": "not fully approved yet."
}
}
},
"cellStatusMessages": [
{
"if": [
"REQUIREMENT_MISSING"
],
"message": "Requirement missing"
},
{
"if": [
"SPEC_MISSING",
"VERIFICATION_TEST_MISSING",
"VALIDATION_TEST_MISSING"
],
"message": "Specification and test cases missing"
},
{
"if": [
"SPEC_MISSING",
"VERIFICATION_TEST_MISSING"
],
"message": "Specification and test case missing"
},
{
"if": [
"SPEC_MISSING",
"VALIDATION_TEST_MISSING"
],
"message": "Specification and test case missing"
},
{
"if": [
"SPEC_MISSING"
],
"message": "Specification missing"
},
{
"if": [
"VERIFICATION_TEST_MISSING"
],
"message": "Verification test case missing"
},
{
"if": [
"VALIDATION_TEST_MISSING"
],
"message": "Validation test case missing"
},
{
"if": [
"NOT_INCLUDED_IN_TEST_PLAN"
],
"message": "Not included in test plan"
},
{
"if": [
"TEST_EXECUTION_MISSING_RESULT"
],
"message": "Test execution result missing"
},
{
"if": [
"TEST_EXECUTION_MISSING"
],
"message": "Test execution missing"
},
{
"if": [
"MANUAL_TEST_EXECUTION_MISSING"
],
"message": "Manual test execution missing for automated test"
},
{
"if": [
"TEST_EXECUTION_FAILED"
],
"message": "Test execution failed"
},
{
"if": [
"TEST_EXECUTION_NOT_CONTROLLED"
],
"message": "Missing approval for Manual Test Execution"
},
{
"if": [
"TEST_EXECUTION_NOT_CONTROLLED"
],
"message": "Missing approval for Manual Test Execution"
},
{
"if": [
"RISK_NOT_CONTROLLED"
],
"message": "Missing approval for Risk"
},
{
"if": [
"NOT_CONTROLLED"
],
"message": "Missing approval"
}
],
"columns": [
{
"columnId": "useCase",
"title": "Use cases",
"kind": "design",
"itemFilter": "type:RQ and \"Requirement type\":\"Use case\"",
"matchCrossReferences": false
},
{
"columnId": "designInput",
"title": "Design Input",
"kind": "design",
"itemFilter": "type:RQ and not \"Requirement type\":\"Use case\" and not \"Requirement type\":\"Intended use\"",
"relations": [
{
"kind": "indirect",
"relationType": "HAS_PARENT",
"referencedColumnId": "useCase"
}
],
"matchCrossReferences": false
},
{
"columnId": "designOutput",
"title": "Design Output",
"kind": "design",
"itemFilter": "type:SW or type:HW",
"relations": [
{
"kind": "direct",
"relationType": "FULFILLS",
"referencedColumnId": "designInput"
}
],
"matchCrossReferences": false
},
{
"columnId": "verificationTest",
"title": "Verification test",
"kind": "testing",
"testedItemFilter": "type:SW or type:HW",
"referencedColumnIds": [
"designOutput"
],
"matchCrossReferences": false
},
{
"columnId": "validationTest",
"title": "Validation test",
"kind": "testing",
"testedItemFilter": "type:RQ",
"referencedColumnIds": [
"designInput"
],
"matchCrossReferences": false
}
],
"checks": [
{
"checkId": "useCasesCovered",
"kind": "coverage",
"title": "Use cases",
"subtitle": "Covered by design input",
"filterDescription": "use cases not covered by a design input",
"columnIds": [
"useCase"
],
"coveredByColumnId": "designInput",
"checkCrossReferences": false,
"onFail": {
"status": "REQUIREMENT_MISSING"
}
},
{
"checkId": "designInputsCovered",
"kind": "coverage",
"title": "Design input",
"subtitle": "Covered by design outputs",
"filterDescription": "design inputs not covered by a design output",
"columnIds": [
"designInput"
],
"coveredByColumnId": "designOutput",
"checkCrossReferences": false,
"onFail": {
"status": "SPEC_MISSING"
}
},
{
"checkId": "verificationTestCoverage",
"kind": "coverage",
"title": "Verification",
"subtitle": "Design outputs covered by tests",
"filterDescription": "design outputs not covered by a verification test case",
"columnIds": [
"designOutput"
],
"coveredByColumnId": "verificationTest",
"checkCrossReferences": false,
"onFail": {
"status": "VERIFICATION_TEST_MISSING"
}
},
{
"checkId": "validationTestCoverage",
"kind": "coverage",
"title": "Validation",
"subtitle": "Design inputs covered by tests",
"filterDescription": "design inputs not covered by a validation test case",
"columnIds": [
"designInput"
],
"coveredByColumnId": "validationTest",
"checkCrossReferences": false,
"onFail": {
"status": "VALIDATION_TEST_MISSING"
}
},
{
"checkId": "testExecutions",
"kind": "testExecutions",
"title": "Test executions",
"subtitle": "Created within test plan",
"filterDescription": "test cases missing a test execution or test result",
"onMissingManualExecution": {
"status": "MANUAL_TEST_EXECUTION_MISSING"
},
"onMissingExecution": {
"status": "TEST_EXECUTION_MISSING"
},
"onMissingExecutionResult": {
"status": "TEST_EXECUTION_MISSING_RESULT"
},
"onNotInTestPlan": {
"status": "NOT_INCLUDED_IN_TEST_PLAN"
}
},
{
"checkId": "failedTests",
"kind": "failedTests",
"title": "Failing tests",
"subtitle": "Within test plan",
"filterDescription": "failing test executions",
"onFail": {
"status": "TEST_EXECUTION_FAILED"
}
},
{
"checkId": "allItemsControlled",
"kind": "controlled",
"title": "Controlled",
"subtitle": "Items fully approved",
"filterDescription": "uncontrolled items that need to be approved",
"checkCrossReferences": false,
"onTestExecutionNotControlled": {
"status": "TEST_EXECUTION_NOT_CONTROLLED"
},
"onRiskNotControlled": {
"status": "RISK_NOT_CONTROLLED"
},
"onItemNotControlled": {
"status": "NOT_CONTROLLED"
}
}
],
"columnForTestsWithoutTestedItem": "validationTest"
}
Configuring status definitions, row status messages and cell status messages
Available status levels
Compound cell status messages
Configuring columns
Design columns
Supported relation kinds
Supported relation types
Testing columns
Configuring traceability checks
Coverage check
Test executions check
Failed tests check
Controlled check
Note on legacy configurations
Version 2 vs 3
Last updated
Was this helpful?