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.
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?”
About the Talk
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.
About The Conference
The conference (#testworksconf) was probably the most ‘hands on’ conference I have ever attended.
Unfortunately there was too much on for me to go to every talk. A very interesting conference, very hands on, with lots to learn.
Hopefully I’ll be able to attend on future years as well.
Machiel van der Bijl pointed me towards a lot of Model Based Testing resources that I need to find time to investigate in more detail. During the conference Machiel provided a quick overview of Model Based Testing and demonstrated the tool that Axini have been working on.
Ivan Shubin provided a really good interactive demo of his Galen Framework visual testing tool. Galen has now bumped its way a little higher up my investigation todo list and I think is worth checking out.
John Smart provided the closing keynote with a demo of his Serenity tool, and more interesting the ‘Journey Pattern’ Actor approaches he uses to cut down on the amount of code in page objects and other abstraction layers. It was different enough from the type of approaches that I covered in my Abstractions talk that I need to look through John’s example code in more detail. Fortunately, John also used the TodoMVC app as his example target.
Also at the conference; an overview of updates to FitNesse, an intro to the Robot Framework and Cucumber.JS/Angular and Protractor. And a very interesting introduction to the Mox Angular mocking library.
After the conference I was able to spend some time with the Xebia team for knowledge sharing.
— Herald Biewenga (@Herald4) October 6, 2015
Wow, the day with @eviltester was very cool. Inspired, and learned new stuff. Played with Gatling for the first time 😮
— Maaike Brinkhof (@Maaikees) October 6, 2015
What did Twitter say?
We were fortunate that this was a very social media active crowd, so there were quite a few quotes and reactions from the audience.
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