Best Online Resources to Learn Automation Testing

Introduction

I spent many years doing software test automation. Throughout those years I created a list of my favorite resources that helped me improve my skills. Below is that list. Most of the resources for learning test automation are focused on Selenium WebDriver because it is the most relevant technology today. However, some general resources are also available to improve your test automation skills.

Online Video Tutorials

automation testing online resources
Shares
  • Facebook
  • Twitter
  • Google+
  • Buffer
  • Gmail
  • Delicious
  • reddit
  • StumbleUpon
  • Tumblr

1) Selenium 2 WebDriver Basics with Java

Alan Richardson

Selenium WebDriver | Java | $229

There are a ton of Selenium WebDriver courses out there. Most of them are complete garbage, but Alan’s course is just awesome. He will teach you many different aspects of Selenium Webdriver such as:

  • How to handle iFrames
  • How to write tests
  • How to perform user interactions
  • How to invoke JavaScript
  • How to work with tabs
  • And so much more, from basic to advanced

I still go back to it from time to time to see if there is something else that I can learn.

2) Selenium Webdriver - Master Synchronization Techniques

$Free | Selenium WebDriver | C# | Visual Studio | MS Test

This is a free Selenium Webdriver course that you can use to seriously improve the stability of your automated functional tests. Here are some topics that you will learn:

  • Learn the problems that can occur as a result of improper synchronization
  • Learn how to use Selenium Webdriver explicit waits
  • Master Selenium Webdriver implicit waits
  • Understand what a DefaultWait is
  • Comprehend how to use all of the different types of waits during appropriate situations

3) C# For QA Automation Engineers Using Selenium Webdriver

$Free | Selenium WebDriver | C# | Visual Studio | MS Test

This is the only course that was designed by a QA Automation Engineer, based on real experience, and then taught by Dr. Tiffany with over 15 years of teaching and working experience.Here are just some of the topics that are covered in extreme depth:

  • Full 10 hours of high-quality C# video tutorial taught by a real professor
  • You will learn Visual Studio and how to create different types of projects
  • You will master variables and strings
  • You will learn math and equality operators
  • You will know how to use and create methods in C#
  • You will master classes in C# and Object Oriented principles
  • You will learn about loops, switches, and arrays
  • You will understand how to do exception handling
  • You will have a full understanding about how to work with JSON
  • You will learn how to apply all of your skills to a Selenium Webdriver automation testing framework

4) Complete Selenium WebDriver with C# – Build A Framework

Nikolay Advolodkin (me)

Selenium WebDriver | C# | Visual Studio | MS Test | $49

Yes, this is a shameless plug for my course, but in all honesty, this is a wonderful course. It has a 4.4 / 5 rating and over two thousand students. Some of the topics that you will learn are:

  • How to write your first automation framework from scratch
  • The automation testing best practices to make you amazing at your job
  • The Page Object Model, the most effective way to create automation testing frameworks
  • Complete C# for beginners course to make you efficient at coding frameworks
  • Visual Studio and MSTest framework
  • How to work as an automation tester at your job in an Agile lifecycle

Plus there’s a free trial where you can discover everything that you will actually learn.

5) HP QTP / HP UFT Tutorials

QTP Tutorial

HP QTP | HP UFT | VBscript | Free and Paid

If you are seriously looking to improve your QTP( aka UFT) skills, then this website has all the best videos for that.

Just a few of the topics that you can learn from the 600+ videos include:

  • VBscript
  • How to identify objects
  • API testing with UFT
  • How to create a Keyword Driven Framework
  • How to data drive your tests
  • How to debug your code without message boxes

Test Automation Frameworks

test automation frameworks
Shares
  • Facebook
  • Twitter
  • Google+
  • Buffer
  • Gmail
  • Delicious
  • reddit
  • StumbleUpon
  • Tumblr

Did you know that there is an abundance of incredible code out in the world that has already been developed? You are not the first person to try and build an Enterprise level test automation framework. People have been doing this for decades. This is going to be a list of all the automation frameworks that I have found through my years of development. Most of it is Selenium WebDriver since it’s what I am currently using. Take a look at everything to gather some ideas for your efforts.

1) Selenium WebDriver FrameworkUltimate QA

Selenium WebDriver | C# | Page Object Model

This is my open source framework that I teach through my Complete Selenium Webdriver Course. It is lightweight, easy to use, and is based around the page object model for easy maintenance. Fork it or download it to get some new ideas for your future framework.

2) Automate The Planet Frameworks

