Benefits of Smoke Test Automation
In this article, lets discuss the benefits of smoke test automation. Before proceeding, let’s see what is a smoke test?
- Smoke testing is performed after receiving the build but before proceeding with more rigorous/regression testing
- This is to ensure that the critical functionalities of the application are working as expected, the new functionality added does not break existing functionalities and the application is qualified for more rigorous testing
- It is a subset of regression testing and contains critical uses cases that covers the entire system end to end
- Smoke testing may reveal bugs, if present, that will make the system unstable and stops testers to perform testing activity
- This is usually performed by developers or testers after build has been generated and deployed
- Regression testing starts only after Smoke test results confirms the stability of the system or application under test
- Smoke testing is usually documented
Why Smoke tests are the suitable candidate for Automation?
Testers performing smoke test are going to execute set of use cases that covers entire system. For every build, this set of use cases are same and not going to change. This repeating nature makes smoke tests as a suitable candidate for automation.
Need of smoke tests automation:
Depends on the complexity of the system, Smoke tests usually takes from 15 mins to 2 hours (worst case). This time required can be saved by automating smoke tests.
Reduced manual intervention
In the delivery pipeline where build generation and deployment are automated using DevOps tools, having manual intervention in testing slows down the entire delivery activity. Smoke test automation eliminates this manual intervention and speeds up the entire process and achieves complete DevOps journey.
Larger systems usually has more critical scenarios and covering all the critical scenarios is not always possible via manual testing with in specified time. Also more scenarios directly results in increased execution time. By automating smoke tests, coverage can be increased while keeping the execution time constant.
Reduce dependency of manual testers
If tests are automated, no manual testers are required at that time of build generation which reduces dependency on them.