Writing Automation is Easy

“It’s easy to write automation”

As the thought jumped through my mind, I had to tip my chair back, look up at the ceiling and ponder.  Is that true?  Is it easy to write automation? As I stared at the grey painted ceiling and chewed on the thought, some examples came to mind that illustrated the truth of this.  It really is easy to write automation.

I had put together a new test in a half an hour and even while I was doing it, I was thinking about how much of the test creation work could be automated.  With a simple template and a few shared functions we should be able to make it even easier to create an automated test.  Creating a test is easy

I had a new co-op student and after a bit of training on our automation system he was able to add several new tests in a day.  Creating a test is easy.

We have thousands of tests in our automation system.  How did we get so many? Well, creating tests is easy.

The Struggle

But, if it is so easy, why do so many people struggle with test automation?  Why is it an ever popular subject of books, blogs and conference talks?  Why do we spend so much time and effort on this.

Well, the answer is simple.  Test automation is really hard.

Wait, what?  What kind of weird world do I live in.  Didn’t I just say it was easy?  Well, not quite.  Adding a new test is pretty straightforward.  Adding a test that is going to be both valuable and low cost – that’s a whole different story.  Adding tests is easy.  Adding good tests?  Not so much.

Remember that test I added in a half an hour.  Easy right?  Well, I ended up making several major edits and changes to it, based on review feedback.  Why?  because adding a test is easy, but adding a good test is hard.

Those tests the co-op student put in?  We spent a lot of time together on figuring out what kinds of things to check in these and how to make them work well.  Adding the tests was easy, making them good tests was hard.

Our automation system does indeed have thousands of tests and we are struggling with how to keep up with them.  How do we change and tweak them so that they are more valuable?  Once again, adding tests is easy, but adding good tests is hard.


How do we fix automation problems?  Do we need to hire more automation engineers? Do we need a new framework? Do we need to get more developers involved?  Maybe. But there is one thing that we really need.  We need skill. Changing tools and processes can help, but to get good automation you need skilled automators.

We need automation craftsmen and women.  We need people who know and understand how to write high quality automation.  People who know how to use automation to actually lower the costs of  testing.  People who know how to write the kinds of tests that actually add value.

You want to stand out from the crowd?  Don’t just write automation – write good automation. Study automation.  Learn how to leverage it.  Learn how to clean up automation messes. Learn how to move automated tests from mediocre to great. Figure out what makes for good automation and then find the tools you need to help you achieve that.  If you are a student of automation and you can craft useful and valuable tests, you’ll have nothing to fear. Machine learning and AI are just additional tools in your toolbox.  If all you do is turn test cases into automated scripts – well, I’m sorry, but that’s easy and your job security is low. Learn how to write good automation before the machines come for you.

Writing Automation is easy. Writing good automation is hard.  Do hard things!


  1. Jim Hazen says:

    As you said, creating/building “good” automation (framework and other assets along with tests) is hard work. It does take a certain amount of knowledge/experience and hard work to become capable of doing this type of work. It does take some craftsmanship, but that comes from the previous 3 things I mentioned. Even then there are craftsman in certain areas of automation or tools.

    So not just anyone can do this type of work. It takes time to do learn it and do it right. That’s what people don’t understand is that it is just like being a software developer. It’s just that we develop testware.

    Jim Hazen


    1. offbeattesting says:

      Hi Jim,

      Thanks for the comment. Yes, my comments about it being easy were based on the fact that there are more and more ‘fill the blank’ style frameworks available that make it possible for those who don’t know much to write tests. Getting to the point where you can write a test doesn’t take long anymore, but it can be deceptive, because it hides how hard it is to actually write a good test. I would agree that it is much like being a software developer. With a code bootcamp or two you can get the point where you can write code, but that doesn’t mean you yet know how to write good code that will stand up over time.


  2. Hello and thanks for the post.

    I was just wandering whether you could dig deeper on that… What do you think makes for good automation? What do you do, when “cleaning up automation mess”? What do you change when you “move automated tests from mediocre to great”? How do you achieve “high quality” automation, that “add value”? What “major edits and changes” did you apply to your test, based on review feedback?

    I’d love to learn more about your thoughts on that.

    Jeremias Rößler


    1. offbeattesting says:

      Hi Jeremias,

      Thanks for the comment. I’m glad you enjoyed the post!

      I’m actually doing a talk on automation anti-patterns and what to do about them at Star East in a couple of weeks, so if you are going to be there you can certainly check it out then 🙂 If not, I do plan to blog on a few more of the kinds of ideas and questions you mentioned over the next few months, so stay tuned to the blog for now I guess!


      Liked by 1 person

      1. roessler2015 says:

        Too bad I won’t be there—so I have to wait for the blog posts I guess. Looking forward to it 🙂

        Liked by 1 person

Leave a Comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s