I’ve been doing a lot of reading around testing for a good couple of years and I’m only just starting to get some clarity around the issues which face us as testers. When I read about testing I come across material which details ways to go about resolving problems, usually in isolation, and very rarely do they appear to tie up with other problems which is where it can become difficult to understand how all these models or techniques can come together.
For example
this post highlights two solutions to two problems and is one of the few examples of articles I’ve seen which link the two and show how they overlap.
Problem 1: You don’t know what to test, or how the program works, or what to test first
Solution 1: Use a mnemonic, or an application tour
Problem 2: How do you transform those tours in to tests?
Solution 2: You apply oracle
Result: Provide the tester with the tours, or mnemonics and the possible oracles, and they can start to test a system using their own brain, rather than a prescriptive test.
Problem: It’s dangerous to assume that a tester understands all the problems detail above:
- I can’t test everything
- Hold on, what is everything?
- Ok, how do I now choose what to test?
- Sometimes I won’t know where to start
- Sometimes I won’t know whether I’ve got a problem or not
In my experience I worry that tester training is somewhat disjointed and we don’t do a very good job of educating new testers on the key problems which face testers, and the techniques which they can use to solve those problems. Is it that we teach new testers how to run the tests, rather than how they think about what tests they need to run, and how they decide if those tests are problems which need escalating. Is it that we teach the solution, which is often inflexible, rather than how to think of a solution, which is infinitely more flexible?
The AST Black Box Software Testing Foundations course , along with some of the reading I’ve recently done has highlighted to me some inadequacies in how I’ve seen testers trained, and how I’ve been trained previously, which makes me want to further understand what kind of knowledge / understanding any tester should have before they pick up a mouse and start testing on a project.
Therefore, I’d be interested on hearing how other teams train new testers or what wisdom / reading experienced testers look back on as material which provided them with clarity on what it means to be a tester, and the techniques we can use to overcome the problems we’re exposed too.
Finally, apologies for a fairly unstructured blog, free time + energy on topic = blog!