Catching up on my backlog of ‘This American Life‘ podcasts recently, I stumbled upon an episode devoted to one of life’s great mysteries: ‘Why do people make the wrong choice, when the right one is staring them in the face?’
While this episode looked at some of life’s bigger decisions such as love, politics and sport, it also prompted me to think about other annoyances, such as why people don’t always test their software thoroughly, when surely the rational approach is to:
- systematically define all possible test cases
- identify a wide range of data covering normal and exception conditions
- execute the tests whenever changes are made
- again, and again, and again…
And of course, that’s the reason—it can be extremely time consuming to plan and execute a full test suite repeatedly whenever changes are made, and for those of us not working in safety critical or highly regulated industries, we need a way of balancing the need for efficient testing with the risk and impact of failure.
Google’s engineers have developed an interesting technique called the ‘10-minute test plan’ which focuses testing around the Attributes, Components and Capabilities of the system. For example: the attributes might be ‘fast’ and ‘secure’; the components might be a weighbridge interface or image rendering engine; and the capabilities might be detailed actions the system can perform (typically the use-cases for the system).
To these elements, Google adds consideration of risk—impact and frequency of failure—to allow prioritisation of the test cases and ensure there is enough coverage of the application.
To address the issue of repeatability, Microsoft has been actively improving support for automating testing in the later versions of MS Dynamics NAV. NAV 2016 now includes the test automation suite, with new features such as testing tools, standard test libraries and test coverage maps.
This should have enormous benefits for NAV partners and users in the future—provided of course, they make the right choice.