Smoke testing is a type of testing in which only the major or critical functionalities of the Software are tested on the provided build before moving to the detailed testing phase. The purpose of this testing is to check whether the Software Application is ready for detailed testing. If the application fails in Smoke Testing, the build will be rejected and sent back to the developers before performing detailed testing.
Let’s say the developers of Facebook have developed the code and provided a build for the testers for testing. First, the testers will be performing Smoke Testing on the provided application by verifying critical or major functionalities as listed below:
- Verify whether the User is able to login to facebook
- Verify whether the User is able to post anything on facebook
- Verify whether the User is able to log out from facebook
- Verify whether the User is able to add friends on facebook
- And other similar major or critical scenarios
Instead of testing the complete functionality of facebook.com in detail, testers will only verify the critical or major functionalities of the application as part of Smoke Testing. If the Smoke Tests are passed, testers will continue to the in-detailed testing activities and if they fail, the testers will reject the build and send it back to the developers. As smoke testing is used to perform the initial verification of builds, it is also known as ‘Build verification testing’. As part of best practices, developers may also verify these smoke tests before providing the build to the testing team.
Due to the limited number of scenarios in the smoke tests, this testing won’t take much time. And also based on the requirements, we can manually verify or automate the smoke tests. i.e. If the developers are providing the builds very frequently, it will become difficult and time-consuming for the testers to test the same smoke tests continuously for each and every build. Instead, these smoke tests can be automated and executed on the builds repetitively to save time.
Refer to the below diagram which clearly depicts the Smoke Testing Process flow:
Smoke testing is a type of testing which is performed initially on the builds, to verify whether the critical or major functionalities of the Sofware application are working. If these tests pass, the testers will move to the detailed tests and if these tests fail, the testers will reject the build and move it back to the developers for fixing.
Please leave your questions/comments/feedback below.
Happy Learning 🙂
Arun Motoori (www.QAFox.com)