What is Regression Testing? A Complete Guide with Examples and Tools

By Vijay

By Vijay

I'm Vijay, and I've been working on this blog for the past 20+ years! I’ve been in the IT industry for more than 20 years now. I completed my graduation in B.E. Computer Science from a reputed Pune university and then started my career in…

Learn about our editorial policies.
Updated August 30, 2024
Edited by Swati

Edited by Swati

I’m Swati. I accidentally started testing in 2004, and since then have worked with at least 20 clients in 10 cities and 5 countries and am still counting. I am CSTE and CSQA certified. I love my job and the value it adds to software…

Learn about our editorial policies.

We publish unbiased product and service reviews; our opinions are our own and are not influenced by our advertising partners. Learn more about how we review products and read our advertiser disclosures.

Regression Testing is a Software Testing type 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.

Regression Testing is a type of testing that is done to verify that a code change in the software does not impact the existing functionality of the product.

What is Regression Testing?

What is Regression Testing

Regression Testing is done to ensure that the product works fine with new functionality, bug fixes, or any changes to the existing feature. Previously executed test cases are re-executed to verify the impact of the change.

Watch this video on Regression Testing in Software Testing:

Regression testing 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. Regression means retesting the unchanged parts of the application.


Tutorials Covered in This Series:

Tutorial #1: What is Regression Testing (This Tutorial)
Tutorial #2: Regression Test Tools
Tutorial #3: Retest Vs Regression Testing
Tutorial #4: Automated Regression Testing in Agile


Regression testing is like a verification method. Test cases are generally automated as test cases are required to be executed again and running the same test cases again manually is time-consuming and tedious too.

For Example, Consider a product X, in which one of the functionality is to trigger confirmation, acceptance, and dispatched emails when the Confirm, Accept and Dispatch buttons are clicked.

Some issues occurred in the confirmation email and in order to fix the same, some code changes were made. Not only do the confirmation emails need to be tested, but Acceptance and Dispatched emails also need to be tested to ensure that the change in the code has not affected them.

Regression Testing is not dependent on any programming language like Java, C++, C#, etc. This is a testing method which is used to test the product for modifications or for any updates being done. It verifies that any modification in a product does not affect the existing modules of the product.

Verify that the bug is 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 testing should be part of the Release Cycle and must be considered in the test estimation.

Why is Regression Testing Important?

Regression is initiated when a programmer fixes any bug or adds a new code for new functionality to the system.

Regression testing

There can be many dependencies in the newly added and existing functionality.

This 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 the testing team has the task to check the last minute changes in the system.

In such a situation, testing only affected the application area is necessary to complete the testing process on time by covering all the major system aspects.

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

Regression is required to find the bugs that occurred because of a change in the code. If this testing is not done, the product might get critical issues in the live environment and that indeed can lead the customer into trouble.

While testing any online website, the tester reports an issue that the Price of the Product is not showing correctly i.e., it shows a lesser price than the actual price of the Product, and it needs to be fixed soon.

Once the developer fixes the issue, it needs to be re-tested and Regression Testing is also required as verifying the price on the reported page would have got corrected but it might be showing an incorrect price on the summary page where the total is shown along with the other charges or the mail sent to the customer still has the incorrect price.

Now, in this case, the customer will have to bear the loss if this testing is not performed as the site calculates the total cost with the incorrect price and the same price goes to a customer by email. Once the customer accepts, the Product is sold online at a lower price, it will be a loss for the customer.

This testing plays a big role and is very much required and important as well.

When to Perform Regression Tests?

Regression Testing is usually performed after verification of changes or new functionality. But this is not always the case. For releases that are taking months to complete, regression tests must be incorporated into the daily test cycle. For weekly releases, regression tests can be performed when Functional Testing is over for the changes.

Regression checking is a variation of retest (which is simply to repeat a test). When retesting, the reason can be anything. Say, you were testing a particular feature and it was the end of the day- you could not finish testing and had to stop the process without deciding if the test passed/failed.

The next day when you come back, you perform the test once more – that means you are repeating a test you performed before. The simple act of repeating a test is a Retest.

Regression testing at its core is a retest of sorts. It is only for the special occasion that something in the application/code has changed. It might be code, design or anything at all that dictates the overall framework of the system.

A retest that is conducted in this situation to make sure that the said change has not made an impact on anything that was already working before is called the Regression Test.

The most common reason why this might be conducted is because new versions of the code have been created (increase in scope/requirement) or bugs have been fixed.

Can Regression Testing be Performed Manually?

I was just teaching one of these days in my class, and a question came to me – “Can regression be done manually?”

I answered the question and we moved on in the class. Everything seemed OK, but somehow this question nagged me for quite a while later.

Over many batches, this question comes multiple times in various different ways.

Some of them are:

  • Do we need a tool to perform the test execution?
  • How is Regression Testing performed?
  • Even after an entire round of testing– newcomers find it difficult to discern what exactly the Regression test is?

Of course, the original question:

  • Can this Testing be performed manually?

To begin with, Test execution is a simple act of using your Test cases and performing those steps on the AUT, supplying the test data and comparing the result obtained on the AUT with the expected result mentioned in your test cases.

Depending on the comparison result, we set the status of the test case pass/fail. Test execution is as simple as that, there are no special tools necessary for this process.

Top Automated Regression Testing Tools

Automated Regression Test is a testing area where we can automate most of the testing efforts. We ran 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 overtime.

If test cases vary from time to time, the application scope goes on increasing and then automation of regression procedure will be a waste of time.

Most of the Regression testing tools are of record and playback types.  You can record the test cases by navigating through the AUT (application under test) and verify whether the expected results are coming or not.

Recommended Tools:

#1) Avo Assure

Assure Logo

Avo Assure is a 100% no-code and heterogeneous test automation solution that makes regression testing simpler and faster.

Its cross-platform compatibility enables you to test across the web, mobile, desktop, Mainframe, ERPs, associated emulators, and more. With Avo Assure, you can run end-to-end regression tests without writing a single line of code to ensure rapid, high-quality delivery.

Avo Assure can help you to:

  • Achieve >90% test automation coverage by executing end-to-end regression tests repeatedly.
  • Easily visualize your entire testing hierarchy with a click of a button. Define test plans and design test cases through the Mindmaps feature.
  • Leverage about 1500+ keywords and >100 SAP-specific keywords to deliver applications faster
  • Execute multiple scenarios simultaneously using the Smart Scheduling and Execution feature.
  • Integrate with a plethora of SDLC and Continuous Integration solutions like Jira, Sauce Labs, ALM, TFS, Jenkins, and QTest.
  • Analyze reports intuitively with easy-to-read screenshots and videos of test case execution.
  • Enable accessibility testing for your applications.

#2) Katalon

Katalon Logo

Katalon is an all-in-one platform for test automation with a large user community. It offers free and codeless solutions to automate regression testing. Since it’s a ready-made framework, you can use it right away. No complicated setup is needed.

You can:

  • Quickly create automated test steps using Record and Playback.
  • Easily capture test objects and maintain them in a built-in repository (page-object model).
  • Reuse test assets to scale up the number of automated regression tests.

It also provides more advanced features (like built-in keywords, scripting mode, self-healing, cross-browser testing, test reporting, CI/CD integration, and more) to help QA teams meet their extended testing needs when scaling up.


#3) DogQ

DogQ Logo

DogQ is a no-code automation testing tool and is suitable for both beginners and professionals. The tool is equipped with a bunch of cutting-edge features for creating various types of tests for websites and web apps, including regression testing.

The product allows users to run multiple test cases in the cloud and manage them directly through a custom-built interface. The tool uses AI-based text recognition technology that works for users automatically and provides them with 100% readable and editable test results. Moreover, test cases and scenarios can be run simultaneously, scheduled, edited, and then easily reviewed by non-technical team members.

DogQ is a perfect solution for startups and individual entrepreneurs who don’t have a lot of resources to test their websites and apps, or who don’t have the experience to do it themselves. DogQ offers flexible pricing plans starting from 5$ per month.

All pricing plans are based only on the number of steps a company may need for testing processes. Other advanced features such as integration, parallel testing, and scheduling are available with DogQ for use by all companies without the need to upgrade the plan.


#4) Virtuoso

Virtuoso Logo

Virtuoso puts an end to fiddling with flaky tests in your regression pack on every release by delivering tests that heal themselves. Virtuoso launches bots that dive into the application’s DOM and build a comprehensive model of each element based on available selectors, IDs, and attributes. A Machine Learning algorithm is used on every test run to intelligently identify any unexpected changes, meaning testers can concentrate on finding bugs and not fixing tests.

Regression tests are authored in plain English using Natural Language Programming, much the same way you would author a manual test script. This scripted approach retains all the power and flexibility of a coded approach but with the speed and accessibility of a codeless tool.

  • Cross-browser and cross-device, write one test for everywhere.
  • The fastest authoring experience.
  • A next-generation AI-augmented testing tool.
  • Guaranteed in-sprint regression testing.
  • Out-of-the-box integration with your CI/CD pipeline.

#5) BugBug

BugBug Logo

BugBug is probably the simplest way to automate your regression testing. All you have to do is “record & replay” your tests with an intuitive interface.

How Does It Work?

  • Create a test scenario
  • Start recording
  • Just click on your website – BugBug records all your interactions as test steps.
  • Run your test – BugBug repeats all your recorded test steps.

A Simpler Alternative to Selenium

  • Easier to learn
  • Faster creation of production-ready regression tests.
  • Doesn’t require coding

Good value for money:

  • FREE if you only run automated regression tests in your local browser.
  • For only $49 monthly you can use BugBug cloud to run all your regression tests every hour.

Other Regression testing tools:

Most of these are Functional and Regression test tools.

Recommended Reading => Check Here For The List Of Top Regression Tools

Adding and updating Regression test cases in an Automation test suite is a cumbersome task. While selecting an Automation tool for Regression tests, you should check if the tool allows you to add or update test cases easily.

In most cases, we need to update automated Regression test cases frequently due to frequent changes in the system.


Types of Regression Testing

Given below are the various types of Regression :

  • Unit Regression
  • Partial Regression
  • Complete Regression

#1) Unit Regression

Unit Regression is done during the Unit Testing phase and code is tested in isolation i.e. any dependencies on the unit to be tested are blocked so that the unit can be tested individually without any discrepancy.

#2) Partial Regression

Partial Regression is done to verify that the code works fine even when the changes have been done in the code and that unit is integrated with the unchanged or already existing code.

#3)  Complete Regression

Complete Regression is done when a change in the code is done on a number of modules and also if the change impact of a change in any other module is uncertain. The product as a whole is regressed to check for any changes because of the changed code.

How Much Regression Is Required?

This depends upon the scope of the 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 amount of change.

As these are repetitive tests, test cases can be automated so that a 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 With Regression Checks?

  • 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.

Best practice is to conduct a Regression test after Sanity or Smoke Testing and at the end of Functional testing for a short release.

In order to conduct effective testing, a 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.

Best practices: Run automated test cases every day in the evening so that any regression side effects can be fixed in the next day 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 Techniques

Given below are the various techniques.

  • Retest all
  • Regression Test Selection
  • Test case Prioritization
  • Hybrid
Regression testing techniques

#1) Retest All

As the name itself suggests, the entire test cases in the test suite are re-executed to ensure that there are no bugs that have occurred because of a change in the code. This is an expensive method as it requires more time and resources when compared to the other techniques.

#2) Regression Test Selection

In this method, test cases are selected from the test suite to be re-executed. Not that the entire suite has been re-executed. The selection of test cases is done on the basis of code change in the module.

Test cases are divided into two categories, one is Reusable test cases and another one is Obsolete test cases. The reusable test cases can be used in future regression cycles whereas obsolete ones are not used in the upcoming regression cycles.

#3) Test Case Prioritization

Test cases with high Priority are executed first rather than the ones with medium and low priority. The priority of the test case depends on its criticality and its impact on the product and also on the functionality of the product which is used more often.

#4) Hybrid

The hybrid technique is a combination of Regression Test Selection and Test case Prioritization. Rather than selecting the entire test suite, select only the test cases which are re-executed depending on their priority.

How To Select A Regression Test Suite?

Most of the bugs found in the production environment occur because of the changes done or bugs fixed at the eleventh hour i.e., the changes done at a later stage. The bug fix at the last stage might create other issues/bugs in the Product. That’s why Regression checking is very important before releasing a Product.

