What is Regression Testing? Regression Testing Tools and Best Practices

What is Regression Testing?

Regression means retesting the unchanged parts of the application. Regression Testing is the one in which test cases are re-executed in order to check whether the previous functionality of the application is working fine and the new changes have not introduced any new bugs. This test can be performed on a new build when there is a significant change in the original functionality that too even in a single bug fix.

This is the method of verification. Verifying that the bugs are fixed and the newly added features have not created any problem in the previous working version of the software.

Testers perform functional testing when a new build is available for verification. The intent of this test is to verify the changes made in the existing functionality and the newly added functionality as well. When this test is done, the tester should verify whether the existing functionality is working as expected and the new changes have not introduced any defect in functionality that was working before this change. Regression test should be a part of the release cycle and must be considered in the test estimation. Regression testing is usually performed after verification of changes or a new functionality. But this is not the case always. For the release that is taking months to complete, regression tests must be incorporated in the daily test cycle. For weekly releases, regression tests can be performed when the functional testing is over for the changes.

Why Regression Test?

regression testing

Regression testing is initiated when a programmer fixes any bug or adds a new code for a new functionality to the system. There can be many dependencies in the newly added and the existing functionality. It is a quality measure to check whether the new code complies with the old code so that the unmodified code is not getting affected. Most of the time testing team has the task to check the last minute changes in the system. In such situation, testing only affected application area is necessary to complete the testing process on time with covering all the major system aspects.

This test is very important when there is a continuous change/improvement added in the application. The new functionality should not negatively affect the existing tested code.

How Much Regression Testing is Required?

This depends upon the scope of newly added features. If the scope of a fix or feature is too large, then the application area getting affected is also quite large and the testing should be performed thoroughly including all the application test cases. But this can be effectively decided when the tester gets input from a developer about the scope, nature, and the amount of change.

Types of Regression tests

As these are repetitive tests, test cases can be automated so that set of test cases alone can be easily executed on a new build. Regression test cases need to be selected very carefully so that maximum functionality is covered in a minimum set of test cases. These set of test cases need continuous improvements for newly added functionality. It becomes very difficult when the application scope is very huge and there are continuous increments or patches to the system. In such cases, selective tests need to be executed in order to save testing cost and time. These selective test cases are picked based on the enhancements done to the system and the parts where it can affect the most.

What do We do in Regression Test?

  • Re-run the previously conducted tests
  • Compare the current results with previously executed test results

This is a continuous process performed at various stages throughout the software testing lifecycle. A best practice is to conduct regression test after the sanity or smoke testing and at the end of functional testing for a short release.

In order to conduct effective testing, regression test plan should be created. This plan should outline the regression testing strategy and the exit criteria. Performance testing is also a part of this test to make sure that the system performance is not affected due to the changes made in the system components.

Regression testing best practices: Run automated test cases every day in the evening so that any regression side effects can be fixed in next days build. This way it reduces the release risk by covering almost all regression defects at an early stage rather than finding and fixing those at the end of the release cycle.

Regression Testing Tools

Automated Regression Testing is the testing area where we can automate most of the testing efforts. We run all the previously executed test cases on a new build. This means that we have a test case set available and running these test cases manually is time-consuming. We know the expected results, so automating these test cases is time-saving and is an efficient regression test method. The extent of automation depends upon the number of test cases that are going to remain applicable over the time. If test cases are varying from time to time, the application scope goes on increasing and then automation of regression procedure will be the waste of time.

Most of the regression test tools are record and playback type.  You will record the test cases by navigating through the AUT (application under test) and verify whether expected results are coming or not.

Regression Of GUI application:

It is difficult to perform GUI (Graphical User Interface) regression test when GUI structure is modified. The test cases written on old GUI either become obsolete or need to be modified. Re-using the regression testing test cases means GUI test cases are modified according to new GUI. But this task becomes a cumbersome one

if you have a large set of GUI test cases.

Examples of regression testing tools are:

