[This short article is adapted from Rex Black and Jamie Mitchell’s soon-to-be-released second edition of Advanced Software Testing: Volume 3, a book for ISTQB Advanced Technical Test Analyst candidates and other technically oriented testers.]
Technical test analysts have a role in defining, applying, and maintaining design and code review checklists. Why are checklists important? For one thing, checklists also serve to ensure that the same level and type of scrutiny is brought to each author’s work. There can be a tendency of review participants to defer to a senior person, and thus that person’s work, when in fact everyone is fallible and we all make mistakes. Conversely, a less-senior or more-insecure person might feel threatened by the review. Regardless of the individual author and his or her skills, there is nothing personal about locating potential problems and improvements for their work from a checklist. The checklists serve as a valuable leveling and depersonalizing tool, both factually and psychologically.
More importantly, though, checklists serve as a repository of best practices—and worst practices—that can help the participants of a review remember important points during the review. The checklist frees the participants from the worry, “What if I forget some critical issue or mistake we’ve made in the past?” Instead, the checklist gives general patterns and anti-patterns to the participants, allowing them to ask instead, “How could this particular item on the checklist be an important consideration for this work product that we’re reviewing?”
Read this article → (PDF 312 kB)