Anton Angelov

Selenium Webdriver | Test Studio | C#

Anton has a ton of useful code that you can look at. He applies different design patterns to his code to show you how it would look. For example, you can see how to use the Strategy Design Pattern, the Facade Design Pattern, Page Object Model, and Advanced Page Object Model. You can cycle through it and decide what you want to reuse.

3) SpecFlow BDD Automation

Selenium WebDriver | BDD | C# | Acceptance Testing

SpecFlow is one of the few C# BDD frameworks out there, which automatically makes it a highly desirable candidate. This framework helps you to build acceptance tests using business readable specifications. Therefore, these tests are readable by the developers, testers, and business personnel. In theory, these tests can replace requirements as they serve as living documentation.

4) Golem Automated Testing Framework

Selenium WebDriver | GUI Testing | RESTful testing | SauceLabs

This framework is one of the most feature-rich frameworks that I have ever seen in the industry. It helps you to build GUI tests, RESTful tests, tests against Windows applications, and runs all of this locally or in the cloud. I spent many hours looking at this code and learned a lot.

The creator has some excellent strategies for making very readable tests. Furthermore, he creates great logs, screenshots, and video recordings to help debug the failed tests Sadly, I cannot get it to run consistently, but it’s a great place to start building from.

5) Gauge

ThoughtWorks

Test Automation

Gauge is a test automation framework designed by the guys that created Selenium WebDriver. Although I haven’t explored it myself, it does seem interesting, since it was created by the Selenium guys. They do seem to create resources that change the world. It’s a resource I will look at in the future, and you should as well.

6) RedwoodHQ

Test Automation | Keyword Driven | C# | Java | Python

This is an open source keyword-driven framework that allows users to build keyword-driven actions in order to create their tests through a simple user interface. They have integration capabilities with source control, continuous integration, and many others. I’m not a big fan of keyword-driven frameworks, but if they are your cup of tea, then you should look at RedwoodHQ. Here are some great links to get you started:

7) Serenity

Automation Framework | BDD | Java

Serenity is a BDD framework that works with Java and Selenium WebDriver. Serenity also offers functionality such as:

  • Providing WebDriver management
  • Taking screenshots
  • Running tests in parallel
  • Facilitating Jira integration

I have not personally used it, but I know some people that use it and they all say fantastic things about Serenity. It makes me a bit jealous that it doesn’t integrate with my Visual Studio.

8) Robot Framework

Automation Framework | ATDD | Python | Jython | Iron Python

Robot framework is a generic test automation framework for acceptance testing and acceptance test-driven development (ATDD). This framework utilizes a keyword-driven approach for its testing. Furthermore, its testing capabilities can be extended using either Java or Python.

9) BDD Selenium Framework

Alister Scott

Selenium WebDriver | BDD | Specflow | C#

If you are looking to build Behavior Driven Development tests using Selenium WebDriver and C#, then Alister has the code that you want to see. He utilized SpecFlow  framework to run his tests. I always recommend that you look at all the code you can to acquire knowledge from other individuals.

Websites to Practice Test Automation

websites to practice automation
Shares
  • Facebook
  • Twitter
  • Google+
  • Buffer
  • Gmail
  • Delicious
  • reddit
  • StumbleUpon
  • Tumblr

1) QTP Tutorial’s Test Automation Practice Page

A free place to practice different identification techniques such as:

  • Using html id to interact with your element
  • Utilizing html class to interact with your elements
  • Filling out different forms
  • Practicing signing up for an email list
  • Automating login scenarios

2) Awful Valentine

Another free website that I got from a book I read called Selenium Design Patterns. This website is a simulator of an online store where you can purchase different kinds of items. You can try to automate items such as:

  • Slow AJAX
  • Slow animation
  • Third party links
  • Credit card transactions
  • Online store checkout scenarios

3) Dave Haeffner’s Practice Site

Dave designed an excellent place to practice different kinds of test automation scenarios. Some of the scenarios that you can try to automate include:

  • A/B Testing
  • Basic Auth
  • File Upload
  • Challenging DOM
  • iFrames
  • Slow connections
  • Dynamic content
  • Hovers
  • Redirect links

4) Fake Online Investment Site

This is an online investment website where you can practice different automation techniques like user creation and money transaction validations. I got this website from the book A Practitioner's Guide to Software Test Design. Please use the Authorization Code 11111111, and you will be able to register for the site and login to practice your automated software testing.

E-learning Platforms

