The five levels of test automation skills

Photo by Ian Chen on Unsplash

Test automation skills can sometimes be hard to gauge. Test automation is a big topic that can require a lot of knowledge and skills. I find it helpful to think about test automation skills in a simplified way using five skill levels. These levels may help you with the next step in your test automation journey or when gauging the skills of others.

Level 1: Nothing

Everyone starts at this skill level. If you have this skill level, you can’t make a single automated test without someone’s help. This applies to both code-based and GUI-based test automation tools.

You likely don’t know how to program, use a command line, understand application architecture, or translate manual test steps into automated steps.

How to level up

Follow an automated test tool training or tutorial. Most beginner training and tutorials are designed to make you reach level 2.

Learn programming basics. Programming basics are foundational skills for test automation at any skill level. Note that programming basics encompass more than just the syntax of a programming language. It also includes topics like programming principles, encapsulation, and how software talks to other software. Start by following a tutorial or training.

Level 2: Tests

The majority of people working with test automation have level 2 skills. At this level, you can make automated tests without help. However, your tests are likely slow, unstable, or both, and you might not think that’s a problem.

Skills at this level range from making the simplest automated tests by yourself to making every test you can think of by yourself.

When you ask for help, you will probably ask people of the same or higher skill level.

How to level up

Learn how developers name stuff. Naming is one of the hardest things in programming and can make your test suites more maintainable. It’s worth listening to different opinions from experienced developers. YouTube is a great source of opinions on this topic.

Learn how to reuse test steps. Reusing steps allows you to do more with less effort. Learn how to pass data around in code or your GUI-based test tool. Look into topics like variable scopes, using function arguments effectively, and using environment variables.

Learn about what makes tests unstable. Some technical approaches bring inherent instability. After you know what causes instability, you can learn to avoid it.

Level 3: Stable tests

At this level, you can make high-quality automated tests without help. A high-quality automated test is maintainable, fast, and stable.

Skills at this level range from sometimes making high-quality automated tests to always making high-quality automated tests.

When you ask for help, you will probably ask people of the same or higher skill level. You might also consult tooling documentation.

How to level up

Learn how to reuse test steps at scale. Some test steps you can reuse in every test if you’re clever about it. Reusing steps will reduce maintenance and can increase stability.

Learn how developers use abstraction. How you structure your test automation can have a lot of impact on maintenance and test creation speed.

Learn how developers use separation of concerns. This is likely your first step into the world of software architecture and design.

Level 4: Framework

At level 4, you can make automated tests (at level 3), but you can also make common functionality that supports yourself and others when making tests. People with this skill level are sometimes called ‘test automation engineers.’

Skills at this level range from making simple common functionality to maintaining and evolving a test automation framework for an entire organization.

When you need help, you turn to other level 4 people, developers, and tooling documentation.

How to level up

Contribute to an open-source test tool. You can start with a small contribution, like properly logging a bug, requesting a small feature, or building that small feature.

Become a developer. This is not a small task, but it’s required if you want to work on test tools.

Level 5: Tools

You can make and extend test tools. Some people with this skill level are test tool maintainers. Unlike the previous skill levels, anyone can use the things you make. This includes people in other organizations.

Skills at this level range from contributing code to an existing test tool to building your own tools from the ground up.

When you need help, you turn to developers, tooling documentation, and the documentation of your programming language.

Conclusion

Thinking about test automation skills in 5 levels can help you better understand what skills a person needs to do their work. It’s a useful shortcut to talk about people’s abilities. However, it will always be a shortcut.

Not everybody should aim for a high level. It’s not suitable for everyone. Don’t blindly treat these skill levels as a progression ladder. These levels give you some idea of what’s possible and how you could increase your skill level if you want to.

What level do you want to reach?