Definitions @ Testing Associates |
#1.
Smoke Testing
Overview
Smoke Tests are meant to validate the builds before QA team takes up detailed verification and validation of new build. Smoke testing plays an important role in the Continous Integration process.
Following document describes what smoke testing is and how Testing-Associates intends to perform, deploy and report smoke testing.
Definition
"Smoke Testing" refers to the first test made after a clean secondary build. The intention is to provide some assurance that system under test will not catastrophically fail. After a smoke test proves the software will not crash outright, it is accepted for more robust testing. This test is viewed as a "shallow and wide" approach to testing the software.
Smoke testing provides functional testing of major areas without going too deep, looking for answers to basic questions:
1. Do all basic work-flows function as expected?
2. Does the server crash?
3. Can I log in to the application?
4. Can all the page be served without errors
There is no need to get too deep into testing boundary conditions or to perform a deep dive on business flows. If you get a "No" answer to these basic questions, the application is effectively untestable.
Because of the wide variety of applications features, this definition is necessarily general definition. Each project will have to decide what qualifies as smoke testing for themselves. However, in light of the Continous Integration, certain aspects should be kept in mind while qualifying test as smoke tests:
1. Are the smoke tests automatable?
2. Can the identified smoke tests can run on various environments quickly and easily?
3. Do the smoke tests run quickly enough for their results to be relevant for day-to-day development and testing activities?
What Smoke testing is not
On the last of these questions, it is important to note that smoke testing is not full functional, integration or regression testing -- it is a subset of these types of testing. These more robust tests will be executed against the same secondary build at a later stage. With this understanding, smoke tests can remain shallow and wide with their execution time correspondingly short.
Importantly, smoke testing is not synonymous with acceptance testing. Some teams may choose to use their smoke tests as a gate to begin manual QA testing, while others may require additional acceptance tests prior to beginning manual work.
|
|
|
|