e-learning platforms
Shares
  • Facebook
  • Twitter
  • Google+
  • Buffer
  • Gmail
  • Delicious
  • reddit
  • StumbleUpon
  • Tumblr

These are websites that contain a bunch of very useful courses. Some are paid and some are free. Take a look and search for your desired topic.

1) Udacity

Software Testing | Programming | Git | Free & Paid

This is a great site with very high-quality videos. The videos are recorded so you can take interactive quizzes based on the content that is drawn on the page, during the video. The instructor may ask you to identify the correct solution to a problem, write four answer choices, and then you can interact with the User Interface to select the correct choice. Two of my favorite free courses are Software Testing and How To Use Git and Github.

2) Coursera

Online University | Free & Paid

Their motto is “Take free online courses from top universities.” Therefore, you can take real college courses online. Most are completely free. The only catch is you actually have to participate in the course because they have hard start dates, homework, and quizzes. Some courses that you can partake in include:

3) Pluralsight

IT Training

This is a topnotch site with some of the best professionals teaching great topics.  These professionals include John Sonmez, Aaron Frost, and Scott Allen. You can learn different programming languages like Java, C#, and Python by watching video tutorials. You can also learn automation tools like Selenium WebDriver, Coded UI, NUnit, Visual Studio Test, and much more. All of the video tutorials come with code and notes that you can use in order to enhance your retention rate. Some of my favorite courses include:

Books

books
Shares
  • Facebook
  • Twitter
  • Google+
  • Buffer
  • Gmail
  • Delicious
  • reddit
  • StumbleUpon
  • Tumblr

If you want to master test automation, you must read, as there is a wealth of information in books. I read a bunch of these, and every single one has added an extra weapon to my automation arsenal.

1) Selenium Design Patterns by Dima Kovalenko

Shares
  • Facebook
  • Twitter
  • Google+
  • Buffer
  • Gmail
  • Delicious
  • reddit
  • StumbleUpon
  • Tumblr

Selenium Design Patterns by Dima is an excellent book that will teach you some very valuable automation design patterns, regardless of the tools that you use. You will learn:

  • Hermetic Design Pattern
  • Page Object Pattern
  • Spaghetti Antipattern
  • And much more

2) QuickTest Professional Unplugged by Tarun Lalwani


This is a book focused on QTP, also known as UFT. This book is perfect for any level of automation engineer. Furthermore, since UFT still uses VBscript, this book is still relevant in today’s industry. A few of the topics covered include:

  • Data Tables
  • Actions
  • QTP Environment Variables
  • Utility Objects
  • Checkpoints
  • Descriptive Programming
  • Debugging in QTP
  • Regular expressions
  • HTML DOM

When I was doing automated testing with UFT, I would always refer back to this book to see if there was a golden nugget of information that could help me.

3) QTP Descriptive Programming Unplugged by Tarun Lalwani and Anshoo Arora

This book has so much amazing code and insight for QTP/UFT. The time that you will save by reading this book will make you an invaluable employee to your company. Speaking from experience, I believe that over 75% of the individuals working with QTP/UFT Automation know less than 5% of the concepts in this book. Be more valuable than the rest!

Here are some of the topics that you will learn:

  • Descriptive Programming
  • Visual Relation Identifiers
  • Child Objects
  • HTML DOM
  • Web Tables
  • Localization techniques and design patterns
  • Object identification using XPath
  • Working with QTP XML OR
  • Testing Web Services

4) Experiences of Test Automation by Dorothy Graham and Mark Fewster

This is an excellent resource for test automation. Dorothy and Mark have a lot of experience and help you to overcome many hurdles when dealing with test automation. You will learn some valuable techniques for how to prioritize automation, what to automate, how to automate, management issues, and technical issues. You can also learn database automation, regression testing in production, and automating the testing of complex government systems. It’s funny because even today, I still see people making a lot of mistakes that could be overcome by reading this resource.

5) Agile Testing by Lisa Crispin and Janet Gregory


I originally picked up this book to become a better tester in general. Although I am still reading this book, I have learned some valuable information. Some things that you will learn are:

  • How to overcome barriers to test automation
  • How to get testers engaged in agile development
  • Where testers and QA managers fit on an agile team
  • What to look for when hiring an agile tester
  • How to transition from a traditional cycle to agile development
  • How to complete testing activities in short iterations
  • How to use tests to successfully guide development

6) Refactoring: Improving the Design of Existing Code by Martin Fowler and Kent Beck


