Loading

Traceability in Software Testing


Introduction

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.

Traceability in Software Testing

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.

Types of Traceability Matrix:

  • Forward Traceability:It is the mapping of requirements to test cases. Assures whether we are building the right product.
  • Backward Traceability:Backward traceability is the mapping of test cases to requirements. It offer the benefit of verifying whether we are building the product right.
  • Bi-directional Traceability:This traceability matrix involves both backward and forward traceability. Through backward traceability we can ensure that the test cases are mapped correctly with the requirements. Through forward traceability we can ascertain that requirements are mapped with the test cases appropriately.

How does Traceability Matrix cater to a Software Project:

  • To make sure that the project is able to meet up to the expectations of the customer needs
  • This matrix helps to define a baseline before product deployment, that is, certifies that the product is fit for the end user, by capturing the requirement and test case mapping.

Advantages of Traceability:

  • We get a clear picture of whether the software project is being built as per the specified requirements.
  • To make sure all requirements are included in the test cases.
  • To avoid any unnecessary or irrelevant feature getting added in the project under development.
  • Missing functionalities could be easily identified using the various types of traceability.
  • Updating test cases can be done with ease, if there are any changes in requirements.
  • Confirms 100% test coverage.

How to Create Traceability Matrix:

Based on business and technical requirements, testers begin writing test cases. Let us have a quick look at the following tabular matrix.

Business Requirement Document:

BR. Module Name Roles Description
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

Technical Requirement Document :

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 = abc@gmail.com
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.

Conclusion :

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.