Regression testing is the process of testing the application after bug fixed and check whether that fixed bug impact or affect any other modules in the same application.
Regression testing is the procedure of testing changes to PC projects to ensure that the more established programming still works with the new changes. Relapse testing is an ordinary part of the system advancement process and, in bigger organizations, is finished by code testing authorities. Test division coders create code test situations and activities that will test new units of code after they have been composed.
Regression Testing:- In this we ensure that a recent program change has not adversely affected existing features & check that the previous functions still work after the new changes are done. Some Regression testing techniques we use are: Retest all, Regression test selection, Prioritization of Test cases, etc.
Also note that, Regression testing is conducted after a bug fix to verify that bug fix does not impact any other functionality. Also there is a no proper place in test cycle to conduct regression testing as it can be done after each bug fix. For a water fall projects regression is conducted at the end of test cycle/bug fixes. For agile /iterative mostly it is done after each bug fix.
What is Regression Testing ?
Regression testing is a type of application testing that confirms that application previously developed and examined still works properly after it was modified or interfaced with other application. Changes may consist of application improvements, areas, settings changes, etc. During regression testing, new application insects or regressions may be discovered. Sometimes a application package modify impact research is conducted to find out which places could be affected by the suggested changes. These places may consist of efficient and non-functional places of the system.
The purpose of regression testing is to ensure that changes such as those described above have not presented new mistakes. One of the significant reasons for regression testing is to figure out whether a alternation in one part of the application impacts other parts of the software
When any changes are done to the software it is possible that other areas within the application can be affected by this change .The purpose of this testing is to identify any new bugs which is introduced accidentally by the changes in the application.
Originally Posted by ixora
I am a tester in a software testing company which is an ace in providing the best qa services. "Regression Testing” is one of the basic and important form of tests performed on any software/application. I can very well relate with this software testing services term and following is my take on your intelligent questions:
Ques 1: Let say I do functional testing and discovered a bug. I then send the application to the developer to be debugged. After debugging, I run regression testing on the application. If there is no failed test case during regression testing, what should I do next? Should run all test cases for Functional testing again or go straight to SIT?
Answer: As mentioned by you that in regression testing, you only re-run the failed test cases and test cases related to them (has dependency), then there is no need to perform the functional testing again because you have already re-tested the buggy area and validated that particular feature. You should move on to System and Integration test (SIT).
Ques 2: My second question is almost the same as my first question, but instead; if I discovered the bug in SIT, should I perform the SIT once again after Regression testing or I go straight to UAT?
Answer: Yes, here you should perform SIT once again after performing the regression testing because a bug in one feature/sub system could have impacted another one. So, all the features/sub-systems should be re-tested. After SIT move on to UAT(User acceptance testing).