Most of these tools are both functional and regression test tools. Adding and updating regression test cases in an automation test suite is a cumbersome task. While selecting automation tool for regression tests, you should check if the tool allows you to add or update the test cases easily. In most cases, we need to update automated regression test cases frequently due to frequent changes in the system.

Hope this explains the regression testing concept and best practices.

Let us know your valuable comments/suggestions about this article.


#1 Naga Vishala

Thank you so much for this precious article. I was having doubt that in the interview point how to answer to this type of questions like, What is regression testing and how to perform it? Now i got clear answer thank u.

#2 testerqa

thanks for sharing information……..

#3 nagavishala

Hello, i really thankful to you for sending a valuable articles on important topics.
Presently i am searching job in testing field. I would like to be perfect in automation tool QTP.
My request is, could you plz provide important interview qns. on QTP?

#4 vijay

its very nice.

#5 Nirmal

I need a details about QA Wizard..Could You please provide with example.

#6 Asit Misra

Thanks, Its very nice article for regression testing.

#7 lavanya

how to do regression testing using manual testing

#8 swetha

nice article——worth reading————–article cleared my doubts abt the regression testing
thanks once again

#9 feroz

fine definition for regression testing
and also clearing doubts on each topics.
i have a doubt clarify this please through mail,
“a step by step procedures for using a test case to test a specific unit of code, function or capability?”

#10 hyma

what is database migration testing

#11 Anitha

In your answer you had mentioned Regression testing as verification method.
but regression testing comes under validation….and will be validating the application has not got any new bugs due to the new enhancements or fixing bugs.
kindly clarify me.
Thanks for your collection of material…its very useful.

#12 Thangavel.S

Thanks, Its very nice article for regression testing

#13 zakir


Reply to Database Migration testing…

Your company has an enterprise product for example say Bubbly Version 2.5 and this product has been released in the market and in use by number of customers. Now your company has developed a beta version say Bubbly Version 3.5 which has added some more new features in it. Now if your company targets the existing customer to upgrade to the new version the customers would definitely ask one question ” WHAT ABOUT THE VALUABLE DATA WHICH WE HAD IN THE PRODUCT??”. Now here comes data migration concept in which the script is written in such a way that running the script will just upgrade the application version from Bubbly 2.5 to Bubbly 3.5 and the whole data which exists in the earlier version(Bubbly 2.5) is retained in the newer version(Bubbly 3.5).
Hope this clears you….. :)

#14 zakir


Regression testing is again a chain process friend. Whenever a change in requirement or change in build or change in code or bugs found and fix occurs, we use to perform regression testing(i.e. execute all the test cases) to ensure it had not affected the application in any way. The process starts with VERIFICATION and goes on to VALIDATION, thereby enhancing the quality of the software…

#15 padmini

I have little doubt on concepts of retesting and regression.Say,retest is done on some modules of build1 and Regression is done on (modified) build2.If we get bugs on build2,can we retest it(retest some modules)?

Thank u in advance

#16 Nani


Just want to clear you what exactly the difference between retest & regression.
Retest – Testing within the same build and no change in the build number also.
Regression – Testing in different build numbers or on different versions of the build.

Hope you can understand now and map to your questions.


#17 zakir

Thats the fantastic definition Nani. Gr8…. :)

#18 padmini

Thank u nani….now concept is clear…..

#19 Nani

Cool Mates,

#20 Abhay

how can we do Load testing in QTP?

#21 satyanarayana

Hi ,
During regression testing whether we have to test all the executed(passed) tests or any selected tests .Please clarify my doubt asap.

#22 Shree

It’s really fentastic and good article .

I have some doubts in Regression test, verification and validation tests. Now i can clearly understand concepts.


#23 Lalit

It is really very helpful information for all of us. Please keep on posting these kind of informations

#24 George

Great defanition on Regression VS retesting.

#25 Vivek

Which testing would i do if my application is being migrated from e.g. 9i to 10g without any changes in application.

#26 zakir


That testing is called Data Migration my friend. Pls refer to the comment no 13.



#27 Morzo

