Smoke and Sanity Testing
In general Smoke and Sanity testing seems very similar to many tester who have just started, because in both we talk about build, we talk about functionality and we talk about the rejection of builds if build’s health is not well for the feasible testing.
After going through several project from start ups to product base company, I come to figure-out the basic difference between Smoke and Sanity testing. I am writing difference between smoke testing and sanity testing here to help you in answering at least one question that normally all testers get asked in interview.
Smoke testing :
– smoke testing is done to test the health of builds
– it is also know as the shallow and wide testing in this we normally include those test case which can cover all the functionality of product
– smoke testing, we can say that is the first step of testing and after this we normally do the other kind of functional and system testing including regression testing
– Smoke testing is normally done by Developer with the help of certain script or certain tools in some cases it is done by Tester too
– One more thing,Smoke testing is valid for initial stage of build confirmation like we have started development of certain product and we are producing build for the first time then Smoke testing become necessity for the product.
Sanity Testing :
– It is sub-regression
– Sanity is done for those builds which have gone through many regression and has come after a minor change in code. In this case we normally do the intensive testing of functionality for which this new change has come.
– Due to this it is also know by narrow and deep testing
– Sanity is done by Tester
– Sanity is done for mature builds like build those are just going to hit production and have gone though multiple regression process.
– Sanity can be removed from the testing process if regression is in process of testing.
– IF any build doesn’t pass sanity testing, then it is thrown to developer back for the correction in build.
Since the very start of this article i am speaking build, build and builds and there will be many reader who would be getting it irritating that what the hell is this BUILD. So let me write few lines for the definition of Builds
Software Builds : A simple software is made up of multiple code files and when these files are separate its compilation seems easy but it is very tedious to compile all files before execution of an program. So developer makes executable file by combining all these files. These executable file are known by the name of Software Builds.
Hope now you would be comfortable with the testing keyword Builds
but friends if i am lagging somewhere then please do me a favor by dropping supportive comment over this topic.