What are the skills you need to begin your career as a software tester? Learn how to get started in software testing and what’s really important.
What is a Software Tester?
A software tester is someone who analyzes software to uncover bugs and defects, or unexpected functionality, in the software’s output.
They help ensure that the software’s functionality and performance are operating as they should. They use various testing techniques and test automation tools to achieve this.
Why Should You Become a Software Tester?
Getting your first role as a software tester can be extremely difficult. Unfortunately for people new to the field, a lot of employers only want people with experience.
But in fact, a lot of employers actually want someone with the right skills so that the new person can (eventually) add value to the team.
By learning the new skills you need to become a software tester, not only do you make sure you have something to offer your employer, but you also get an idea of what it will be like to work as a software tester.
After all, why would you need to learn these skills if you weren’t actually going to have to apply these skills in the workplace.
But which skills do you need to learn?
What are the Skills Required to Get Started as a Software Tester?
Here are some key skills to start off with when you want to get your first role as a software tester.
We need to break this down into two categories: see diagram below.
It’s a question of which skills are employers looking for and which skills will actually be useful once you start working as a software tester.
It may be surprising that there can be a difference between the what employers look for and what will be most useful for you. The difference can arise because the person writing the job ad might not always know what skills a software tester needs.
What Employers Often Look for When Hiring Testers
- Experience with specific tools
You may have seen job ads looking for experience with specific tools such as API testing tools and test case management tools.
- Experience in writing test cases
For many people in the software testing industry, writing and executing test cases is the only way you can “properly” test software.
Most Useful Skills for a Software Tester
- Can Give Effective Actionable Feedback
- People Skills
- Able to assess risk
- Not afraid to ask questions
What Employers Often Look for that is also Useful as a Software Tester
- Test Automation Skills
- How To Work in an Agile environment
- Experience in Writing Bug Reports
How Can You Learn the Skills that are Most Useful to You as a Software Tester?
In this article, I will focus on learning the skills that you will find most useful as a software tester.
How to Start Learning Test Automation Skills
It can be overwhelming to try and figure out where to start. Analysis paralysis can cause you to keep on doing research into what you should learn, instead of actually spending time upskilling.
If you are currently on a project, I suggest you start by learning a programming language that is used on your project and if there is a test automation framework already in place, then that test automation framework.
If you are not currently on a project, I suggest you choose one of the following:
Aside from the fact there are some great courses on Test Automation University on these frameworks, these are very popular test automation frameworks with extensive documentation. Therefore, when you get stuck, you have plenty of resources online to enable you to get past any obstacles you may face.
More importantly, it’s important to know which tests you should automate.
Angie Jones has done an excellent talk on the topic.
Long story short, it depends.
According to her talk, there are some key factors you should consider including:
- What is the risk?
probability (how often would customers come across this?) vs impact (if broken, how would this affect the customers?)
distinctness (does this test give us new information?) vs induction to action (how quickly would this failure be fixed?)
quickness (how quickly can we write this test?) vs ease (how easy would it be to write a test for this?)
similar to weak areas (have there been a lot of failures in similar areas?) vs frequency of breaks (how often would this test have failed if it was already in place?)
How to Work in an Agile Environment
Realistically, this is pretty hard to define since there are many different flavors of Agile and judging by a job advertisement, it’ll be hard to tell exactly how any particular company interprets how one should work in an Agile environment.
Often, when people refer to “Agile” they are referring to a Scrum team. But be wary that people may claim to work in an Agile environment just because they have daily standups.
It helps to ask questions, so you can better understand their expectations here.
Getting Experience in Writing Bug Reports
A large part of being a software tester is writing clear, compelling, reproducible bug reports.
I’ve written a blog post on how to write a bug report.
A few keys things to highlight when it comes to writing bug reports:
A bug report is a form of written communication – to write a good bug report you need to have good writing skills.
If you want to improve your bug reports you should look into:
- Your use of words.
- Formatting, so that things are more clear. For example: I like to use bold formatting for subheadings in my bug descriptions. Bullet points can also be useful.
- Being clear so that it’s easy for the reader to understand what you are trying to say. Don’t expect the reader of your bug to always read it thoroughly before deciding what to do with it (whether that is assign it, start fixing it, reject it), to be safe assume your reader will scan it.
If you want to find a place to practice writing bug reports – you can sign up to Crowdsourced Testing sites like uTest.
If you are already on a project, ask for feedback on your bug reports – see what your team thinks could be done better.
While it can be scary to ask for feedback, as you don’t know what you’ll find out (about yourself and others’ perception of you), it helps to know how your work is being received by your team.
Giving Effective Actionable Feedback as a Software Tester
While it’s important to ask for feedback so you can improve, it’s also very important that you can give effective feedback.
Many people associate Toastmasters with giving speeches. However, improving your public speaking skills isn’t the only way you can benefit from going to Toastmasters. Toastmasters is a great way to learn how to give effective, actionable feedback. At Toastmasters, you give people feedback on their speeches but then you, as an evaluator, also get feedback on how you delivered your feedback.
You’ll get feedback on many aspects of your feedback including:
- The structure
- Your tone
- The clarity
As an evaluator, your goal isn’t just to help the speaker improve, but also to help lift them up (you don’t want to drag someone down with your feedback). If we were to tie this back to the workplace, that is often the desired result of feedback as well.
Developing Your People Skills
It’ll be easier to do your job as a software tester if you have strong people skills.
While this isn’t an exhaustive list of things that will help you with your people skills, here are a few things I have found useful.
- Listen to what people are saying and then acknowledge that you had heard them.
- Be curious – get to know people.
- Ask those closest to you how they perceive you. This will give you an idea of how you come across to others. Make sure to ask people who you know will be open and honest with you.
Understanding how to Assess Risk in Testing
If you were to take a risk-based approach to testing, it means you would prioritize testing areas and scenarios that are highly probable and/or have a high impact.
To do this, you need to know where the risks lie.
This often comes with experience.
Some questions to ask yourself when considering risk include:
- Which use cases are the most common?
- Is there any payment involved in any use cases?
- Which use cases would customers expect to work? (Where would they be not-so-forgiving if it did not work?)
- Which areas have had problems in the past?
Don’t be Afraid to Ask Questions
You’ll learn a lot by asking questions. You’ll also be surprised by how many people can shy away from asking questions out of fear of looking stupid.
Karen N. Johnson has done an excellent talk on The Art of Asking Questions.
Here are a few things to keep in mind when asking questions:
- Timing matters. When and where you ask a question can impact what you get for a response. Keep this in mind before asking a question.
- Be careful of relying on only one source for information. You may find that you asked the wrong person.
There are a lot of ways in which you can upskill to become an effective software tester. While there are a few skills that are difficult to gain without experience as a tester, there are still plenty you can start learning as you look for your first role (or even after).