Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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. Director of Open Source Project Lead & Architect @jlipps •

    @saucelabs • @AppiumDevs Board member
  2. 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 ?
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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 ?
  8. 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 ?
  9. 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
  10. When we change something to make it amenable to automation,

    what are the long- term consequences? BIG QUESTION #1
  11. 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
  12. 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
  13. 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
  14. Does automation do justice to its domain? Can human life

    be successfully shaped into automatable categories? BIG QUESTION #3
  15. 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
  16. How do we conceive of ethics in an automated world?

    How do we prepare for the extremes of automation failure? BIG QUESTION #4
  17. 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
  18. 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
  19. 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
  20. 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.