Most test cases are too shallow to catch real regressions. Here's how to write test cases that find the bugs that matter.