Checklist for Test Preparation

This document contains questions for systematically planning and preparing software testing.

  1. Have you planned for an overall testing schedule and the personnel required, and associated training requirements?

  2. Have the test team members been given assignments?

  3. Have you established test plans and test procedures for
  4. Have you designed at least one black-box test case for each system function?

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

  6. Have you designed test cases for verifying resource objectives?

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

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

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

  10. Have you designed test cases with default input values?

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

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

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

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

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

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

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

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

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

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

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

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

  23. Have you defined criteria for evaluating the test results?

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

  25. Have you considered requirements for regression testing?


Literature:

Fairley, R.E.: Software Engineering Concepts. McGraw-Hill Book Company, New York 1985.

Gilb, T.: Principles of Software Engineering Management. Addison-Wesley Publishing Company, Workingham/England, 1988.

Sommerville, I.: Software Engineering. 3rd Edition, Addison-Wesley Publishing Company, Workingham/England, 1990.