Software testing has come a long way. We have more than thirty years of experience with software testing. The world turned around in that time period. Depending on who you listen to, there are various opinions on what to learn about testing. Thinking about testing and learning, I am aware that there are different learning methodologies, and preferences. Nonetheless, I think the topic of testing can be split up on three general skill-levels that have brought me value: beginners, practitioners, and journeymen. Let’s see what’s in for you on each of these.
In my book, testers new to software testing have the beginner’s mind. They are fresh, energized, and passionate about learning about this new shiny topic in their life. At this point beginners learn everything, and they need to since they are not yet skilled in their new position.
That said, they should work together with experienced testers, sitting on the same desk, working and reflecting together. The more experienced tester should debrief the beginner early and often. In this early state I learn best by watching others doing it, and taking on tacit knowledge. Additionally they be coached by the more experienced testers in their new profession.
The beginner’s mind is best at getting familiar with the different aspects of testing. Test design, test execution, and test related learning about the product in this stage are very open, and testers will receive a lot of impressions about testing. It’s crucial for the beginner’s mind to get familiar with the new work.
As practitioner you already have a large amount of knowledge about testing. In your beginners days you learned all you needed to get familiar with the job, and to know the “ways of work” at your new workplace.
At this point, the practitioner is well-prepared to share her knowledge with others, and learn from others, and exercise new things. At this point, you should go out, and reach out to the greater community. Visit public Testing Dojos, testing challenges, expose yourself in local user groups, and tester conferences. You might also want to start a blog on your own, and expose your experience in a more written way to the outside world.
But be aware that you should seek to expose your story about testing, and try to gain new inspirations about additional things that might be worthwhile to try out back at your desk. Don’t try to take those new things too seriously. Try them out for some time, and adapt what works, and stop doing what doesn’t, or is no longer needed. Over time you will build your own testing knowledge, be able to train and coach beginning testers, and reflect with other colleagues.
Also, you should dive deeper into topics that don’t seem related to testing at all. That probably starts with programming knowledge that can help you simplify things during your daily work, and goes beyond. Dive into management topics, into systems thinking, and other areas that will help you notice and evaluate your current situation, and make more-informed decisions about adaptations that mitigate some of the liabilities that you experience.
As journeymen you have learned a lot about what worked in the past, and what could be adapted to improve your situation from the outside world. You are now ready to dive deeper. Now is the time when you should read about the standard methodologies about testing out there. Now is the time when you have enough experience, and an adaptable mindset about additional things. You are ready now.
Ready for what? Ready to face the literature that is out there, and question it in a constructive way. With that background knowledge of testing experience, you are able to evaluate better what sounds like theoretical crap, and what could actually work. You are now able to question the bodies of knowledge and standards that you are exposed to. You are now in the situation to have a professional network of other great testers that can help you challenge the teachings out there.
The journeymen among you, though, might find out that they need to step up, and change their organization or change their organization. At some time, they might leave their first job, onwards to greener pastures, and gain more experience there. That holds especially if you find out that in your workplace you are not delivering any value to your colleagues and your company with the practices that you learned as a beginner.
Adaptation and improvisation
Most of traditional testing lessons focus on practices from a theoretical background. I remember one guy telling me that he went to a traditional testing class. He found out that the methodology he learned there was too bloated for his particular environment. So, even though he got the cert, it was a waste of his time.
I can resonate with that (and probably wasted a lot of people’s time by giving training classes on my own). Anyway, I think we should stop teaching testers practices that they might or might not need. Instead we should focus more on teaching testers how to evaluate their situation, and make useful improvements to their work where it’s appropriate.
Then the hardest part will be to create an environment where testers can make necessary adaptations. They should have the empowerment to change their ways of work, and adapt new practices as suitable to their situation. To me that involves moving from test management where managers pick the practices for the ones who do the work towards test leadership where the leader provides the environment where testers can contribute, and improve, and shine. As a group of testers with well-intentions we can leverage the full power of our combined brains to improve how we do business. As a profession that will make us more powerful and influential.