Difference Between Smoke and Sanity Testing
Smoke Testing is also called Build Verification Testing
or Rattle Testing or Confidence Testing is done to validate code changes before
the changes are checked in into the product’s official source code.After
receiving a software build, with minor changes in code, or functionality,
Sanity testing is performed to ascertain that the bugs have been fixed and no
further issues are introduced due to these changes if this basic
functionality itself is not working then there is no meaning in testing of the
other functionalities in that project.For Example a typical smoke test would
be - Verify that the application launches successfully, Check that the GUI is
responsive ... etc.
This can be done either by developers or testers. If developers
do this, it should be done before the release of product (or “build”) and if
testers, - done before moving to next types of testing. Nowadays these tests
are performed by some automated system which is included in the build
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. In software industry, smoke testing is a shallow and wide
approach whereby all areas of the application without getting into too deep, is
· A smoke
test is scripted, either using a written set of tests or an automated test
· A Smoke
test is designed to touch every part of the application in a cursory way. It’s
shallow and wide.
testing is conducted to ensure whether the most crucial functions of a program
are working, but not bothering with finer details. (Such as build
testing is normal health check up to a build of an application before taking it
to testing in depth.
Sanity testing, this is also called tester Acceptance testing.
This is to determine, whether the supplied build is testable or not. In other
words Sanity testing is testing the application to ensure, if it is stable
enough to continue further testing. If the test fails, we cannot continue
testing further. Sanity testing is the initial test after the
build release. It is done by the QA team.
· A sanity
test is a narrow regression test that focuses on one or a few areas of functionality.
Sanity testing is usually narrow and deep.
· 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.
testing is a cursory testing; it is performed whenever a cursory testing is
sufficient to prove the application is functioning according to specifications.
This level of testing is a subset of regression testing.
testing is to verify whether requirements are met or not, checking all features