Web Test Automation Clarified. Part A: Web
The core of Web Technologies, defined by W3C, has remained largely the same for over 25 years.
In this article, I will clarify web test automation. Many might think “web test automation just means developing automated tests to verify a website”. Yes, the overall definition is correct. However, I bet many software professionals, including experienced testers, don’t understand some deep meanings behind those three simple words.
Web
Automation
World Wide Web
World Wide Web (in short, the web) is surely one of the most important human inventions (by Sir Tim Berners Lee). It changed life.
When people in the 1980s envisioned life in the future, “Flying Cars” was a sure thing, which is in many sci-fi fictions and the classic movie “Back to the Future” (by the way, the future date in the movie was 2015). It did not happen. But no sci-fi fiction predicted the web.
The core of Web Technologies has been unchanged for over 25 years.
The browser in 1996 was Netscape.

Seeing the above browser screenshot in 1997, 28 years ago, don’t you agree that the core web hasn’t changed much?
Java was just released, and the main coding languages were C and C++.
Software was sold on floppy disks or CDs in a box
Some might get bored with the above history, “OK, I got it. What is your point, for web test automation?”
1. Web Testers have the most stable job in the software industry
An experienced web developer, such as my father, may have created websites using the following languages (and frameworks):
Perl via CGI
PHP
Java with several frameworks, such as Struts, Webwork and Spring
C# ASP.NET
Ruby on Rails
Now imagine if one software professional was in a coma in 1997 and woke up in 2025. If they were a manual web tester, they would find the core work largely unchanged (excluding the terminologies and processes, such as Agile, User Story, Stand-up meetings, Git PR,…)
2. There are no excuses for failing web test automation, yet many failed
Using the web is easy, even a 5-year-old now can. Testing, to a degree, is just “navigating the app and verifying it”. For a thing that is so simple to use and largely unchanged over decades, automating the task shall be easy, right? Sadly, quite the opposite in reality.
“For 95% of all software applications, automating the GUI is a waste of time. For the record, I typed 99% above first, then chickened out. I may change my mind again.” — Alan Page’s Blog (2008), the first author of “How We Test Software at Microsoft” book”
“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)
Based on my understanding, Alan Page upgraded his estimated failure rate from “99%” to “99.75%” (100% — 5% * 5%
). Please note that this might be the failure rate with Microsoft-level engineers, which shall be higher than the industry average.
3. Webapp release cycle is short and frequent
Back in the pre-web days, software releases were a lengthy process. Many people nowadays probably haven’t heard of the term “Drop”, which meant someone physically delivered (or mailed) the software updates on floppy disks or CDs. Commonly, there are 6+ months for a new ‘Drop”.
With the web, the “drop” update is supposed to be weekly or even less, i.e. many more changes and more frequency. This totally changed the game of testing. That’s why record-n-playback tools, such as the industry-leading HP’s QTP, failed.
What does this mean to web test automation?
The test scripts have to be designed to be highly maintainable.
Execute the whole suite frequently (e.g. daily)
4. Prefer a test automation framework that is supported by browser vendors.
Modern websites are dynamic, and web test execution relies heavily on the browser. It’s common sense that we should use an automation framework supported by browser vendors. And there’s only one: Selenium WebDriver. WebDriver is a standard by W3C, which defines web technologies. All major browser vendors provide their own WebDriver drivers, such as ChromeDriver.
It should be a no-brainer for every web test automation project to use Selenium WebDriver, especially since it’s free and well-supported. However, the reality is different. Many hyped self-proclaimed ‘Selenium killers’ have failed, including ProtractorJS, TestCafe, and Cypress.
Related reading: