However big or small a project might be, tracking all the requirements can be challenging. But it is really important to deliver a bug-free product. Depending on the severity, any issues can be very costly to the businesses. So, in order to maintain record of all the requirements, testing and issues, Traceability Matrix is of utmost importance.
During the course of this document, we will try to understand more about Traceability Matrix, its need, usage, types and best practices.
What is Traceability Matrix?
Also knows as Test Matrix, Traceability or Requirement Traceability Matrix is a document that demonstrates the relationship between two baseline documents. It ensures completeness of the said relationship. Here, one document will have the requirement and other will have the testing details like test cases, issues etc. So, the RTM ensures that requirements are met by tracking the requirement progress.
RTM is delivered at the end of SDLC, making sure that all the requirements are checked against the test cases.
Importance of RTM
The main goal of any tester is to capture and understand the client requirements carefully to ensure that a defect-free code is delivered. In order to achieve that, tester needs to create both positive and negative scenarios and write test cases for them. Any defects and issues needs to clearly documented which are found as result of test execution, along with right Severity. Traceability Matrix helps a tester record all these details and help testers achieve their goal.
It ensures that the end product meets the customer's requirements.
At any time during the SDLC, RTM can give a clear status of testing to testers and stakeholders. This also helps the managers take any high level decisions based on the status.
It can also help capture any missing requirements or scenarios.
Types of RTM
Forward Traceability - It is used to map requirements to test cases. It verifies that every requirement is being tested from top to bottom and ensures that project development is headed in the right direction.
Backward Traceability - It maps test cases with the requirements. It aids in going beyond the initial requirements.
Bi-directional Traceability - It combines both Forward and Backward approaches, making sure that the each requirement has relating test cases. This means tracing forward from requirement to development, to testing and issues. And then from issues to requirements ultimately, if the requirement was valid or not. Bi-directional Traceability ensures maximum effieciency.
What should an RTM include
Requirement ID
Type
Description
Test case ID
Test Design Status
Test Execution Run and Status
Unit Tests
Integration Tests
System Tests
UAT Status
Defects, if any
Defect Status
More columns can be added to provide the relevant details, like Test Designer, Environment details etc.
Now that we have all these details about the Traceability Matrix, let us create one.
Creation of Traceability Matrix document
Let us take example of DS Algo Home Page. https://dsportalapp.herokuapp.com/home
First step is to ensure that the requirements are captured accurately and a goal is set according to that. The requirement here can be - "User should be able to go to any Data structures only after login"
Second step is to gather all the information that is required to create an effective Traceability matrix. We can create all the test scenarios and test cases and capture those in the test document. Below can be the scenarios for above requirement.
Login with valid credentials and select any Data Structure - User should be able to go to any Data Structure after successful login.
Select any data structure without login - User should see a valid error message if tries to open any Data Structure without login.
Third step is to gather requirements and the test cases together and create the traceability matrix.
Last step is to validate the end result. Since we have all the requirements and tests in the Traceability Matrix, we can execute them to validate the product and capture the results in the matrix. Sprint, Iteration or environment details can be added along with the tester details to make the status look precise.
It is to be noted that, there is no specific format of the Traceability matrix, columns can be added as per the requirement of project. The main purpose is to capture the testing details with requirement details.
Advantages of RTM
Alongside tracking the association between requirements and test cases, RTM covers below as well -
Looking at this document, stakeholders can have a clear picture of defect and testing status.
Confirms test coverage with all the positive and negative test cases at one place.
Clear documentation - It can be a one stop for all the details related to a requirement - requirement details, test cases, execution status, bug report.
Highlights any missing implementation or bottle-necks.
Helps in estimating any re-work in case of changes in requirements.
Captures team efforts, by capturing details of who is working on what like test case writing, execution etc.
Can be used to capture status of UAT as well, in the same matrix.
Conclusion
RTM is an effective way of tracking how the project is doing at each phase of SDLC. If implemented correctly, it can help leaders and the whole team to avoid any last moment hassles and hence improving project's overall quality and reliability.
Happy Testing!!