The name is interesting in itself. Ever wondered why smoke testing?
Well, the term 'smoke testing' originates from hardware testing technique. In hardware testing, a newly prepared hardware circuit is tested to check if it sets ablaze for the first time it is powered on. If the hardware does not catch fire, it conveys that the hardware has passed the test, else if we encounter smoke or fire during that test session it means the circuit is not fit for any further progress. Hence the term smoke testing.
So talking about smoke testing in the context of software applications, the purpose of such a test process is to ensure whether the application already under test, is efficient enough to pass through further levels of testing. Test cases are prepared to carry out the preliminary litmus tests on an application before passing it on for further testing.
Smoke Testing Checklist:
The first step is to create system and acceptance tests.
Begin with the acceptance test creation process by determining the test team for carrying out the tests.
Draft a work plan and devise a relevant test approach for the same.
It is to be ascertained whether test scripts meets requirement specifications, which is to be demonstrated to the end user.
To keep a track of the activities, a test schedule needs to be maintained that includes the manpower and all other resources to be used in the process of testing.
Finally execute the acceptance test.
Once acceptance test is on the verge of completion, it is time to begin with system testing. Preliminary steps for system testing remains the same, the rest of the steps follows as mentioned below:
Determine the various requirements for all the required resources.
Identify the tools to be used for smoke testing.
Analyse data requirements.
Create a test approach which will help in achieving the final objective.
Review the existing test material. Create a complete list of test items.
Identify and analyse carefully the designs, conditions, processes etc.
Identify the various conditions to be used in white-box testing.
Identify all functional requirements and end the process of inventory creation.
The next consecutive step is creation of test cases.
The process of test case creation should be based on list of test items.
Identify the different types of functions and group the test cases as per the business functions.
Review business functions, test cases and data sets and get approval to end the process of test design, from QA or Project leader.
End test case creation.
Commence with test preparation by gathering necessary resources.
Outline the expected results for each test case.
Assimilate test data and validate the same for respective test cases.
Prepare documentation for the procedures adopted in the environment used, including backup and recovery plans.
As and when the phase of test preparation is over, begin with system testing.
Implement the test scripts and compare actual and expected results to find out deviations, if any.
Identify if there is any issues with the document. Prepare a report for the same mentioning the problems.
Prepare a maintenance phase.
After the problems are fixed, test cases should again be executed to ascertain that the same issues are repeated again.
After the complete set of activities are over, prepare a final test report listing the bugs that have been caught throughout.
Conclusion:
A smoke test is essential in order to prevent occurrence of any defects/failures in next consecutive steps. Smoke test lessens the burden of test engineers from getting trapped in any unforeseen circumstance.