What would be the best testing tool for java web pages? It has some popup screens.


#28 saikala

hi vijay,
can u please clarify?
1.how to do backend testing?
2.tell me one scenario how to do backend testing?
3.what is the uses of backend testing?

thanks in advance

#29 ankarao

1.how to do backend testing in qtp?with simply examples?
2.simply tell about test case-senario with examples?
3.what is the diff regression-retesting?
4.tell about sanity,sanitation testing?both are one or diff?
5.how many types of testing in sys testing?

#30 saikala

hi all,
can please tell anyone?how to do backend testing?

thanks in advance

#31 Suresh

If some needs help on backend testing contact me @ suresh.jami@gmail.com. I am currently working as a database tester.

#32 Suresh Balakrishnan

Hi saikala,

Backend testing is nothing but Database Testing so u can execute queries related in the Database then u can check Datas stored or not in the database.


#33 Suresh Balakrishnan

Hi Abhay,

QTP is a Functional Testing tool u can use only regression testing through QTP not Load Testing so u can use LoadRunner and QEngine, Jmeter …like lot of Performance tools is there are clear now.
please let me know if u have any clarifications

#34 harish


can u give me a link of where we can find the complete notes of qtp.

#35 sagar bandari

retesing: means testing the same functionality once again after the bug is fixed by developers.

regression testing: done by two scenarios
1.test the any dependency functionalities are effecting after the bug is fixed.
2.test the enhancement features(i.e test the existing functionalities while adding new functionalities to it).

#36 Amol Manjrekar

What is the difference between QTP and QEngine for functional testing?

#37 KAT22

Hi all,

can any one please tell me if we have 100 test cases for a build and that build needs some modification. After modification, we need to perform regression testing, My question is thatdo we need to execute all the test cases again?


#38 Devender Chandel

Kindly send me the code how to run a login page with different user name & password no of times after recording sample Flight application of QTP using VBscript before closing the application.

Devender Chandel

#39 Swati

Can some explain different tupes of regression testing

#40 Ahamed Jameel

Gr8 Definition For Regreesion and ReTest Thx Nani..

Ahamed Jameel

#41 ajay

i want defination of regression and stress testing with simple example

#42 Boyalaplli

It was very good content about the regression testing.
But i need best automation and regression tool for wap site testing. Any one can give me the link please.


#43 Ravi Kumar

Hi Nani,

Good definition on retesting and regression testing, with this any one can understand easily


#44 Vishal

To satyanarayana,
In a regression testing we have to do testing for that particular bug fixed part & all other part effected / connected that bug fixed part.
Please correct me if i m wrong..

#45 Ash

hi can u tell me example like u hav given for Database Migration testing…4regression testing

#46 Tixislav

Good article on regression testing. It’s agood practice to have a “Regression Libary” in testing or restest too.

#47 nani

Really superb…!

Great help for all….!

Good job n thnk…

#48 prathap

simply superb..very helpful

#49 pratap varma

Hi,article is really useful.Thanks.. Suppose there is the code for a proramme.It is changed now in order to add some funcionality,do i need to do regression testing for Old code or new cod or entire code?

#50 GS

Hi Pratap,
When a new functionality is added, you need to test the new functionality completely. In addition you need to perform a regression testing on the other parts of the code to ensure that newly added functionality does not have any negative impact on the existing functionality

#51 selvakumar

Hi to every one the above article was good

#52 Ajit

Hi ,
The article on regression testing is very good .
I am part of regression testing team , never done this thing before . We are told to do regression testing on the integration testing cycles already in production since one year , I would like to know how to proceed .

#53 Ranjani

Need a details about Rational Functional Tester
Frame work
Test Scripting with out Record and Playback.
If any body can please get back to me at srcd29@gmail.com

#54 ishfaq

which regression technique and tests are used in logistic regression models and how are they different from others

#55 Alka

which ia the most efficient regression tools mentioned above? what are the features of the same? Kindly help me for these questions.

#56 ujash

