Acceptance Test Plan Template - Software Methodology
Your acceptance test plan document should have the following parts:
- Title page
- Change log - note that once your acceptance test plan has been approved by the TA, any subsequent changes must also be approved by the TA.
- Table of contents
- Overview - a brief description of the purpose of the document (to validate that the project meets its requirements), and a brief overview of the ordering and structure of the tests.
- Tests - a series of tests, with each step described in detail.
Each test must include the following information:
- Brief description of what capabilities are being tested ("this test will verify that the save game functionality works as described in requirements XX, YY, ZZ").
- Which requirements are being verified by this test. Your test plan will not be approved without this traceability information.
- Test preconditions - addresses concerns surrounding the state of the software prior to executing this test, such as:
- Does this test assume that previous tests have already been run?
- Does this test need the software to be in a certain state (e.g., to test game winning behavior, you need to win the game)?
- Does the software need to be in a special test mode?
- Does the software need to be running, or do the test instructions involve starting the software?
- Does any additional software also need to be running (such as a server, or specialized test equipment)? How can we determine that this additional software is up and running?
- Test steps. The specific instructions to follow while performing the test. Each test step must:
- Be individually numbered (i.e., with a document section number)
- Have an explicitly labeled location where a check mark can be made ("[__]") when the test step has been completed.
- Give either a detailed instruction ("Go to the File menu, and select Open") or a detailed observation ("Observe that the File... Open dialog box appears, and shows the contents of the user's home directory").
- Test postconditions - what operations must be performed to leave the software in the state expected by following tests.
Note that if your project involves significant amounts of randomness, you may wish to create an explicit testing mode, where random values are pre-assigned to ensure the behavior of the system is predictable in advance.
Last updated: 10/21/2002