Testing Patterns

bullet1 Test Cases may be

  • very detailed => reproducible
  • high level, leaving room for creativity => more bugs are found

Writing comprehensive, detailed, reproducible, understandable and user-friendly tests that are easy to maintain and to update belongs to the difficult (or impossible) tasks in a testerís life - these requirements are contradictory.

For example writing detailed and perfectly reproducible test cases will result in tests, which are difficult to maintain and which won't find new bugs, but may be useful for smoke, regression or acceptance tests - especially if these tests can be automated without much effort. On the other hand, tests, which are less detailed, focusing more on use cases and user tasks and presenting the idea and goal of a test instead of a step-by-step description, are easier to maintain and won't restrict the creativity of the testers - these tests will result in more detected bugs, but less reproducibility.

One basic problem of testing is that bugs that are predictable or "typical" can be avoided before testing starts. The unpredictable bugs that nobody has imagined before are the real challenge - and to write tests that help you to find them.