What/how much should I automate in the UI?
Everyone who writes UI automation is faced with this question. At first, it’s often thrown to the side, while the daunting task of getting ANY automation up and running is the initial goal. I can subscribe to this reasonable omission, but eventually, automation’s nemesis will rear it’s nasty little head. Maintenance.
If maintaining ui automation doesn’t eventually become a pain in the ass, you’re either doing it wrong, or smarter than I am (at which point, please leave me the link to your blog where you explain it to us lesser mortals! No… really… do).
And this assumes that you’re a very clever boy/girl, and have already deduced that time is also an issue… and are running your tests in parallel, or in the cloud, or on a grid, or in another dimension (blog link please).
Anyway… there’s no escaping maintenance. So after you’ve refactored, added page objects, and any anything else you could think of to mitigate maintenance, you’re now really ready to start talking about how much you should automate. Sadly, there’s not a lot of conversations out there with real meat on the subject, and/or aren’t generalized into non-usefulness. And probably for the very fact that it takes a lot of doing to even get to this point. Plus, context matters.
How much to automate is a tough question
That said, here’s the answer: SPOILER ALERT: The answer typically ranges somewhere between “it depends” and “everything”.
Yeah… I know… lame. So let me trim that down and say this: in my experience, even in the most robust development environments, and using the best tools available today, automating “everything” in the UI is the wrong answer.
This leaves us with the answer “it depends”… and while this is totally true, I want to try and flesh this out a bit. But I’m out of time for now…
Look for Part 2, coming soon!