An impressive demonstration of a typical enterprise business process scenario with automation scripts.

This article will show the execution of a Selenium WebFriver script to test/showcase a typical business web app. I will explain some automation techniques along the way.

Typically, a business app has two types of users: client and business user (owner and staff). There are business interaction processes between these two users. For example, in my WhenWise booking app, after a client makes a booking on the app, a business user can view the booking details.

A client makes a booking on his mobile, and the business owner views the booking details.

Hence, to develop a true end-to-end automated test, a test automation engineer needs to drive two browser windows (which is not possible with Cypress)…

This Week’s Most Viewed Article (2021–05–08)

Most Viewed Article Right Now: Crazy Web Test Automation: “Freedom Is Slavery”

Most Viewed Article Last Month: Why JavaScript Is Not a Suitable Language for Real Web Test Automation?

All-Time Most Viewed (All: Categorized; Featured in newsletters)

  1. Why Cypress sucks for real test automation? (Part 1)
  2. Why Gherkin (Cucumber, SpecFlow,…) Always Failed with UI Test Automation?
  3. Working Automated Test ≠ Good Reliable Test
  4. Maintainable Automated Test Design


Test Automation and Continuous Testing Coach, Speaker, Author, Trainer, Programmer, and Product Owner.

Creator of TestWise (the next-generation functional testing tool) and BuildWise, an international award-winning Continuous Testing (CT) server. …

Use automated scripts to help your team to deliver a perfect showcase

The benefits of UI Test Automation extend beyond verification. In this article series, I will show you how to use automated test scripts to assist:

  • Showcase
  • Training staff to use the app (coming soon)
  • Test Data Generation (coming soon)

In the article “Use UI Automation to Assist Agile Showcases”, I introduced the idea and my experience. Now, I will show you how to do it.


  • Reliable automated test scripts for newly implemented user stories. For every user story, in the spirit of true Agile, there must be at least one automated end-to-end test for it. Showcase scripts will be…

Real agile projects take showcases seriously. However, many fake agile projects have no showcases as the team is simply not capable of demonstrating the app. This article shows an effective and proven solution.

Showcase is considered one of the Agile ceremonies in software development. It is probably the most important one, especially for the teams without on-site customers. Showcases engage the customers to gather feedback (to make sure the development is staying on track). It is also the opportunity to provide real confidence to the customers.

However, I have found fewer and fewer showcases in so-called “Agile” projects in recent years. The teams do ‘Daily-standup’, ‘Sprint planning’, and ‘Retrospectives’, but not real showcases. …

Choose Selenium WebDriver to embrace freedom

In the all-time classic book “1984”, there are three infamous slogans of the Party:


Except #1, the other two crazy ideas can be commonly found in the software testing world, especially automated web apps functional testing. In this article, I will talk about the crazy mindset of “Freedom is Slavery” in test automation.

I have seen many test automation failures, and the №1 technical reason is that projects selected the wrong test automation framework. Please note, I used the ‘framework’, not ‘tool’ here. I will explain this later.

For some projects…

I have started to post articles on Medium from Jan 27, 2021. Many of them have since been featured in the following three leading software testing newsletters (in alphabetical order):

  • Coding Jag
  • Software Testing Weekly
  • Testing Bits

As of May 10th, 2021:

So far there are 38 articles in 48 references as below:

Coding Jag

— A Testing Newsletter by LambdaTest

#35 (2021–05–06)

#34 (2021–04–29)

#33 (2021–04–22)

Some languages are not suitable for UI test automation, such as Java, C#, and JavaScript. Use Ruby instead.

A scripting language in the context of test automation is a language syntax used in automated test scripts. Commonly, the automated test scripts are in the following three language syntax:

  • Compiled Programming Language, such as Java and C#
  • Scripting Language, such as Ruby and Python
  • Text-based syntaxes (top tier), such as Gherkins (Cucumber) and FitNesse

Right Choice: Scripting Language. However, 90+% would choose wrongly

The correct choice, of course, is Scripting Language. We call test scripts for a good reason, i.e. test scripts shall be written in a scripting language, such as Ruby and Python. However, most software projects make wrong choices. …

The sad truth is that a good load testing solution can be so simple and cost so little

(This article was initially published on LinkedIn, 2016–08–10)

09 August 2016, there was no surprise that the Australian Census website collapses due to poor load testing. Now government (including Prime Minister), ABS chief (who earns $705K a year), and many executives are busy shifting blames.

Some news headlines:

On that night, I asked my wife to submit the census earlier (before dinner) as I knew it would crash (it was advised on the Census site that the public need to…

95+% of test automation efforts are on test maintenance & regression testing

Image Credit:

Many fake “agile project managers/agile coaches” are fixated with Velocity Charts. The so-called “velocity” is based on the rate of completing the story points estimated by the team. As a result, “story estimation sessions” are a part of “Agile Ceremonies” in some projects, along with“stand-up meetings”, “retrospectives” and “sprint planning”. (see the end of the article for Kent Beck’s, the father of Agile, view on these ‘agile ceremonies’)

I do not estimate points/time for developing automated tests for a user story. The reason is simple: it does not make sense.

The below is a slide from a presentation I gave…

JavaScript is OK for developing apps, but not for functional test automation, where its audience beyond programmers. Ruby is a far better choice.

I know many JavaScript programmers/testers won’t like the title of this article. However, this is the truth from my over 15 years’ observation while working in test automation. Some would argue that JS-based test automation frameworks are gaining popularity. Yes, it might be true. However, when you take the fact that most test automation failed, this recent popularity of JS-based test automation frameworks does not mean much at all.

“95% of the time, 95% of test engineers will write bad GUI automation just because it’s a very difficult thing to do correctly. …

Zhimin Zhan

Award-winning software developer, test automation & CT coach, author, and speaker. Help teams succeed with Agile/DevOps by implementing real Continuous Testing.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store