Sanity testing:

  1. A sanity Test is a narrow Regression test that focuses on one or a few areas of functionality.
  2. Sanity testing is usually narrow and deep
  3. A sanity test is usually unscripted.A Sanity test is used to determine a small section of the Application is still working  after a minor change.
  4. Sanity testing is a cursory testing; it is performed whenever a cursory testing is sufficient to prove the application is functioning according to specifications.
  5. This level of testing is a subset of regression testing.
  6. Sanity testing is to verify whether requirements are met or not checking all features breadth-first.

Smoke testing:

  1. Smoke testing originated in the hardware testing practice of turning on a new piece of hardware for the first time and considering it a success if it does not catch fire and smoke.
  2. In software industry smoke testing is a shallow and wide approach whereby all areas of the application without getting into too deep is tested.
  3. A smoke test is scripted–either using a written set of tests or an automated test.
  4. A Smoke test is designed to touch every part of the application in a cursory way.
  5. Smoke testing will be conducted to ensure whether the most crucial functions of a program work but not bothering with finer details. (Such as build verification).
  6. Smoke testing is normal health check up to a build of an application before taking it to testing in depth.