Testers are as diverse as a human being can be and so are the required skills. Just looking at technical knowledge (e.g. writing code, executing scripts) some testers do not require any of these skills while other testers could also work as developers or even system architects.
We also know, that singular specializations are getting old-fashioned. The pi-shaped skill set has been proposed for years, e.g. on Forbes.com, on Twitter and not to mention the countless blogs and discussions going on before the mainstream picked it up. In fact the discussion has spun so far, that there are even research papers discussing the impact of pi-shaped skills on the innovative capabilities of companies.
So what kind of skills could be relevant for testers of the modern world? What is the pi-shape for testers?
Just to gather a number of dimensions:
- Industry Knowledge (e.g. Insurance, Automotive, Manufacturing, …)
- Business Knowledge (organizational structure and processes)
- Technical skills (Database queries, writing code, debugging, …)
- Management skills (Reporting, people management, project management)
- Personal / Communication skills (Curiosity, Openness, …)
- Requirements engineering
- Analytical skillls (making a connection between implementation and bug)
- Time Management
Just looking at these, I gather that a pi-shape (two skills) is not sufficient. Probably comb-shaped (multiple skills) is the better term.
So now I have a big bunch of skills that testers may or may not need. Even more skills can be found in the bloggosphere in very good articles at lambdatest and geeksforgeeks. But talent is scarce, so when selecting testers for a project which skills do these people really need?
First of all, there are things that every person in the project needs, whether testing, developing or „managing“. I will introduce a scale of 1 to 10 of minimum required skill level.
In my opinion the skills are:
- Industry Knowledge: When working on a software for the insurance industry it is handy to have a certain extent of knowledge of the insurance industry. This makes it much easier to spot errors or senseless requirements. – 3
- Business Knowledge: How is the company structure, how are decision paths. – 7
- Technical skills: Every person who works in software development should be able to understand how software development works. Easiest way to obtain this knowledge is to learn some coding, learn to read code, to execute API requests and understand how databases are structured. With this toolbox it should be easy to understand just about how any software works to a certain extent. – 5
- Management skills: Obviously testers are not required to run the company, to make Release Plans and to plan product development. However, they should understand how all these things are done and should take part and support. A tester can also coach a product owner on what is important to report regarding testing and test results – 3
- Personal / Communication skills: Being open to communicate and collaborate is one of the key skills for testers. Whether its clarifying a requirement with PO or pairing with developers, testers need to be open to talk. And not only open to talk, but additionally be sensitive in communication. Inquiring a colleague why made certain choices in development can be irritating and should be done with care. – 8
- Requirements engineering: Every requirement needs to be refined and specified for development. A testers job is to make sure requirements (e.g. user stories, tasks etc.) are testable and have clear acceptance criteria. – 8
- Analytical skillls (making a connection between implementation and bug): This helps so much for a tester to work more independent from developers and saves the whole team a lot of time. – 5
- Time Management: In certain environments testers will be the sole tester in a scrum team with a number of developments. So making sure time is spent wisely especially at the end of a sprint is essential. – 8
Now we have the minimum skill set. I have jotted these down on a spider web to visualize our baseline.

Next we still need the optionals. In my opinion these depend strongly on the individual task and job profile. Not everyone will be a manual tester or a test automation engineer or a security testing specialist. So these depend highly on your task. Just to show some examples of jobs that need the above skills:
- Test automation engineer: Skills in testing frameworks such as postman, Katalon, Selenium, SOAP UI etc. are needed. Development skills for scripting in languages such as Java, Javascript, Python or others are needed
- Security Tester: Personally I am not an expert in this topic, so find a security expert to ask. 🙂 However, secure software development (license scanning, dependency scanning), penetration testing, network security are connected to this field
- Manual tester: Probably industry knowledge is more important here than in other fields.
- Test Manager: Focusing less on the testing job itself, but more on reporting and test planning. So industry, business and management skills are more important
Now let’s map the skills on the roles. I have given a minimum skill level for each skill to each role and regenerated the diagram:

What does this tell us? Every role needs different skills. Make sure you make the right selection for your project and compensate for the skills you do not have right now.