Difference between Smoke Testing and Regression Testing?
What is Smoke testing?
The testing method determines the stability of a deployed software build. It provides a sort of confirmation to the QA team to carry on with different levels of testing. A minimal set of tests are run on each build to test software functionalities. This testing method ensures that there are no show-stoppers in the build during the testing process. It is also known as “Build verification testing.”
What is Regression testing?
It is a testing method that ensures the new changes introduced in the code do not alter or modify the existing functionalities of a software application. Already executed test cases are partially or fully selected and then re-executed to ensure that the existing functionalities are working as expected. The objective is to ensure that the existing functionalities are working fine despite making changes or adding new features to the code.
Following are the differences between smoke testing and regression testing:
Smoke testing |
Regression testing |
In simple terms, smoke testing meaning - it verifies the crucial
features and build the stability |
Regression testing ensures that the change hasn’t affected any
existing functionality |
Regression testing includes the test cases of a smoke test and covers
only the core functionalities |
The test cases are obtained from Software Requirement Specification
(SRS) or functional specification |
Developers and testers are responsible for performing smoke tests |
Testers are responsible for performing regression tests |
The cost involved in conducting the testing is relatively low |
The cost involved in conducting the testing is quite high |
The testing process is conducted quickly to confirm whether to reject
or accept a build |
Regression tests are not accountable for rejecting or accepting a build |
It is a surface-level testing where the system’s stability is verified |
It is a deep-level testing where the system’s rationality is verified |
This testing method is always followed by a regression test |
This testing method is performed throughout the testing phase |
This testing method is scripted or documented |
This testing method is neither scripted nor documented |
There is not much effort, resources, and time required to conduct the
testing |
There is a lot of effort, time, and resources required to conduct the
testing. |
It is an acceptance type of testing where the build is validated so
that further testing is prevented If
it doesn’t pass |
It is not an acceptance type of testing, and the functionalities are
tested. |
Comments
Post a Comment