$30 off During Our Annual Pro Sale. View Details »

The Philosophy and Future of Automation

The Philosophy and Future of Automation

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.

Jonathan Lipps

June 07, 2017
Tweet

More Decks by Jonathan Lipps

Other Decks in Technology

Transcript

  1. THE PHILOSOPHY AND FUTURE
    OF AUTOMATION
    Jonathan Lipps | Sauce Labs

    View Slide

  2. Director of Open Source
    Project Lead & Architect
    @jlipps • @saucelabs • @AppiumDevs
    Board member

    View Slide

  3. 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 ?

    View Slide

  4. HISTORY

    View Slide

  5. αὐτόματος

    View Slide

  6. αὐτό ματος
    “self” “eager, willing”
    “self-willed, self-acting, self-driven”

    View Slide

  7. Even before the industrial revolution, clever
    humans have been trying to get things to run on
    their own.
    • 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

    View Slide

  8. View Slide

  9. 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,
    production, etc…
    INDUSTRIAL REVOLUTION
    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

    View Slide

  10. 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
    EARLY COMPUTING
    T h e in itia l triu mp h o f b in a ry th in k in g

    View Slide

  11. What if you could use encoded numbers to tell
    circuits what to do with other encoded
    numbers?
    • Code is just a special case of data that
    triggers supported operations on other data
    • The Turing machine and Turing
    completeness
    • Basic binary operations and programmability
    open the door to full information automation
    CODE
    T h e s in e q u a n o n o f S a u c e C o n

    View Slide

  12. 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”
    (80s/90s)
    • CI, Agile, TDD, Selenium: all early 00s!
    TESTING CODE
    Wh o will a u to ma te th e a u to ma tio n ?

    View Slide

  13. PHILOSOPHY

    View Slide

  14. Historically, the point of technology is disburdenment: freedom from drudgery
    and danger.
    • 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 ?

    View Slide

  15. View Slide

  16. The process of making something automatable can change it in unexpected
    ways.
    • 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
    signs
    • 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

    View Slide

  17. When we change something to make it
    amenable to automation, what are the long-
    term consequences?
    BIG QUESTION #1

    View Slide

  18. 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%
    faster”
    • As a person, what do you do with the time you’re not spending on basic
    tasks?
    • The ratchet effect of automation. What is the end game of iterative
    productivity gains?
    AUTOMATION LEAVES A GAP
    A n d N a tu re a b h o rs a v acu u m

    View Slide

  19. 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

    View Slide

  20. 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
    next level.
    • EXAMPLE Facebook automating relationships
    • EXAMPLE Automated marketing campaigns
    AUTOMATION AND HUMAN ESSENCE
    H u man s v s ro b o ts

    View Slide

  21. View Slide

  22. Does automation do justice to its
    domain? Can human life be successfully
    shaped into automatable categories?
    BIG QUESTION #3

    View Slide

  23. A reflection on the role of humans in an
    automated system.
    • 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

    View Slide

  24. How do we conceive of ethics in an
    automated world? How do we prepare
    for the extremes of automation failure?
    BIG QUESTION #4

    View Slide

  25. THE FUTURE

    View Slide

  26. 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
    human
    AN AUTOMATED WORLD
    P erp lexities an d d ilemmas n ew to mo d ern h u man ity

    View Slide

  27. Automated testing itself will change radically in the coming years.
    • Long-term: auto-generated tests, AI-generated tests
    • Short-term
    • 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
    AUTOMATED TESTING
    S o meth in g a little mo re man ag eab le, fin ally

    View Slide

  28. 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

    View Slide

  29. RECAP

    View Slide

  30. 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
    started
    • 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.

    View Slide

  31. View Slide

  32. View Slide

  33. THANKS!

    View Slide