Going for goal: Session-Based Testing
When introducing new testers to a Session-Based approach to exploratory testing, I often find that drawing an analogy with football can be very useful.
In football, each team takes to the field with one clear objective – to win the game by scoring more goals than their opponents. While there are some set structures that constrain how they go about doing this – the match lasts 90 minutes, they must abide by the rules of the game as enforced by the referee etc. – they can modify and adapt their approach to give themselves the best chance of achieving their objective.
This means that, during the game, each player is free to deploy their skills however they see fit. They practise these skills – passing, shooting, tackling – and they use their previous experience and their knowledge of their opponents to help them to decide, dynamically and in the moment, what will give them the best chance of scoring a goal, or preventing one.
Of course, the best teams strike a balance between players’ individual skills to do what they do best – and what is best for the team to get the result. That means that they approach the match with a strategy or a set of tactics that each player understands and will largely operate within, meaning their individual efforts are guided in accordance with a bigger picture view of what the team is trying to achieve.
A Session-Based approach to exploratory testing is remarkably similar.
Each test session is equivalent to a football match in that it will have one clear, overarching objective – known as a charter. Like a football match, there will be set structures to work within – you’ll set a time for the session and there will likely be technical or environmental constraints that will give some definition to what you can or cannot do when testing.
However, like the footballer, the skilled tester should practise and hone their skills. They should have a range of different skills that they can, during the session, deploy to help them best achieve the objective for that session. Similarly, they too can use their previous experience in testing to help them decide, dynamically and in the moment, what will give them the best chance of finding useful information.
Of course though, the best test approaches won’t just deploy a series of random sessions. They will use, like a football team, an overarching strategy or a set of tactics, to guide what they test and how they test. Where do they spend the effort looking for potential problems and, when performing the session, how best to do so? The identification of sessions and charters – and the testing that occurs within them – are guided in accordance with a bigger picture view of what the team is trying to achieve.
This is a nice, simple way of communicating some of the ideas that can make Session-Based Test Management an effective test approach, allowing ourselves a structured flexibility to deploy our skills as and when they’re most effective.