Saturday, June 17, 2006

Checklist for Test Preparation

Listed below are questions/suggestions for systematically planning and preparing software testing.
  • Have you planned for an overall testing schedule and the personnel required, and associated training requirements?

  • Have the test team members been given assignments?

  • Have you established test plans and test procedures for

  • module testing,

  • integration testing,

  • system testing, and

  • acceptance testing?

  • Have you designed at least one black-box test case for each system function?

  • Have you designed test cases for verifying quality objectives/factors (e.g. reliability, maintainability, etc.)?

  • Have you designed test cases for verifying resource objectives?

  • Have you defined test cases for performance tests, boundary tests, and usability tests?

  • Have you designed test cases for stress tests (intentional attempts to break system)?

  • Have you designed test cases with special input values (e.g. empty files)?

  • Have you designed test cases with default input values?

  • Have you described how traceability of testing to requirements is to be demonstrated (e.g. references to the specified functions and requirements)?

  • Do all test cases agree with the specification of the function or requirement to be tested?

  • Have you sufficiently considered error cases? Have you designed test cases for invalid and unexpected input conditions as well as valid conditions?

  • Have you defined test cases for white-box-testing (structural tests)?

  • Have you stated the level of coverage to be achieved by structural tests?

  • Have you unambiguously provided test input data and expected test results or expected messages for each test case?

  • Have you documented the purpose of and the capability demonstrated by each test case?

  • Is it possible to meet and to measure all test objectives defined (e.g. test coverage)?

  • Have you defined the test environment and tools needed for executing the software test?

  • Have you described the hardware configuration an resources needed to implement the designed test cases?

  • Have you described the software configuration needed to implement the designed test cases?

  • Have you described the way in which tests are to be recorded?

  • Have you defined criteria for evaluating the test results?

  • Have you determined the criteria on which the completion of the test will be judged?

  • Have you considered requirements for regression testing?