“Why the UI?”

Readers of my blog know my stance on UI automation. But, as I’ve forgotten my StickyMinds password, and the answer is longer than 140 characters, so I’m responding here.

This article from Justin Rohrman talks about the coolness of Selenium for UI testing. In a paragraph called, “Why the UI”, Justin wrote:

The API and everything below that will give you a feel for code quality and some basic functionality. Testing the UI will help you know things from a different perspective: the user’s.

I like everything else in the article, but that second sentence kills me. Writing automated tests for the UI is as close to a user perspective as I am to the moon (I’m only on the 20th floor). I’m going to do Justin a favor and rewrite that paragraph for him here. Justin – if you read this, feel free to copy and paste the edit.

…some basic functionality. Testing the UI is difficult and prone to error, and automation can never, ever in a million years replace, replicate, or mimic a real users interaction with the software. However, sometimes it’s convenient – and often necessary to write UI automation for web pages, and in cases where that happens, Selenium is obvious choice.

Justin – your work is good – I just disagree (a LOT) with the trailing sentence of the paragraph in question.

Back to work for me…


  1. Howdy,

    I think we are agreeing, but using different words. When I used the word testing in the intro, I meant testing — exploring, learning, making judgement, asking questions. Not programmatic checks (algorithmic yes/no decisions) or something that heavily relies on tools.

    I certainly could have written a better transition that wouldn’t rely on assumptions from the reader.

  2. Hahaha, I love the rephrasing of that statement. However, I do agree with your sentiment Alan. I’m not sure of the context from which this was taken, but seems like he may have been talking about “testing” the UI and not “automated checking”? In that case, don’t you agree that interacting with the UI through manual means can actually help to mimic the end user experience?

  3. Since I am up to my knees in the same pond…
    “convenient – and often necessary” are good enough reasons for me to include UI automation in our test suites, of course adding a small disclaimer to every result being published.
    Testing in production is great, and using telemetry from real users is awesome but the feedback comes too late, and many times it is difficult to even identify failures or glitches in the mountains of data that you have.
    For example we are now chasing the source of a steep drop in user grades (“how would you rate our service 1-5?”) and UI automation is an important part of the solution, or at least an important source for hints to what to look for in the data.
    For the record Selenium is also part of testing things like Android applications, so it is not only pure “web pages”.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: