The terms “sanity testing” and “smoke testing” are used almost interchangeably in most penetration testing companies and in many instances, despite the very fact that they are doing not mean an equivalent. There could also be some similarities between the 2 testing methods, but there are also a few distinct differences that set them aside from one another.
Smoke Testing
Smoke testing considerably is often understood from the literal meaning of its word ‘Smoke’ – it originated from the concept when a bit of hardware was tested to make sure that it didn’t erupt, to start out with. This didn’t mean that the smoke testing certified that hardware performed all its functionalities but merely clarified that it had been safe to check the piece of hardware.
Deriving from the above – when a bit of software is tested for meeting its basic requirements and confirming that it’s not totally contrary to the expected product, it’s called smoke testing. Smoke testing is completed immediately after receiving the build (the first few instances) and may thus be termed as “Build Verification Test”.
In Smoke testing, just the essential functionalities are tested, without getting into the deep, minute and important functionalities. Thus, it’s shallow and wide. With smoke testing, requirements specification documents are rarely taken into consideration. Smoke testing could also be done manually or it is often performed via automated software testing tools.
Sanity Testing
Well, during this case to the word Sanity can assist you to understand what it means by Sanity testing. it’s done to make sure that a product has been given to you in its cleanest form after ensuring modifications thereto to repair some existing problems. Thus, sanity testing is completed after a replacement build is obtained after minor updates.
Thus within the case of Sanity Testing – when penetration testing companies deliver a product with bug fixes and new features, a group of regression test cases are selected and executed so as to make sure that no major new bugs are introduced into the software. this will even be done via automated regression testing tools.
Sanity testing is usually done after a product has already seen a couple of releases or versions. Sanity testing is typically not scripted. In some cases, a couple of basic test suits during a specific area are combined into one sanity test case which will test the working of functionality therein specific area of the software. Sanity testing is going to be deep and narrow and therefore the tester will get to ask specific requirements.
Conclusion
While the two terms are used interchangeably most times and their practices are often done simultaneously, differences between the two do exist that set them apart from one another. Most penetration testing companies today find themselves struggling to differentiate the two and thus, miss out on the unique viewpoints they bring to the table. It is important to be well-versed in both smoke and sanity testing when going about any software testing process.