If one thing has been made absolutely clear in the software development methodology revolutions of the last decades, it's that automation is essential. In our field, we care particularly deeply about automated testing as the linchpin of continuous delivery. More simply put, automated testing means we give our customers new things less likely to disappoint them more often. But we often don't think about automation outside of this context. Automation is a deep and sometimes perplexing topic. On one hand, it is the long lever with which we as developers are moving the world (malleable automation is the fundamental achievement of the digital computer). On the other hand, automation threatens livelihoods all across the advanced industrial world. Individuals and governments protest the proliferation of robots which can do jobs formerly the domain of human beings. And of course we have the same tension in our own field, with the continued debate over the place of manual testing.
Automation may be the future, and it may be inevitable, but it shouldn't be unexamined. Together we will explore a brief history of automation in order to understand its pattern and trajectory. With that insight we'll be able to see more clearly what lies ahead, both in the field of test automation specifically (with examples from my own work in mobile testing and dreaming about testing the Internt of Things) as well as in technology in general. We must not engage in automation for its own sake, fun as though that might be for nerds like myself who love to control things with code. If we don't lift up our heads and look around from time to time, we run the risk of being automated away ourselves! As an industry, how do we engage with automation (in testing and otherwise) in a wise and humane way? As you can imagine, the answers to these questions go much deeper than shipping your app incrementally faster! So join me in thinking critically together about our shared backdrop of automation.
THE PHILOSOPHY AND FUTURE
Jonathan Lipps | Sauce Labs
Director of Open Source
Project Lead & Architect
@jlipps • @saucelabs • @AppiumDevs
As professionals in the test automation industry,
we have a very interesting and important
pedigree. Let’s think deeply today about
automation in general.
• A brief history of automation
• A philosophical perspective on automation
• The future of automation (testing & beyond)
THE PHILOSOPHY OF AUTOMATION?
Wh a t h a p p e n e d to A p p iu m ?
“self” “eager, willing”
“self-willed, self-acting, self-driven”
Even before the industrial revolution, clever
humans have been trying to get things to run on
• Mechanical water clock
• Feedback-controlled thermostat
• Digesting duck
• Automated loom
EARLY MECHANICAL AUTOMATION
F ro m u s e fu l to b iza rre
More than anything else, the patterns of the
industrial revolution have determined the shape
of the modern world.
• Harnessing of steam and electricity
• Machine workers, human operators
• Assembly-line methodology
• Massive impact on labor, transportation,
T h e b e g in n in g o f th e te c h n o lo g ic a l a g e
Early machines were only partly automated and
did only one thing. Then came the insight of
using electricity to represent numbers.
• Binary numbers and Boolean logic
• Switches and relays (telegraphs!)
• Logic gates, circuits, and transistors
• Doing math with all of the above
• Remembering data with all of the above
T h e in itia l triu mp h o f b in a ry th in k in g
What if you could use encoded numbers to tell
circuits what to do with other encoded
• Code is just a special case of data that
triggers supported operations on other data
• The Turing machine and Turing
• Basic binary operations and programmability
open the door to full information automation
T h e s in e q u a n o n o f S a u c e C o n
Formal analysis gives way to the test scripts we
know and love.
• Testing didn’t initially mean either “automated
testing” or “manual black-box testing”
• The art of formally understanding code,
different testing patterns (70s)
• Automated testing goes “mainstream”
• CI, Agile, TDD, Selenium: all early 00s!
Wh o will a u to ma te th e a u to ma tio n ?
Historically, the point of technology is disburdenment: freedom from drudgery
• Automation is precisely one mechanism of this promise
• Freedom from repetitive, dull, or dangerous tasks
• Individual perspective: freedom for more creative pursuits
• Business perspective: possibility of faster, more reliable production
• EXAMPLE Manual test step execution vs writing an automated test
THE PROMISE OF TECHNOLOGY
Wh a t h a v e we b o u g h t in to a n d wh y ?
The process of making something automatable can change it in unexpected
• Reality, even software reality, doesn’t always come in automatable form.
• In order to achieve the benefits of automation, we often have to set up
rules that change what we want to automate.
• EXAMPLE Crop combines => monoculture in farming
• EXAMPLE Self-driving cars => global standardization of road shapes and
• EXAMPLE Unit tests => rewriting app code to be easier to mock
AUTOMATION REWRITES REALITY
P reco n d itio n s an d co n seq u en ces
When we change something to make it
amenable to automation, what are the long-
BIG QUESTION #1
Automating away a task is supposed to bring freedom. Freedom for what?
• As a business, how do you quantify the effect? “We ship widgets X%
• As a person, what do you do with the time you’re not spending on basic
• The ratchet effect of automation. What is the end game of iterative
AUTOMATION LEAVES A GAP
A n d N a tu re a b h o rs a v acu u m
When we automate something out of our
lives or businesses, what are we putting
in its place? Is it better than before?
BIG QUESTION #2
What characterizes automated processes is very different from what
characterizes human processes.
• Automation: fast, reliable, repeatable, cheap, dumb(ish), predetermined
• Humans: inconsistent, expensive, smart(ish), experiential
• The Internet brought automation to daily human life. IoT is taking it to the
• EXAMPLE Facebook automating relationships
• EXAMPLE Automated marketing campaigns
AUTOMATION AND HUMAN ESSENCE
H u man s v s ro b o ts
Does automation do justice to its
domain? Can human life be successfully
shaped into automatable categories?
BIG QUESTION #3
A reflection on the role of humans in an
• The more sophisticated and efficient the
automation, the more crucial the shrinking
role of the human operator becomes.
• EXAMPLE QF 72
• EXAMPLE Stanislav Petrov
THE PARADOX OF AUTOMATION
Wh y S ta n is la v P e tro v h a d to s a v e th e wo rld
How do we conceive of ethics in an
automated world? How do we prepare
for the extremes of automation failure?
BIG QUESTION #4
We are and will increasingly be faced with
choices about the extent of automation in our
lives and businesses.
• Automation itself is changing
• Work is being radically redefined
• With the power of technology comes the
responsibility to decide what it means to be
AN AUTOMATED WORLD
P erp lexities an d d ilemmas n ew to mo d ern h u man ity
Automated testing itself will change radically in the coming years.
• Long-term: auto-generated tests, AI-generated tests
• Expansion of automation capabilities to every app platform, including VR
• Figuring out IoT integration testing
• Standardization of testing practices and protocols (Appium / StarDriver)
• A big question: the role of people in automated testing
S o meth in g a little mo re man ag eab le, fin ally
Whatever the role of humans is, it will be more
important than today
• The role will be more crucial
• The role will be more creative
• The role will be more rewarding
• …there will be fewer roles like it
• ...it’s time to level up!
THE FUTURE OF YOU
L o c a l, h u ma n e ly -ra is e d S e le n iu m g rid fa rme r
Automation is the very engine of technology.
Our day-to-day is in one small corner of this
massive universe. Let’s not forget it.
• The pattern of automation, and how it got
• Philosophical questions for our businesses
and personal lives
• The need to step carefully into the future.
Automation, not automania!
THE DEPTH OF AUTOMATION
T h e h e a rt o f te c h n o lo g y. N o t d a rk n e s s . D e fin ite ly n o t
th a t.