How to become a Software Tester
How to become a Software Tester, what skills are needed, and how to study — manual tester Madina Sarsembayeva shares recommendations.
In this article
What Software Testers do
— I have been working as a manual Software Tester for about two years. My responsibilities include manual testing of applications, providing assistance in creating scripts for integration tests, drafting documentation, and participating in team meetings.
In short, testers check that the software works in accordance with the requirements. They make sure that the system works without bugs and in the way that customers and users expect it to.
Testing now begins well before the application starts working. The process starts with requirements testing, which describes what the system (software) should do. The sooner a bug is found, the cheaper it is to fix it. At the stage of requirements analysis, the correction may take only a few minutes: correct the text of the requirements, and descriptions, or redraw the diagram.
Testers have different goals depending on the type of testing:
- If it is load testing, the tester checks how the system works under load (if a large number of users log in to the application at the same time, for example).
- If security testing, the tester checks how protected the user data is.
- API testing is carried out when the application does not yet have a GUI part, or to check the integration of its system with another system.
Depending on the goals and type of testing, the work of the tester changes accordingly.
What skills do novice testers need
— Depending on what kind of tester you want to become, you need to know different things. But there are some general skills and abilities that everyone needs, including the ability to:
- conduct analytical work;
- ask questions;
- learn fast; and
These are broad skills that will be useful in testing and in many other areas.
As for highly specialized testing skills, they include the following:
- knowledge of development methodologies (SDLC) such as waterfall, V-model, agile (including scrum, kanban, tdd, bdd, etc.);
- knowledge and ability to apply testing techniques;
- understanding of testing types and their classification, as well as testing levels (unit testing, integration testing, system testing), how they correlate, and what types of testing are applied at what level;
- ability to compile appropriate documentation (test cases, checklists, test plans, test result reports, bug reports) with an understanding of what these artifacts are and what they consist of (their attributes);
- knowledge of the bug lifecycle;
- awareness of tools such as Jira, Confluence, and Test management tools (TestRail, for example) — sites where documentation and tasks are created, requirements are described, and test cases and reports are written;
- experience with HTTP, JSON, XML protocols, and principles of client-server interaction;
- SQL — understanding what is it, what a database is, the types of databases, and the ability to make queries;
- ability to use programs such as Postman, Swagger, and others;
- good soft skills;
- understanding the roles that make up the team, their areas of responsibility, and the hierarchy of the roles to help you join the team faster and easier; and
- knowledge of English, which is almost always necessary now.
The rest of the necessary skills depend on the direction you want to go in: web application testing, mobile application testing, database testing, or automation. You need to decide for yourself what is more interesting to you, and start mastering it.
How to learn as a novice Software Tester
— I recommend starting with Svyatoslav Kulikov’s “Software testing. Base course.” This book is in the public domain, written in simple language, and everything is laid out clearly in it. Just for beginners.
I also watched courses on LinkedIn, read articles on habr, watched YouTube videos on chosen topics, and used simulators for testers.
Is it possible to learn to be a tester from scratch
— Of course, you can learn to be a tester from scratch. Look at me. Before working as a tester, I worked as a logistician (I was engaged in the delivery of goods to Kazakhstan from other countries), I did that work for five years. Then I realized that I was tired and decided to do something else. Apart from working with Excel and Word, I didn't know anything. I was just a regular software user. My education is also not related to information systems — I am a Master of Economics, as far as possible from the tech sphere.
I passed two labs at EPAM (it took six months) and started working. Since then, I have been constantly studying. I took 2 more courses for 4-5 months to tighten up my hard skills and improve my skills in the areas of documentation, understanding SDLC, ci/cd, and working with databases.
You need to be diligent, hardworking, and willing to read, try, be a curious researcher, and not be afraid. To achieve your goal, it is better to make a plan and follow it. I saw an example of a successful plan here.
The mark of a quality tester is the receipt of the ISTQB (International Software Testing Qualifications Board) certificate. In the public domain, you can find the necessary materials to prepare for the exam. I am preparing myself now to succeed.
Of course, you can become a tester yourself without courses. It all depends on you. The courses will provide a more systematic approach. And with self-study, especially in an unfamiliar area, you may miss something. But there are a few tricks to handle this: you can make a plan and follow it, and then look at vacancies. Vacancy notices contain requirements that you need to know. Everything is in your hands.