The Three Pillars of Great Test Automation
Question: Why do some companies struggle with building test automation, while others flourish?
Question: Why can things go fine for a bit and then suddenly crash and burn, causing a ton of rework and wasted time?
Question: Why hasn’t the world solved this problem yet?
Companies waste billions of dollars annually on poor automation solutions.
But really, it comes down to three principles—Pillars—that make a test automation effort successful.
If you lean on all three of these Pillars, you’ll find that a solution just kinda… grows to fit your current needs. Plus, it’s flexible enough to change for future needs.
What are these Pillars? Hey glad you asked, we wrote this blog post to answer that very question.
Here they are:
Pillar #1: Usability
How usable is your framework? What percentage of people can actually use it?
Here’s what we usually see at companies: a wizard-level developer puts together a solution, and it sets the technical bar pretty high. Maybe one or two people in the whole company can use it. And, that’s only if they have the bandwidth to do so. As soon as they get busy? Instant bottleneck. No new tests get automated.
There’s a humorous metric called “Bus Factor” at play here. This is the number of people that would have to be hit by a bus (or win the lottery) before your effort is in trouble. A Bus Factor in the single digits is a problem. But if it’s 1, that’s really bad.
Ultimately, a company will focus on what generates revenue. That comes from the developers. If all the developers are spending 110% of their time on that, automation gets left in the dust.
The question is: can only developers use it? Or can developers, testers and business analysts all contribute somehow?
Pillar #2: Maintainability
Software is never “done”, especially test automation. When it comes time to update some functionality or configuration, how easy is it do to?
Great test automation should be designed like a car. All of the controls you need to operate it (steering wheel, pedals, wipers, etc.) are inside where they’re near the operator.
But anything needing regular maintenance (gas tank, wiper fluid, oil dipstick, etc.) are in an area where they’re out of the way but still fairly easy to get to.
If refueling your car were just as hard as changing your brakes, no one would drive!
And if maintaining the test automation is just as hard as writing the original code for it, no one will use it.
The question is: How can you create a solution that makes the most likely things to maintain, the easiest to get to?
Pillar #3: Extendability
When it’s time to change the solution to include some new abilities, can you do it?
Or, has your solution been built so tightly and beautifully that it’s impossible to change any aspect of it without it crashing to pieces?
Many companies struggle with this. They want to solve the present problems, in a reasonable amount of time and code, and keep maintenance low, but at the expense of changing it quickly later.
Extending a solution doesn’t happen often, but when it does, these same companies are faced with a tough decision: completely rewrite/replatform, or bolt on wonky workarounds to keep it going (which leads to longer maintenance).
It is absolutely possible to write solutions to keep extendability in mind.
The question is: How can you keep the solution loose enough to expand and contract for change later?
The Answer: Might be simpler than you think!
If the answers to any of the questions above are ¯\_(ツ)_/¯ then that’s perfect. Because that’s exactly what we help with.
We’re really good at building solutions that lean on those 3 Pillars above. We’ve been doing this for awhile. It’s the only way to get a result that works for a long time.
- Build automation around the most common actions you do in your system
- Create frameworks that allow you to write your tests in plain English, and
- Design solutions that can be modified as you see fit, without relying on us
This is what goes through our heads All. The. Time.
And we’re very good at it.
Do you want to talk about it? Grab a spot anytime right here.