I have written a dozen books, mainly on E2E Test Automation.
Recently, a motivated reader DMed me for suggestions on learning E2E test automation with my books.
In this article, I explain how to learn E2E Test Automation with my books and related resources.
Table of Contents:
∘ 1. “Practical Web Test Automation with Selenium WebDriver”
∘ 2. “Selenium WebDriver Recipes”
∘ 3. “Practical Continuous Testing: make Agile/DevOps real”
∘ 4. “API Testing Recipes in Ruby”
∘ 5. “Practical Performance and Load Testing”
∘ 6. “Practical Desktop App Test Automation with Appium”
∘ 7. Q: Why didn’t you write a book on Mobile Test Automation?
1. “Practical Web Test Automation with Selenium WebDriver”
Start with this one, and there is really no prerequisite. Besides reading the book, please make sure to do its exercises.
Don’t be fixated on a specific web test automation framework, language or tool (that you are familiar with or the one used at work), which is a common mistake. Get yourself in the learning mode.
Web Test Automation is independent of languages or tools. With W3C-compliant Selenium WebDriver, the test syntax differences among the five official languages are really minor. You learn E2E Test Automation and always keep this in mind. I believe the formula (from 2011) in the book is still the easiest way to learn Web Test Automation.
Supplementary :
“Selenium Training Workbook” series on my Substack.
A series of bite-sized web test automation guided exercises with Selenium WebDriver. Strongly recommended.“Learn Ruby Programming by Examples” book
This is optional for beginners. The programming knowledge needed to get started with E2E (Web) Test Automation is very minor. A motivated non-IT person could do the exercises in the book and workshop. Of course, programming and Ruby knowledge helps. Suggest learning it as a side task.
For people who prefer learning interactively, try my daughter’s course on Educative: Discover Ruby Programming Through Fun Examples.
2. “Selenium WebDriver Recipes”
When you gain some confidence, try to use newly learned test automation skills to test some websites you are familiar with, including the ones at work.
Surely, you will encounter some challenges. Use the “Selenium WebDriver Recipes” book as a reference.
Supplementary :
My Medium Articles.
Google “zhiminzhan medium XXX”, e.g. “zhiminzhan medium shadow dom”.
Also, my daughter has written a number of case studies on Medium.Attend a training session with a real test automation coach for quicker and more effective learning.
Get your company to pay for training. It is more affordable than you thought, like the one offered by AgileWay (me as the instructor). Individuals can afford too, for example, the effective price can be as low as $132 for each of 8 attendants (learning with your friends/colleagues usually is better).Take up the free complimentary mentoring for TestWise customers.
For all testing challenges on the WhenWise practice site, TestWise customers receive free complimentary coaching services. That is, Customers who purchased a TestWise license ($30/month) can raise tickets on Agileway’s support site (attaching your TestWise project, in a zip format), and a test coach will provide you reviews, suggestions, and solutions, for free!
3. “Practical Continuous Testing: make Agile/DevOps real”
When you are comfortable with developing and maintaining ~25 tests, running them reliably and frequently becomes increasingly challenging. It is time to learn Continuous Testing, with the book “Practical Continuous Testing”.
Please note that Continuous Testing is quite different from the so-called CI/CD (which is mostly fake). In doubt? Do those teams do “Daily Production Releases”? If only executing white box tests (unit and/or integration), how could it be related to Operations (in DevOps)?
Check out the case study below for how E2E Test Automation is done in a real Agile and DevOps project.
Showcase a 500+ End-to-End (via UI) Test Suite: E2E Test Automation is Surely Feasible for Large/Complex Apps
4. “API Testing Recipes in Ruby”
It will be a matter of time that you need to do some API Testing, either standalone API Testing or as assistance to web testing.
I strongly suggest that you have mastered the core Continuous Testing and have a sizeable of automated E2E (Web) tests running daily in a CT server like BuildWise. If you have followed my formula, E2E UI (Web or Desktop or Mobile) and API tests are executed the same way under BuildWise.
5. “Practical Performance and Load Testing”
Some may question its necessity, but let me assure you, following the performance and load testing methodologies outlined in this book can swiftly and effectively elevate your reputation. My approach diverges significantly from conventional notions of performance and load testing, which have become obsolete in light of the dynamic nature of modern web applications.
Based on my observation, software teams usually conduct performance and load testing poorly. One proof is that the work is done by an external team. This means performance and load testing won’t run often. Being able to run performance tests often in a CT server (e.g. BuildWise) is a game changer.
6. “Practical Desktop App Test Automation with Appium”
This is the book if you need to automate native apps on the Windows platform. The framework Appium is like a cousin to Selenium WebDriver. Moreover, you may still use the same tool set, e.g., the RSpec framework, TestWise IDE, and BuildWise CT Server.
7. Q: Why didn’t you write a book on Mobile Test Automation?
For all the above topics, I authored the books after my approaches were battlefield verified on multiple successful implementations. However, I haven’t worked on serious mobile app teams. Nonetheless, several elements like Appium, RSpec, Ruby, TestWise, and BuildWise remain relevant and applicable to Mobile Test Automation.
My daughter is working on this book, “Practical Mobile Test Automation with Appium”.
Embarking on end-to-end test (UI) automation, whether via the traditional yet discredited record-and-playback method or manual scripting (my preferred approach), may seem easy initially. However, as the test count approaches approximately 25 (not a big number by all means), many software engineers, including those in senior and principal roles, would find the once-looked-easy test automation started becoming increasingly hard. Rather than acknowledging a lack of understanding of end-to-end test automation, many opt to abandon their efforts silently.
“In my experience, great developers do not always make great testers, but great testers (who also have strong design skills) can make great developers. It’s a mindset and a passion. … They are gold”.
- Patrick Copeland, Google Senior Engineering Director, in an interview (2010)“95% of the time, 95% of test engineers will write bad GUI automation just because it’s a very difficult thing to do correctly”.
- this interview from Microsoft Test Guru Alan Page (2015), author of “How we test software at Microsoft”“Automated testing through the GUI is intuitive, seductive, and almost always wrong!” — Robert C. Martin, co-author of the Agile Manifesto, on his blog (in 2009)
“Testing is harder than developing. If you want to have good testing you need to put your best people in testing.”
- Gerald Weinberg, software legend, in a podcast (2018)
Moreover, it is very easy to make a wrong choice in E2E Test Automation, in terms of automation framework, syntax framework, language, tool, and CT server. In the beginning, when there were just a handful of tests, the issues did not show up. However, as the test suite expands, the challenges escalate, often thwarting efforts. Over my 14 years of consulting, I’ve witnessed this scenario numerous times.
A final suggestion: E2E test automation is super practical and hands-on. One can only master it by doing, not talking.
I suggest motivated learners to stay with the course.
My eBooks:
- “Practical Web Test Automation”
- “Selenium WebDriver Recipes” series
- “Learn Ruby Programming by Examples”
- “Practical Continuous Testing: make Agile/DevOps real”
- “API Testing Recipes in Ruby”
- “Practical Performance and Load Testing”
- “Practical Desktop App Test Automation with Appium”The above paper books are also available on Amazon.
Selenium WebDriver is Still the Best Web Test Automation Framework in 2024
Benefits of E2E Test Automation and Continuous Testing series: Executives, Managers, Business Analysts, Developers, Testers and Customers.