Developing tests for re-use
- Create a test suite (or "module") and not simply a random collection
- Test, package, document, version, deal with errata
- State explicitly what versions of what specs the test suite addresses
- Indicate what portion of the spec each test addresses
- Do these tests apply to me? (I may not have implemented optional features)
- Provide data indicating how thoroughly the tests cover the spec
- How much confidence should implementors have if they "pass"?
- Do I need to augment these tests with others?
- Explain how to execute the tests and how to create a test harness
- Provide appropriate metadata
- Define expected results
- Explain how to interpret the results
- Report results in a consistent and useful format
- How should I interpret the results? Did I pass?
- If I didn't, what went wrong?
- Explain how to challenge the validity of a test or submit a bug report