Smoke Testing aims to verify if the most important product features really work. This term was used during testing the hardware and the product passed the test when it did not burn or smoke. How to create an efficient Smoke Test? Read this article!
What Is Smoke Testing?
A Smoke Test is aimed to verify that the most important features of the product really work. This term was used during testing hardware and the product passed the test when it did not burn or smoke. Smoke Tests are a subset of test cases which cover the most important functionalities of the product. They also typically answer basic questions like "Does the application run?" or "Does activation of a new functionality do anything?" The advantage of the Smoke Tests is in the speed of verification or obtaining a result.
Why You Might Want the Smoke Testing
Smoke Testing helps reduce the risk of major product errors. It is usually performed before the start of functional testing of the application, which helps to reduce the cost of testing itself and repairing functional errors.
Smoke Testing is typically used for:
- uncovers problems early
- identify all possible major obstacles in product functionality
- can reveal integration issues
- may act as a first check whether some new change did not break a product
It is always a good idea to apply Smoke Testing from the user experience point of view, for example, if we run an e-shop, the Smoke Test should be focused on the main functions, such as the user's ability to log in, or if he adds goods to the "basket", so it appears there indeed, and so on.
Problems the Smoke Testing Helps to Solve
- Increased cost
- Demotivated team
- Poor code quality
- "Not my problem" mentality
- Toxic Team Culture
- Long Feedback Loops
How to Implement the Smoke Testing
For the correct application of Smoke Tests, the following rules apply:
- Regular Smoke Testing should be performed after each application build and always before the version is submitted for functional testing.
- Simple The test should be focused only on the essential functionality whose chances can completely prevent the use of the product/application.
- Fast The Smoke Test should consist of simple steps to test functionality, should not include alternative scenarios and "marginal" functionalities that are within the scope of functional tests.
Example of the Smoke Test:
Common Pitfalls of the Smoke Testing
- Confuse Smoke Testing with Regression Testing
- Too many scenarios and a lot of too detailed tests which increase the time for testing
- Smoke Test is part of the functional testing
- Small or missing automation of the test
Resources for the Smoke Testing
Want to write for DXKB?
Feel free to contribute. People from DXKB community will be more than happy.
Penetration Tests are performed to identify network security weaknesses. It is a "friendly cyberattack" for spotting flaws and potential vulnerabilities.Read more
Unit Tests are a foundation of your testing. They test the smallest pieces of code called units that have to be isolated from a system. Unit Tests are small, cheap and easy to maintain. The number of Unit Tests outnumbers any other types of tests.Read more
A Pilot Project is a small-scale version of your larger project that helps you catch potential errors before the full implementation.Read more
Proper Bug Reporting
Proper bug reporting is a crucial practice for development. It helps to understand where the product lacks its functionality or performance. Bug reports are descriptions of bugs found by testers.Read more
Code Coverage measures the percentage of source code lines that are covered by automated tests. If you have 90% CC, it means that 10% of the source code is not being tested at the moment.Read more