The Fundamentals of Software Testing for Amateurs, Professionals, Novices and Experts. Welcome to the Glamorous World of Software Testing. Jim Morrison said, "Let's just say I was testing the bounds of society. I was just curious."

Smoke Testing

Smoke Testing Definition, Example

DEFINITION

Smoke testing is a type of software testing that comprises of a non-exhaustive set of tests that aim at ensuring that the most important functions work. The testing covers most of the functions of the software but none of them in depth. The result of this test is used to decide whether to proceed with further testing or not. If the smoke test passes, go ahead with further testing. If it fails, halt further tests and ask for a new build with the required fixes. If an application is badly broken, detailed testing might be a waste of time and effort.

Smoke test helps in exposing integration and major problems early in the cycle.

Smoke testing can be conducted on both newly created software and enhanced software.

Smoke test is performed manually or with the help of automation tools/scripts.

Smoke Testing

The term ‘smoke testing’, it is said, came to software testing from a similar type of hardware testing, in which the device passed the test if it did not catch fire (or smoked) the first time it was turned on.

As and when an application becomes mature, with addition of more functionalities etc, the smoke test needs to be made more expansive. Sometimes, it takes just one incorrect character in the code to render an entire application useless.

EXAMPLE

A build is generated for a desktop application with the fixes 1, 2 and 3. Smoke test is run that includes the following:
  1. Basic Installation
  2. Function 1 and 2 of Module A
  3. Function 1 of Module B
  4. Function 5 of Module D
The functions and modules above are selected on the basis of criticality.

If any of the items mentioned above fails, the build is rejected. The verification of the fixes 1, 2 and 3, and regression test is done only after the smoke test passes.

LEVELS APPLICABLE TO

Smoke testing is normally used in Integration, System and Acceptance Testing Levels. The tests can be run by developers as well as testers or clients. For instance, the developers can run a smoke test before providing a build to testers. Or, the testers can run a smoke test before accepting a build for further testing.

Smoke testing assesses the level of stability. :-)


PROBABLY RELATED POSTS



0 comments:

Post a Comment

Software Testing Fundamentals is dedicated to providing you relevant information on the basics of various aspects of software testing. The field of Software Testing, as opposed to Software Development, might not look glamorous to some but it is exciting to many of us and this site is devoted to share that excitement along with valuable information. Most of the articles here are compilations from various resources and experiences. In no way do we claim that we are the authoritative voice in this field and all our articles are open for discussion (See the open comment boxes). We advise you to apply the knowledge gained from this site at your own discretion. Nevertheless, we are committed to thorough research and we always welcome your contribution. And, of course, we will appreciate your reporting of any defects or enhancements you encounter on this site.