One major roadblock that prevents teams from successfully using automation is a lack of training. Sometimes, just knowing where to start can be overwhelming.
Whether you're a beginner or an expert, this list of resources—blogs and other assists—can help you jump-start your efforts and set you on the path to automation testing awesomeness.
Blogs are great, but there are tons of listicles that cover most of the major automation blogs. I wanted to share some lesser-known resources—in addition to blogs that I really enjoy—that offer more variety for those who want to learn automation testing.
API testing resources
In one of my previous TechBeacon articles, “Shift-right: Test micro-services in the wild to tame DevOps,” I wrote about the need for more API-level tests. Many testers who have experience with automation have dealt with only GUI-based automation.
Here are some ideas for learning how to add API automation to your test suites.
Most modern APIs are developed using REST. Bas Dijkstra offers a great learning resource to start studying REST API testing using a library called Rest-Assured. Here’s how Dijkstra describes his workshop:
“For those of you looking to gain some experience working with REST-Assured, here are all the materials from a workshop I've created and delivered multiple times to good reviews.”
One thing that can be difficult when starting out with API testing is having an application to test against as you learn. If you're looking for a sample REST service to test against, you’re in luck.
The Restful-Booker app was created by Mark Winteringham for those who want to learn more about API testing and tools. It's a great little playground for checking out the various bugs that could possibly be present in your APIs.
Did you know that you can leverage automation tools to assist you with exploratory testing? Well, you can! Amber Race, a Testing Guild speaker, gave a great session on this very topic.
She was generous enough to share her Github explore-with-postmanresource workshop to get you started on how to perform exploratory testing against your APIs.
If you want a real-world API to test against, check out Any-Api.com, which has documentation and test consoles for over 500 public APIs.
I couldn't create an API testing list and not include the funniest API that you can learn to test against. Swapi is a Star Wars-themed API that contains all the Star Wars data you've ever wanted, including planets, spaceships, vehicles, people, films, and species.
Citrus is an open-source framework that can help you automate integration tests for virtually any messaging protocol or data format. To take a deeper dive into learning how to automate APIs, download Citrus and follow the detailed documentation.
Automation test websites
Just as it's helpful to have some APIs to test your automation against, it's good to have some web pages to do the same. Here are a few web pages designed just for this purpose.
The-internet is an open-source web app created by Dave Haeffner. It’s an example application that captures prominent and ugly functionality found on the web, which makes it perfect for writing automated tests against while learning a web-based automation test tool.
Selenium programming test pages
Sometimes the best way to learn is to see what others have already been successful with. Here are some sites to investigate to learn more.
Todo-subsecond is a tiny application with full-stack acceptance tests that can run in milliseconds. Its purpose is to illustrate the essential techniques to achieve this in any system. Through a series of exercises, you'll get familiar with a particular way of doing test-driven and behavior-driven development.
Just as there are design patterns for developers, there are design practices that testers should follow, as well as anti-patterns to avoid. The TestAutomationPatterns wiki documents typical test automation issues, classification of issues, failure issues, and anti-patterns.
Awesome-Test-Automation is a curated list on GitHub of awesome test automation frameworks, tools, libraries, and software for different programming languages.
Automation video courses
Online courses are among the most popular ways to learn skills such as test automation quickly. There are a ton of choices; here are a few that I have found helpful.
Automation in Testing
Automation in Testing contains free online courses created by Richard Bradshaw and Mark Winteringham. These courses provide free, high-quality resources to the testing and software development communities.
Nikolay Advolodkin’s site, Ultimate QA, offers paid courses, but it also offers a number of free ones that are perfect for beginners:
- Selenium WebDriver: What are implicit and explicit waits. Learn how to correctly use implicit and explicit waits using Selenium WebDriver.
- Selenium WebDriver–Working with Elements. Master web element identification, manipulation, and interrogation using Selenium WebDriver.
- C# for QA Automation Engineers with Selenium WebDriver. Master C# for QA engineers.
Selenium WebDriver Basics
Alan Richardson’s online video course, Selenium WebDriver Basics, covers what a typical automation engineer would need to know to get started using Selenium with Java.
Kevin Lamping authored the course Learn WebDriver.io. Lamping shares some of the pros and cons of using WebDriver.io as well as other things to keep in mind when creating a WebDriver.io-based framework.
Katalon Studio training
Katalon is a free automation tool with an easy-to-use UI that is perfect for beginners. Pair it with Karthik KK's free Udemy course, Automate Everything with Katalon, and you'll get a full training on how to get started with automation.
Intro to DevOps
The goal of the free Udacity course Intro to DevOps is to help existing IT professionals appreciate the challenges facing companies that are looking to embrace scalable software deployment. It also covers the architecture and thought processes you can use to address those challenges.
LinkedIn has a collection of curated learning content on pretty much any development/software testing topic. You can see what's trending for software testing and a list of courses available on the site.
This is my go-to resource for learning most new technologies. There are automation-related topics around test-driven development, unit testing, DevOps, and Selenium. Some of my favorites are:
- Automated Web Testing with Selenium and C#. This fast-paced course covers what a typical automation engineer would need to know to get started with Selenium using Visual Studio and C#.
- Creating an Automated Testing Framework with Selenium. Once you understand the basics of Selenium and C#, this course covers how to create a framework from scratch. This is for people who want to take a deeper dive into creating an automated framework.
Understanding Docker for Selenium automation
Understanding Docker and using it for Selenium Automation is a free Udemy course designed so that even someone with zero knowledge about Docker and its related concepts can get up to speed without much effort. To scale your automation tests, you'll need to learn how run tests in parallel, and using a container approach such as Docker is something you should learn.
Learn Programming for Testers
To truly learn automation, you need to have some understanding of how to code. There are many top-notch online resources you can use to get up to speed.
Looking for a way to learn to program using an interactive approach? Learn Python has a nice tutorial for complete beginners. It also provides an embedded console to write your code to test your programming knowledge as you go through the tutorial, without having to download anything else.
MIT Open Courseware
Have you always wanted to attend MIT, but didn't have the skills or cash? Well MIT has programming-focused classes online that you can take free of charge. Check out the full list of introductory programming courses.
Resources on YouTube
For folks who learn best from a video, there are many free resources that you can leverage to get up to speed with test automation. One knock against learning with YouTube is that it's hard to find videos in the correct order that helps truly teach a technique.
That's what’s great about channels that use playlists—curated lists that usually have videos on one topic. Here are a few of my favorites:
Alan Richardson, a.k.a. The Evil Tester
Richardson has a ton of videos on his main YouTube channel, including some that are dedicated to teaching you Selenium from the ground up:
- Getting Started with Selenium WebDriver, Part 1
- Getting Started with Selenium WebDriver, Part 2
Automation Step by Step
Another very prolific automation engineer, who has one of the best YouTube channels dedicated to all kinds of automation, is Raghav Pal. He is an automation test architect and the founder and educator of the YouTube channel Automation Step by Step. He covers topics such as getting started with Postman, Katalon Studio, and, of course, Selenium.
Check out his YouTube playlist for learning Selenium to get an idea of how great a resource this channel is for beginning testers who are trying to learn automation.
Anyone that has seen Angie Jones speak live knows how awesome she is. You can actually watch many of her previous conference sessions on her website under talks.
‘Watch me learn' automation blogs
Have you ever heard of “the curse of knowledge”?
It's when you know something so well that you forget all the steps you had to take to learn to acquire that skill. That’s why I think it's a good idea to follow other testers who are also making the transition to gain insights, offer support, and cheer them on.
Here are a couple:
Adventures in Automation
Not into watching videos or reading, but still want to find a way to learn more about automation? Check out these podcasts that are dedicated to testing but also cover automation topics.
Full disclosure: TestTalks is my own podcast, dedicated to automation awesomeness for your earbuds. It covers a wide range of topics for beginners as well as seasoned experts on testing and automation.
Being well-rounded as a tester—knowing how to do both functional automation and performance testing—will give you an edge in your career. There are no better folks to learn the craft of performance testing from than Mike Tomlinson and James Pulley, two of the hosts of PerfBytes.
Test and Code
A Python-specific podcast on how to test using the Python programming language. Many automation topics are also covered in Test and Code.
Email to Learn Automation Testing Newsletters
One way to encourage yourself to start learning test automation is by receiving tips and tricks once a week in your inbox that, over time, will make you an expert.
Dave Haeffner has an excellent Selenium tips newsletter, delivered as a free, weekly email, called Elemental Selenium that will show you how to use Selenium like a pro.
Test Automation Related Books
I love books, and reading them is my favorite way of keeping my skills up to date. Here are some popular reading options for my fellow automation bibliophiles.
Java for Testers
My all-time favorite for folks new to automation and coding is Java for Testers, by Alan Richardson. This book does not cover Selenium, but it lays a solid foundation for beginners who need to learn how to program in Java in order to start using Selenium.
A Practical Guide to Testing in DevOps
This gem, by Katrina Clokie, offers direction and advice to anyone involved in testing in a DevOps environment.
Selenium: Above and Beyond
There are a lot of beginner resources out there for Selenium automation, but not much on the more intermediate to advanced topics. Andrew Krug‘s Selenium: Above and Beyond covers topics you won’t find anywhere else, such as security testing, performance testing, continuous integration, and more. To take your Selenium skills to the next level, check out his book.
Other books I've enjoyed over the years include:
- The Digital Quality Handbook: Guide for Achieving Continuous Quality in a DevOps Reality, by Eran Kinsbruner
- Test Automation in the Real World: Practical Lessons for Automated Testing, by Greg Paskal
Online Automation Testing Conferences
Some automation conferences release their session videos afterwards. Here are some you should check out.
The Google Test Automation Conference
GTAC is an annual test automation conference hosted by Google. It brings together engineers from industry and academia to discuss advances in test automation and the test engineering computer science field. Most of the sessions are archived and can be viewed anytime. For example, check out the slides and videos for GTAC 2016.
View all the videos from SeleniumConf on the YouTube page.
DevOps and automation testing are becoming more and more entwined. An automation engineer should have a good understanding of DevOps principles. A great free resource for this is the All DevOps Days YouTube channel.
Performance Advisory Council (PAC)
The PAC is a free, 24-hour conference dedicated to virtual events about performance testing. A well-rounded automation engineer needs to be familiar with performance testing, and this is a way to immerse yourself in it.
GuildConferences is an online conference and community platform dedicated to helping testers succeed with automation and performance testing.
Automation testing chat groups
Selenium Slack group
Want to receive updates about the Selenium project and interact with its main contributors? Simply viewing threads in the official Selenium Slack channel will automatically bump up your automation IQ.
I use the Serenity framework for my main automation projects. Creator John Smart is a thought leader in this space, so the Serenity Community is a good resource for keeping up with what other automation engineers are dealing with, even if you're not currently using Serenity.
Automation Guild Slack
Anyone who registers for an Automation Guild online conference gets access to the Automation Guild Slack channel. It's a very active community with lots of great info being shared and friendly folks eager to help answer your questions.
LinkedIn groups for automation engineers
These two groups don't allow direct blog posting or other nonsense, only automation-related discussion topics:
- Selenium Test Automation User Group: It describes itself as having been created to use the Selenium knowledge base to incorporate best practices into your associated IT and QA automation teams. The user base can “better express common issues, plugins, and strengths and weakness areas of Selenium as well as provide an avenue for resource fulfillment,” the group's description says.
- Software Automation | Test | Architecture: A discussion group for test automation engineers to share experiences related to tooling, design, and concepts.
Facebook group for automation engineers
Automation Testing Resource Odds and Ends
Beaufort Fairmont webinars
Paul Merrill, a principal software development engineer at consultancy Beaufort Fairmont, has been focused on helping companies succeed with test automation. He's got an excellent ongoing webinar series that features interviews and tips for success with automation.
Although the SDTimes is considered a software development magazine, it covers a wide range of automation testing items and news you need to know in this space as well.
And that's it for now. Please let me know if I missed anything by leaving a comment below.
Automation Testing Comic
Looking for a fun way to learn more about automation testing? Check out Corina Pips new test automation comic series.
AI Test Organizations
Worried about the future of testing after AI takes over the world. No worries join AISTA. The Artificial Intelligence for Software Testing Association (AISTA) is focused on applying, and extending AI to the world of software quality in all forms, and obviating the need for human testing activities.