Below is a list of test cases that can be used while performing this Test:

  • Functionalities that are frequently used.
  • Test cases that cover the module where the changes have been made.
  • Complex test cases.
  • Integration test cases that include all the major components.
  • Test cases for the core functionality or features of the Product.
  • Priority 1 and Priority 2 test cases should be included.
  • Test cases of frequently failed or recent testing defects were found for the same.

How To Perform Regression Testing?

Now that we have established what regression means, it is apparent that it is testing also – simply repeating in a specific situation for a specific reason. Therefore, we can safely derive that the same method applied for testing in the first place can be applied to this too.

Therefore, if testing can be done manually then Regression Testing can be done too. The use of a tool is not necessary. However, as time goes on applications get piled on with more and more functionality which keeps increasing the scope of regression. To make the most of the time, this testing is most often Automated.

Given below are the various steps involved in performing this Testing

  • Prepare a Test suite for Regression considering the points mentioned in “How to select Regression Test suite”?
  • Automate all test cases in the test suite.
  • Update the Regression suite whenever it is required like if any new defect which is not covered in the test case is found, and a test case for the same should be updated in the test suite so that the testing is not missed for the same next time. The regression test suite should be managed properly by continuously updating the test cases.
  • Execute the Regression test cases whenever there is any change in the code, the bug is fixed, new functionality is added, an enhancement to the existing functionality is done, etc.
  • Create a test execution report which includes the Pass/Fails status of the executed test cases.

For Example:

Let me explain this with an example. Please examine the situation below:

Release 1 Statistics
Application NameXYZ
Version/Release Number1
No. of Requirements (Scope)10
No. of Test Cases/Tests100
No. of days it takes to Develop5
No. of days it takes to Test5
No. of Testers3
Release 2 Statistics
Application NameXYZ
Version/Release Number2
No. of Requirements (Scope)10+ 5 new Requirements
No. of Test cases/Tests100+ 50 new
No. of days it takes to Develop2.5 (since this half the amount of work than earlier)
No. of days it takes to Test5(for the existing 100 TCs) + 2.5 (for new Requirements)
No. of Testers3
Release 3 Statistics
Application NameXYZ
Version/Release Number3
No. of Requirements (Scope)10+ 5 + 5 new requirements
No. of Test cases/Tests100+ 50+ 50 new
No. of days it takes to Develop2.5 (since this half the amount of work than earlier)
No. of days it takes to Test7.5 (for the existing 150 TCs) + 2.5 (for new Requirements)
No. of Testers3

Given below are the observations that we can make from the above situation:

  • As the releases grow, the functionality grows.
  • Development time does not necessarily grow with releases, but the testing time does.
  • No company/its management will be ready to invest more time in testing and less for development.
  • We cannot even reduce the time it takes to test by increasing the test team size because more people means more money and new people also means lots of training and maybe also a compromise in quality as the new people might not be at par with the required knowledge levels immediately.
  • The other alternative is clearly to reduce the amount of regression. But that could be risky for the software product.

For all these reasons, Regression Testing is a good candidate for Automation Testing, but it does not have to be done only that way.

Basic Steps to Perform Regression Tests

Every time the software undergoes a change and a new version/release comes up, given below are the steps that you can take to carry out this type of testing.

regression testing process
  • Understand what kind of changes have been made to the software
  • Analyze and determine what modules/parts of the software might be impacted – the development and BA teams can be instrumental in providing this information.
  • Take a look at your test cases and determine if you will have to do a full, partial or unit regression. Identify the ones that will fit your situation
  • Schedule a time and test away!

Regression in Agile

Agile is an adaptive approach that follows an iterative and incremental method. The product is developed in a short iteration called sprint which lasts for 2- 4 weeks. In agile, there are a number of iterations, hence this testing plays a significant role as the new functionality or code change is done in the iterations.

The Regression test suite should be prepared from the initial phase and should be updated with each sprint.

In Agile, Regression checks are covered under two categories:

  • Sprint Level Regression
  • End to End Regression

#1) Sprint Level Regression

