This article will give you, the test manager (or the diligent tester ;-P ), a checklist that you can use to help you in the planning of, execution, and monitoring of testing.
Please feel free to build on this checklist in the comments below to make it fit your specific needs.
- Read up on the documents that constitute the basis of your testing work, such as requirements and design documents.
- Review documents such as requirements documentation.
- Determine what you will test, preferably by setting up a workshop with the test group as participants.
- Formulate a test strategy describing the activities that are possible and worthwhile to implement.
- Adjust the test strategy, in discussion with your client(s), so that you can plan testing with the right level of effort.
- Choose a defect management tool and determine who will be responsible for it.
- Establish a defect management routine. A common way is to use a CCB (Change Control Board). This group will regularly go through found defects and decide whether each defect needs to be corrected or not.
- Conduct a workshop to identify risks related to the testing process.
- Decide what criteria need to be satisfied in order to start and conclude testing. Also specify the conditions that determine whether to halt testing if major problems arise, and criteria for resuming tests when the problems have been corrected. Hopefully you won’t need to use them, but it’s better to have thought about these criteria before they’re needed. Document these criteria in the test plan.
- Write the test plan.
- Create test cases.
- Divide the test cases into test runs that define the order in which tests will be conducted and by whom.
- Develop checklists to supplement the test cases.
- Plan how exploratory testing will be used. What tools will be used, when and by who?
- Plan how ad hoc testing will be used. For example, structured tests will be run first, and supplemented by ad hoc testing if time allows.
- Plan how test data will be used. If necessary, order test data.
- Prepare the test environment.
- Order equipment for the test environment.
- Appoint testers.
- Create user accounts for the testers.
- Inform the testers about the overall testing approach. Examples of things to tell them include: the test plan, how to report defects, relevant schedules and deadlines, and who needs to be present during various tests.
- Determine how and when new system releases will be delivered to the test environment.
- Determine who has decision making authority in which areas, and document it in the test plan.
- Get the test plan approved by the person who ordered the testing work, for example, the system owner or project manager.
Before test execution starts
- Check the results of previous test levels to get a sense of which tests have already been conducted, and their results.
- Ensure that the starting criteria in the test plan are met.
- Distribute test cases to the testers, based on test runs for example.
- Go through the test cases with the testers at a high level, so that they understand what their responsibilities are.
- Collect weekly reports from the testers. It’s useful to get all the reports in a consistent format, by using the same headings for example. Suggested headers for weekly reports might be “Completed last week”, “Scheduled for this week” and “Issues/problems”.
- Provide a weekly report to the person who ordered the test work. Use the weekly reports from the testers as input.
- Review the results of the test with the client on a regular/ongoing basis.
- Keep a log that summarizes the results of the work on a day by day basis. The log can either be written by the person executing the test or by the testers.
- Follow up on defects the testers identify.
- If you are finding a lot of defects or the defects you find are serious, set up a special meeting with the client.
- Summarize the test log and the testers’ weekly reports in order to write your testing report.
- Compile metrics from your defect management tool. Sample metrics might be the number of defects, summarized by priority and severity.
- Write a test report that includes specific, action-oriented recommendations to the client. Examples include “launch into operation,” “proceed to the next test level,” or “continue testing an additional X weeks/days.” Include metrics, summaries of test results, and a list of remaining tasks if applicable.
- Hold a workshop with the testers to elicit and record their experience from the testing work.
And what else would you add to this checklist? Did we miss something crucial? Feel free to add it in the comments below!