Let's admit it, a teenager finishing high-school and starting college is unlikely to tell you he's/she's dreaming to become a software tester.
When I was in college (more than 10 years ago) I barely heard about software testing and when I did, it was because of one course that we had. That was the only course that somehow mentioned the concept of software testing.
Every minute a new mobile application, game 🎮, or website is crafted and the technology field is running so fast so that software testers are on high demand nowadays.
Because we need people checking thoroughly the products we're building.
More than 6 months ago, I took the role of a software testing trainer helping people with less or no contact with the technology industry, getting familiar with the basics of software testing: What software testing is? What a bug is and how do we categorize them based on severities and priorities? Software testing types, test case design techniques and so on.
One important thing I'm helping them understand is why software testing is crucial in the development lifecycle, why testers should be valuable assets in any delivery team and teaching them tips and tricks on having a good interaction and communication with the other team members.
Ok, but what does a software tester should know?
Inside a project team, a software tester may have various roles. Even for one being at the beginning of his or her career, the following should be pretty clear:
👉understand the software testing life cycle
👉 the difference between manual and automated testing and decide what suits your actual knowledge best
👉 functional vs. non-functional testing and be able to explain some of the non-functional testing types - usability, cross-browser, performance, security
👉 understand the differences between unit testing, integration, system and acceptance testing
👉 be familiar with bug management tools and how to report a bug
👉 be familiar with how a test case looks like and how is it structured in a test case management tool
👉 test execution and tracking
👉 test reporting
What strengths should a software tester have?
For both manual and automation testers, having technical skills is very important (in most of the cases it's a must). This helps you better decide which tools to use to ease your work and how to use them, to create comprehensive bug reports and test reports.
This may sound like a cliche, but having also analytical thinking is a must. This helps you better understand the requirements, find proper scenarios to test your application, enumerate and choose the testing approaches applicable to your context.
I find it important having an overview of how software applications work. If we're talking about mobile applications, it would be good to know mobile application's specifics, understand the requirements for such an application and be able to find the proper types of testing. If we're talking about web applications, it would be a good thing to know how these work, to know about the user interface and back-end testing and how they're communicating. The list can continue...
Communicating... Communication. This word should stay in your head like a bell sound.
Being a software tester is a lot about interacting with developers, business analysts, project managers, sometimes stakeholders for you to be able to maximize your work. It should become your habit putting yourself in the end users shoes, understanding how and in which purpose are they going to use the application. This is crucial!
It is also much about communication and feedback.
And let's not forget team player!
Besides all the above, there is one thing that I keep repeating to the students I'm working with
never lose your curiosity
Why is this important you may ask? Because you should never stop questioning. Only by being curious you can learn and see new aspects of your job.
Which are the tough questions?
There are a bunch of questions I am asked quite often by my students.
Q: How soon do you think I can get hired as a software tester?
A: Well, as you might suppose, it depends. It depends on how well prepared you are when attending an interview and if you are indeed the right match for the employer needs.
Q: Is it true that a tester earns less than a developer?
A: Again, it depends on how well prepared you are. It depends how good you can sell yourself and proving your skills. But in a mature company, it shouldn't be significant differences between the same level of testers and developers.
Q: Can I make the switch to automated testing if I'm a manual tester?
A: Sure, whenever you feel comfortable to take that challenge and if the project you're working on permits it.
Q: Who will tell me what type of testing I should apply?
A: Well, you should be the one capable to decide it. In some cases, there might be a lead tester who will guide you through the process of picking the correct type of testing.
Q: Will I get support from the others?
A: Yes, usually there will be a person/buddy assigned to help you get familiar with the processes, tools and whom you can ask questions. You can also ask your teammates for help.
Hope you'll find my suggestions helpful and good luck in finding your way as a software tester!👍