Seven practises to expand your software testing skills
One of my biggest heroes and someone I look up to for inspiration is the marathoner Eliud Kipchoge. Not only is he the holder of the (unofficial) fastest marathon time of under 2hrs (which is insane!) But he is also a prime example of what you can do with a dream, consistent practice and always pushing forward.
I might be guilty of butchering this quote, but to know a man, look at his habits. And if we look at his habits, then we can see a man who does not rest on his laurels and past achievements. But is always putting in the effort to push himself forward. Ready to achieve his next big goal.
For example, prior to marathons, he runs an average of 100+ miles per week. Crazy!
But what does this have to do with software testing?
Just like becoming a great runner does not happen by completing a light jog once a week. To be a great software tester. You also need to put in the effort and learn not only how to test software. But also the latest industry trends and everything else that feeds into the craft of software testing.
Below, I have provided a few tips that will not only help you expand your testing skills. But also ways that you can exercise your testing abilities, develop your thinking. And master unfamiliar concepts and ideas.
Learn about software development
Just like learning how to service the engine of a car, knowing how car engines work should be your first step. Learning how software works and put together can be valuable with testing the final result.
You need not know the intrinsic details about programming languages or complex design patterns. But knowing the basics about variable assignment and control flow will make investigating issues and raising bug reports much easier.
Read about a diverse range of subjects
I love books and if I had to choose one habit that I could recommend that promises to upgrade anyone’s ability to test software. It would be to read vicariously.
My goal when I read a book is to get an insight into an unknown subject which I’m interested in, or to learn something I didn’t know before. And although you could probably get a range of world views by reading Harry Potter books. I would recommend sticking to non-fiction. Although the odd novel wouldn’t do any harm.
Think about and apply testing in your daily life
I’m probably not the only person who does this (or at least I hope I’m not!) But I find myself thinking about everyday items and trying to come up with a few test ideas. It’s a fun little exercise that not only has the intention of getting me to think of creative solutions. But it also has the added benefit of stretching my creative muscles and providing me with a potential problem to solve.
For example, how would I test a biro?
Well, I could:
- Test the colour of it.
- Test that I can write with it.
- Test the surfaces I can write on with it.
- Test if it writes upside down.
- Test if it can write underwater.
There are many other tests that could be done. But the idea here is to only think of a handful to get your mind thinking about a real-life problem.
Try it yourself. How would you test a television? A microwave? Or a toaster?
Learn about management
I’m not just referring to people management. But if you have aspirations to lead a team, or become a manager. Then you should definitely put it on your list.
But the management I’m advocating you to learn is effective project management techniques such as being able to manage resources, plan with competing priorities. And be familiar with various development processes like Scrum and Kanban.
Software testers can work on several projects and each with their own unique needs, deadlines and constraints. Knowing the methods to manage these projects will not only make you feel more confident in working in different teams. But others will also see your effectiveness and see you as a reliable member of the team.
Constantly seek to upgrade your toolkit
Knowing how to work with one automation framework or set of tools is great. In my article on being a t-shaped tester. I advocate that being a specialist in one particular area of testing is a superb skill to have. But in the fast-moving world of software testing and with new tools constantly being released. Relying on past knowledge isn’t the best way to stay relevant.
Try to stay on top of the latest industry trends, experiment with new tools. And keep your testing knowledge up to date.
Develop your communication skills
A software testers job isn’t just about technical abilities. Being able to communicate your findings through bug reports, collaborate with other departments. And engage via both written and verbal means make up an enormous part of the day for a tester.
I have written a blog post about this subject which you can read here which deals with the benefits of being an excellent communicator. And a blog post here which deals with the risks of not communicating effectively.
To be a better communicator. I suggest a three-step approach.
- Analyse yourself and identify your strengths and weaknesses. You can’t get better if you don’t know where to start.
- Study speakers, orators or peers who you admire. How do they get their message across? And what makes them so good?
- Finally, Practise. This could mean stepping outside your comfort zone and volunteering to speak at events. Or email someone you look up to.
Connect with other testers outside your social circle
Connecting with and hearing about other testers perspectives on software testing. Has not only fuelled my own personal growth and deepened my interest in the craft. But it has also provided fresh opportunities to be exposed to ideas that I would otherwise not look into in my own study.
Some of my recommended resources for learning from and connecting to peers in the testing community can be found here.
Bonus: Always be learning
This final tip might seem obvious to some, considering the previous recommendations detailed here.
But unlike a checklist of subjects that you can work through to call yourself a software tester. Software testing is instead the product of many disciplines and skills such as technical knowledge and ability. As well as critical thinking and other soft skills such as working with and collaborating with others.
So in that sense, studying a single topic or subject cannot provide you with everything you need to be the best tester, team member or leader that you can be.
Instead, make your interests broad and let your curiosity lead you towards investigating new topics.
I hope you find these tips useful.
Let me know in the comments in there is anything that you’d add to this list.