50 likes | 71 Views
Even seemingly irrelevant modifications in a software application can result in a complete break down of existing functionality, which is why regression testing is crucial. Read more.
E N D
Introduction: The National Security Agency recently alerted Microsoft about a major flaw discovered in the Windows operating system. The bug could expose the users to significant breaches, surveillance, or disruption, reported Washington Post. Post the alert, Microsoft has released a security patch for the flaw. The bug was essentially a mistake in the computer code that would have affected the Windows 10 OS, which is widely used by governments and businesses. There could have been serious implications if the wrong forces sensed the bug earlier and exploited the vulnerability to cause serious damage. The thing about finding bugs ages after the code has gone live is that it needs to be backdated and fixed, such that it falls back into its place seamlessly. Regression testing needs to be done to ensure that there are as little of these after-release shocks as possible.
What is Regression Testing? Regression testing is a black–box testing technique performed by executing units of code repeatedly to ensure that the on-going code modifications do not impact the system’s functionality. Alterations to the application can occur in various forms, be it new functionality, bug fixes, integrations, functionality enhancements, interfaces, patches, among others. Many software development engineers would insist that as long as essential functions are tested and are able to deliver results as per the requirement, it would suffice. While this may be practical, regression testing can prove to be a real blessing at a later stage, because rather than just guaranteeing the functionality being tested for, it ensures that there are no other nasty surprises. Even seemingly irrelevant modifications can result in complete breaking down of existing functionality. This is why regression testing is crucial; to ascertain that the modified code has not impacted ANY part of the system. It is advisable for regression tests to be executed as often as possible throughout the software development life cycle.
Types of Regression Testing • Often, regression testing is done through several phases of testing. It is for this reason, that there are several types of regression testing, such as: • Unit regression – Unit regression testing, executed during the unit testing phase, tests the code as a single unit. It has a narrow and focused approach, where complex interactions and dependencies outside the unit of code in question are temporarily blocked. • Partial regression – Partial regression is performed after impact analysis. In this testing process, the new addition of the code as a unit is made to interact with other parts of older existing code. Doing so determines that even with code modification, the system functions in silos as desired. • Complete regression – Complete regression testing is often carried out when the code changes for modification or the software updates seep way back into the roots. It is also carried out in case there are multiple changes to the existing code. It gives a comprehensive view of the system as a whole and weeds out any unforeseen problems. A sort of a “final” regression testing is implemented to certify that the build (new lines of code) has not been altered for a period of time. This final version is then deployed to the end users. • Read Full Blog at: https://www.cigniti.com/blog/top-3-regression-testing-types-how-to-execute/