In Australia, the black stump is a metaphor or the edge of European civilisation., an imaginary beyond which point at the country was considered remote and unknown. (Of course that wasn't true it was the home of a civilisation that was thousands of years old).
There’s a whole lot of value of testing what we know. It helps create a mental model of what the system does. We can start making sense of what the system is supposed to do and how people want it to behave. It’s a useful building block to help us better understand.
If we’re looking for new knowledge about how our system behaves in uncertainty, then we need to look beyond the black stump. Boundary Testing is one way we test beyond what we know. Here are some other ways:
- perform the same action multiple times (in rapid succession)
- load the system with data and then test
- send ‘invalid’ data through a system
- reduce the memory, diskspace, bandwidth
- turn on logging to maximum capability
- Perform a sequence of crazy ‘no user would ever do that’ actions
- Combine these tests with other tests
You can apply these ideas beyond your ‘product’. Infrastructure is a vital part of product delivery. So how would your pipeline cope in these situations? What if your system went down and couldn’t release. What if every developer went to commit at the same time?
Do you have a favourite black stump test?
If you liked this post, here's something similar.