Test automation belongs to the testers and as testers we care about quality more than the rest of the development team do, right? It’s easy to think this. I know, I’ve been there, as a Tester and a Test Manager.
But now I manage the whole development team and can see how the whole team should use test automation. And how we could get more efficient as a team when we all became responsible for quality.
5. Test Automation At a Leading
Fashion E-commerce Company
@stephenjanawayLicensed under Creative Commons Attribution 2.5 Denmark. - Benjamin Suomela/norden.org
6. You aren’t there to make
the automated tests pass
@stephenjanaway
11. Testing
The process of evaluating a product
by learning about it
through exploration and experimentation
Source: http://www.satisfice.com/blog/archives/856
@stephenjanaway
12. Checking
The process of making evaluations
by applying algorithmic decision rules
to specific observations of a product
Source: http://www.satisfice.com/blog/archives/856
@stephenjanaway
14. Team
A group of awesome people who want to deliver value
Your job as a manager is to enable them to do that
@stephenjanaway
15. Now what?
Train
them
Find the
people
What Is
Automation
anyway?
Saving the
world
Start here
Build a great team Get it live
What should
you care
about?
Choose
a tool
Let’s Go On a Journey
Plan
your
project
End here
16. Why Do We Need Test Automation Anyway?
@stephenjanaway
18. “People who don’t really get testing tend to want
to turn it into a programming problem instead”
Jeff Nyman
@stephenjanaway
19. What Should a Manager
Care About?
" Predictable, efficient software
delivery
" A happy, motivated team
" Easy (as possible) hiring of new
people
" A team that cares about quality
@stephenjanaway
20. Your Test Automation
Won’t Save The World
" It’s tempting to eat the
“Selenium” donut
" But is it short term
pleasure?
" Automation is not rocket
science, but it’s not trivial
either
@stephenjanaway
21. Recognise That Test
Automation Doesn’t Just
Mean Writing Checking Code
" The ickle test helper
" Testing tools save time and
promote efficiency
" This is automation in testing
@stephenjanaway
22. “Automation is the judicious
application of technology
to help humans do their jobs”
Paul Grizzaffi
@pgrizzaffi
@stephenjanaway
24. You Don’t Need a
Test Automation Team
" Silo’s breed apathy
" Testers should be in teams
" Pairing with developers -
building a bridge
" Team’s own quality
" A separate test automation
team is a lonely place
@stephenjanaway
25. Team’s Own Automation
UI Tests
API Contract Tests
Unit Tests
Web & Mobile
Clients
Platform
{Team
@stephenjanaway
29. 3rd Order Ignorance:
Lack of Process
I don't know a suitably efficient
way to find out I don't know
that I don't know something
2nd Order Ignorance:
Lack of Awareness
I don't know that I don't know
something
1st Order Ignorance: Lack
of Knowledge
I don't know something
0th Order Ignorance: Lack
of Ignorance
I (probably) know something
Good Testing
@stephenjanaway
30. Automation Can Do a Lot But It Can’t Check...
Thought
patterns
User
reactions
Usability
Perceived
Performance
Claims
Unknown
behaviours
What If I…?
Look and feel
Accessibility
Compatibility
@stephenjanaway
Ambiguity
Business
understanding
Value
judgements
Do you need more
tests?
31. Automation Can't Check All Of This...
Thought
patterns
User
reactions
Usability
Perceived
Performance
Claims
Unknown
behaviours
What If I…?
Look and feel
Accessibility
Compatibility
@stephenjanaway
Ambiguity
Business
understanding
Value
judgements
Do you need more
You Can Only Automate
What You Know and Expect
2nd Order Ignorance:
Lack of Awareness
I don't know that I don't know
something
32. You Need
Exploratory Testers
" Tools cannot reason
" Tools will not look for ambiguity
" Tools do not understand your
business
" Tools will not make any value
judgments about tests
" Tools don’t know how to produce
further tests
@stephenjanaway
33. If You Must Hire Test Automators
Then Do So With Care
" When you hire developers then talk to
them about testing
" Watch out for the developer foot in
the door
" Think about remit
" Hire like you would hire a developer.
Be technical. Have technical tests
" Expect them to think like a developer
" Expect them to think like a tester
@stephenjanaway
34. If You Must, Train With Care
" Don’t get your existing test
automators to train your
exploratory testers
" Invest in your team and that
means paying for training
" If you are serious about test
automation then be serious about
the cost
" Wouldn’t it be better to train the
developers to be better testers?
@stephenjanaway
35. No one would ask a developer to teach
an employee to code from scratch
Why Is This Acceptable For Test
Automation?
@stephenjanaway
36. Care About Flow
" Predictable cycle times
" Does my automation help?
" When team’s own
automation then work flows
more smoothly
@stephenjanaway
38. Present Bias
“The tendency to over-value immediate rewards
at the expense of our long-term intentions”
@stephenjanaway
39. Don’t Automate All The Things
Lots of automated tests is not
something to be proud of:
" Who debugs the tests?
" Who maintains the tests?
" Can you efficiently scale the team
to keep up?
" How quickly do the tests generate
results? Information? Value?
Exploit Present Bias with Tea
@stephenjanaway
41. Testing Tool Vendors Promise
You The Earth
Vendors and test centres make fancy
and outlandish claims.
" 100% test automation
" Replace all your manual testers
" 76% efficiency increase
Be wary
@stephenjanaway
42. Don’t Dictate That Every Team
Uses The Same Tools
Cost savings and overall efficiency
vs autonomy and buy-in
Your team know the best tools but
set some principles:
" Well supported
" Open source (with recent PRs)
" Uses existing team skill set
@stephenjanaway
43. Don’t Write From Scratch
" It’s expensive
" It wastes previous experience
" It locks knowledge in a few
people's heads
" Most production code isn’t
written this way
@stephenjanaway
44. Care about a test automation
project just like any other project
Test automation projects are so often
treated we less rigor and care
" Scope creep is bad
" It should deliver
" Don’t change language or
framework halfway through
" Think about requirements
" Same language, same repo, same
review processes, CI
@stephenjanaway
45. Automation Goes Stale
Even if you have a suitable number of
automated test cases:
" More features = more tests
" New test for every bug = more
tests
" More tests = bloated test suites
" Bloated test suites = less efficient
testing
You need a plan to manage growth
@stephenjanaway
46. Focus On The Outcome -
Failing and Passing Checks
" You need a process to
review results
" Triage
" Dashboards
" Stale tests
" Don’t forget why you are
testing in the first place
@stephenjanaway
50. What Have I Learnt?
" You need the right amount of test automation
" Separate automation teams are a bad thing
" Small cross functional teams owning test automation are a good thing
" People will promise that test automation solves every problem you have.
It doesn’t
" Treat test automation just like production code
" Treat test automation projects just like production projects
" Hire with care
" Invest in training but don’t expect your people to do it (all)
" Don’t forget why you are testing in the first place
" You need exploratory testers too
@stephenjanaway