I attended the TestWorks Conference in Amsterdam on the 2nd of October 2015 to present a Keynote on "Real World Automation Challenges". Based on my experience writing code to automate applications, and from working with clients world wide, I described challenges faced and the thinking behind the solutions chosen.
So if you want more options for how you approach automating executing then this might be the talk for you.
I have released the slides to SlideShare
The theme of the conference was Hands-on experience with different test automation tools. So I drew from my experience to consider different approaches I've adopted when automating, considering them as solutions to challenges.
The initial blurb I submitted read as follows:
Sometimes automating an application seems like a search for workarounds. At times, the application appears to conspire against us, effortlessly defeating our approaches. And other times we need to work around limitations in the tool that we have chosen. Alan will present challenges experienced when automating, complete with explanations of the solutions adopted and reasons for choosing them. Including: how to choose a tool and a programming language. How to prioritise and add value while automating quickly, without introducing future maintenance issues. Also, using abstraction layers to make code readable and avoid intermittent execution issues. All of this from hard won hands on experience of automating in the real world. After this presentation you will have more options to use when you face similar challenges in your own work.
I planned to look through my experience for the most important lessons I've learned and present them as solutions to the challenges we faced, with an description of the reasons why we used them.
The blurb eventually became:
"Automating application execution isn't easy, even with a lot of experience. Applications find ways of making themselves hard to automate. And if it isn't the application, then it's the tools we use. And if it isn't the tools, then it's the people and the processes. Automating can seem like a hunt for workarounds which sometimes fly in the face of 'best practice' advice. Alan will describe solutions he's used on real world challenges. And he offers to help with real life dilemmas including: How do you build abstraction layers that work? If BDD tools aren't test tools why do we use them test? How technical do you need testers to become? And how do you find time to test when you are automating so much?"
This was a follow on from the Test Automation Day conference because the organisers of TestWorksConf liked the content of the Test Automation Day conference.
I don't like doing the same talks again, but the organisers liked some of the concepts so I repeated some of those concepts in here. But I reduced the overlap and did not cover all the history of automation stuff again.
The Test Automation Day conference was aimed at managers. The TestWorksConf talk was aimed at practitioners. Which meant I could show some code and dropped down to consider the thought processes required for effective automated execution.
And I do think practitioners need to have an understanding of the history of what we do. Then we don't have to feel that we are always breaking new ground and that we have to learn all the lessons from scratch.
So I wanted to identify some of the high level concepts that allow practitioners to create great automated solutions, under pressure, and still have the ability to 'test' systems, not just automate them.
In the fifties they nailed the problems that come with automation. Yet we still struggle with them as if they're brand new. #testworksconf— Maaike Brinkhof (@Maaikees) October 2, 2015