Can any one please tell me from where we can download the testing tools which are free for practice purpose .
plz let me known on this id – ujash18@gmail.com.


#57 mithun sarkar

hi….i am a student of engineering,3rd year from w.b,india-my stream is IT…PLEASE TELL ME HOW I CAN GET A JOB IN SOFTWARE TESTING INDUSTRY

#58 Nagisetty Gopi

Presently i am searching job in testing field. I would like to be perfect in automation tool QTP.
My request is, could you plz provide important interview qns. on QTP?

#59 suprith


Am new to testing field, could u please mail me any books which contains d basics of testing pls mail me soon ll b waitn 4 ur mail,..

#60 Aruna

I want to know difference between verification and validation with both realtime and software example….

#61 balaji

hi everybody,
can you tell me about metrics in manual testing

#62 chiru

very bad example

#63 Priya

I was asked in a interview, give me example of regression testing from a application?
I said when a new functionality is added in the application we run all the previous test cases in the application. IS it Correct? Please tell me.. If it is wrong tell me a good example from real time..

#64 manju

nice article about regression testing

#65 venkat

HI Manju madam garu.
please asst me how to do regression testing inreal time with examples. and how to write effective test cases ?
if there is no testing what will happen?
if one person selected life in testing.. how was the feture?
mobile application testing is gud or not?

#66 Naveen

can any body help me in getting the list of open source tools for data migration testing?

Any valuable documents related to data migration testing?

#67 Joe Kong

Hello, I am new here. Could anyone introduce a regression testing tool based on IMS DB/DC enviroment ? Language is COBOL. I check all above tools and they are all applied on WEB.

#68 Lynsey

EKO8o8 Real brain power on display. Thanks for that answer!

#69 Balaji

Nice article, helps easy to understand

#70 shwetha krishnamuthy

Really a very nice article. I cleared all my doubts which i was having regarding regression testing by reading this.

Thank you :)

#71 shruthi.s

can u please give information about some topics?
1. uses of back-end applications
2.tools for back-end applications

i have doubts in these topics.plz clarify

#72 john

can u tell about great example of Regression module?

#73 bosa

Hi, friends please asst me how to do regression testing inreal time with examples. and how to write effective test cases ?

#74 bosa

please asst me how to do regression testing inreal time with examples. and how to write effective test cases ?

thanks in advance

#75 diwakar khanal

how the use of automated tests and a testing framework such as JUnit simplifies regression testing.

#76 iswarya

what is reverse engineering and how is combined with regression testing?

#77 Shubhangi

I want Some implementable/implemented examples of integration, regression, mutation, and acceptance testing.
even if possible can you mail the some practical examples on test cases and test plan.

#78 Stella

Very useful… Thanks to all…

#79 Software Testing Class

Nice information on regression testing and retesting, with this any one can understand easily. I have also written on my testing blog.



#81 sandhiya

It is very useful for me to develop my knowledge in testing field, my request is pls update examples also…

#82 vaishali

Thank you so much.. Helpful information

#83 Flora

Do you have any idea from which Calvin & Hobbes’ album the picture is from ?

#84 swathi

thank uuu

#85 Prahallad

Please provide description of the image.
Thank you.

#86 Prahallad

I mean explanation of the image provided above

#87 Rajesh


#88 Rajesh

It means,
A guy has killed an insect ( issue or bug ) and thrown away from door ( software product ) then 3 more insects ( bugs ) are in to the house ( software product )

#89 Tashu

Can u please provide me material for Regression testing as I have to give a session on it

#90 Rezoanul Alam

Very informative

#91 vinodkumaryadav

hi Writer,

Confusions cleared.


#92 Dylan Wan

Very good article!


#93 Prabu

Hi, Nice explanation. The sample pictures of the boy’s activity itself tells, what is regression testing.

#94 pardeep sharma

hi good explanation about regression testing but one thing i want to know
how i decided regression test case from all test cases of software ? , and which state we decide regression test cases, during test case design or later ?
please reply soon………….

#95 stv

