Micro Focus is now part of OpenText. Learn more >

You are here

You are here

10 experts advise aspiring test automation engineers

public://pictures/Matthew-Heusser-Managing-Consultant-Excelon-Development.jpg
Matthew Heusser Managing Consultant, Excelon Development
public://pictures/carl_shaulis_small.jpeg
Carl L. Shaulis Director of Engineering, Vrbo
 

Talk to 10 test automation experts on how to get started (or get better at your job), and you're likely to get 12 different answers. We know, because we tried, asking not for general, vague advice such as "Learn to code," but for specific websites, books, videos, and other resources to study.

With the results of that informal survey, we created this simple guide, focused on helping human, interactive testers create software that can interrogate other software on its own—and produce meaningful, accurate results.

Seven of our 10 experts recommended the same resource—Test Automation University. This free website is similar to MasterClass, Skillshare, or Coursera, but focused on software test automation and entirely without cost. Beyond that, we asked them for any other resources they would like to share, such as a list or just advice on how to get started.

Here's their advice for aspiring test automation engineers.

1. Joe Colantonio

The founder of the Testing Guild series of conferences, Colantonio also runs the Testing Guild podcast.

Twitter: @joecolantonio

On getting started: "Some people go overboard with the programming. You don't have to be a guru to write automation. There's no magic bullet that's codeless, but down the road you may only need to know how to read code."

Book: Java for Testers, by Alan Richardson 

"Most of the syntax in Java you'll never use for test automation. Traditional books unnecessarily confuse aspiring test automation engineers. They discuss things like manifest files and compiling from the command line, and you don't need to know that as a test automation engineer. What you need to know is how to read and understand existing codebases, and that's what Richardson delivers.

"What you need to write for tests is pretty simple. You need to be able to create tests using Java libraries and things like that. It's a controversial idea now, but as we go to more AI, there will be less reliance on hardcore coding. People will be focused on data science and testing in the future.

"The frameworks are so easy; you're already using existing code. It's not like you're creating a lot from scratch. The basics are what you really need. I became a test automation architect at GE, but to get there I just had to know enough so I could get things to work."

2. Alan Richardson

A consultant with a focus on teaching, known for Selenium and Java expertise, he made our list of 33 test automation experts to follow on Twitter.

Website: EvilTester.com 

Twitter: @EvilTester

Book: Implementation Patterns, by Kent Beck

"I've read this book multiple times, with new nuances revealed each reread. Kent Beck describes the pros and cons of different approaches with explanations of when he might choose one over the other, encouraging decision making and taking ownership of the code.

"After my first reading, I simplified my coding style and reduced my reliance on external libraries. Implementation Patterns is one of the few books to describe the decisions involved in 'evolving frameworks,' a core skill for everyone involved in automating. I will reread it."

3. Paul Grossman

An eclectic tester known for composing unique solutions, Grossman has worked with everything from Selenium Java to HP tools to testRigor for natural-language processing.

Twitter: @DarkArtsWizard

Video: Learning Java, by Derek Banas; free on YouTube. For that matter, for any technology, Grossman recommends looking for free video tutorials that are short. That includes the Catch Test Automation videos by Rex Jones II, and Grossman's own Dark Arts Wizard series of automation tips and tricks.

Website: Want to learn Java (or 22 other languages) but also like to play games? Grossman recommends using Codingame and helping Batman save Gotham from the evil Joker with your programming skills.

Repositories: Need to learn to write xPath or CSS? Stop by the diners, in CSS or XPath.

4. Dave Martin

A principal test automator at Broadcom, Martin has spent close to two decades in software testing, spending the last 10-plus years as an SDET, using automation to solve problems. Not a coach or trainer, Martin has done automation for General Electric, Symantec, and more, which means he has a lot of practical experience with the best tools.  

Twitter: @superdavemartin

Advice on getting started: "I am currently a Robot Framework enthusiast, and that all started by taking a course by Bryan Lamb; it can be found on multiple platforms, but I bought it on Udemy.

"That course was the catalyst for me going from no experience in Robot Framework to automating thousands of test cases in only two weeks' time, and what has now become a thriving test automation framework with over 40 contributors at my company.

"So, if I were to name one resource, that would be it.

"Since then, the official Robot Framework site has become my go-to site for all my automation needs. Robot Framework can do it all. I like to say that Robot Framework combines all the power of Python (or Java) and all the power of Selenium in a single test automation framework. I use it for browser testing, API testing, cloud-based interactions, terminal interactions, database testing, and even performance testing."

5. Corina Pip

One of the leading testers in Romania (scratch that—one of the leading testers in Eastern Europe), Pip specializes in the Java/Spring/TestNG/Selenium family of test automation. Her blog explores those topics, and she recently released a training module about test automation in Intelllij. Surprisingly she chose not to list either of these resources for getting started, perhaps due to her sense of modesty.

Twitter: @imalittletester

Advice on getting started: "Thanks for reaching out on this topic; it's a good one. I would recommend a resource that I'm sure many others will, namely the Test Automation University website. It is a good starting point for anyone wanting to get into automation, because there are courses available on a varied set of tools or frameworks dedicated to creating tests.

