The method of smoke testing is generally used for shrink wrapped softwares. These are those softwares which are pre packaged for sale to many i.e. in contrast to custom made softwares. MS word is an example of pre-packages software. This method is used by the software developers for those projects which are time bound so that they can check the working of the software during the various stages of its development.
The method of smoke testing is inclusive of a number of points as stated below:-
1. "Build" consists of a numbers of small programs which are written in codes and are integrated together. All data files, sub modules, libraries etc which are necessary for the functioning of the product are included in the build.
2. A collection of tests are performed on the system to detect the errors and check its functionality. Stress should be given to detect those errors which can stop the system from functioning further.
3. A number of "builds" are integrated together and the whole software is smoke tested.
The users of the software can get a real view of the integration testing progress by frequent testing. McConnell explains the method of smoke testing as follows.
The method of smoke testing need not be extensive or meticulous but it should be able to test the whole software and find the "show stopper" errors. There is no need to go in the minute details of the programming till the time the entire software clears the smoke test. Once the integrated software clears the test, finer details can be looked at.
Smoke testing has a number of benefits when it is used by the developers of the complex softwares and also by the developers of those projects which are time bound.
? The daily application of the smoke test reduces the chances of "show stopper" errors and other incompatibilities between the various programs which are the part of the main build.
? The quality and functioning of the developed software is improved as functional, architectural and component level design defects are found earlier.
? Errors can be found easily by applying this test as this test is the easiest way of detecting the errors which might have occurred due to the addition of some new program in the main build.
? The progress in the development of the software can be estimated easily by applying this test. The working of the software on addition of each successive program to the main build boosts the confidence of the team and gives the manager an idea about the work being done.