Test strategy isn’t easy. If you are facing the challenge of starting a new project and developing strategy, then I have bad news for you:
Every project is unique, there is no straightforward process for developing strategy, and much of what you will read on the subject is about test strategy documents rather than test strategy.
The good news is that developing test strategy can be fascinating and rewarding.
Test strategy can be described as consisting of two parts: situational analysis and strategic planning. These should not be confused with steps in a sequential process: you will often find yourself progressing each in parallel or jumping back and forth between the two. In this post I will focus on situational analysis.
What is Situational Analysis?
Situational analysis is, well, about analyzing your situation! It’s about understanding your context and in particular identifying those factors that need to motivate your test strategy. There are a number of resources that can help guide you as to the kinds of information you should be looking for when doing so: start with the Heuristic Test Strategy Model.
This model is useful, but without skill it is nothing. To use it well, you will need to be adept at obtaining, processing and using information. Here are some skills, techniques and a few tips that I’ve found helpful. Some of this might be useful, some of it not: you, your context and your mileage will vary.
If you’d like to add to the list, I’d love to hear from you.
Ask lots of questions
You are a tester: information is currency. To get information you need to ask questions, and be effective at doing so:
- Ask open questions to elicit information.
- Learn to love Kipling’s “honest serving men”.
- Ask closed questions to test your understanding.
- Encourage elaboration with non-verbal cues.
- Use silence, so that others have to fill it.
- Adapt, and follow promising leads.
- Know when to quit when a trail goes cold.
- Use “Five Whys” to get to causes.
- Use models, checklists and questionnaires to remind you of things to ask. Just don’t let them limit your thinking.
- Listen to what remains unsaid; be alert for the elephant in the room.
Testing is dependent on good relationships: the better your relationships, the better the intelligence you will gather, and the easier it will be when you have to share bad news (you’re a tester after all). You need to build relationships:
- Connect regularly, buy lunch or coffee, call “just for a chat”.
- Develop a genuine interest in people.
- Treat every interaction as an opportunity to learn.
- Treat every interaction as an opportunity to build shared understanding.
- Explore common interests and genuine differences.
- Be prepared to keep secrets, or at least declare when you can’t.
- Do random favours, asking nothing in return.
- Be prepared to ask for help, and repay your debts.
- Be honest, bluffing is for fools: never be afraid to say “I don’t know, but I can find out”.
- Learn to relate to other disciplines, how to talk to PM, Developers…
Use diverse sources of information
Not everything useful comes in the spec, and not everything in the spec will be useful. Search far and wide for relevant information:
- Use project documentation as a starting point not an ending point.
- Are there user guides, manuals, online tutorials?
- Talk to people who have used, supported or otherwise worked with the software.
- Visit the workplace and observe how it will be used.
- Google it.
- Is there a website?
- Is there a Wiki?
- Are people talking about it on forums, Facebook or Twitter?
- Ping your network; has anyone used anything similar?
- Has the software, or its competitors, ever been in the traditional media?
Absorb and synthesize large sets of information
You will probably be overwhelmed. To deal with learning curves that look more like walls, you will need to be able to deal with information overload:
- Learn to speed read.
- Set a goal for each reading session – look for specific things.
- Allocate some time for random facts.
- Look for things that surprise you, that run counter to the opinions you are already forming.
- Prioritize, but keep a list of things to come back to.
- Look for relationships, patterns and connections.
- Use sticky notes to cluster and rearrange facts.
- Keep a notebook handy: you may have insights in the most unusual places.
- Don’t just read it, model it: use mind maps, flow charts, context diagrams, decision tables etc…
- Get others involved in the process: they will see connections you can’t.
Learn and keep learning
Every project is different, and each one will present new challenges. Rise to this challenges by building an arsenal of skills:
- Be a magpie for every skill and technique you can find.
- Develop project management skills it’ll help you relate to PMs.
- You need to understand the interplay between scope, time, cost and quality.
- You need to understand how to use assumptions instead of simply making them.
- Learn some business analysis, coding and application architecture.
- Become as technical as you need to be.
- Learn to present and facilitate.
- Become comfortable at a whiteboard.
- Learn to read statistics, and to know when you’re being misled. Better yet learn to manipulate data for yourself.
- Pick up lots of analysis techniques: FMEA, SWOT, force field, the list goes on.