"Apart from that, there are also courses on related tools you will use in the process of automating, like the IDE for writing the tests, the version control system, the continuous integration tools. If you are unsure of what courses to take and in what order, you can check out the recommended learning paths. The courses are created by highly respected and experienced professionals. And, let's not forget, all courses are free for anyone who wants to take them."

6. Titus Fortner

As senior solutions architect at Sauce Labs, Fortner works to assess and improve the automation strategies of companies. He’s known for naming, expanding on, and popularizing the Dom-to-database style of test automation. 

LinkedIn: linkedin.com/in/titusfortner/

Advice on getting started: "I recommend Ultimate QA to novice testers. The website offers articles and video tutorials to teach beginners, while also providing useful content to advanced testers. The training material consistently focuses on the things that I consider to be most important for any given topic. Likely this is a result of the content being based on real-world experience across a variety of contexts."

7. Simon Stewart

The creator of Webdriver, the core engine that would become the Selenium 2.0 (and later) browser-driver, Stewart has worked at Google, Facebook, Apple, and Thoughtworks.

Twitter: @shs96c 

Book: "Working Effectively with Legacy Code, by Michael Feathers. There aren't many books on software development written in 2004 that are still relevant and hold lessons we can apply today, but this is one of them. The definition of 'legacy code' as being 'code without tests' is timeless, and the advice it offers about how to bring a code base under control are wonderful."

Website: "The Ministry of Testing is a wonderful community, too. They organize some brilliant meetups, and are some of the most genuinely welcoming and supportive people you could imagine. Richard Bradshaw has been 'Boss Boss' of the community for a while now, and it's been wonderful to see it grow. The Slack channel can be a great place to talk to like-minded people, and the recordings of past talks are always interesting. I've not had a chance to look at the courses that they offer, but if they're anything like the standard of the rest of the work with the community, I'd have high hopes."

Slack: "Finally, I'd suggest the Selenium Slack channel as a great place to go and talk to people using Selenium. The community there is warm, vibrant, and can often provide some advice and support. Better yet, the core Selenium team are all there, and often chip into the conversations where that's helpful, as well as other folks in the ecosystem, such as SeleniumBase's creator, Michael Mintz." 

8. Bas Dijkstra

In Western Europe it is the Netherlands that is known as a haven for software testing—yet most of that is exploration and human testing. Dijkstra is a test toolsmith and trainer whose recent work is focused on API and services testing. Like a few other members of this list, Dijkstra is a TechBeacon contributor.

LinkedIn: linkedin.com/in/basdijkstra/

Book: "Arnon Axelrod's Complete Guide to Test Automation. This one of the best books I've read on test automation. It covers not just the 'how' to use specific tools, but, more importantly, also the 'why' you should implement automation and 'what' to automate. It's a great read for both test automation engineers as well as managers and team/tech leads. I was the technical reviewer for this book, but I don't gain from promoting it in any way."

Second book: "A Practical Guide to Testing in DevOps, by Katrina Clokie. There is a lot of value for the modern testers and test automation engineers in here. As teams and companies shift more and more toward CI/CD and DevOps, the role of the tester changes with it, too. This book provides a range of tips and insights on how to thrive as a tester in the modern software development world."

9. Phil McNeely

An engineering manager at Expedia, McNeely has presented at the Conference for the Association for Software Testing; he also volunteers for Veterans for Quality a military-to-software-test transition nonprofit.

Twitter: @advintesting

Advice on getting started: "Pretty much anything by Alan Richardson is quite useful. Specifically, back when I was learning to code tests in Java—that's the language the product was written in—I found Java for Testers to be a great resource. It filled a few gaps in knowledge I had and really clarified my thinking on how to write and structure the tests. Further, I found the book to be immediately applicable with clear, concise, and immediately applicable examples and patterns.

"Later, as I moved into API automation, I found Automating and Testing a REST API did the same thing for me with API testing. I currently support Alan on Patreon, and he delivers lots of tutorials and posts about testing, and all for only $1 a month."

10. Lisa Crispin

It can be hard to find a copy, and it is a little bit dated. Still, Crispin's book Testing Extreme Programming is arguably the first to take testing-beyond-unit-test automation as a serious part of agile development. That was back in 2003. Since then, Crispin has been active in the agile software development world; she co-wrote Agile Testing: A Practical Guide for Testers and Agile Teams, as well as the next book in the series, More Agile Testing

Twitter: @lisacrispin

Advice on getting started: "Interestingly, I am currently trying to get back enough coding and automation skills so that I can collaborate with my team in both coding (test-driven development) and test automation. Personally I am taking a LinkedIn 'Intro to Ruby' course right now as a start, and I've also hired Avdi Grimm to tutor me. Of course I've written a lot on the subject, which I do recommend to people a lot, mainly about how a whole delivery team can come up with a test automation strategy together." 

Tying it together

If you want to learn about testing automation, there are a few pieces to know. Without the tool, or programming language, you aren't going to get anywhere. Then there is understanding testing itself, the limits of the computer, and the hard-fought patterns that allow you to offload some of the repetitive testing work onto a computer.

You've now got 10 different perspectives on how to get started; what are you going to do next?

Keep learning

Read more articles about: App Dev & TestingTesting