Todays Topics What is regression testing? When to do it? What’s the strategy? Pros and cons Conclusion
What is this term “Regression” Regression means errors that occurs due to someaction or activities in a system. In IT world a "regression" means the return of a bug. Regression testing means the testing process that isdone to find the regressions in the system after doingany changes in the product.
When to do itRegression Testing is required when there is a - Change in requirements and code is modifiedaccording to the requirement New feature is added to the software Defect fixing Performance issue fix
What’s the strategy? Software maintenance is anactivity which includesenhancements, error corrections,optimization and deletion ofexisting features. Thesemodifications may cause thesystem to work incorrectly.Therefore , Regression Testingbecomes necessary. RegressionTesting can be carried out usingfollowing techniques:
What’s the strategy?Continues.. Reset all - This is one of the methods for regressiontesting in which all the tests in the existing test bucketor suite should be re-executed. This is very expensiveas it requires huge time and resources.
What’s the strategy?Continues.. Regression Test Selection Instead of re-executing the entire test suite, it isbetter to select part of test suite to be run. Test cases selected can be categorized as 1) ReusableTest Cases 2) Obsolete Test Cases. Re-usable Test cases can be used in succeedingregression cycles. Obsolete Test Cases can’t be usedin succeeding cycles.
What’s the strategy?Continues.. Prioritization of Test Cases Prioritize the test cases depending onbusiness impact, critical & frequently usedfunctionalities . Selection of test cases basedon priority will greatly reduce the regressiontest suite.
What’s the strategy?Continues.. Area to focus during testing Test cases which have frequent defects. Functionalities which are more visible to the users. Test cases which verify core features of the product. Test cases of Functionalities which has undergone more andrecent changes. All Integration Test Cases. All Complex Test Cases. Boundary value test cases. Sample of Successful test cases. Sample of Failure test cases
Pros and Cons Challenges for regression testingWith successive regression runs, test suites becomefairly large. Due to time and budget constraints, theentire regression test suite cannot be executed.Minimizing test suite while achieving maximumtest coverage remains a challenge.Determination of frequency of Regression Tests ,i.e., after every modification or every build updateor after a bunch of bug fixes, is a challenge.
Pros and Cons To ensure effective regression tests , observe thefollowing : Code being regression tested should be under aconfiguration management tool. No changes must be allowed to code , during theregression test phase. Regression test code must bekept immune to developer changes. The database used for regression testing must beisolated . No database changes must be allowed
Conclusion An effective regression strategy, save organizationsboth time and money. But in current time it morerefers to the termAutomate, Automate, Automate Following are most important tools used for bothfunctional and regression testing: Quick Test Professional (QTP) Rational Functional Tester (RFT) Selenium