As software becomes more complex, test automation becomes an increasingly important component of software development teams. Test automation engineers are instrumental in helping organizations achieve their software development and business goals. In this blog post, I'll detail the essential skills and strategies that elevate aspiring test automation engineers to rock star status.
Before I detail how people can become test automation rock stars, let me first cover what effective test automation looks like.
Some mistakenly believe that test automation is all about the execution of tests. It's far more than that. Effective test automation is a strategic approach that is not only aligned with project goals, but also contributes to broader business objectives.
Effective test automation includes high-value activities and tests focused on user experience, application integrity, application performance and more. It needs to be reliable and provide fast feedback. By identifying issues and bottlenecks in the development pipeline quickly, automation helps create an efficient software delivery lifecycle.
Continuous improvement is another important aspect of an effective test automation strategy. Effective test automation engineers are always looking for ways to improve their solutions and add more value. And finally, effective test automation allows testers to focus on high-value testing tasks: finding issues that need to be addressed.
The path to becoming a test automation rock star will be different for everyone. As with most things in life, how you reach a destination depends on where you start. So first find your starting point.
Here's a self-assessment mind map to help you determine where you are today:
As you go through each area of the mind map, be specific and realistic about your specific strengths and weaknesses. Understanding your gaps will help you plot an efficient path for growth.
To address the gaps in your skill sets, I recommend taking things in this order:
The first step along this path is learning the craft of software testing. I’ve found the following capabilities are key components to becoming a rock star.
To expand your knowledge of software testing fundamentals and techniques, I recommend these books and blogs:
After you've brushed up on software testing fundamentals, it's time to move on to software testing in modern software development. Here are some books and blogs that are worth reading:
An important aspect of being a rock star is figuring out what NOT to do.
A lot of organizations take a naive approach to test automation. They start with a tool or framework focus. They overengineer it, adding a lot of bells and whistles that don't add value. Meanwhile, they're ignoring foundational factors for success, such as test data management and environment management.
Next, they move on to automating tests, taking existing scripted tests and automating them verbatim. This often leads them to taking a UI-heavy approach, testing all layers of the application through the user interface.
On execution, they execute late in the sprint – or worse, in the next sprint. Execution becomes flaky with irrelevant failures (i.e., failures that have nothing to do with the application). They measure counting metrics, such as the number of tests automated.
Don’t take this approach and end up being a rock star groupie. Instead, focus on these principles:
The Test Suite Canvas is an excellent framework for determining what test suites you need and how to best implement them. It's a set of questions to help you think critically about your test automation readiness. It comes from Ashley Hunsberger's presentation at SauceCon 2018, and was adapted from the original concept that Katrina Clokie introduced in her blog post Test Automation Canvas:
Also be sure to take a context-driven approach. Don't let your current tools or knowledge be your hammer and make every automation opportunity look like a nail. Consider all testing activities for automation, not just scripted test steps. Broaden your definition of what a test automation "tool" is. Use the right tool for the job and think critically about your automation scope. Be sure to focus on high-value activities and tests - not just what is easiest to automate.
Finally, be sure to demonstrate the value of test automation to stakeholders across the organization:
Summarizing the blog post, here are five foundational characteristics of Test Automation Rock Stars: