I am new to "Manual Testing". Just wanted to know the difference between Smoke Testing and Sanity Testing with software examples for better understanding.
Smoke Testing : After a new build, Smoke testing an application means checking that the critical functions of the application still work. Smoke testing is done to reject any badly broken software.
The main idea behind this test is that if the primary application functionality is not working, then there is no point carrying on further testing.
For example, a typical smoke test for a web application would be that is launches successfully. If the web application returns a 404 error or fails to lunch, then there is no point in testing anything further. We need to fix the bugs so that the primary functions work.
Sanity Testing : After receiving a build with minor changes in the code or functionality, a subset of regression test cases are executed that to check whether it rectified the software bugs or issues and no other software bug is introduced by the changes.
The objective is not to verify the new functionality, but to verify that the developer has applied some rationality or 'sanity' while fixing the bug.