Smoke and Sanity Testing
Smoke Testing
What is Smoke Testing
What do we do in Software Testing Process, So we have already studied that we test a Software in Software Testing Process.
So, If we test a Software in Software Testing Process, then this Software has to be created first and should be made available to the Tester, So that Tester can test it.
Now, the Question is, How will this Software be available to Tester.
So, the answer is, Software Developer will create Software and will install or deploy it to testing environment, So the Software will be installed or deployed to Testing Environment, and this way, it will be available to Software testers. The deployment or installation, that we are talking is somewhat similar to the installation that we do in our Windows or Mac Laptop or Desktop.
Now Testers can test the Software. So, in order to test a Software, it should be launched or opened first. It is similar to the situation, when we install a software Application in our Windows or Mac Laptop or Desktop, and then try to open the Software Application. Now if suppose, that the Software Application doesn’t open, then we say that the Build is failed.
This is called Smoke Testing.
So, If we want to define Smoke Testing, then we can say that “Smoke Testing is a software testing process that determines whether the deployed software build is stable or not.” So, If the build is failed, then the Smoke Testing is also failed, but is the build is passed, then the Smoke Testing is also passed.
Smoke testing is also known as “Build Verification Testing” because it verifies that the build is stable or not.
Smoke testing is also known as “Confidence Testing” because it gives a confidence to the tester that the Build is stable if it is passed.
Example of Smoke Testing
In Order to understand, Smoke Testing in a better way, Let’s see the Examples of Smoke Testing, and few examples of Smoke Testing are
- Launching Application
- Login to Application
Importance of Smoke Testing
Smoke testing is very important because
- It helps in verifying that build is stable or not
- It helps in catching blocker issues as early as possible.
- This can save time and resources
- This helps is saving money and efforts.
Sanity Testing
What is Sanity Testing
Sanity Testing is the next step of Smoke Testing. So, When the smoke testing is passed, then Software Tester has to work on Sanity Testing.
So, the question is, what is Sanity Testing.
Answer to the question is, We perform Critical Functionality Testing in Sanity Testing.
Now, what is critical functionality of a Software Application, We have see some examples to understand that.
Example of Sanity Testing
Example 1
If we take an example of Net Banking Application, then
- Balance checking
- Payment Transfer
- Paying Bills Online
are the example of critical functionalities
Example 2
If we take an example of eCommerce Application, then
- Placing Order
- Returning Order
- Online Payment Integration
are the example of critical functionalities.
So, If we test these functionalities, then we say that we are doing Sanity Testing of a Net Banking Application or an eCommerce Application. Sanity Testing will be done after Smoke Testing.
So, every time when a build happens and Smoke Testing is passed, then a Sanity Testing is performed where critical functionalities of the Application are tested.
Importance of Sanity Testing
Sanity testing is very important because
- It helps in verifying that the critical functionalities are working fine or not
- It helps in catching critical issues as early as possible.
- This can save time and resources
- This helps is saving money and efforts.
So, We can conclude that, We do Smoke and Sanity Testing in order to save time.
Let’s say, we got the build from developer and we don’t do smoke and sanity testing and we plan to do a full fledge testing, then our time and efforts that we will do in the planning for a full fledge testing will go into waste, if the build itself is failed. So, it is better to do Smoke and Sanity Testing to save time and effort.
When to do Smoke and Sanity Testing
Now, as we know about Levels of testing.
- Unit Testing
- Integration Testing
- System Testing
Now, If we deep dive into System Testing, then we see the subsets of System Testing as
- Smoke Testing
- Sanity Testing
- Regression Testing
So, If we want to know, when to do Smoke and Sanity Testing, then we can say
- Unit Testing
- Integration Testing
- Smoke Testing
- Sanity Testing
- Regression Testing
Smoke vs Sanity Testing
Smoke Testing | Sanity Testing |
Smoke Testing is done to verify the build is stable or not. | Sanity Testing is done to verify that the critical functionalities are working fine or not. |
Smoke Testing is done before Sanity Testing. | Sanity Testing is done after Smoke Testing. |
Smoke Testing will test the entire System. | Sanity Testing will test the functionality of the System. |
Smoke Testing can be performed by any one like developers or testers | Sanity Testing should only be performed by Testers. |
Summary
We have covered below topics in this session.
- What is Smoke Testing
- Example of Smoke Testing
- Importance of Smoke Testing
- What is Sanity Testing
- Example of Sanity Testing
- Importance of Sanity Testing
- When to do Smoke and Sanity Testing
- Smoke vs Sanity Testing
Question
List out the difference between Smoke and Sanity Testing?