Smoke and Sanity Testing are the most confusing topics in Software Testing.
There may be some similarities between the two testing methods, but there are also distinct differences that set them apart from each other.
What is Smoke Testing?
Smoke testing
taken from the word ‘Smoke’ – it originated from the concept when a piece of hardware was
tested to ensure that it did not catch fire, merely clarified that it was safe to test
the piece of hardware.
Deriving from
the above – when a piece of software is tested for meeting its basic requirements and
confirming that it is not totally contrary to the expected product, it is called smoke testing.
Smoke testing is done immediately after receiving the build (the first few instances) and can
thus be termed as “Build Verification Test”.
In Smoke testing, just the basic functionalities are tested, without going in for the deep, minute and important functionalities.
It is
executed "before" any detailed functional or regression tests are
executed on the software build.The purpose is to reject a badly broken
application, so that the QA team does not waste time installing and testing the software
application.
What is Sanity
Testing?It is done to ensure that a product has been
given to you in its cleanest form after making certain modifications to it to fix some existing
problems. Thus, sanity testing is done after a new build is obtained after minor
updates.
Thus in case of Sanity Testing - when a product is delivered with
bug fixes and new features, a set of regression test cases are selected and executed in order to
ensure that no major new bugs have been introduced into the software.
Sanity testing is
mostly done after a product has already seen a few number of releases or
versions
The objective is "not" to verify thoroughly the new functionality, but to determine that the developer has applied some rationality (sanity) while producing the software
Smoke
Testing
|
Sanity
Testing
|
Smoke Testing is performed to ascertain that the critical functionalities of the program is working fine | Sanity Testing is done to check the new functionality / bugs have been fixed |
The objective of this testing is to verify the "stability" of the system in order to proceed with more rigorous testing | The objective of the testing is to verify the "rationality" of the system in order to proceed with more rigorous testing |
This testing is performed by the developers or testers | Sanity testing is usually performed by testers |
Smoke testing is a subset of Regression testing | Sanity testing is a subset of Acceptance testing |
Smoke testing exercises the entire system from end to end | Sanity testing exercises only the particular component of the entire system |
Smoke testing is like General Health Check Up | Sanity Testing is like specialized health check up |
No comments:
Post a Comment