skip to content
skip to content
Software Testing

Smoke and Sanity Testing – What all Should be Taken into Account?

by

Smoke and Sanity Testing – What all Should be Taken into Account?

Software testing is very essential to release effective, efficient, and reliable software at a fast pace. There are many types of software testing such as smoke testing, sanity testing, and regression testing. Each of these testing methods provides a distinctive value to the software development process.

The two types of initial level testing are Smoke testing and Sanity testing. Whether the software is ready or not is tested at the initial level by the QA team. The initial level testing is also known as build acceptance testing. A software build is basically a complied code that is packaged in a single file as a .exe file that can be used for the installation of software.

The two terms smoke testing and sanity testing are used interchangeably sometimes. Hence, we have discussed the difference between smoke testing and sanity testing with some examples. 

What is Software Build?

To develop a source code file with a simple computer program you just need to compile and link the one source code file to produce an executable file.

A typical software project generally consists of hundreds or even thousands of source code files. To create an executable program from these source files is a time-consuming as well as a complicated task.

You must have a ‘build’ software to create an executable program and the same process is known as ‘Software Build‘.

Difference Between Smoke and Sanity Testing

 

How Sanity Testing is Performed?

In sanity testing,  writing a new test case is not required unless any new feature is introduced. The major objective here is to make sure that no false results or bugs are present in the component processes. You also must check if the build is fine enough to be moved to further stages in a software testing cycle.

Suppose, you are working on a medical health site and a new feature is released related to patient search functionality. So, your main focus here must be to check whether the patient search is working fine or not. Once it is tested well then move on to other primary functionality like Related Doctors profile.

In any project before releasing the project the development team asks the testers to test the build end to end. Whenever the build is tested for acceptance or rejection, it is smoke testing. If the build gets accepted and is then tested further for main functionalities then it is sanity testing, For example, just consider the same build has three modules like Sign in, Sign Out and Admin. You need to check all these modules for their basic functions without moving deeper than it is sanity testing.

How Smoke Testing is Performed?

Smoke testing plays an essential role in software development as it ensures the correctness of the application in the initial stages. It can be done by programming the smoke suite to run when a new build has been created. Smoke testing ensures that all the crucial functionalities are functioning properly.

In this testing methodology, the QA gets a build in from the development team. The testers run the test cases on the build by taking subsets of the test cases.  The QA team then tests the application against all critical functionalities. Whenever there is any change in the build testers perform smoke testing to ensure stability.

Sanity Testing Vs. Regression Testing

Conclusion

Both Smoke testing and Sanity testing are very important for the development of any project. Smoke testing checks on the basic functionalities of a particular build whereas Sanity testing brings out a quick solution to figure out whether to move ahead with further testing stages. Smoke testing and Sanity testing both ensure that the application is functional as per the requirements and avoids wastage of time and effort. In case you want to run both the tests just keep in mind that you will run Smoke testing first followed by Sanity testing.

Written by Amaresh