I don’t care what anyone says. A good Test Automation Engineer is a good programmer. Now, we may never work for Google developing Google Chrome, but we should have the capability to understand good code and write good code. We should have the capability to design a maintainable, robust, and flexible test automation framework. When we face one that isn’t good, we should have the capability to refactor it.

7) Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin

I just started this book by Uncle Bob, and I am really excited to go through it and improve my coding capabilities. This book promises to make your code awesome as long as you do the due diligence and practice everything that he preaches. Furthermore, Uncle Bob tells the best stories. Some of the topics that are covered include:

  • How to write meaningful names
  • How to write good functions
  • How to handle comments
  • How to deal with objects and data structures
  • How to do proper error handling
  • How to write unit tests

8) xUnit Test Patterns: Refactoring Test Code

Although I have not read this book, it is definitely on my list as it has been mentioned by multiple authorities as one of the “must read” books. Here is a quick snippet from the cover:

“Automated testing is a cornerstone of agile development. An effective testing strategy will deliver new functionality more aggressively, accelerate user feedback, and improve quality. However, for many developers, creating effective automated tests is a unique and unfamiliar challenge. ‘xUnit Test Patterns’ is the definitive guide to writing automated tests using xUnit, the most popular unit testing framework in use today. Agile coach and test automation expert Gerard Meszaros describes 68 proven patterns for making tests easier to write, understand, and maintain. He then shows you how to make them more robust and repeatableand far more cost-effective.”

Blogs

blogs
Shares
  • Facebook
  • Twitter
  • Google+
  • Buffer
  • Gmail
  • Delicious
  • reddit
  • StumbleUpon
  • Tumblr

1) JoeColantonio.com

Joe Colantonio

Automation Testing | QA | Development

Without a doubt, Joe is one of my favorite thought leaders in test automation. Joe constantly provides quality content regarding all kinds of different subjects. For example:

This is my default blog for general QA learning. I strongly recommend that you check it out.

2) Ultimate QA

Nikolay Advolodkin

Selenium Webdriver | Automation Testing | Quality Assurance | Software Testing

This is my home base where I talk about everything related to QA with a serious focus on automated software testing using Selenium WebDriver. I have both posts and actual video tutorials that teach you step-by-step. Here are some examples of what you can learn:

3) Simple Programmer

John Sonmez

IT | Development | Life Skills | Software Testing

I definitely had to put this site in here, not because I’m a writer for it, but simply because it contains an amalgam of useful information. For example, you can read about:

Go there and search for a topic. You will be sure to find a great read.

4) Automate The Planet

Anton Angelov

Test Automation | C# | Jenkins | Visual Studio | TFS | Telerik Test Studio

Anton delivers high-quality content that helps me to grow as a Test Automation Specialist. He covers a bunch of amazing topics related to test automation. For example:

5) Elemental Selenium

Dave Haeffner

Selenium WebDriver | Ruby

This is a serious gold mine of information when it comes to Selenium WebDriver. Forget that it’s only with Ruby; that’s irrelevant. If you want to learn how to perform impressive tasks with Selenium WebDriver, go through the archives and admire the code. Here are a few examples:

6)Test Insane

Software Testing

Test Insane is a great blog that has a bunch of useful mind maps for test automation. Some of my favorite mind maps are:

Webinars / Videos

webinar
Shares
  • Facebook
  • Twitter
  • Google+
  • Buffer
  • Gmail
  • Delicious
  • reddit
  • StumbleUpon
  • Tumblr

1) "Building an Automation Framework That Scales"

Test Automation | Scalability

This is a great webinar from Telerik by Peter Kim that goes into depth about how to build a test automation framework that scales. He teaches a really interesting technique where he controls all of his objects through an XML file, therefore, making his tests externally configurable without the need to modify code.

2) "Getting Test Automation Right"

Test Automation Techniques

This video is a Zephyr presentation regarding the best techniques to get test automation right. The presentation is really fantastic because of the guests on this webinar. Dave Haeffner, Joe Colantonio, and John Sonmez are three powerful minds that share their experience here. They cover everything from basic Selenium Webdriver tips to advanced topics to help improve the stability of your tests.

Slides / Presentations

slides_presentations
Shares
  • Facebook
  • Twitter
  • Google+
  • Buffer
  • Gmail
  • Delicious
  • reddit
  • StumbleUpon
  • Tumblr

1) Test Automation Trends for 2016 and Beyond

Test Automation | Trends | Frameworks | Languages

