Characteristics of a great software tester

It takes a special person to have held the position of window cleaner for the Empire State building back in the 1930s. Strapped to the side of the highest building in New York City, with their entire existence being held by a thin strip of leather (sweaty palm moment).

But the same is true of software testers.. just not that dangling off high-rise buildings bit. Someone might already be competent at their current role but may struggle with software testing.

Here are just a few of the qualities that you need to possess to be efficient and effective as a software tester.

A curious mindset

What happens if I do this thing? How does this work? Can I do this?

When I was a child, it always fascinated me how my new toy that my parents bought me worked. I can remember countless times that I took things apart to see how something worked and then despite my best efforts, did not put it back together again. But I believe that having a curious mindset a young age helped guide me to software testing.

A curious tester is more likely to expose bugs that a non-curious tester might not discover, mostly because of them never being satisfied that their understanding of the software is complete.

Ask the right questions

Following on from the previous characteristic, sometimes a software tester cannot answer all their how/why questions with the information available for them to review. Meaning they will at some point need to speak to developers or other members of their team to retrieve the information to build up their mental picture of the application.

Communicates effectively

A software tester will need to be doing lots of communicating with the various members of a software development team. Whether it’s conveying the bad news of a critical test case or creating a detailed bug report for the development team. They need to communicate to all levels of the team and express their findings and requirements to prevent communication breakdowns.

Thinks of the end-user

Thinking of how the end-user will use a software product should always be in the back of a software tester’s mind when designing their test cases. As previously discussed, having test cases that test the system requirements is one thing. But if the end user’s needs have not been validated then the system isn’t ready for release.

Is it easy for a person to use? Does it make sense to the average user? Or is the layout and configuration hard to use and confusing?

Is a team player

A software tester needs to work well in the team they are operating in and to do that they need to appreciate other people’s efforts, be easy to work with and recognize their own strengths and weaknesses.

We all can’t be good at everything, but there’s a high chance that someone on our team is good at the one skill that we aren’t the best in. Be it coding, or the understanding of a particular concept.

Being able to do that and collaborate on a solution is a great result for you because you will come away having learned something new. And it’s a good result for the quality of the product because the best solution is being implemented.

Be a life-long learner

The world of computer software is constantly evolving with the requirements of software getting more complex, and the tools being used to build software being upgraded, or replaced with new, flashy tech.

For a software tester, this will mean there will be a steady stream of new tools to review, concepts to master, and experiences to learn from.

The best software testers that I know are constantly upgrading their knowledge with new information, attending makeups, conferences, reading books about software testing, talking to other testers about testing because they understand how fast the world of software evolves and as testers, they don’t want to left behind.


The above list contains some qualities I believe you need to be a good software tester. Not that you can’t be a good software tester with any of the skills listed!

Do you agree, are there any I’ve left out? Let me know your thoughts 🙂


Posted by Kevin Tuck

Kevin Tuck is an ISTQB qualified software tester with nearly a decade of professional experience. Well versed in creating versatile and effective testing strategies. He offers a variety of collaborative software testing services. From managing your testing strategy, creating valuable automation assets, or serving as an additional resource.

Leave a Reply