Test Automation Uni – Day 1

Today I hosted a lovely bunch of keen learners who wanted to put aside some time and do an online course with me. You can check out the event on meetup here. Today’s topic was setting a foundation for successful test automation by Angie Jones. I also streamed the activity and conversations via twitch.tv/BugHunterSam. Here is what my loungeroom looked like:

Chapter 1 – Designing a Test Automation Strategy

  • What is your goal for starting a test automation initiative and what is it that you want to accomplish?
  • Who do you envision participating in your test automation initiative and in what capacity?
  • How do you plan for the execution of this strategy

Chapter 2 – Creating a Culture for Test Automation Success

  • how to get people on board
  • how to help them understand their place in the automation strategy
  • how to enable them to do what’s needed

Chapter 3 – Developing for Test Automatability

The test automation pyramid is a mental model for thinking about what level you should build your automation tests. It’s a little contended because it doesn’t acknowledge exploratory testing but it’s a model that is widely used. James Bach has a blog on the round earth model that could also be used.

Chapter 4 – Tooling for Test Automation

We discuss how to choose the right tools for your initiative. Before choosing your tools, it’s important to consider who will be using them.

Chapter 5 – Future-proofing Your Test Automation Efforts

Without a clear strategy in mind, many teams make the mistake of automating their tests for their current situation. Perhaps you’re just starting out and you have a dozen or so tests that run locally. You don’t see the issues that your poorly written test code can surface.

Design patterns

Become familiar with design patterns that are especially beneficial for test automation projects such as:

  • Page Object Model
  • Screenplay
  • Fluent
  • Builder
  • Singleton
  • Factory
  • Facade

Here is a getting started guide with Page Object Model (POM) architecture with C# and selenium:

Chapter 6 – Scaling Your Test Automation

Writing automated tests that run perfectly against one environment is challenging in and of itself. But what about when you’re ready to scale your one suite of tests to run in multiple environments, browsers, or devices?

LUNCH

On the menu today was Turkish. We had a lentil tabbouleh salad, Turkish bread, felafel, hummus, tatziki and marinated chicken. You should come along to the next event just for the food. I always put on a good spread.

Chapter 7 – Measuring the Value of Your Test Automation

Many automation projects fail due to unrealistic expectations. To avoid this, it’s best to identify expectations early and communicate these expectations to the entire team. What’s your expected Return on Investment?

Bonus Material: Writing readable code

Having readable code is a prerequisite to scaling your product and the organisation behind it. Hard-to-read code not only intimidates your co-workers (and your future self) but also conceals bugs and hurts your team’s velocity, since every modification takes twice as long as it should. This talk shares the principles of writing clear, idiomatic JavaScript code, illustrated with real-world examples.

Hands on exercise

We finished the day with a live code example of getting started with Page Object Model architecture using c# and selenium. I would share the video with you but I was experiencing issues with OBS and was unable to get you a video :(.

2 comments

Leave a Reply