Lacrosse and Testing
This year my son started playing lacrosse (I play as well, as does my daughter) and in a blatant attempt to share something I enjoy with him I signed myself up as one of the coaches. Having done a couple practices and found the need to come up with drills that at both teach them the skills and are keep them involved I’m realized there are similarities between teaching 3 and 4 year olds lacrosse and adults about testing. My guess is that this applies to other things as well.
First off, I’m more or less drank all the context kool-aid but would not go so far as to put myself down as a signatory (somewhat along the lines of recommending agile structures, but not Agile). That said, I consider the people leading the context movement to be some of the smartest people in our industry and most of their ideas are ones I recommend testers start to use once they get a bit of experience.
This is where the comparison to lacrosse comes in. One of the key skills to learn right away is how to pickup a loose ball. We teach this using the trap-and-scoop method; basically they put the pocket over the ball to kill it, then pull it back to put some reverse spin on the ball and then shovel it into the pocket when it pops up. Next year, the trap aspect will be removed and they will just scoop it. This teaches them to keep both hands on the stick and to get the stick close to the ground. If we started with just the scoop they kids end up just pushing the ball around the floor because the angle of the stick is wrong. Much later (6 or 7 years likely) the kids that stick with it will likely figure out the Indian pickup which is basically a chop with the stick in one hand which magically ends up with the ball in the pocket (I just send the ball careening off on an unknown angle when I try it…).
In testing, the boundry testing and equvilence classing (and their ilk) are the trap-and-scoop and session based exploratory testing is the indian pickup. Exploratory testing is largely about making a hypothesis, testing it then create a new one based upon what you learned. The weak point in this is the making of the initial hypothesis which is what books by people such of Rex Black help new testers. If you can look at a piece of software and have a list of the Risks that might be present, then it is time to dive into more complicated techniques.
Most new testers that I have seen in the last year or so of teaching introductory testing courses would just end up pushing the ball around if they were shown exploratory or other techniques associated with the context school but would be able to pick it up with ones associated with the factory school.