How to select effective test cases in Regression testing?

#96 stv

How to select effective test cases in Regression testing?

hi Pardeep ,

This question asked to me in some interviews. I am also searching the same.

if any one knows pls help…

#97 maddy

The best technique for regression testing

#98 Ayush Goel

if tester dont have an application so how can perform testing ?

#99 Kumar

whether any of the above said tools will be useful in BI reports and ETL regression testing?

#100 Roesslerj

‘Adding and updating regression test cases in automation test suite is cumbersome task.’ We are currently working on easing that task, with fully automated GUI testing. Check it out at retest.de.
(Disclaimer: I am associated with the site and company)

#101 priya

I have one question, If we are enhancing an online banking system, what types of tests do I need?

Thank you

#102 jaya

My doubt is, can we perform all types of testing such as regression , functional, system etc in ALM or QC.

#103 JAYA

My doubt is, can we perform all types of testing such as regression , functional , system testing etc in ALM tool or QC.

#104 Lucky

A good site for learning

#105 rahul thakar

this website is very usefull of studest streatergy and critearea.

#106 swathi

Thank you so much for providing this article

#107 Sunitha

I have 1000 testcases among them how do I recgnize they are regression testcases

#108 krishna

Hi All
I have a question
If I have 100 test cases and only less resource (1 or 2 resources for testing) need to complete regression testing to check the functionality in a single day then how will you select test cases.

#109 negma


#110 shahbaz zahrani

fantastic definition

#111 Pavan Kumar

Regression testing plays a crucial role in the complete testing process. It is a type of testing that re-tests the already working parts of an application after each release. Regression testing has to be done after any improvement or when new functionality is implemented or when bug fixing is done in an application.

#112 Pratik S

Regression testing through an automation tool, lets you automate regression testing for software, web, database, mobile, web services and API by re-running automated tests in continuous integration.
TestingWhiz offers regression test automation solution that comes with a modular regression architecture that allows adding or changing test steps at any stage, without the need to change the implementation code.

#113 Artem

These all seem like decent regression tools, but you still have to setup the regression tests and execute them. What if you could automate regression testing without have to setup the tests in the first place? TestRigor eliminates the need to even setup regression cycles. We’re currently in beta and looking for folks to test the tool and provide feedback. If anyone reading this thread is interested in seeing how it works, please contact me at testrigor.com

#114 sfdsdfsdfdfdfds


#115 Luba

Thank you for the great article. I would like to add Screenster to your list of regression testing tools. It is very useful for ui regression testing and suits well for pixel-perfect projects.
I use it for testing ui changes on my website.

#116 Mr. Monkeypants

Are you kidding me? This is unbearable to read, fix your grammar!

#117 Sanket Wadyalkar

Nicely Explained! Thanks a lot.

#118 Raja

If any one interested in learning mainframe testing(unit, regression) you can contact me on my above email and I will train you with real time scenarios and documents

#119 QA MEntor

I really enjoy articles on this site. However, I wish that there would be a little bit more focus on business cases, when it comes to the different type of testing, maybe even with anecdotal examples (although this might be a little bit out of general style guide here). Nevertheless, I think it is of paramount importance to acknowledge that there is an actual project behind bugs and lines of code when we do regression testing. I mean, people pay good money for these kinds of QA services and they expect some ROI. So including case examples that illustrate the importance of tests would be nice. But nevertheless – great stand-alone article!

#120 Pascal Aschwanden

Great Post! Quite comprehensive. It’s a good point about automated regression testing requiring updates to tests. Often times software requirements change or features change, that should be counted as bugs, even though they might fail as tests. You mentioned it’s good to check if an automation software can update it’s tests easily.

#121 Ilya

Thanks for the awesome post!
Regression testing is the most challenging on the GUI level, so we’re building a tool that can handle these challenges

#122 Vidya

In which environment regression testing is performed?

#123 Meenakshi Agarwal

We as QA always kind of skeptical about how much regression is enough for an old product. The info given here is rightly clarifying this problem.

Leave a Comment