Software testing is just clicking or tapping around! There is no special skill required!
I bet you have heard these silly phrases already during your career as a software tester. It has already happened to me several times during my career and I bet it will continue. However, those who are working in the testing industry know that software testing is much more than clicking around.
But I have to confess, before I started my career as software tester in 2008 I had the same opinion. Back in 2006 I had no idea about professional software testing. I learned about programming, how to write code but nobody told me how to test and how to do it the right way.
I was lucky, because one of my managers back then gave me a testing task and explained some basic principles of testing to me. Since then I am hooked with testing and later in university I got more insights into the topic.
Since 2008 I have been working in the software development business. During this time, I have worked with many different teams on different products. From desktop to web to cloud to mobile applications. In my role as software tester I had the pleasure to work with different people with different backgrounds and focus areas. There have been product managers, developers, designers, marketing and sales people as well as management and even real users.
And many of them asked me the same question, “Why do you like software testing?”, “Software testing is nothing special!”. I tried to explain to them the concepts of testing and what a good tester can do in order to help a team ship better products.
In this article I want to share my lessons learned when I was starting as a software tester and what makes a good tester great.
Starting Is Never Easy
When I was starting with professional software testing in 2008, I felt alone. I wasn’t aware of any testing communities or like minded people. Even testing conferences were completely unknown to me. I started to learn about testing while I was testing the first product. In parallel, I was reading some testing books to learn about testing principles and methods. But I wasn’t aware of all the required skills a software tester must or should have.
Skills such as communication, critical thinking, curiosity, different test techniques or even test automation, just to name a few were unknown to me.
I basically did what someone told me to do and I felt good. I was thinking that I am doing my job well enough. Reflecting on this time, I was just bad. I was literally just clicking around. A total rookie mistake, but I did not know it any better.
I felt bored pretty fast in this role and company. I started to look around for companies looking for testers and I was lucky to find a good company in 2010. I got hired as a junior software tester and finally wasn’t alone anymore and even better I found like minded people.
Surround Yourself With Like-Minded People
Starting in this new company opened me a complete new perspective. I had the chance to learn from great software testers what it’s like to be a good software tester. I learned how to test software products with different testing methods. I learned about more functional and non functional testing as well as test automation.
I engaged with the internal testing community to learn more about communication skills and about critical thinking. I learned that it’s important to start testing before a single line code has been written and many more things.
Over the years I established a solid set of skills that helped me to “survive” in a fast paced software development environment. These skills made me a good software tester. I was appreciated in the teams I have worked in as well as in the company.
Characteristics of Good Software Tester
Good software testers know the required software testing methods and techniques for the product under test. They also know how to implement automated checks to provide more insights about the product health. Good software testers are passionate about their work and are eager to learn and to adapt to new situations. They have solid communication skills to adapt their language depending on the people they are talking to. Good software testers, ask questions before and during the development phase to bring up unclear or implicit specifications.
These are just some characteristics of good software testers. However, while working in this environment and company I still made lots of mistakes.
For example, I was writing extensive test cases and test plans for the software. It took me so much time to write the test steps and to create the test data, that I missed important meetings or conversations inside the team. It took me hours a day to rewrite the test plan to adapt to the new requirements and changed features. I was in constant stress and became unhappy with the situation.
After attending my first software testing conference in 2011, I changed my perspective and learned how to improve my workstyle. I learned more about exploratory testing and how to improve the relationship between software testers and developers. I came back from the conference with new ideas. I haven't seen the value in test cases anymore, instead I briefly outlined my testing ideas on a piece of paper and was sharing those ideas with the developers. I never expected that by sharing testing ideas with developers a fruitful and healthy discussion could ever start. But it happened. In the end I was preparing my testing ideas before the refinement meeting and shared them with the whole team in the meeting. It helped us to build a more stable and better product.
Becoming a Great Tester
Reflecting back on this time, I was already on the way to becoming a great tester. I was self motivated to change the bad situation to something good. I wanted to change from being the gatekeeper to becoming an advocate for quality. It’s funny to mention that back then I didn’t know the term quality advocate would become an important aspect in the software testing industry.
I am a strong believer that self reflection is an important skill to have to improve your own work style for the better. This self reflection helped me to improve my own situation and in the long run it also helped the team to get better. This brings me to the next skills a great tester should have. It’s leadership and teamwork.
With leadership I don’t mean people management. If a person is passionate about the topic s/he is working on, the person is becoming a natural leader. This passionate attitude is helping the person to generate a great working atmosphere where other people on or off the team can learn from and even better can grow with. The person is driving the topic and is evolving new areas or potentials. Leadership and teamwork comes hand in hand for me. A strong leader with leadership skills has a high impact on the team and can transform a good team into a great one.
Another attribute I would say a great software tester must have is the willingness to share knowledge. Sharing your own knowledge with others inside the team, company or even outside the company has many benefits. It’s helping the tester to create a strong reputation which might lead to new opportunities and it will help others to learn from your knowledge. The willingness to share knowledge is also connected to leadership skills and is one important aspect in becoming great.
My Lessons Learned
This article partially described my software testing career. As you have read, I made mistakes in my career. I only described a few mistakes in this article, but I did many more. And making mistakes is a great thing. Well as long as you are not doing them again ;). In the best case you learn from your mistakes and improve your work style and skills.
You also have seen that I reflect on my work and the things that I am doing. These are important steps in becoming a great software tester. Only if you see the need for a change you can step up and improve your skills.
The mentioned points in this article are just a few things that I have done. Next to my day to day job I started blogging on www.adventuresinqa.com, writing a book “Hands-On Mobile App Testing” and since 2022 I am the creator of a YouTube channel about software testing. As you can see, I like to share my knowledge with the testing community. I started my blog in 2011 and never expected to become a book author or a video creator. However, the things that happened to me because of my blog are impressive (again reflecting on the work that I have done). I was invited to many conferences all over the world. I made many new friends in the testing industry. I got the chance to organize testing conferences. I am advising startups on their next steps and many other things.
All those amazing things did not happen overnight. My persistence over the last 13 years paid off and has brought up all those opportunities and should give you a boost to do the same. I strongly believe that persistence is key in becoming a great software tester.
Here are four takeaways for you, if you want to become a great software tester, too.
- Invest in yourself. Learn new techniques and tools. Try out many things and learn from your mistakes. The invested time will also help you to know your value in stepping up the career path.
- I highly recommend you to create an online portfolio of your work. If you don’t like blogging or creating videos, how about a public source code repository? You can share your work or ideas with others in that way, too.
- Contribute to the testing community. There are different testing communities available. From local to world wide communities. Engage with them to learn from others and to share your ideas and thoughts. You will automatically create new connections that might open doors for you in the future.
- Leave your comfort zone, because life begins out of your comfort zone. If you have the feeling of being settled or you don’t learn new things or can’t interact with like minded people in your current role or position it might be the right time for a change. The change can be a new company or a complete new role. It’s not easy to change but it’s worth it.
I hope this article is motivating you to go the extra mile to achieve something bigger. I would love to hear your story and what you think is needed in becoming a great software tester.