What is Regression Testing ? | Why When & How We Do Regression Testing? Software Regression Testing
[Music] hello everyone in this video you will learn about regression testing quality testing plays an important role in software development and when we talk about quality testing then regression definitely comes into the picture in this video you will learn what is regression testing why we do regression testing when we do regression testing and how we do regression testing we will understand regression testing with servicenow which is a cloud software platform let's understand this with a practical example in your company lot of employees and users use servicenow which is a cloud software platform you have a development team who works on enhancements of servicenow platform and add new features as per standard release and deployment process requirement goes from development then qa testing uat testing and production deployment initially platform is on a base version which has out of the box features however when you follow the release cycle then new version is added in every release with new features let's say the current version is v3 after few production deployments which means servicenow production system now has all the features in this v3 version which are also implemented in v1 v2 and v3 including base version as well now one day one of the user of servicenow reported that he is not able to create a change record from incident form which is a feature available in incident management of servicenow he also mentioned that he was able to create the change before last release of servicenow technical teams started the investigation teams started validating if there was a requirement to change this functionality in last release and they found that there was no requirement to change this existing feature in last release however a developer broke this existing feature while working on some other unrelated requirement which was part of last release team also validated that testing was performed in last release but still exists functionality got broken now the question is did testing team perform testing of previous changes done before last lease and the answer was no and this is the reason due to which broken functionality was not caught during testing of the release so basically it is recommended to test existing functionalities before new production release to make sure existing functionality is not broken and this is called regression testing so regression testing is a type of software testing to perform checks for existing features if they are working as expected after recent development changes it is re-execution of existing test cases created for existing features to ensure existing functionalities are working fine it gives confidence to developers testers stakeholders that there is no existing functionality broken after production change now why we do regression testing sometimes other part of the system can behave unexpectedly due to new modifications which means features which used to work got some bugs so testing team needs to make sure that system in new state is working properly with all existing features and that is why regression comes into the picture regression ensures that new development is not interrupting existing working features we need to do regression to make sure that there are no defects or bugs after implementing new development changes we do regression to allow re-testing of the platform or system after development changes now when do we do regression testing we do regression testing when there is any development change or code change in the platform which could be a new feature enhancement or bug fix regression testing is performed after completion of all changes planned for a particular release let's understand this with an example you have a servicenow system with out out-of-the-box baseline features which are working features testing team creates test cases for different scenarios for existing functionalities and features let's say there is a new requirement from a customer to make a field mandatory on incident form in servicenow platform development team will follow a release path in which requirement will be developed then it will go for qa testing and then testing team will perform regression testing to make sure the new requirement has not broken any other feature of the platform after regression uit testing is done for that particular new requirement that new feature and then code or development is moved to production that means that feature is basically moved to production now this ensures that all features are working fine in production with new feature and gives confidence to all the parties involved in the release involvement of regression may vary in different organizations as some organizations perform regression during uat and some perform before uat so it totally depends on the process of different organizations now how do we do regression testing after multiple releases of a platform or software system regression testing becomes time consuming so it's really important to follow a right approach of regression testing regression testing can be done manually or automatically however if you have 1000 plus test cases then you should definitely have automated test cases so that regression result can be seen quickly in regression testing you should test all existing features however depending on the heaviness of the platform or software you should also prioritize testing of major business functionalities you should also categorize the test cases on the basis of scenarios and features so that critical categorized test cases can be tested on priority i hope now you will have an idea of regression testing and how you can involve in your development cycle thank you for watching this video have a great day [Music]
https://www.youtube.com/watch?v=Sec8srgS7ZQ