Traceability refers to a document in software testing which intends to establish relationship among various factors. It helps to determine the completeness of a given relationship by comparing the baselined documents(business and technical). Traceability check is done by preparing a tabular representation of data (test cases). Traceability may vary from mapping requirements to components, test conditions with test scripts or test cases.
In the pictorial depiction, the process of project development begins with requirements elicitation, moving forwards with designing, coding and testing. The outcome of the entire process ends up in an evaluation process which aims to verify the distinction or similarity between the 'expected' and 'actual outcome'.
Here we try to represent a webpage's redirection to a page, as desired by the user, in contrast with what we actually get at the end. The deviation is rectified by the testers or the developers, whosoever is concerned with the cause of the flaw.
Based on business and technical requirements, testers begin writing test cases. Let us have a quick look at the following tabular matrix.
|B1||Login and Logout||Customer||A customer logs in using login page|
|B2.||Enquiry/Search||Customer||Customer is able to search and add items for further purchase|
Test Case 01 : User id cannot be blank
Test Case 02 : Password must not be blank
Test Case 03 : Authenticate user id and password, if both are correct, the user logs in
So we will prepare the traceability matrix somewhat as follows :
|Test Case#||Test Case||Test Steps||Test Data||Expected Result|
|1||Check Login||1. Go to login page 2. Enter user_id 3. Enter Password 4. login||Id = firstname.lastname@example.org password - 99999||Login Successful|
We are trying to present a sample for traceability, by taking an example of a shopping website. Based on the business requirements and technical requirement test cases are prepared to ensure whether the test cases adhere to the requirements.
This way we can create as many test cases as we want based on the requirements.
Traceability in software testing provides a way for us to move ahead with a strategical approach. It is a way by which one can keep a track of the progress of the software development process. Traceability requires one to analyse back and forth what has been completed so far and if there are any loopholes or any missing feature or not.
Therefore traceability matrix offers a respite from confusion, complexities or any misunderstanding that may otherwise occur among the developers and testers.