The term “smoke testing” is derived from the tests conducted on hardware which detects if the hardware, in its initial phase, catches fire or smokes. In software testing, smoke test is done to detect if the software is stable and ready for being subjected to further in depth testing. Also known as the “build verification testing”, it is primarily used to detect if there are in problems with the important functionalities of the software in which case further testing would be a waste of both time and money.
Smoke testing is essentially done to create criteria based on which the QA would accept or reject the particular build of the software for further testing. It has many advantages like exposing various issues related to the integration of the various modules of the software which may have been introduced due to the code change. It helps in providing confidence that the code written or changes does not majorly affect the quality or workability of the software. Smoke testing also ensures that the problems that may have been introduced due to the new codes are detected early.
How to Perform Smoke Testing?
- As the procedure is related to the new codes written or changes brought about in the existing codes so it is important to be in contact with the developers to get a hang about the possible functional changes and interdependency changes brought about by it.
- A checklist is to be made to keep a track of all the changes that requires checking with the help of the process.
- Smoke tests usually points out the primary weak points of the software which prevent the software from working properly, hence a code review should be +done before smoke testing to get rid of the defects and faults of commission.
- It is performed with the help of pre written test codes or with the help of automated tools.
- Debugging should be done before smoke testing as it deals with only the functionality changes brought about by the changes in the code and should be done on a clean environment.
- Smoke test should touch all parts of the software and hence should be wide in coverage yet shallow.
- In depth testing should be avoided at all cost as the main idea is to detect if the testers are capable of conducting further tests on the software or not.
When to Perform Smoke Testing? Smoke testing should be done every time a new software has been created and the codes have been reviewed to check if the software is feasible for further testing procedure or for running, as a matter of fact. It is usually done in the initial phase of software development lifecycle when the software is not yet stable. Smoke test should be performed before the developers team releases the software to the tester and should be tested by the testers before taking the software ahead for further testing as it checks the crucial parts of the software to ensure that it is capable of running properly and that further testing is required. Smoke testing is essentially conducted in the acceptance testing, integration testing and system testing levels of the software testing lifecycle.
So that’s all you need to know about smoke testing and when the procedure is to performed and according to Microsoft it is the most economic method of detecting problems with the software. So it should be performed by everyone to avoid loss of capital in testing a software which is incapable of functioning normally.