Quality is delighting customers
Smoke testing is like General Health Check Up...
Sanity Testing is like specialized health check up
Smoke testing is performed by the developers or testers
Sanity Testing is done to check the new functionality / bugs have been fixed..
sanity also know SMOKE testing is done to check critical functionalities of the system before its is accepted for major testing. Sanity testing is quick and is non- exhaustive. Goal is not to find defects but to check system health.
In some organizations smoke testing is also known as Build Verification Test(BVT) as this ensures that the new build is not broken before starting the actual testing phase.
Hope it may help you!
Simple difference is
Smoke testing is high level testing of build to check nothing has broken.
Sanity testing is same as smoke testing which covers some detail testing than smoke..
Smoke testing is Non-Functional Testing and Sanity Testing is Functional Testing.
Sanity Testing:-Tester conducts the Sanity test to ensure the stability of the application build.Tester finds weather the application build is stable for complete application or not.
Smoke Testing:-It covers the major functionality of the application without bothering with finer details.
You might find it very helpful. :)