Valuable feedback, fast
If you’d ask me what is the goal of test automation, which I define as the use of tools to support our testing activities, my answer would be simple:
“To provide valuable feedback, fast”
While that goal sounds simple enough, I have seen many teams and organizations struggle to achieve it in the two decades that I’ve been active in the field. I have also noticed that often, teams try to address their test automation challenges by looking for better tools.
Almost every time, though, test automation problems go deeper than just the tool. Often, they are of both a technical and an organizational nature. Wouldn’t it be wise to approach and address them like that, then, instead of throwing another tool at the problem and hoping this one will make the problem go away?
In this three-day, immersive, hands-on course, you will examine, discuss and find and implement solutions to real-world test automation problems by following the journey of a (fictional) company as they try to achieve their goal of ‘valuable feedback, fast’.
Course contents
Day one - Introduction, ‘why?’ and ‘what?’
On the first day of the course, participants will be introduced to the case at hand, involving several development teams at an online bank. All of these teams are struggling with test automation, for a variety of reasons. We will first take some time to identify and classify these challenges, before discussing a framework that has helped me help many teams throughout the years in improving their test automation efforts.
The second part of the day will center around asking and answering the questions of ‘why do we automate?’ and ‘what (not) to automate?’, and we will discuss different models to help drive the conversation required to answer these questions.
- Introduction to the course and to the case
- Introduction to the 5W1H methodology
- Initial gathering and classification of problems
- Creating a definition of ‘test automation’
- Defining the ‘why?’ of test automation
- The test automation quadrant
- What (not) to automate?
- Challenges of automating regression tests
- Test automation does not equal testing
Day two - ‘Where?’ and ‘when?’
Day two of the course centers around assessing and improving testability, around making your test automation as efficient as possible by moving away from long, slow E2E tests where it makes sense, and on how to make test automation an integral part of your overall testing and development process.
We will discuss and spend time on deliberate practice around reviewing and improving both our test code itself as well as our application code for more efficient testing. We will also discuss and see the benefits and drawbacks of various ways to embed the writing, running and maintaining of our tests as part of the overall work that needs to be performed to incrementally deliver our product into the hands of our users with confidence.
- Discussing testability and automatability
- Breaking down E2E tests
- Dealing with external and third-party applications
- When to start your test automation efforts
- Introducing test automation in existing code and systems
- Frontloading the work (‘shift left’)
- To Gherkin or not to Gherkin?
- Challenges around finding the time to write, run and maintain automation
- How to design a build pipeline
Day three - ‘Who?’, ‘how?’ and ‘where to from here?’
On the third and final day of the course, we complete the creation of an updated test automation strategy for the online banking development teams by assessing their current skill set, identifying gaps therein and creating a learning and growing plan for the teams. We also take another close look at different types of tools that will help the teams implement their updated test automation strategy.
To wrap up the course, we will discuss and implement several tools and processes that will help teams assess, monitor and report on the progress and results of their test automation efforts, and we will wrap up our time together by summarizing and reflecting on the lessons we learned during our three days together, and define concrete actions plans on how to bring these lessons back to our own context.
- The challenging task of test automation
- Growing your test automation skills
- Pairing / mobbing / ensemble work
- Defining small steps forward
- Selecting the right tool(set) for the job
- The importance of testing your tests
- Monitoring your test automation progress
- Wrapping up and next steps
Intended audience and prerequisite knowledge
This course is for software development and testing practitioners, as well as tech and team leads, who want to learn how to be successful with test automation and how to achieve its goal of ‘valuable feedback, fast’.
The technical, hands-on exercises can be presented in Java, C# or TypeScript, so some familiarity with any of those languages will be advantageous. Even without that experience, though, there is a lot to get out of this course, and the technical exercises are presented in a way such that everybody will be able to follow along. Pair and ensemble programming will be encouraged, and examples and (my) answers to the challenges will be available throughout the course.
Delivery and group size
The wide range of exercises in this experiential course are designed to address both the technical and the organizational aspects of succeeding with test automation. As a participant, you will:
- contribute to facilitated discussions, investigating and performing root cause analysis of test automation problems
- deliver short presentations on your findings and advocate for your ideas
- complete hands-on, technical test automation challenges to implement your suggestions for improvement
- measure and report on the impact of these experiments
Due to the experiential nature of the course, I strongly prefer running it on site, in person. The maximum group size is 25 participants. There is no minimum group size, but having at least 6 participants contributes to better discussions through a wider range of backgrounds, ideas and prior experience.
If you would like to book me to teach this course in your organization, or if you have any additional questions, please email bas@ontestautomation.com or use the contact form on this page.
For an overview of all training courses I have on offer, please visit the main training page.