What is Smoke Testing?
Smoke Testing is done to verify the build received from the development team is testable or not. It is performed on Software build to check the important and critical functionalities of the application are working fine. It is done at the early stage before regression testing or any other detailed testing is performed on the software build. It is performed by the testing team.
The purpose of smoke testing is to reject badly performing build so that the testing team does not have to waste time in the testing of a software application. Smoke tests are a minimal set of tests run on each build.
The objective is to verify the critical functionalities of the system are working fine and there are no showstoppers in the software under test. Thus, the primary focus is on the core application workflow in case of the Smoke testing. Smoke testing is also called as Build Verification Testing or Confidence Testing.
The smoke tests certified the build for carrying out further testing. The main aim of smoke testing is to detect early major issues. It also demonstrates the stability of the software.
What is Software build?
Software Build is a process of converting source code, into an executable file that basically consists of the user application. A CICD(Continuous Integration Continuous Deployment) process with respect to Version Control, Code Quality & Compilation is involved where a software build is produced after multiple revisions and code changes. This is a continuous and time-consuming process.
Goal of Smoke Testing:
The goal of Smoke Testing is:
- To verify the system stability.
- To verify conformance to requirements.
- To ensure the important functionalities of the software is working fine.
- To detect the software defects early in the testing phase.
- To test all the overall basic functionalities of the software.
Example of Smoke Testing
Let us take an example of booking flight tickets online. The important functionalities, in this case, would be searching flight, booking tickets by adding traveler information and payment gateway.
Other features like saving card details, sending an email take less priority in an application because incase the important functionality does not work the build cannot be used for further verification to test the other features.
This is what smoke testing refers to where the main focus of smoke testing is to test the critical areas and not the complete application.
Features of Smoke Testing
- Smoke testing is often stated as Build Verification Testing, where the build is verified by testing the important functionalities of the software.
- Smoke Tests uncovers obvious errors and showstoppers which saves time and effort of the test team.
- It Identifies business-critical functionalities that software must satisfy.
- Smoke Tests can be executed manually or can be automated with the help of testing tools or frameworks.
- It is applicable to different levels of software testing like integration testing, system testing, and acceptance testing.
- Smoke testing is documented.
When to perform Smoke Testing?
- When a new build is provided to the testing team which has new changes made by the developers.
- When a new module/feature is added to the existing functionality.
- When a new build is provided which has defect fixes
Advantages of Smoke Testing:
- It is easy to perform.
- It identifies defects at an early stage of the testing.
- It makes progress easier to access.
- It saves time and effort of the testing team.
- It detects critical errors easily.
- It helps in improving the quality of the system.
- It is a quick testing process.
- It minimizes integration risks.
- It helps in reducing the risk of failure.