Sunday, 18 October 2015

Smoke testing

Smoke testing is an end-to-end testing which validate the stability of new build by checking the crucial functionality of the application or software under test. Smoke testing is also known as Build Verification Test (BVT). The objective of smoke testing is to determine whether the new software build is stable or not so that the build could be used for detailed testing by the testing team and further work by development team. If the build passes Smoke test (build is stable) then build could be used by testing team and development team.  If the build fails Smoke testing (build is not stable) then the build is rejected to the development team to fix the build issues and create a new build.
 It is done towards the beginning of the testing cycle. It is first level of testing on a newly released build of application at testing team level to check the main functionality of the application and is performed before the detailed functional or regression tests are executed.
It is usually preferred when some minor issues with the application or software and a new build is obtained for testing after fixing of issues instead of full regression, a most crucial and important test cases is selected which is used to find issues in particular functionality.
Smoke testing is one type of integration testing because it involves end-to-end testing of crucial functionality of application or software without going into the finer details. Smoke test is scripted i.e. either manual test cases or automated scripts for it.
build verification test
                               Smoke Testing

Smoke testing is usually performed by testing team but in certain situations, it can be done by development team. When development team checks the stability, it is deploy to testing only if the build is stable.  In other case, whenever there is new build deployment to testing environment then the testing first performs the smoke test and depending upon the results of Smoke test decides to accept or reject the build.

Smoke testing plays a crucial role in Agile projects. Generally Agile projects have one build per day. But, few critical releases might have more than one build per day. As there as frequent build deployments in Agile, testing team needs to perform Smoke testing covering major areas of application without going into deep before starting detailed level testing. When a build with some functionality implemented or with some issues fixed is deployed to testing environment to check if the new build is stable and functionality is implemented correctly. Meanwhile this period, the development team implements some other functionality or fixes few more issues and deploy the new build in testing environment for testing.
When to perform Smoke testing:
Smoke testing is performed immediately after the new build deployment. It is the first test on the new build followed by other kind of functional testing, user acceptance and regression testing etc.
Advantages of Smoke testing:
  • Saves time and effort as major issues get detected early in the testing cycle
  • Saving effort and time leads to saving cost of testing the application
  • Improve quality as issues get identified and corrected early in software test cycle
  • Reduces the integration as end-to-end testing is performed 

No comments:

Post a Comment