People who have never worked in software testing might lead you to believe that a software tester just does the same thing over and over again until they find a bug… or lose their sanity, whichever comes first. If you are interested in Software Testing, otherwise called Quality Assurance, leave out the random articles and Reddit threads and read on to see what the job really entails.
Stumbling upon the wrong kind of information can be misleading and even put you off. First of all, isn’t the definition of insanity “doing the same thing over and over again, but expecting different results”? Well, we don’t want testers to go insane, and we do want them to do the job right.
There is actually a lot of variety in software testing. Working in the field requires a broad range of skills and at the same time opens the door to acquiring new ones.
What education do you need to become a tester?
An interesting thing about QA is that in most cases it doesn’t matter which school you attended or what kind of degree you hold. In fact, you could be a geography professor and bring in a particular skill set that would make a great addition to the team. Of course, if your end goal is to get a job that requires certain engineering skills, then you will probably need a degree in engineering or relevant experience.
There are, however, some certifications available. You might even hear that getting one or more of them will help you get noticed. From my experience, there is more than enough material online to prepare you for the interview and even your first months on the job. For example, this handy source of information.
What to look for in a job?
As new technologies keep popping up, we have to continuously build up our knowledge. That’s why it is important to look for a company that continually invests in the education of its employees. It can be especially helpful when you are just starting out and need some guidance.
Coming to a new workplace, there is a lot of information to digest. In that situation, having a mentor is a huge advantage as they can introduce you to the company culture, help you get started and explain the specifics of the project(s) you’ll be working on.
Both these factors fit in nicely with a good work-life balance. You might feel that you have to learn 24/7 to keep up with everything, so it is important to look for a company that is mindful of your health and well-being.
When to start applying for jobs?
The answer is simple - right now. There’s no point in waiting. Even if you don’t land a job immediately, going to interviews is still a great experience. It gives you an insight into the skills and knowledge the employers are looking for. That will give you a better idea of what to focus on.
With all the information out there, you might be inclined to think that you have to know everything before you even start applying for jobs. Being prepared for an interview is definitely a plus, but don’t waste your time going through a multitude of tutorials trying to learn everything. Projects can vary substantially when it comes to technology and the tools being used. It might turn out that you won’t need to use most of what you learned, at least for a while.
As with most jobs, you learn best by doing. With time you will become better at dissecting what to work on, depending on your interests or the skills you want to acquire.
What’s with all those titles?
Looking for a software testing position, you will come across a myriad of titles, such as Software Tester, Quality Assurance, Quality Assurance Engineer, Manual QA, Software Development Engineer in Test, and so on. It can be confusing, especially when you run into two job openings with the exact same titles but quite different job descriptions.
Don’t let fancy titles fool you or scare you off. Read the job posting carefully or better yet, email the employer or recruiter and ask what you want to know.
What exactly a software tester does could vary from company to company. It might be because of different technologies the company is using, a specific field of work, or there might be various QA roles present.
Software testers that do manual tests mimic the way a regular user would use an app. Of course, they go into much more detail and really try hard to catch all the defects you don’t want users to see, from typos to app crashes.
Testers who work on automation usually have slightly different job titles, something on the lines of Test Automation Engineer. Those types of testers focus more on using their coding skills to write automated tests.
It’s more likely that you will be testing apps both manually and with the help of certain tools that don’t necessarily require coding skills. The tools help as they speed up your performance but they can’t tell you how an app feels overall, it’s something you can only learn with manual testing.
So, you landed your first QA job, what’s next?
There are so many things to learn in the beginning that it might all seem overwhelming. Don’t worry, a beginner isn’t expected to know everything before their first day. However, there are a couple of essentials you really should be aware of.
One of the most important skills is writing a good bug report. The person reading the report should be able to understand it without having to figure out what you were trying to say. Also, you want to be able to understand the report yourself once the issue is fixed. This is especially important if a bug is fixed after a longer period of time and you forget some of the details. This blog post is a good resource for writing a good bug report.
Writing good, reusable test cases is another important skill to have. If you’ve gone on a googling quest to see what a test case looks like, you’ve probably come across different versions. The reason is that every team adapts their test case structure to their needs. The point is to simply write solid test cases that you can use over and over again. Writing tests that you’ll use only once or keep updating them day in and day out is a waste of time you could have spent actually testing.
You should probably also have an idea about what testing is and how it is done. There are dozens and dozens of testing methods and techniques you should know and use in your job. For starters, take a look at our QA handbook to find out what and how to test.
How to improve your skills further?
With new developments constantly coming up, you should always strive to be updated. Reading blogs is a good way to start. You could also invest some time to research new tools and new technologies. Maybe you’ll discover a tool to help you test more efficiently.
Investing time in learning a programming language can be beneficial for multiple reasons. You’ll understand developers better, especially when they use a lot of technical jargon. With basic coding skills, you’ll be able to use the tools that require some coding. Maybe you’ll even find out that you enjoy programming as much as testing and decide to move on towards test automation.
If you are more of a creative type, take a design course. That way you’ll learn how designers do what they do and get a better understanding of user experience.
Learning about other aspects of software development will help you understand the development process better and make you a better tester overall.
It’s both the journey and the destination
Hopefully, you now have a slightly better idea of what software testing is about and what awaits you at the beginning of your QA journey.
It is a very versatile field and no, you won’t just be doing the same thing over and over again. You will, however, use different testing methods and techniques with a specific goal in mind. And yes, you will use a lot of different tools over time.
If you ever decide to shake things up, you’ll have a solid background and enough mojo to move onto development, design, or project management. The possibilities are endless.
High-quality illustration assured by Mario Kovačević.