Introduction to Regression Testing
Regression Testing is a very important form of software testing. Regression testing is nothing but an unchanged feature of an application to make sure that changes, like adding, deleting, or modifying a feature, or fixing a defect, are not affecting an unchanged feature of an application.
This is hard to understand, so let’s go through all this step by step. Regression testing is testing the unchanged feature of an application, and we test this because developers can add, delete, modify, or fix features, and regression testing is nothing but testing an unchanged feature of an application to make sure that adding a feature, deleting a feature, modification or fixing a defect won’t impact the unchanged feature of an application. This is called regression testing. We are testing the unchanged feature to make sure what the developer has done does not impact/affect the unchanged features.
Now, we talk about the various types of regression testing. Regression testing is classified into 3 types. The first type is unit regression testing, then regional regression testing, then full regression testing.
Unit regression testing is testing only the changes or changed parts done by the developer. Suppose we have an application with a username, password, and a pin. Now the developer has changed the username, password, and pin. If we don’t go to a home pin, this is because the developer did changes to the username field and the password. Unit regression testing is testing only the changed part or modification part. Regional regression testing tests the changed part or the affected areas. Let’s have 4 modules and say that the developer has done changes in the fourth module, module D. Modifications in module D impact module A and Module C. Regional regression testing tests the changed features and the impacted areas. Before proceeding to the testing, there is a meeting called the impact analysis meeting, which is a meeting conducted by the test engineers or business analysts, and developers will decide which module(s) that changing a module can affect. So, this is an impact analysis meeting, and by doing this, people can decide which modules will get affected, so this testing is nothing but testing a changed part and impacted part. Full regression testing is nothing but testing a changed feature and the remaining part of the application. Full regression doesn’t test not only the changed part but all the features present in that application.
Suppose there is an application that has multiple modules, and the developer has done changes in module B, C, D, E, and F with A, B, C, D, E, F modules. We will test not only the changed features we test all the remaining features in an application as well. Don’t waste time in finding which channels are impacted in this, otherwise, you might waste time in meeting with business analysts. Instead of wasting this time, since the developer has done the changing, it is preferable that it is highly preferable to do full regression testing, which means we test all the remaining features of an application, just to make sure that if the developer has done some changes, it doesn’t impact the unchanged features of an application. We have to test module A as well to make sure that the following module remains perfectly time. We should do full regression testing when the developer has done changes in most of the module, or if the developer has done some changes in the root of the project, meaning I don’t want my customers to blame me later to find a bug in the production.
To avoid this, we must do full regression testing. Also, if your application itself has changed, we are highly advised to do full regression testing. Suppose my sprint is there for 14 days is means I am finally delivering a piece of the software after 14 days. This means there are drastic changes in terms of the software. For the first 12 days, testers get involved in feature testing, modifications, and retesting the fixes that a developer has done, which is the feature and regional testing. The first 12 days involve testing these things, and the last 2 days involve regression testing, which delivers what we test in these 14 days to the customer, the full testing, which is adding, delete, doing modifications, and fixing some bugs, to make sure what changes the developer has done doesn’t impact the unchanged features of an application. After 14 days are over, finally we deliver the piece of the software to the customer.


Comments
Post a Comment