Complete Article on Smoke and Sanity Testing

Smoke Testing:

  • Smoke test is also known as Build Verification Testing OR Build Acceptance Testing.
  • Smoke testing is the preliminary check of the software after a build and before a release.
  • It is a type of acceptance testing, provide an initial check that a new software build and its critical functionality are stable or not.
  • Smoke testing is a group of tests that are executed to verify if the critical functionalities of a particular build are working fine as expected or not.

How to do Smoke Testing:

  • The development team deploys the build in QA. We will need to perform setup steps.
  • Then the subsets of test cases are taken, and then testers run test cases on the build.
  • The QA team test the application against the critical functionalities. These series of test cases are designed to expose errors that are in build.
  • After the smoke test, we need to clean up. This might include stopping a server, deleting files, or emptying database tables. This could also be done before the initial setup step to ensure that the environment is clean before any tests are started.

Why We Perform Smoke Testing:

  • Smoke Testing is done whenever the new functionalities of the software are developed and integrated with the existing application.
  • It ensures that all critical functionalities are working correctly. 
  • It reveal simple failures but severe enough to , reject a prospective software release.
  • It helps to find issues in the early phase of testing.

Smoke Testing Example

A web page for insurance add a claim status page. Tester would apply smoke test to verify that the existing build works on fundamental level , such as user can login in or not and navigate to claim status page or not , and retrieve the status report of specific claim without the app crashing.  

Sanity Testing:

  • Sanity Testing is a subset of regression testing. 
  • After receiving the software build, sanity testing is the 1st test to ensure that the code changes introduced are working as expected.
  • If any defect found in test we can reject the build and stop the testing.
  • After Sanity test complete the status either Pass Or Fail has to be reported to the developers.
  • The test is conducted for very short period of time (15-30 min Max)

How to do Sanity Testing

  • Unlike other types of testing, sanity does not need a handful of techniques, You do not need to write test cases for sanity testing because you want to perform quick and speedy testing.
  • The first thing in Sanity Test is to identify the new functionalities, changes or any bug fixes.
  • Then we will check the newly implemented changes if they are working fine or not .
  • At Last we will randomly check a few related functionalities to see if they are also working as expected. 
  • If it all goes good, then the release can be passed for further testing or if any one functionality is not working as per requirement or got failed we can reject the build and stop the testing.

Why We Perform Sanity Testing

  • It is also known as Surface Level Testing, this must be done to quickly evaluate the quality of regressions made to the software.
  • Sanity is done to determine if new module additions to an existing software build are stable enough to pass to the next level of testing or not. 
  • If sanity test is pass we can continue further testing, if its fail we can reject the build and stop the testing so developers and fix the changes ASAP.

Sanity Testing Example

A web page for loan provider returns a 404 error for personal loan page. The developers fix the issue and submit the build for testing. The QA professional perform a sanity test to determine whether the basic functionality and navigation for that specific page is working as intended or not.   

Smoke Vs Sanity

Smoke

Sanity

Smoke Testing is performed to ascertain that the critical functionalities of the program are working fine.

Sanity testing is done at random to verify that each functionality is working as expected.

Smoke testing is usually documented and scripted.

Sanity testing is not documented and is unscripted.

Smoke Testing has a goal to verify “stability”.

Sanity Testing has a goal to verify “rationality”.

Testing is done by both developers or testers.

Sanity Testing is done by only testers.

Smoke testing is a subset of acceptance testing.

Sanity testing is a subset of Regression Testing.

This is a wide and High Level testing.

This is a wide and shallow testing.

It is a well elaborate and planned testing.

This is not a planned test and is done only when there is a shortage of time.

Smoke testing exercises the entire system from end to end.

Sanity testing exercises only the particular component of the entire system.

Please refer the below video on complete video on Smoke and Sanity Testing:

No comments:

Post a Comment