3.6. You Can't Do It All: Deciding What Not to Do
As a final note on test cases, let me revisit a point made in earlier chapters: as much as it pains me to do so, I must make choices about what I will and won't test. With luck, I can get others to help you make those choices, thereby making my life easier and providing you with some political cover at the same time. (External support for my test goals, and the management backing it brings, is something I can't have too much of.)
Nonetheless, at times I have to make tough decisions. On most projects, eventually, someone asks me whether, in my professional judgment, a feature needs to be tested. What they are asking me is a question about bug coverage: "Do you think we will find critical bugs in this if we test it?"
There is no magical heuristic that will prevent me from making the wrong decisions. Hard choices are hard because no solution is obvious and the stakes are high. When faced with these types of choices, I approach them with an open mind. I question my assumptions about what "has" to be tested. Why do I feel that way? I trust my gut, but I confirm my intuition. Then I talk it over. I ask my test team what they feel is essential, and why. I consult test stakeholders, peers, and colleagues. I quiz my development associates on the project. I review any pertinent references in books and articles.
After going through the exploratory process with an open mind, I make my decision. I document what I intend to keep and what I intend ...