I am asked to do a talk at a test consultancy company. To prepare for this talk I want to share my thoughts with you. Hope you can challenge me to rethink or sharpen them.
As a test consultant I have worked for numerous companies and have met or worked with hundreds of testers. A lot of them claim that they are great testers. But are they? I think a lot of testers maybe aren’t that great…
Being a great tester takes a lot of practice. I like this “Becoming a Software Testing Expert” talk by James Bach a lot. The video by the way can be found here. And I see a lot of testers do not study their craft or read books about it. They do not learn or experiment at all. As a matter of fact they claim that they improved by doing their job: after years of doing my job I have a lot of experience! But as James says in his slides: “Don’t confuse experience with expertise”
In this post I like to address three topics what I have experienced that could be helpful become a better tester:
1) Adapt to the context
3) Learn & practice!
Everthing is context, context is everything!
Testers in the Netherlands are often trained with the V-Model and methodologies like TMap, TestFrame or ISTQB. Although I do not agree with everything they claim, there is “nothing” wrong with these test methodologies. Not if you don’t take them literally and see them as a practice. We need to become more “agile” in using these methodologies. Since the value of any practice depends on its context. Testers should to be able to adapt to changing situations. Doing so they are able to provide the most value to their stakeholders. Testers should focus on their skills instead of focus on procedures and processes.
Being passionate is contagious! By being passionate you will get your team test infected. Showing your testing skills can help the others in your team. My experience is that even developers will participate in testing if you can show them your skills. They love to build handy test tools and automated scripts which can help the team being more effective in testing! Start using your testing skills and teach others to do better testing. Testers should teach their team members how to test better! I like the way Gojko Adzic descibes it in his presentation “Sleeping with the enemy“: our role in teams will change: from testing everything ourselves, we will also be advisers in our projects. Ensuring that the team does the testing right. Our value is getting the testing right. Of course we’ll still be testing ourselves, the critical, complex testing will always be our job. In exploratory testing or paired testing we can demonstrate our testing skills. Good software testing is a challenging intellectual process.
Times are changing and so is the way we do projects. Collaboration is the key in becoming more effective and efficient in testing. Software development is a team sport: people, working together, are the most important part of any project’s context. So why do we introduce lots of test levels and quality gates? Separate the different disciplines in our projects? Create bulky test plans individually which no one will read?
Learn & Practice
Have you ever seen TV series like Benelux’ next top model or X-factor? People battle to become the best model or singer and win the show. Of course testing is not about beating your colleagues in a match. But this might be the only difference… In the TV shows the models and singers need to show their quality in different areas, every week they are trained in boot camps or by very experienced gurus. These coaches come from different disciplines. To be the best you need to learn all aspects of your job. How do we testers learn?
We need to practice continuous learning. Become skilled in various ways of testing. Practical tips to become a top tester:
- Take testing classes: Rapid Software Testing or BBST are good examples.
- Learn and gather ideas from reading books, online magazines and blogs
- Learn by visiting conferences, participate in online conferences or watch the video’s that have been put online
- Practice in Testing Dojo’s, weekend testing, software testing clubs, or organize it yourself in your organisation or team.
- Meet with enthusiastic colleagues and discuss your experiences: peer mentoring, intervison, peer conferences, SIG’s, workgroups, etc.
- Collaborate, learn from other disciplines: writing/reviewing requirements, coding scripts, using tools, etc.
- Try different (open source) tools
- Start writing and presenting about your work and thoughts, get feedback and discuss your thought to improve and discover new ideas.
- Coach and get coached! Even professional tennis players or soccer players have coaches and trainer to get better and stay on the top.
- Evaluate often! Make sure you get feedback from your colleagues but also keep evaluating your own work: your processes and your products. Always keep asking yourself the question: how can I do better next time??
Markus Gärtner has written a great article about this stuff called Alternative Paths for Self Education in Software Testing in the July issue of Testing Planet.
Update: slides of the talk can be found in the download section or here.