Here we will learn about Regression Testing and how we implement it in real time.
Regression: This testing is performed to make sure newly added / modified code is not introducing defects to existing system.
We use automation for regression testing to make sure core of the system is working.
Lets take an example that we are working in Agile model and below are the user stories for Sprint 1 and Sprint 2.
Sprint 1: Tester written 100 test cases to below user stories
- User should be able to login with valid user id and password
- User should be able to reset password
- User should be able to add beneficiary within bank
- User should be able to transfer funds within the bank
Sprint 2: Tester written 200 test cases to below user stories
- User should be able raise a compliant
- User should be able to pay credit card bills
- User should be able to transfer funds to other banks also
- User should be able to block card
Considering above two sprints we understand that system is implementing in incremental / Agile model so here developer updating OR adding new code on top of existing system. So we need to make sure that newly added / updated code is not introducing defects to existing system which is already tested. I mean in this case Sprint 1 is already tested but developer adding new / modifying code to implement user story 3 from sprint 2 so we need to consider testing of user story 3 from Sprint 1 as well as it is impacting to this one.
Regression testing is differ to client to client. But most of them time we follow below approaches:
- End to End Testing to make sure core system is working fine as expected
- Do impact basis analysis & make sure you cover existing system working fine even after adding new / modified code.