Attending this event?
View analytic
Friday, April 21 • 10:30 - 12:00
Matt Heusser's AATC Session (Matthew Heusser)

Sign up or log in to save this to your schedule and see who's attending!

Feedback form isn't open yet.
Roughly inspired by "do you even lift"
Here's the text. I'd do the intro, add material, then, after "but seriously folks", do a "seriously seriously" thing.
1) Do you have automated unit tests?
No -> Do you even need to automate the gui? Automate unit tests first!
Yes -> Cool
2) Do you have continuous integration running on every commit (or a
specific tag - at least for every story?)
No -> Do you even need to automate the gui? Automate the build first!
Yes -> Cool
3) Can you get your own virtual environment for any story in under fifteen minutes? (Really should be three but I'm generous)
No -> Do you even need to automate the gui? Automate provisioning first!
Yes -> Cool
4) Can you deploy (and hotfix or rollback) a build to production with a
button click in less than five minutes?
No -> Do you even need to automate the gui? Automate deploy first!
Yes -> Cool
5) Do you have a component architecture, so that you can test/deploy a
small piece of the application at a time - test/deploy in a day or less?
(Should be 2 hours but I'm generous)
No -> Do you even need to automate the gui? Separate the component
architecture first!
Yes -> Cool
6) Do you have a standard backend database that you can clear/refresh, or good test data?
No -> Do you even need to automate the gui? Automate database refresh first!
Yes -> Cool.
7) Do you have a low regression rate - so that changes to one piece of the software are unlikely to cause problems with other areas - or even within
the same component?
No -> Do you even need to automate the gui? Improve code craft and refactor. Stop finding bugs and instead, stop having bugs. Man.
Yes -> Cool.
8) Is the front-end even designed to handle gui-driving, with predictable
ID elements?
No -> Do you even need to automate the gui? Build testability hooks for a
few months as a good first step.
Yes -> Cool software team, bro.
8) "But Matt, our testers don't have access to the source code, they can't
unit test, all they have is the GUI."
Right. So what you have is not a testing problem. And test automation won't
solve it. Instead, you'll write a bunch of brittle stuff that may be thrown
away and forgotten. What are you, richard bradshaw?
No-> Do you even need to automate the gui?
9) You are richard bradshaw? You should know better. You should do a tutorial on things to automate beyond the GUI!
Answer: I did
http://www.ministryoftesting.com/masters-of-the-ministry/courses/taking-automation-checks-beyond-webdriver/, Matt.
Cool software project, bro.
This idea is not new. I can't seem to find it in google, but I believe Jim Shore gave a talk at an Agile Alliance Functional Test Tool Workshop called
"We don't need another functional test tool"; at least some remnants of something like that appear on his blog
It all boils down to: Heavy GUI automation is what deming would call mass inspection. (and it ain't great mass inspection unless you add a visual comparison layer.) We're better off reducing errors and the impact of those errors (through faster fix/test/deploy cycles). High functioning teams can solve the problems that intense GUI automation intends to solve by doing less, not more. And really, that's the key to going faster at anything -taking things away.
Teams that are low-performing, that are behind all the time, that have a high regression rate, that can't create a test environment quickly, that can't deploy quickly ... these teams are unlikely to be well served trying to reverse-engineer GUI automation -- essentially adding an entire new project that they are unqualified to do, on top of the current project (at which they are behind) in their spare time. Of course, you could add budget and hire an automator, which historically has mixed results. You could also
take your money to vegas. That has mixed results too.
Don't get me wrong. I think a small slice of build verification GUI checks, and checks that look at essential functions (for eCommerce, that's login, search, path to purchase, PCI) those can be a great idea. They are also the very top of the pyramid.
Why you so busy spending all that time on the cherry on top when the Sundae is moldy banana and spoiled icemilk? Because it's cool?
Get your automation priorities in order.
Think about it.
Learning Outcomes:
  • *

avatar for Matthew Heusser

Matthew Heusser

Principal Consultant, Excelon Development
The winner of the 2014 Most Influential Test Professional Person, awarded in Potsdam, Germany and 2015 Most Popular Contributor to Agile, Matt Heusser is the currently managing director of Excelon Development. In his role at Excelon, Matt consults, trains, and does software delivery, and is the lead instructor for the Lean Software Delivery course and method.

Friday April 21, 2017 10:30 - 12:00
Room 2