To test your app you will have to perform different types of testing. Once the code is written the first type of testing the code has to go through is unit testing. After unit testing, the developers perform integration testing then sanity and then smoke testing just before performing functional testing.
Whether it’s mobile app testing or any other software application, sanity and smoke testing is necessary. But many people think sanity and smoke testing is similar so let’s try to understand the importance of both types of testing. But first, let’s understand what is a Build.
It is the process to convert source code into artifact like a binary that can be run on a computer. There are many source code files in a project and to compile these files to create an executable task can be complicated. Therefore, build software is used to create an executable program.
Sanity testing is performed after receiving the software build with minor changes in the functionality to make sure that the errors are rectified and there will be no issues due to these changes in the future. It is done to check if the functionality works and if it fails then the build is rejected. The goal is to test the function on a superficial level and not thoroughly to see if the developer has rationally built the function or not. For example, if your calculator shows 5 + 5 = 20 then there no need to perform advanced testing like integration or trigonometry.
Usually, these following steps are considered while performing sanity testing. Mark the modifications introduced in the code with the newly added features. Evaluate these marked features to ensure if they are fulfilling their motive. Then test the related features, associated parameters, and elements to ensure their proper working. After all this, the build can be subjected to other advanced testing methods. It’s better to use cloud-based testing platform rather than online Android emulators as they provide hundreds of device browser combinations.
Smoke testing is performed after the software build to check if the important functions of the program are working fine. It is done before any detailed regression or functional test are performed on the build. It is done to reject a nonfunctioning app to save the testers time on testing the app. Smoke testing is done end to end and not for a particular component like in sanity.
Sanity testing and smoke testing is performed to save time and effort by determining if the application has too many issues to avoid. Sanity testing is also called acceptance testing for testers and as an industry standard smoke testing should be performed on software projects. Sanity and smoke testing can be performed by using automation tools and manually.
In some cases, you might have to perform both smoke and sanity tests in the build. First, you will have to perform sanity test than a smoke test.
Sanity testing is fast as the area of focus is small for features to be tested. There is no need to script the test cases before performing a sanity test and it has to be an unplanned approach. It saves effort as it identifies if the application needs to be further tested or not. It ensures that the developers work on the issues only if the application is functioning fine and if the test fails then the developers can quickly start working on the new plan. Smoke testing is then performed at the time of the release of the product.