It's clear that even simple use cases can drive a significant number of test cases. For many applications, testing all use cases at this level of thoroughness, at least for each successive release, may not be feasible . In higher assurance systems, however, it is likely that every specific test case not only will be identified but also must be rerun on every subsequent software release. Without tooling, this becomes a significant effort; with proper tooling, the effort is more manageable. Here are a few simple guidelines to help you think through this part of the testing challenge.