Sprint Level Regression is done mainly for new functionality or enhancements that are done in the latest sprint. Test cases from the test suite are selected as per the newly added functionality or the enhancement that is done.

#2) End-to-End Regression

End-to-End Regression includes all the test cases that are to be re-executed to test the complete product end to end by covering all the core functionalities of the Product.

Agile has short sprints and as it goes on, it is very much required to automate the test suite, the test cases are executed again and that too needs to be completed in a short span of time. Automating the test cases reduces the time of execution and defect slippage.

Advantages

Given below are the various advantages of the Regression test

  • It improves the quality of the Product.
  • This ensures that any bug fixes or enhancements that are done do not impact the existing functionality of the Product.
  • Automation tools can be used for this testing.
  • This will ensure that issues that are already fixed do not occur again.

Disadvantages

Though there are several advantages, there are some disadvantages as well. They are:

  • This has to be done for a small change in the code as well because even a small change in the code can create issues in the existing functionality.
  • If in case automation is not used in the Project for this testing, it will be a time-consuming and tedious task to execute the test cases again and again.

Regression of GUI Application:

It is difficult to perform a GUI (Graphical User Interface) Regression test when the GUI structure is modified. The test cases written on the old GUI either become obsolete or need to be modified.

Re-using the regression test cases means GUI test cases are modified according to the new GUI. But this task becomes a cumbersome one if you have a large set of GUI test cases.

The Difference Between Regression And Re-testing:

Re-testing is done for the test cases which fail during the execution and the bug raised for the same has been fixed whereas Regression check is not limited to the bug fix as it covers other test cases as well to ensure that the bug fix has not impacted any other functionality of the Product.

Regression Test Plan Template (TOC)

  1. Document History
  2. References
  3. Regression Test Plan
    3.1. Introduction
    3.2. Purpose
    3.3. Test Strategy
    3.4. Features to be tested
    3.5. Resource Requirement
    3.5.1. Hardware Requirement
    3.5.2. Software Requirement
    3.6. Test Schedule
    3.7. Change Request
    3.8. Entry/Exit criteria
    3.8.1. Entry Criteria for this Testing
    3.8.2. Exit Criteria for this Testing
    3.9. Assumption/Constraints
    3.10. Test Cases
    3.11. Risk /Assumptions
    3.12. Tools
  4. Approval/Acceptance

Let’s take a look at each of them in detail.

#1) Document History

Document history consists of a record of the first draft and all the updated ones in the below-given format.

VersionDateAuthor Comment
1DD/MM/YYABCApproved
2DD/MM/YYABCUpdated for the added feature

#2) References

The References column keeps track of all the reference documents used or required for the Project while creating a test plan.

NoDocumentLocation
1SRS documentShared drive

#3) Regression Test Plan

3.1. Introduction

This document describes the change/update/enhancement in the Product to be tested and the approach used for this testing. All code changes, enhancements, updates, and added features are outlined to be tested. Test cases used for Unit Testing and Integration Testing can be used to create a test suite for Regression.

3.2. Purpose

The purpose of the Regression Test Plan is to describe what exactly and how testing would be performed to accomplish the results. Regression checks are done to ensure that no other functionality of the product is hampered because of the code change.

3.3. Test Strategy

Test Strategy describes the approach which will be used to perform this testing and that includes the technique that will be used, what will be the completion criteria, who will be performing which activity, who will write the test scripts, which regression tool will be used, steps to cover the risks like resource crunch, delay in production, etc.

3.4. Features to be tested

Features/components of the product to be tested are listed here. In regression, all the test cases are re-executed or the ones which affect the existing functionality are chosen depending on the fix/update or enhancement done.

3.5. Resource Requirement

3.5.1. Hardware Requirements:

Hardware Requirements can be identified here like computers, laptop, Modems, Mac book, Smartphone, etc.

3.5.2. Software Requirements:

Software Requirements are identified such as which Operating system and browsers will be required.

3.6. Test Schedule

The test schedule defines the estimated time for performing the testing activities.

For example, how many resources will perform a testing activity and that too in how much time?

3.7. Change Request

CR details are mentioned for which Regression will be performed.

S.NoCR DescriptionRegression Test Suite
1
2

3.8. Entry/Exit Criteria

