[Previously on the Ministry of Testing, Nov 2014 – now only on the Web Archives]: About Closure
When I’m in a testing activity I want my test cases [Passed], my user stories [done] and my coffee [black]. Stuff may have a start point, some states in between and an end state. Lets look at ways to represent states and articulate the meaning of states.
One way to illustrate status about the product being tested is to model the activities we have with states. An agile user story may be [ready], [in progress] or [done]. A document may be [final], [approved] and a mind map may be iconified etc. States are so common that we sometimes forget the theory behind the model, and what benefits we have from the theories.
The representation of closure
For instance we can look to computer science graph theory to help us understand and control the states diagrams. It is the same graph theory that brings us state machines and state-transition diagrams, but that is another story . In a graph theory state model we want one unique start state (Like [To do]), and one unique end state (like [passed]), everything in between is intermediate.
A (single) end state helps prevent the state machine from going on forever , and us from going on forever too. [Deferred] and [Rejected] are temporary states to me. Setting [Rejected] back to “detected by” will aid that the tester reflects on the reasons. The reasons are then tested (in the brain). Sometimes it’s a “my bad” but quite often also the tester finds that issue is simply not “rejected” with more data and examples.
The understanding of closure
Similarly the agile “Definition of Done” and “Definition of Ready” helps the agile team phrase when the task is to change state, sometimes it’s explicit, sometimes it’s implied. The understanding of terms (the semantics) are usually more imperative than the syntax (the rules and representation). Sometimes it’s necessary to “connect the lines”.
There are a two related psychology theories on closure. One is the Gestalt law of closure – that is that we tend to self-organize items into an orderly structure. As the image above isn’t really about triangles – it’s about our human tendency to connect the dots. The other psychology part is the desire to close stuff to gain controllability:
The need for closure is the motivation to find an answer to an ambiguous situation. This motivation is enhanced by the perceived benefits of obtaining closure, such as the increased ability to predict the world and a stronger basis for action.
Management and stakeholders often want a “firm and unambiguous” answer from our testing investigations. And this is often the business justification for setting states to our work products; that we have states to illustrate work progress in. Sometimes loose representations and a strong shared understanding goes well, sometimes a more strict representation and elaboration is required.
The syntax of states may be easily explained and codified (and checked), while the semantics and perception is less direct – and needs analysis (and testing). All work products (even for mind maps and test charters) have states and we must articulate both the syntax and the semantics to the team and stakeholders.
- Graph theory http://en.wikipedia.org/wiki/Graph_theory
- Fell in the trap of total coverage https://jlottosen.wordpress.com/2012/11/05/fell-in-the-trap-of-total-coverage/
- Finite state machines http://en.wikipedia.org/wiki/Finite-state_machine
- A Track down History
- definition of done https://www.scrum.org/Resources/Scrum-Glossary/Definition-of-Done
- definition of ready http://guide.agilealliance.org/guide/definition-of-ready.html
- Law of closure http://jeremybolton.com/2009/09/gestalt-design-principles-the-law-of-closure/
- Closure (Psychology) http://en.wikipedia.org/wiki/Closure_(psychology)