The Agile Way

The Agile Way

Share this post

The Agile Way
The Agile Way
E2E Test Automation Anti-Pattern: Developer-Focused Approach. Part 3: Most Developers Lack Proficiency in Test Automation

E2E Test Automation Anti-Pattern: Developer-Focused Approach. Part 3: Most Developers Lack Proficiency in Test Automation

It’s like an Uber driver attempting to compete in a Formula One race: they might be able to start, but there’s a high chance they won’t be able to finish it properly.

Zhimin Zhan's avatar
Zhimin Zhan
Jul 27, 2024
∙ Paid
1

Share this post

The Agile Way
The Agile Way
E2E Test Automation Anti-Pattern: Developer-Focused Approach. Part 3: Most Developers Lack Proficiency in Test Automation
Share

This is an article in the E2E Test Automation Anti-Pattern series.

Part 1: It is Black-Box Testing!
Part 2: Scripting Language, Frameworks and Tools
Part 3: Most developers Lack Proficiency in Test Automation
Part 4: Hard to Steer Away even after it is Proved Wrong

Many software developers probably don’t like the title of this article, as software developers tend to think “automated testing is easy”, which was what I used to think before 2005.

Disclaimer: as a Micro-ISV, I do programming as well as testing (automated).

Let’s start with some quotes from several software gurus.

Quotes from Renowned Software Figures

“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)
(current generation of programmers might not heard of Gerald Weinberg, check out the a tweet by DHH on 2023–12–27: “Nobody taught me more about how to do that than the late, great Gerald M. Weinberg.”)

Some developers might still be skeptical. OK, let’s do a reality check.

Reality Check

Here is a story told by Michael Feathers (a renowned agile expert and the author of ‘Working Effectively with Legacy Code’) in 2009:

It happens over and over again. I visit a team and I ask about their testing situation. We talk about unit tests, exploratory testing, the works. Then, I ask about automated end-to-end testing and they point at a machine in the corner. That poor machine has an installation of some highly-priced per seat testing tool (or an open source one, it doesn’t matter), and the chair in front of it is empty. We walk over, sweep the dust away from the keyboard, and load up the tool. Then, we glance through their set of test scripts and try to run them. The system falls over a couple of times and then they give me that sheepish grin and say “we tried.” I say, “don’t worry, everyone does.”

Based on my observations, the situation that Michael Feathers described 15 years ago remains true.

Keep reading with a 7-day free trial

Subscribe to The Agile Way to keep reading this post and get 7 days of free access to the full post archives.

Already a paid subscriber? Sign in
© 2025 Zhimin Zhan
Privacy ∙ Terms ∙ Collection notice
Start writingGet the app
Substack is the home for great culture

Share