I am often asked whether a QA should have a degree in IT, or a degree of any kind of that matter.
What’s my answer? Well, I tell them that the road to becoming a great QA is not perfectly defined like becoming a doctor or a lawyer. It requires the careful development of personal skills as well as professional ones and that is far harder. That’s why, as a subject, it is so hard to teach (and learn for that matter!).
I personally believe that technical skills and hard skills are learnable and practicable, and you can gain this experience along the way. The difficulty is, becoming a QA requires constant self-development not just with the technical skills, but with the soft skills too (click to tweet).
The good news is getting started is pretty straight-forward. Just get a foot on the career ladder as Software Tester and you’ll soon be heading in the right direction, but be prepared to work on your personal characteristics if you want to make the leap and become a successful QA.
What do I mean by characteristics? Well, there are certain attitudes and personality traits which are essential to be a real QA and even more important than technical knowledge or a nicely framed certificate. Bag these skills and the sky’s the limit for your career.
Within this blog post I will list all the soft and hard skills you will need and give you some guide on how you can improve them.
The crucial soft skills for a good QA
User centered/ user point of view
Testers must be able to empathise with the potential user, sense their behaviour, understand their needs and then use this insight to support the developers.
Image credits: StepFeed
Good communication (psychology of testing)
Errors and bugreports have to be communicated in a constructive manner because designers, PMs and developers can be sensitive. Every tester is proud when they detect a bug in the system, but you have to be careful not to be too proud, because that could hurt the devs feelings.
Image credits: Enter the Void
Precision & monotony tolerance
Yes, there is a part of this position which is not so creative and exciting.
Image credits: Giphy
This one is a bit complex. On one hand you have to be able to stand up for your opinion (even if you have nobody on your side). As a user centered person, you know best how the users are using the product and how a change would affect them, so it’s your job to represent their needs. On the other hand you need to know how far your responsibilities reach – you have to point out the risks, you have to be able to make a case for your proposal but you also have to be able to let it go if business needs dictate.
Image credits: Reddit
Fast learning and want-to-learn attitude
This one doesn’t really need much explaining. The tech industry is always changing, new solutions and new technologies emerge and you need to keep up with them so continuous learning needs to be a core part of your life.
Image credits: Dystel and Goderich Literary Management
How to get these skills?
I’ll be honest with you here. You can’t.
Understanding technology and using tools are both highly learnable, but qualities like empathy, precision or confrontation management are hard to develop. Sure you can improve them by coaching or self-development but without the right soft-skill set you will struggle as a QA.
So before stepping onto the QA career path take time to look deep into yourself and honestly answer these questions:
Have I enough empathy to be able to put myself in the users’ shoes?
Am I a really precise person?
Do I stand monotony (even for a longer period sometimes)?
Can I really confront other people?
If the answers are yes, then QA is a good position for you.
Essential hard skills to pick up
Now let’s talk about the hard skills or technological skills you will need to develop. To help, I’ve ordered them by importance, so stick to the list and you won’t go far wrong.
Tech knowledge basics
This is an umbrella term with many things to learn within it. You should be familiar with the popular browsers and their attributions, the most common tech terms, the most popular coding languages, as well as the product development methodologies. It’s a lot to take in,right? Remember though, that it isn’t just about learning something off-by-heart – the real challenge comes when you apply them.
Let me give you an example. When a new development starts, the potential user base of the product is defined. A QA needs to know the internet usage habits of that user base (or the segments of it), and which type of browser they usually use. For example if the product is for users who work at a multinational company they most probably use internet explorer. While on the other hand a product used by teenagers needs to be optimised for mobile browsers as they are mostly using their phone to surf the web.
There are a ton of developer tool that can help us during testing.
Another one is Page Ruler, which comes in handy when the development is frontend heavy and all the pixels have to be in the right place. When the sites proper color is crucial then ColorZilla is your friend.
Other useful tools
These tools are not tied so closely to the development but can really help with debugging, API testing and so on.
If we are testing where local debugging is not possible then using a tool like Charles Proxy is a great idea. There’s also Postman for API to make API testing easier (which is super easy to use by the way!).
Testing native mobile apps is a world away from testing web applications. You have to be up-to-date on mobile trends and you have to have a firm knowledge of the operation systems.
The basic scenario is when you test the app in a real test device on all the operating system versions. Now this case usually never happens. In these cases you can use different emulators. These don’t behave as the physical devices all the time, but you can save a lot of money and time with them. I usually use this and this.
Autotesting is usually done by developers but more and more QA Engineers are starting to do it too. There are different methodologies around it like TDD or BDD and it requires a deep tech and testing knowledge base. I personally believe that autotests done by a QA can lift the product development to a whole other level. You can read about autotesting by QA’s here and here.
How to get these skills?
Improving your hard skills is much easier than your soft skills. Here are some ways you can learn the technical part of testing.
Get a QA job (even an internship or a junior level or a freelance one)
Even if it is just something you do for free, learning on the job is one of the best way to acquire knowledge. Here are some tips on how you can land a QA job.
Get a mentor
I am sure I don’t have to explain why learning from a much more experienced person would be beneficial. You will get invaluable real life knowledge and real project experience. Priceless!
So reach out to you network, and see if anyone can take the position of being your mentor or set you up with one. Go to meetups too, where you can meet with people from the field.
Read, read, read
Get in front of your laptop rather than watching more Game of Thrones and read about testing. Read about the basics, learn about the methods try out the tools. You will be surprised how much you can pick up and how quickly.
What can you take home from this?
Find out if you have the right qualities to become a tester.
Are you good with confronting people? Can you communicate well, and be a psychologist when it’s needed? Can you really look into the detail and be precise at all times?
Be honest with yourself, because lying here will just make your life harder later. If your answer is no to these, maybe a QA career is not the best path for you.
Nobody was born with QA or IT experiences.
Nobody, me neither.
Before I became a tester, I had never learned IT and I had no IT experience. But I think everybody has the ability to become a great tester with the right attitude, even without IT knowledge.
When the time came for me to change jobs and I was looking for a new opportunity, every job offer included IT skills. I didn’t understand why because I believed that a user-centric approach, helpful attitude and a business mindset are much more important than in-depth IT knowledge.
I hope you found this blog useful? Let me know what you think in the comment section.