The document discusses regression testing, including its definition, benefits, when it should be applied, types, techniques, challenges and best practices. Regression testing involves re-running all tests to ensure new code changes have not introduced new bugs or caused existing bugs to reappear. It helps find bugs early, increases chances of detecting bugs, ensures correctness and that fixed issues do not occur again.
2. What is regression testing?
Benefits of regression testing
When to apply regression testing
Types of regression testing
Techniques of regression testing
Demo: How to derive a regression testing plan?
How to do regression testing
www.edureka.co
Regression testing challenges & best practices
4. Testing of a previously tested program following modification, to ensure that defects have not been introduced or
uncovered in unchanged areas of the software, as a result of the changes made
www.edureka.co
What is Regression Testing?
Tested
Software
Developed
Software
Feature
Update Regression
Test Plan
5. www.edureka.co
There is a bug in
our financial
system
All overdue
invoices are not
being listed
The bug is fixed by a
developer
New issue arises: When trying to issue
aging report, system times out
Was Regression
Testing done?
Die to this new bug we
don’t have this month’s
P&L statement
6. When adding a new payment type to a shopping website, re-run old tests to ensure that the new code hasn’t
created new defects or re-introduced old ones.
www.edureka.co
Simple Example
8. Benefits of Regression Testing
Helps finding bugs in early stage of
development
Increases the chance of detecting bugs
Ensures the correctness of the program
Makes sure that fixed issues don’t occur
again
Ensures that there are no errors due to
code changes
Helps in researching unwanted side
effects due to modifications
10. When new functionalities are added
E.g. Adding new login feature
www.edureka.co
When there is Change Requirement(CR)
E.g. ‘Remember password’ feature
removed
When there is a Defect Fix
E.g. Bugs in ‘Payment Page’
When there is Performance Issue Fix
E.g. Loading page takes too much time
When there is Environment change
E.g. Database changed from MySQL to
Oracle
When there is Patch Fix
E.g. Change in the code of the software
13. Progressive regression testing works effectively when there are changes done in the software/application specifications
as well as new test cases are designed.
ProgressiveRegressionTesting
www.edureka.co
Unit
Testing
Selective
Testing
Progressive
Testing
Retest-All
Testing
Complete
Testing
Types of Regression Testing
14. In this type, a test unit must be rerun if and only if any of the program entities, e.g. functions, variables etc., it covers have
been changed.
SelectiveRegressionTesting
www.edureka.co
Unit
Testing
Selective
Testing
Progressive
Testing
Retest-All
Testing
Complete
Testing
Types of Regression Testing
15. In this testing we reuse all tests which results in the execution of avoidable test cases. This strategy is not much useful
when any small modification or change is done to the application.
Retest-AllRegressionTesting
www.edureka.co
Unit
Testing
Selective
Testing
Progressive
Testing
Retest-All
Testing
Complete
Testing
Types of Regression Testing
16. Complete regression testing is very useful when multiple changes have been done in the existing code. Performing this
testing is highly valuable to identify unexpected bug.
CompleteRegressionTesting
www.edureka.co
Unit
Testing
Selective
Testing
Progressive
Testing
Retest-All
Testing
Complete
Testing
Types of Regression Testing
17. www.edureka.co
Execute unit-level regression tests
Integrate with the builds
Conduct smoke test to check the build
Perform sanity testing
Perform rigorous integration testing
Regression tests are scheduled
Developed
Software
Analyse & report
the results
19. www.edureka.co
Test cases which have frequent defects
Complex test cases
Test cases which verify core functionality
of product
Integration test cases
Functionalities which are frequently used
Test cases which cover the module where
the changes have been done
Test cases which frequently fail
Boundary value test cases
21. www.edureka.co
Involves the re-
execution of all
existing and available
test cases or suits
Performed by
selecting the limited
number of test cases,
based on needs &
requirements
Involves priority wise
execution of the test
cases based on
business
requirements
Re-Testing Selective Test Cases Test Case Prioritization
Regression Testing Techniques
24. A successful testing strategy can lead to big things!
www.edureka.co
01 Maintain a schedule
02Use a test management tool
03 Break down & categorize tests
04Consider customer risk
05 Evaluate test prioritization
Regression Testing Best Practices