Even though the lines between Tester and Software Developer are becoming increasingly blurred when working with the Agile methodology, I’ve come to find that in practice, people are more likely to apply for the Tester position. I can’t help but feel like the reason for this lies in the fact that this position seems less demanding than that of a Developer. Perhaps at first it seems to be easier to master the necessary skills and future engineers believe that this position carries much less responsibility.
Well, according to my professional experience, the opposite is usually true. I do not want to ignore the fact that there is a lot of learning and investing in technical knowledge that comes with the role of a Developer. However, my personal belief is that the position of a Tester requires a much wider range of skills than any other position in software development. In this text, I will try to document how many roles a quality Software Tester has and the extent of their responsibility in the team.
Automate test processes, but don’t forget about manual testing
Automation is a very important process in testing, it definitely saves time and speeds up processes, but it also has its limitations. Much has been written on the subject of automation testing, so I would rather focus on the other side of the job, manual testing. Although it’s not as intellectually demanding, it’s important to check things manually whenever you have the time. Scripts do not possess intuition or intelligence. You will find it difficult to spot some edge cases if you solely rely on automation. They cannot replace your intuition and explorative spirit. Some things simply require that you trust your gut.
Learn to communicate with the rest of your team
We all know that in business, time is money, so it’s necessary to approach communication within the team seriously. If you find a bug/problem, don’t jump for joy and act like you’ve discovered America. First of all (unless of course, it isn’t something obvious) investigate the problem, be certain of what you’ve found, and with that attitude, communicate the issue with the rest of the team.
If you don’t approach Developers with confidence, it’s very likely you will be met with a response akin to “that’s not a bug but a feature” or maybe even “it’s not up to me”, etc., etc., etc. A good tester must also be a good psychologist. While not always the case, sometimes there is an unspoken rivalry between the Developer and Tester. The Tester is often the one who needs to unite the team and play a friendly match, not the one to play for the love of the crowd (i.e. the client).
Enjoy multiple roles
Even though the IT era began long ago, as a Tester, you need to be aware that there are still people out there whose level of knowledge is basic. When you test an application, you first have to understand its purpose, look at it from the point of view of the end-user. End users usually aren’t IT specialists; they are people in the last years of their careers awaiting retirement, mothers with too little time for multiple features, children looking to kill time, doctors on call. Imagine the various situations in the everyday lives of people who will use your application and test it accordingly. Test it when you’re nervous and hysterical as well when deadlines are breathing down your neck and you need to quickly complete the job, because all these situations expose bugs that would otherwise remain unnoticed under normal circumstances. Think of scenarios, both possible and impossible. Let your imagination run wild. In other words, research. Don’t forget to be persistent, because perseverance always pays off.
In the end you will realize that Testers are those who usually have the most domain knowledge. Developers focus on their part of the code and the part of the application they rely on. The tester tests the entire application and, therefore, can see the whole picture. Analyze requirements, suggest things that could be further improved. Detect potentially critical parts of the application. Communicate with designers, let your artistic side run free. Get involved in all the possible software development segments.
Although we are far from having listed all the necessary skills, I hope that you now have a better picture of the challenges of job. Still, as with every career, if you do what you love and enjoy it, results will never be lacking.