“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…

Similar Posts

  • Stuff I Wrote

    I just put together a collection of my published works (it’s not a long list). I also have an article coming out in a Korean testing magazine – I’ll see if I can get a link once it’s out. I’ve been writing less lately while I turn my attention toward my often neglected day job….

  • Quick Testing Challenge

    Some updates and clarification below. And a NEW HINT below too Recently, I was discussing the diagnostic, debugging, and troubleshooting aspects of software testing, and this morning, while playing with Visual Studio 2012, I created a quick little exercise where the solution relies on these skills. This zip file contains an app (theapp.exe), and the…

  • Five for Friday – November 8, 2019

    From Sweden this week – I’m attending and speaking at the Oredev conference this week. In fact, I had a few interesting conversations this week about the convergence of DevOps and quality. But…is DevOps a role or a culture? This podcast from CodingBlocks discusses just that. A few months old, but I enjoyed this article…

  • It’s all just testing

    I’ve been having one of those experiences where a lot of the random bits of flotsam on my radar are sort of converging. But I don’t know if it’s really convergence, or if I’m forcing it. I hope it’s the former, but time will tell. In my last post, I reflected on a wonderful article…

4 Comments

  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.