Stronger, Faster Quality with Simple, Focused Checks
Manual testing and programmatically driven quality measurements are both very important for software quality. However, they are each good at very different things.
Please notice that I’m avoiding the word automation here; there’s good reason for that. Similarly, the liberation from assumptions that programmatically driving quality measurements should be like manual testing in any way opens up new frontiers in productivity for managing quality and risk for your software project.
Imagine focusing on prioritized business requirements at the software layer closest to where those business items are implemented (if allowed by product architecture). Writing just one check—that is, a programmed verification—per business requirement makes for simpler, faster checks.
This is the first reason I created the pattern language MetaAutomation: to highlight more effective techniques to programmatically measure and report on the quality of the system under test.
MetaAutomation has five patterns, similar to patterns in programming but with a well-defined dependency order. The least dependent pattern of the MetaAutomation pattern language is Atomic Check. This pattern shows specific techniques, such as avoiding extra actions and verifications and focusing on one behavioral requirement of the system under test per check, to create a focused verification, or verification cluster, on an item of business logic. There are no verifications other than the target verification, i.e., the target of the check, and whatever check steps are needed to get to the target.
Simple, focused checks run faster and contain fewer points of failure. Atomic Check also describes how to make the check independent of all other checks, so running your set of checks will scale across resources and your selected set of checks can be as fast as you need them to be.
Atomic Check creates an artifact of the check run in strongly typed and pure data, e.g., a grammar of XML, which enables wonderful things like self-documenting check steps with pass, fail, or blocked status in the results.
This increased analysis and fast, clear communication supports stronger, faster quality around the team.
Matt Griscom will be presenting his session MetaAutomation: Five Patterns for Test Automation at STARWEST 2015, from September 27–October 2 in Anaheim, California.