3.8.1. Entry Criteria for this testing:

Entry criteria for the Product to start Regression check are defined.

For Example:

  • Coding changes/enhancement/addition of new features should be completed.
  • Regression test Plan should be approved.

3.8.2. Exit Criteria for this testing:

Here are the exit criteria for Regression as defined.

For Example:

  • Regression testing should be completed.
  • Any new critical bugs found during this testing should be closed.
  • Test Report should be ready.

3.9. Test Cases

Regression Test cases are defined here.

3.10. Risk/Assumptions

Any risk & assumptions are identified and a contingency plan is prepared for the same.

3.11. Tools

Tools to be used in the Project are identified.

Such as:

  • Automation tool
  • Bug Reporting tool

#4) Approval/Acceptance

The names and designations of the people are listed here:

NameApproved/RejectedSignatureDate

Conclusion

Regression Testing is one of the important aspects as it helps to deliver a quality product by making sure that any change in the code whether it’s small or large does not affect the existing or old functionality.

A lot of automation tools are available for automating the regression test cases, however, a tool should be selected as per the Project requirement. The tool should have the ability to update the test suite as the Regression test suite needs to be updated frequently.

With that, we are wrapping this topic up and hope there will be much better clarity on the subject from now on.

Please let us know your Regression related questions and comments. How did you tackle your Regression Testing tasks?

=> Visit Here For Complete Test Plan Tutorial Series

Was this helpful?

Thanks for your feedback!

Recommended Reading

129 thoughts on “What is Regression Testing? A Complete Guide with Examples and Tools”

  1. ‘Adding and updating regression 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)

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

    Reply
  3. Great Post! Quite comprehensive. It’s a good point about automated regression 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.

    Reply
  4. 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 to check the functionality in a single day then how will you select test cases.

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

    Reply
  6. Regression checking 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. This testing has to be done after any improvement or when new functionality is implemented or when bug fixing is done in an application.

    Reply
  7. In your answer you had mentioned Regression as verification method.
    but regression checking 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.

    Reply
  8. It’s really fentastic and good article .

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

    Thanks.

    Reply
  9. 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).

    Reply
  10. 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.

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

    Reply
  12. Hi
    I was asked in a interview, give me example of regression 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..

    Reply
  13. 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?

    Regards,
    KAT22

    Reply
  14. hi…
    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

    Reply
  15. Hi Abhay,

    QTP is a Functional Testing tool u can use only regression checking 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
    Thanks,
    Suresh
    bsuresh7282@gmail.com

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

    Reply
  17. 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 )

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

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

    Reply
  20. 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?
    pl….clarify

    thanks in advance

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

    Reply
  22. HI Manju madam garu.
    please asst me how to do regression checking 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?

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

    Thank you 🙂

    Reply
  24. fine definition for regression check
    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?”

    Reply
  25. To satyanarayana,
    In a regression check 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..

    Reply
  26. 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?

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

    Reply
  28. @hyma

    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….. 🙂

    Reply
  29. 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.

    Reply
  30. These all seem like decent regression tools, but you still have to setup the regression check and execute them. What if you could automate this 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

    Reply
  31. How to select effective test cases in this testing?

    hi Pardeep ,

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

    if any one knows pls help…

    Reply
  32. Regression check 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.

    Reply
  33. Hi,

    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,..

    Reply
  34. 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?

    Reply
  35. 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.

    Reply
  36. 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?

    Reply
  37. 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 check for Old code or new cod or entire code?

    Reply
  38. Hi,

    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.

    Cheers,
    Nani

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

    Reply
  40. and found one bug for the Leave a Comment section

    Bug Description :

    When I add the emoji from the keyboard(window button + .) and insert here then after posting a comment it will disappear in the comment

    ????????

    Reply
  41. 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 check. 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!

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

    Regards
    BVB

    Reply
  43. 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.

    Thanks
    Devender Chandel

    Reply
  44. 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?

    Reply
  45. hi…
    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

    Reply
  46. I am working on Manufacture erp testing. how can I perform regression testing for ERP any help would be appreciable. I am new in testing

    Reply
  47. @Anitha

    Regression check 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 (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…

    Reply
  48. 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

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

    Reply

Leave a Comment