Modern Test Automation Playbook
Modern Test Automation Playbook
Automation Playbook
How To Build a Rock-Solid Test Automation
Framework FAST that will Turbo-Charge Your
Team And Your Career
Do you have trouble keeping your test automation up to pace with new features
being built? Do you feel you don't have enough time to automate all the scenarios
you need to each sprint?
Do you find your tests can be brittle and unreliable? Is it hard to know exactly what
went wrong when a test fails?
Do you find developers don't want to help out with automation tasks, and don't
respect the value of the automation work you do?
The truth is, the classic ways that folk do and teach test
automation simply are not effective in modern, agile
projects.
Sure, it's a start. But you also need to know when and
how to use test automation, and what agile practices
can make it work effectively.
The thing is, traditional testing strategies haven't really evolved much over this time.
They still focus on automating your manual test cases, after the work is finished.
Now if you’re new to test automation, this approach can feel intuitive. It kinda feels like home
- it's the way you do things with manual testing.. There are even a host of vendor tools that
promise to let you magically automate your test cases without writing a single line of code.
Problem is, it doesn't work. Simply automating manual test cases is actually the worst
thing you can do.
But when you automate your manual test cases after the
work is done, it's way too late in the game to help the
developers on the team. No one will say thanks.
But the fact is, automating your manual test cases is a thankless, expensive chore.
When you automate manual test cases, the natural approach is to automate via the UI. It's
also the main approach all the vendor products promote.
But this is actually the slowest and most inefficient way to automate.
Sure, you need some UI tests, but having your whole test suite built on top of them is a recipe
for disaster.
Worse still, the number of defects you find when you automate your manual test cases is
actually much smaller than what you would find with with exploratory testing.
So while it has benefits for automated regression testing, we will see there are must more
cost-effective ways to build up a comprehensive set of regression tests and to actually find
defects in time.
But by just concentrating on what the application does (or how the user interacts with the
application), it's easy to lose focus on something much more important: what the application
should do, and what the business needs it to do for them.
You spend so much time worrying about how to click this button or select that dropdown
value, that you forgot to check whether the application actually allows the users to do their job.
Which is the most important thing we can be checking! As the old saying goes, you can't see
the forest for the trees.
Test cases are at best second-hand information - they are interpretations of the original
requirements documents or acceptance criteria. So automated test cases are, at best, third-
hand information.
Each step in the process takes time and effort (those manual test cases won't write
themselves) and introduces the risk of missing some important detail.
A much better approach is to cut out the middleman and write requirements that can be
automated. This involves talking to business and other team members, and agreeing on
acceptance criteria and a few key examples of expected behaviour before work starts, and
turning these examples into business-readable, automated tests.
The result is a set of executable specifications that you can use to clearly demonstrate to
business folk that the application does what it is supposed to do in their own language.
This simple strategy helped one tester I worked with decrease the time it takes to
write new automated tests by a whooping 80-90%!
This doesn’t mean executable specifications are your only tests. But they are the starting
point and the goal posts. Other tests, at different levels and written by developers or testers,
expand from there until you have precisely the level of confidence you need.
05
Are seen as the tester’s problem Encourage collaboration across the team
Your goal is to demonstrate a business outcome, not specific interactions with the UI.
This means you have the freedom to automate some scenarios as UI tests, others as backend
or API tests, and yet others as a mix of both. Just pick the simplest, fastest way to prove that
the application allows your users to achieve a specific business goal.
This is the exact same technique that another team I know used to build a test suite
of over 1500 automated business scenarios that run in under 10 minutes!
07
If you are going to do agile test automation well, within the sprint, and still leave yourself
enough time for exploratory testing, you need a test suite that grows. And do to that, you’re
gonna need a plan.
The secret to scalable test suites is how they are organised. They use flexible components
that model business behaviour, because this is where you get the most valuable reuse.
Each layer breaks down and describes the behaviour of the next layer down, right down to
where you actually interact with the system. This way you maximise ease of maintenance,
reuse and stability.
This is the key to writing tests fast, too. One team of testers I know used this
approach to automate almost 800 rock solid business scenarios in under a month.
08
The truth is, automation written after a feature is completed is the least powerful form of
automation. Sure, it might catch some regression issues, but it does little to make the team
work faster, or to make the team deliver more value.
With a well-designed executable specifications framework, on the other hand, you can do
much better. You can:
Collaborate more closely and more precisely with analysts and business folk, so that
misinterpreted requirements become a thing of the past
Encourage developers to participate as well, because it makes them go faster too!
This is what flips the tables and puts test automation at the service of the whole team.
This way you can leverage your automated tests to TRULY benefit your whole team,
accelerate your delivery, impress your manager and turbo-charge your testing career.
09
But test automation shouldn't mean an endless struggle with looming deadlines and falling
automated tests that nobody believes anymore.
And the approach that I've outlined in this document is a great way to deliver automation
that truly makes life easier for you as a tester, and also accelerates the development
process as a whole.
WHAT'S NEXT?
It’s our hope that this playbook will help you get a better idea of what really works when it
comes to building a scalable, sustainable agile test automation framework.
We'd love to continue the conversation! If you want to learn more about modern agile test
automation, come join our LinkedIn Group on the following URL:
https://bit.ly/agile-test-automation-secrets
If you're ready to talk about more tailored help in your test automation career, we can do
that too. At Serenity Dojo we have helped hundreds of testers from all background
become high performing agile test automation engineers, with a solid understanding
both of the automation tools, and of the best way to use the tools in modern projects.
I can't make test automation easy. It's not. But I can give you the skills
and mindset to make it easy for you.
So if you’d like to speak with us on how you too can learn agile test automation, we’d love
to talk to you. There is never any pressure on our clarity call sessions. Our objective is to
figure out what's stopping you becoming an awesome agile test automation engineer, and
then help you figure out what the best plan of action is.
https://www.serenity-dojo.com/apply
Feel free to send us an email (if you need anything) or if you just want to say ‘thanks for
the guide’. ([email protected]).
Serenity Dojo,
Fleet Chambers, 8-9 Westmoreland St
DUBLIN, Ireland
11
At the Serenity Dojo, we've been helping testers from all backgrounds become top-notch
agile test automation engineers for many many years. It's not for everyone (which is why
there is a selection process). But it does get great results.
See, the Serenity Dojo is more than a training course. It's a Community of Learning.
We threw away the book on conventional, dated, online training strategies and designed a
completely new approach from the ground up. We combine decades of industry
experience in agile and test automation with the latest advances in Learning Sciences to
get real results for our students.
Our goal with the Serenity Dojo Expansion Programme, is to give you the skill and
confidence you need to nail agile testing and test automation in virtually any domain. If
you'd like to know more, click on the button below to book a call:
https://www.serenity-dojo.com/apply
Or if you are on LinkedIn, reach out to John (mention this playbook)
https://www.linkedin.com/in/john-ferguson-smart/