Saturday, September 3, 2011

RTM- Requirement Traceability Matrix

If you are asked that please check whether this particular functionality has been covered in your test cases or not ? and what are those test case?
so what first comes in mind, which document? That document is known as RTM.

A requirements traceability matrix is a document that maps the relationship between user requirements and the test cases. Means using this document we can check if your requirement is covered in your test cases and especially which test case covers your particular requirement.

The purpose of this document is same in all the cases but the format depends on you and your organization.
This document is also requested by the client in most of the cases and using this document clients insure that the coverage of the functionality is complete as end to end.

I always prefer to make this document and suggest every tester to implement same in his team whether he/she is working with a small, middle or big organization. In Big organization generally we get its implemented.


Further this document should have the trace of defect as using this document the one can track the Requirement based on the Defect id.

So if we talk about the definition of the Traceability Matrix, we can summarize above description.

“A Traceability Matrix is a document which maps the requirement with the test cases and defects as well”


Now, we can categories this document in different ways. As said above, the purpose of this document is to insure that we have tested each and every functionality. But also there are basically two different approaches to make this. First, we trace the requirement to the test cases. It’s again a kind of verification that we are building a right product. This is called Forward traceability.
Second, we trace test cases to the requirement. Its is validation activity that we are building the product right. This is called backward (Reverse) traceability.
The combination of these two is called Bi Directional traceability

So if we conclude this part as the type of traceability matrix:

“There are three types of traceability matrix. 1- Forward traceability: Mapping of Requirements to Test cases. 2- Backward traceability: Mapping of Test Cases to Requirements. And 3- Bi Directional traceability: Using both the Forward and Backward Traceability”


Till now we get to know what Traceability Matrix is and how many types of this. Now let’s discuss how it is beneficial and what the drawbacks are if we don’t use this.

Advantage of using Traceability Matrix:

1- Ensure "coverage" between different types of requirements
2- save your time that's usually spent in manually verifying coverage
3- Easy to identify the missing functionality
4- To track the requirements changes and their impact to the system
5- help client to make sure that the software is being developed as per their requirements
6- If there is any change in the requirement or on later stage the defect resolved and new things added to the system, we can easily trace the functionality and vice verse.
And many more……

So it’s obvious there may be lots of drawbacks if we don’t use like unknown test coverage. And the lead to the more defect in production.
As I always say, testing is not just to perform testing/execution, its all about a collection of documents which help you insuring the test coverage and ease the testing execution.

At last, I would like to discuss the feasibility of RTM in agile testing environment as I got good quality time working in agile environment. So I would say yes its feasible and even its 101% feasible. Use it and it make more sense in agile project 


Monday, July 25, 2011

Automation framework design and Test Design: Two separate entities

Recently some one asked me that what is test framework designing? is it same as test design?

So here I would like to clear that both are separate entities. If you are working in automation project we design/create a test automation framework or work with an existing framework. Designing framework mean designing the process which execute your automation test mean we create a system in which we automate our test cases.
while test design covers that how any particular function or feature will be tested, what will the step to test, what data will be required, where to executed and when ect. this may include a test plan , test cases... Test designing is something we plan for a test execution whether its manually or using automation. Now once we decide that we will go by automation then some skills people need for this automation framework designing.

Thursday, April 21, 2011

Some input to Selenium users from my past excercise

Long time back when I started working on selenium, the market was rising for selenium and now I can say it is in boom. Companies are seeking good experience in selenium. As this is open sources tool, one can adopt this easily and what I found that the small companies and those working in web platform are needy of this tool.

Even from past more than 1.5 years I have not been using selenium but always keep my eyes on latest happening. Many of our blog readers asked me few common questions that what is the framework I used in selenium? and can we make our test data driven?


I decide to write this post to answer those questions and to share my past experience which may help you.


What is the framework I used in my project using selenium?

As I was working in java project, and I was not good in java programming also was new to selenium. But I was aware of the JUnit framework and some java basics so based on my findings and study, I recommended JUnit framework to be used in project for automation using selenium IDE and RC.



We used to recorded test in selenium IDE and export them in Eclipse and ran as JUnit. It has worked quite well. The Selenium tests are just treated like JUnit tests and run over the selenium server. You can further write some code to enhance your test and make them data driven. Its not a big deal for java developer to write code to connect with database and use data to your test. This way we successfully used selenium to automate few of our regression test cases.


to setup the environment you can refer my previous articles in Selenium.


One more question which people asked , can we connect database in selenium? so i would say yes, not in IDE but using RC you can. first thing, it’s not selenium who connect to database while it’s a framework or you can say you java code (taking example that you are working with junit framework) which allow you to connect with your database. This way you can connect with any database.


Please correct me if I am wrong. 


I have started working on QTP , so ready to read some good stuff in QTP also.