Acceptance testing can be either development acceptance testing or deployment acceptance testing:
These can be broken down further into Release Acceptance Tests and Functional Acceptance Simple Tests.
A build acceptance or 'smoke test' that is run for each new build to verify that the build is stable enough to be tested further. Typically the tests in a smoke test suite will be entrance and exit tests, tests cases that check mainstream functions of the program with mainstream data. Copies of the release acceptance tests can be distributed to developers so that they can run them, ideally as unit tests, prior to delivery as a release candidate. If a build creates a failure of a release acceptance test then a new build should be requested at that point.
Run on each development release to check that key features of the program are appropriately accessible and functioning properly on at least one test configuration (preferably the minimum or common configuration). The test suite consists of simple test cases that check the lowest level of functionality for each command to ensure that task-oriented functional tests can be performed on the program. The objective is to decompose the functionality of a program down to the command level and then apply tests to check that each command works as intended. No attention is paid to the combination of these basic commands, the context of the feature that is performed by these combined commands, or the end result of the overall feature. For Digifonica PHP projects these tests are best set up as unit tests using the SimpleTest suite.
Positive test cases that are designed to verify program features by checking that each feature performs as expected against specifications, user guides, requirements, and design documents. Features should be organized in a list or test matrix and each feature should be tested for:
It is important to consider the systems to which the release candidate will be deployed. Often the configuration of the servers can be different from the development and test servers, although this is not recommended. Digifonica staging and production servers should be configured as nearly identically as is practically possible. Functional acceptance simple tests (such as the unit tests created in development) and task oriented functional tests should be run against the deployed package once it hits production.
Last modified June 07, 2006