Smoke Testing | Software Testing
Prerequisite – Types of Software Testing
Smoke Testing is a software testing method that determines whether the employed build is stable or not. It acts as a confirmation of whether the quality assurance team can proceed with further testing. Smoke tests are a minimum set of tests run on each build. Smoke testing is a process where the software build is deployed to a quality assurance environment and is verified to ensure the stability of the application. Smoke Testing is also known as Confidence Testing or Build Verification Testing.
In other words, we verify whether the important features are working and there are no showstoppers in the build that is under testing. It is a mini and quick regression test of major functionality. Smoke testing shows that the product is ready for testing. This helps in determining if the build is flawed so as to make any further testing a waste of time and resources.
Characteristics of Smoke Testing:
Following are the characteristics of the smoke testing:
- Smoke testing is documented.
- Smoke testing may be stable as well as unstable.
- Smoke testing is scripted.
- Smoke testing is a type of regression testing.
Smoke Testing is usually carried out by quality assurance engineers.
Goal of Smoke Testing:
The aim of Smoke Testing is:
- To detect any early defects in a software product.
- To demonstrate system stability.
- To demonstrate conformance to requirements.
- To assure that the acute functionalities of the program are working fine.
- To measures the stability of the software product by performing testing.
- To test all over the function of the software product.
Types of Smoke Testing:
There are three types of Smoke Testing:
- Manual Testing: In this, the tester has to write, develop, modify or update the test cases for each built product. Either the tester has to write test scripts for existing features or new features.
- Automated Testing: In this, the tool will handle the testing process by itself providing the relevant tests. It is very helpful when the project should be completed in a limited time.
- Hybrid Testing: As the name implies, it is the combination of both manual and automated testing. Here, the tester has to write test cases by himself and he can also automate the tests using the tool. It increases the performance of the testing as it combines both manual checking and tool.
Applying Smoke Testing at different levels:
It is applicable at 3 levels of testing. They are
- Acceptance Testing Level
- System Testing Level
- Integration testing Level
Tools used for Smoke Testing:
These tools are used while implementing the automated test cases.
Advantages of Smoke Testing:
- Smoke testing is easy to perform.
- It helps in identifying defects in the early stages.
- It improves the quality of the system.
- Smoke testing reduces the risk of failure.
- Smoke testing makes progress easier to access.
- It saves test effort and time.
- It makes it easy to detect critical errors and helps in the correction of errors.
- It runs quickly.
- It minimizes integration risks.
Disadvantages of Smoke Testing:
- Smoke Testing does not cover all the functionality in the application. Only a certain part of the testing is done.
- Errors may occur even after implementing all the smoke tests.
- In the case of manual smoke testing, it takes a lot of time to execute the testing process for larger projects.
- It will not be implemented against the negative tests or with the invalid input.
- It usually consists of a minimum number of test cases and hence we cannot find the other issues that happened during the testing process.