Achieving expertise as a tester is a progressive journey. It helps to have a vision to guide your efforts. James Bach, a well-known name in software testing, shares his vision of expertise and provides a testing challenge for those aspiring toward expert status.
One of the paradoxes of hiring good entry-level testers is that some of the very people who are good at finding fault, find so much fault with themselves that they assume they are unqualified to be testers. We never see their resumes.
What we're left with, a lot of times, are candidates who are overconfident in their ability to find good bugs. The same holds true for conference speakers. I've met dozens of interesting people at conferences who have helpful advice and interesting experiences. But when I encourage them to get up and speak or to write an article, most of them say, "Well, I'm not an expert. I don't know the right answers. I haven't read all the books." Valuable insight thus remains bottled up inside the self-skeptical minds of many excellent testers, while too many people who do speak and write could stand to put their ideas through a little more testing.
I fancy myself a good tester. I could be wrong about that. Ask me in another fifteen years. What I know as the truth is that I am working toward expertise. How do I keep myself moving along that path? A vision helps. For all of us who aspire to expert status, we need a vision of expertise that stirs our hearts and sets a high standard, yet seems achievable in one lifetime.
A Personal Vision
I can test anything, under any conditions, in any time frame…
This may be a nice start. The problem is that it's not achievable. For instance, if people don't like me, or have a different view of what good testing means, then I will not be able to perform well on that project. If I don't understand enough about the technology I'm testing, my test design will be weak. If I don't try very hard, I will do mediocre work. So, this vision needs a few qualifiers.
…to a degree relative to…
- my standing in the local process culture
- my knowledge of the relevant technology
- how much I want to succeed
That goes a little way toward making the vision more realistic, but it still seems overreaching. Where is the quality standard? After all, I can do anything, as long as I'm allowed to do it badly. How could you be true to this vision, and test well, if someone asked you to test a nuclear power plant in five minutes? To deal with that problem, let's add some more specific assertions about expertise:
- I perform at least as well as another expert would
- I deliver useful results in a usable form
- I choose methods that fit the situation
- I make appropriate use of available tools and resources
- I collaborate effectively with the project team
- I can explain and defend my work
- I can advise clients about the risks and limitations of my work
- I can advise clients about how my work could be even better
- I faithfully and ethically serve my clients
- I become more expert over time
Now the vision is within the realm of possibility, even though it's quite a challenge.
In this view of expertise, "I can test" really means "I can perform well as a tester." This is measured by a human standard: the behavior of the best experts we can find. With that standard in mind, how would experts react to the problem of testing a nuclear power plant in five minutes? Answer: the people I most respect would begin by invoking one of the great tools of testing-questioning the constraints of the problem. The best five minutes of tester