January 23, 2012
The terms sanity testing and smoke testing are used interchangeably in many instances, despite the fact that they do not mean the same. There may be some similarities between the two testing methods, but there are also distinct differences that set them apart from each other.
Smoke testing very much can be understood from the literal meaning of its word ‘Smoke’ – it originated from the concept when a piece of hardware was tested to ensure that it did not catch fire, to start with. This did not mean that the smoke testing certified that hardware performed all its functionalities but 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. Thus, it is shallow and wide. With smoke testing, requirements specification documents are rarely taken into consideration. Smoke testing may be done manually or it can be performed via automated software testing tools.
Well, in this case too the word Sanity can help you understand what it means by 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. This can also be done via automated regression testing tools.
Sanity testing is mostly done after a product has already seen a few number of releases or versions.
In some cases, a few basic test cases in a specific area are combined into a single sanity test case that will test working of functionality in that specific area of the product.
Sanity testing will be deep and narrow and the tester will need to refer to specific requirements.
Sanity testing is usually not scripted.
Experience smoke as well as sanity testing via test automation tool, TestingWhiz!
Download its Enterprise Version Now!