Many time people comment that smoke testing and sanity testing are same but in fact it is different. In this post, I will try to explain Smoke testing in detail along with few real time examples to make it more understandable by newcomers. In next post, I will cover the sanity testing. You can find sanity testing post by clicking here.
What is Smoke Testing?
Whenever the development team releases the build to the QA team for testing the build the very first testing performed by the QA team is called as Smoke Testing. It is a primary testing activity where we try to touch all the surface of the system once and make sure that the build is ready for further testing. If QA team encountered with the defect during smoke testing, depending on the severity and priority of defect QA team has rights to reject the build and send it back to the developers.
Smoke testing is first performed by the developer before releasing build to the QA team, QA team perform it once they received build from developer to make sure that all important functionality is working. Detail testing is not the concept of smoke testing.
Smoke testing also called as a build verification testing or build acceptance testing. Because this type of testing helps to make the decision that to accept the build for further testing or reject it. It is possible to use automated scripts for Smoke testing.
Advantages of Smoke Testing:
- Smoke testing helps to identify the defects introduce during integration of different modules.
- Testers are able to find the defect in an early stage.
- It act as a benchmark and convey the message that the build is ready for further testing.
For example, we are working on eCommerce system and it has following 3 modules.
1. Registration on user
2. Adding product to shopping cart
3. Make online payment
Now at first stage developers will perform the smoke testing for the three modules like
- User is able to register to the eCommerce system.
- After registration user is able to add multiple products in the cart.
- After adding any number of product in cart, user is able to make online payment
Once these tests are passed from development side same build it releases for further testing to QA team. QA team will also perform the same steps before accepting the build. It everything goes well QA will accept the build otherwise QA will reject the build.