The Journey into Software Testing
Software testers are skilled in testing software products to identify any issues or defects before they reach critical levels. They also execute system components using manual or automated tools to evaluate various properties of interest. As such, testers are important cogs in the software development machine.
In our latest podcast, QA Practice Lead Clint Hill, along with Automation QA Ross Coetzee, talk about the topic of testing.
Testing the waters
For both Clint and Ross, testing wasn’t on their radar until later in their career. In fact, they both stumbled into it by chance.
For Ross, his main focus was always automation (other than playing guitar and being in a band). He loved problem-solving and programming, so a career in software development seemed natural. “It’s challenging at times, but it’s also very interesting and ever-changing,” he says. “I started in junior roles, interning and accepting any job to get in the industry. I really wanted to learn everything I could from the people I was surrounded by. I eventually moved into more team lead and mentorship roles, which I really enjoy.”
Clint, who has been in testing for 12 years, admits that he, along with many other testers, had a similar journey. Most of his prior roles were support at various levels, including application and system support. He actually credits system support as his first exposure to software development. “Prior to that, I knew very little about software development,” he says.
Clint noticed similarities in his job in support and what testers were doing – investigating and unpacking issues, exploring applications, collaborating with people in different environments, and problem-solving. “I transitioned into testing after bashing on the doors of the leadership teams for the companies I was working for. I was given the opportunity to try testing for two weeks, and I found that the similarities meant I could adapt very easily.” And the rest, as they say, is history. Clint has been testing for 12 years now and admits his journey has been an interesting one.
The role of testing, decoded
While Clint spent most of his time in the functional space, Ross was all about automation. “It was automation for me from day one,” Ross adds. “I guess the reason for that is because some of my first roles were solely as a developer, but automation started happening, and it piqued my curiosity. I wanted to figure out more about automation and why it would be useful. As time went on, I was able to combine both disciplines. Those skills definitely helped me gain an eye for problem-solving and an intuition for testing.”
He continues, “There’s a lot of autonomy over what you do as a tester. You work in smaller teams and are able to take responsibility for a particular codebase or solution. You’re almost entirely responsible for that with other people and iterate that solution together.” Ross does admit that testing comes with a lot of pressure and a ‘make the best with what you have kind of mentality is important.
Clint attests to this. He believes the testing environment means you are constantly learning new things but need to adapt as well. “I think testers should always strive to learn new things and go with the punches.” However, he also points out that having no coding ability should not prevent you from being a good tester. “It will certainly help in certain aspects of coding, but dev experience does not separate the good testers from the bad ones.”
A yearning for learning
Collaboration is also a vital part of testing, so communication skills are critical to getting the job done right. Clint adds, “You need to communicate with your developers, other testers, your BAs, and clients. As a tester, you need to be clear and direct and able to tell a story, whether that story is about how a product was tested or what you’ve discovered while testing. You need to articulate this and communicate it to your team and your clients.”
Ross reveals that there is definitely a ‘do whatever it takes to get the job done in a way that makes sense’ attitude in the testing world. “Too many people get caught in their own comfort zone. Over the years, I’ve forced myself to be as open-minded and adaptable as possible. If I’m stuck or confused, I will try to figure it out. In that way, I’m forcing myself to keep learning. It’s about your attitude and mindset as much as your technical skills.”
Clint adds, “People in development become so focused on using specific tools. I have no preference. My preference is what works best for the project. The reality is that we’ll work with different technology stacks across different projects, and nothing will ever be the same. You need to find what works for best for that particular scenario. It’s not a one-size-fits-all situation.”
Finally, Ross encourages everyone to do what makes them happy. “Whether it’s software development or QA or any other profession, if it makes you happy, you should spend as much time as possible learning the skills involved to make it a reality. Try as many things as possible. Be curious. Find what you’re naturally good at and work out where that middle ground is. Your job is something you’ll be doing for a long time, so you’ve got to enjoy the hammer that you’re swinging.”
This post is based on an episode of The Agile CTO podcast. Listen to the full episode on Apple Podcasts, Spotify, or our website.