I read a great post by Aleksis Tulonen
Brainstorming Test Ideas With Developers and wanted to share it with you.
The ideas in the post provide a very efficient way to:
- increase the robustness and thoroughness of testing,
- prioritize among different testing ideas (both from a relative importance standpoint and from a relative timing perspective)
- surface new testing ideas that would not otherwise be considered
- provide some useful risk mitigation protection against the reality that "all models are wrong; some models are useful" problem
I'd suggest also scheduling a debrief with the same testers and developers a few weeks or months after the code was deployed.
At that time take a look at photos of the pre-testing Post It notes and a list of defects that slipped past testing and ask
- "what extra tests would we need to have added to have found these defects?"
- "what specific inputs did we forget to include?",
- would techniques such as pairwise testing have been beneficial?
- what areas did we spent a lot of effort on that did not result in learning much?
- what lessons learned should we incorporate for next time?
The idea of delibrately examining your software development and testing practices will be familar to those using agile retrospectives. The power of continually improving the development practices used withing the organization is hard to appreciate but it is immense. The gains compound over time so the initial benefits are only a glimpse of what can be achieve by continuing to iterate and improve.
Related: Pairwise and Combinatorial Software Testing in Agile Projects - Applying Toyota Kata to Agile Retrospectives - Create a Risk-based Testing Plan With Extra Coverage on Higher Priority Areas