Joe Colantonio talks about the latest trends in the IT industry so that you can make better decisions for your career. Topics include which test automation tools are growing, what programming languages you should learn, what development methodologies will dominate the future, and the future of Test Driver Development, and these are just a few of the insights provided by this excellent SlideShare.

2) Managing Continuous Delivery of Mobile Apps for the Enterprise

Continuous Integration | Automated Testing

What we have here is an excellent SlideShare presentation regarding Continuous Integration and a good approach to implementing it. Sauce Labs talks about source control, build tools, CI tools, self-testing builds, and much more.

3) Three Approaches to Optimizing your Selenium Test Designs

Test Design | Selenium WebDriver

This is a great SlideShare that describes the positives and negatives of the Page Object model, Keyword Driven Frameworks, and Behavior Driven Development.

Tear Down

tear down
Shares
  • Facebook
  • Twitter
  • Google+
  • Buffer
  • Gmail
  • Delicious
  • reddit
  • StumbleUpon
  • Tumblr

I hope that you really enjoyed all of these helpful automation testing resources.

They are some of the best that I have found over my years and I wanted to share them with you. Feel free to let me know what you think in the comments below. Until next time, my friend.

Nikolay Advolodkin

Test Automation Engineer at QTP Tutorial
Nikolay Advolodkin is infinitely passionate about three things: self-improvement, IT & computers, and making an impact. He teaches people the art of automated software testing and quality assurance worldwide. His goal is to help develop higher quality software in a more efficient manner. Nikolay is the creative mind and co-owner behind QTP Tutorial. Follow Nikolay on his Twitter page for all of the latest updates: @Nikolay_A00
  • David Cheung

    Hi Nikolay:
    I am walking through your course: Complete beginner to advanced selenium course in C#
    The course was very thorough and helped me out alot. That’s why I decided to buy the lifetime subscription.

    However, When I got to module 19 unit 8, the code does not work! I got this error below. I also had a hard time because the code from GitHub was not the same code displayed in the video. You used chromedriver in the first version but the GitHub uses Firefox. I found the branched version in the GitHub as well. I tried both versions but neither of them did not work. what do you recommend?

    Also, where should I post this type of questions? there isn’t a place in the learning courses to post these questions as a community. It would great if I can post this on the relevant video so other uses who may have a similar issue will have a solution handy.

    I was using selenium C# web driver 2.47 along with firefox version 43
    Here is the run test result:

    Test Name: RunTest
    Test FullName: QtpTests.ElementIdentification.RunTest
    Test Source: D:QTP ProjectsLightPomFrameworkTutorial-masterQtpTestsElementIdentification.cs : line 17
    Test Outcome: Failed
    Test Duration: 0:00:00

    Result StackTrace:
    at OpenQA.Selenium.Firefox.FirefoxDriverServer.ConnectToBrowser(TimeSpan timeToWait)
    at OpenQA.Selenium.Firefox.FirefoxDriverServer.Start()
    at OpenQA.Selenium.Firefox.FirefoxDriverCommandExecutor.Execute(Command commandToExecute)
    at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
    at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)
    at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)
    at OpenQA.Selenium.Firefox.FirefoxDriver..ctor(FirefoxBinary binary, FirefoxProfile profile)
    at OpenQA.Selenium.Firefox.FirefoxDriver..ctor()
    at QtpTests.ElementIdentification..cctor() in D:QTP ProjectsLightPomFrameworkTutorial-masterQtpTestsElementIdentification.cs:line 11
    — End of inner exception stack trace —
    at QtpTests.ElementIdentification..ctor()
    Result Message: Unable to create instance of class QtpTests.ElementIdentification. Error: System.TypeInitializationException: The type initializer for ‘QtpTests.ElementIdentification’ threw an exception. —> OpenQA.Selenium.WebDriverException: Failed to start up socket within 45000 ms. Attempted to connect to the following addresses: 127.0.0.1:7055.

  • David Cheung

    Hi Tiffany:
    I am walking through your course: Complete beginner to advanced selenium course in C#
    The course was very thorough and helped me out a lot. However I found a disconnect between module 13 unit 2 and unit 3. In unit 2 you have discussed the class description via UML which is pretty clear, however in unit 3 you delved into the detail of each class but neglected to show how to setup the project. How do you setup the namespace “Framework.pages”? Also how do you install selenium packages so that you can utilize the selenium specific calls? It took me a long time to figure out that you installed selenium support nupkg in addition to selenium webdriver. Also how do you setup the unit test project? Please clarify!

Pin It on Pinterest

Clef two-factor authentication