Key Differences of Sanity testing VS Smoke Testing
- Smoke Testing is done to assure all the functionalities are working well whereas Sanity Testing is done to check whether the bugs are fixed o not.
- Smoke testing is a subset of acceptance testing and Sanity testing is a subset of regression testing.
- Smoke testing can be performed by either Developers or testers whereas Sanity Testing is performed by only testers.
- Smoke Testing can be unstable whereas Sanity Testing is stable.
- Smoke testing can be scripted but Sanity Testing can't be scripted or documented.
What is Smoke Testing?
Smoke Testing is used to check the acute functionalities of the software are working well or not. It is a software testing technique that is performed after the software build. Smoke Testing look for problems in specific sections rather than looking in the entire application, it is also known as a build verification test.
Smoke testing is done to save the time of the QA team if the software has defects in it then the QA team won't need to waste their time on broken software.
Smoke Testing is done when developers deliver new build or modules to the Quality Assurance team. It is done by both developers and testers as it is simple and takes very little time.
Smoke Testing can save effort while making the software better. It can be done manually or automatically based on the client or the organization.
There is another testing technique called use case testing and it is used in software testing to identify the test cases. which we discussed in our previous article, Use Case Testing in Software Testing.
What is Sanity Testing?
Sanity Testing is done after receiving the software build to check that bugs have been fixed. It ensures that the newly added modules are working well to proceed to the next stage of testing.
The main purpose of Sanity Testing is to check whether the functionalities are working as they were supposed to. If the test fails, the build gets rejected to save time and money. Sanity testing is done once the software passes the smoke test and approved for further testing by the Quality Assurance Team.
Sanity testing is a subset of regression testing, it can be automated too. Sanity testing verifies the "Rationality" of the new functionality before proceeding with additional testing.
If you are curious to know which tools are used in app development, here is the list of app development tools.
Difference between Smoke Testing and Sanity Testing
Check the following table for the difference between Smoke testing and Sanity Testing
|Smoke Testing is performed to ascertain that the critical functionalities of the program is working fine
||Sanity Testing is done to check the new functionality/bugs have been fixed
|The objective of this testing is to verify the “stability” of the system in order to proceed with more rigorous testing
||The objective of the testing is to verify the “rationality” of the system in order to proceed with more rigorous testing
|Smoke testing can be performed by both the developers or testers
||Sanity testing in software testing is usually performed by testers
|Smoke testing can be documented or scripted
||Sanity testing is not documented or scripted.
|Smoke testing is a subset of Acceptance testing
||Sanity testing is a subset of Regression Testing
|Smoke testing is done on the entire system from end to end
||Sanity testing is done only for the particular component of the entire system
|Smoke Testing is first performed on the initial build.
||Sanity Testing is performed on stable build or for the new features in the software
Important Points about Smoke Testing and Sanity Testing
- Smoke testing performed on a specific section of the software is called buld verification test.
- Both Smoke and Sanity tests can be performed manually or automatically.
- As per needs, you may have to execute both smoke and sanity testing. You will have to do Smoke testing first and then Sanity testing.
- Both Smoke and Sanity testing saves time and cost by determining whether the software is working well or not.
- Smoke testing and Sanity testing detects the problem in the early stage of software cycle that increases the quality of the software.
1). Which comes first sanity or smoke testing?
Smoke testing is done at the initial stage while Sanity testing is done at the final stages of testing.
2). Can we automate smoke and sanity testing?
Smoke testing can be done either manually or automatically whereas Sanity testing is usually done manually.
3). Do we write test cases for smoke testing?
We don't write test cases to do smoke testing.