By Nikolay Advolodkin June 14, 2017

8 Books To Improve Your Test Automation Skills

Many years ago, someone called me a guru at using QuickTest Professional (QTP) for functional test automation, because I knew how to do everything with that tool. Which was ironic, because as a “guru” of QTP, I was able to maintain only about 10 functional tests with any kind of reliability.

Today, I am capable of coding a functional graphical user interface test in under 30 minutes, with a guarantee of 99 percent reliability. I can also execute hundreds of functional tests every single day. I’m not saying this to brag; I’m stating it to convey that there is a secret to such a transformation.

That secret was reading books.

If you want to truly master test automation and put a smile on the face of your managers, you must read. Every book you read will be an extra weapon for enhancing your test automation arsenal.

Below is a list of the most impactful books that I have read to improve my test automation skills.

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

Book Cover
Although this is not a book specifically for test automation, it’s one every developer should own. Out of all the books I have read, this one has been the foundation of the greatest improvements to my functional test automation. My code quality has become readable and maintainable, which is something that I am proud of.

Martin conveys a ton of coding best practices that anyone writing code should implement, even automation engineers.

Some of the topics 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

2) Software Test Automation: Effective Use of Test Execution Tools by Mark Fewster and Dorothy Graham

Book Cover
After I recently reopened this book to help me with a presentation, I realized that it is pure gold. Even though the book was written in 1999, so much of the information in it still applies. By reading this book, you will gain 30 years of test automation experience, seriously. To this day, I see people repeating all the mistakes that are covered in Software Test Automation. Some things you will learn are:

  • Capture replay is not test automation
  • How to build maintainable tests
  • Metrics

3) Head First Design Patterns: A Brain-Friendly Guide by Eric Freeman and Elisabeth Robson

Book Cover
It’s funny how the books that have had the most impact on my automated functional testing were books on software development. At some point, all automation engineers reach a place where automation skills are no longer their Achilles heel. Rather, it’s a lack of understanding of good object-oriented design and patterns to deal with common problems all of us face.

Yes, I was a QTP guru according to some, but I was not a great test automation engineer. This book helped me to avoid any such impasse by covering fundamental design patterns such as:

  • Factory pattern – excellent for WebDriver initializations
  • Strategy pattern – excellent for different kinds of behaviors
  • Other great object-oriented design principles such as “programming to an interface and not an implementation”

4) Selenium Design Patterns and Best Practices by Dima Kovalenko

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

  • Hermetic design pattern
  • Page object pattern
  • Spaghetti antipattern
  • And much more

5) Experiences of Test Automation: Case Studies of Software Test Automation by Dorothy Graham and Mark Fewster

Book Cover
This is an excellent resource for test automation. Graham and Fewster have a great deal of experience and their advice can help you to overcome many hurdles when dealing with test automation. Even today, I still see people making a lot of mistakes that could be overcome by reading this book.

You will learn some valuable techniques, including:

  • How to prioritize automation
  • What to automate
  • How to automate
  • How to deal with management issues
  • How to handle technical issues
  • How to automate databases
  • How to perform regression testing in production
  • How to automate the testing of complex government systems

6) Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin and Janet Gregory

Book Cover
I originally picked up this book to become a better tester in general. I wanted to improve my testing skills so I could be of more value to my employers, and this book has helped me reach that goal. Some things that you will learn are:

  • How to overcome barriers to test automation
  • Where testers and quality assurance managers fit on an Agile team
  • 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

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

Book Cover
I don’t care what anyone says; a good test automation engineer is a good programmer.

Now most of us may never work for Google developing Google Chrome, but we should have the capability to understand and write good code. More specifically, we should be capable of designing a maintainable, robust, and flexible test automation framework. Refactoring is the key to creating a flexible system.

The problem is that most test automation engineers spend the majority of their time creating new automated functional tests while their old code rots. After a year of development, their automation grinds to a halt. In this book, you will learn about:

  • Bad smells in code
  • The importance of refactoring
  • Organizing data
  • Making methods simpler

8) The Selenium Guidebook by Dave Haeffner

This is an excellent resource that is purely focused on teaching you Selenium WebDriver. Haeffner goes through all of the pain points of working with Selenium and covers them one by one.

Some topics that you will learn about are:

  • Getting started with the program
  • Finding and verifying locators
  • Your first test
  • Writing maintainable tests with page objects
  • Writing super maintainable tests with a base page object

If you want to truly master test automation, you must read. Each book you read will help you to achieve your automation testing goals. Every piece of knowledge will help you to stand out among the competition.

When you are searching for a job, you can be selective, rather than wait for an employer to select you. There’s true power in improving your test automation skills through reading books.

About the author

    Nikolay Advolodkin

    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 behind ultimateqa.com Follow Nikolay on his Twitter page for all of the latest updates: @Nikolay_A00.