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

Automated Mobile Acceptance Testing Presentation - mdevcon 2013

Automated Mobile Acceptance Testing Presentation - mdevcon 2013

Pete Hodgson

March 15, 2013
Tweet

More Decks by Pete Hodgson

Other Decks in Programming

Transcript

  1. Automated Acceptance
    Testing
    mdevcon 2013

    View Slide

  2. Pete Hodgson
    @ph1

    View Slide

  3. View Slide

  4. we are hiring

    View Slide

  5. View Slide

  6. examples are iOS
    same principles across
    platforms

    View Slide

  7. Straw Poll

    View Slide

  8. Straw Poll
    AppCode
    ~ or ~
    XCode

    View Slide

  9. Straw Poll
    IntelliJ
    ~ or ~
    Eclipse

    View Slide

  10. View Slide

  11. we all
    test

    View Slide

  12. why do we
    test?

    View Slide

  13. does it work?

    View Slide

  14. does it still work?

    View Slide

  15. does it work
    on ?

    View Slide

  16. testing
    provides
    feedback

    View Slide

  17. why don’t we
    test?

    View Slide

  18. manual testing
    can be
    expensive

    View Slide

  19. manual testing
    can be
    tedious

    View Slide

  20. “Computers are designed to do simple
    repetitive tasks. The second you have humans
    doing repetitive tasks, all the computers get
    together late at night and laugh at you…”
    - Neal Ford

    View Slide

  21. so automate your tests
    (where it makes sense)

    View Slide

  22. testing
    provides
    feedback

    View Slide

  23. testing
    provides
    feedback
    automated
    better

    View Slide

  24. testing
    provides
    feedback
    automated
    faster

    View Slide

  25. testing
    provides
    feedback
    automated
    broader

    View Slide

  26. testing
    provides
    feedback
    automated
    uniform

    View Slide

  27. View Slide

  28. types of
    automated testing

    View Slide

  29. Mobile
    App
    End User
    Backend
    Services

    View Slide

  30. Unit
    Test
    Mobile
    App
    End User
    Backend
    Services

    View Slide

  31. Mobile
    App
    End User
    Backend
    Services
    Integration
    Test

    View Slide

  32. Acceptance
    Test
    Mobile
    App
    End User
    Backend
    Services

    View Slide

  33. Acceptance
    Test
    Mobile
    App
    End User
    Backend
    Services
    The App

    View Slide

  34. Acceptance
    Unit
    Integration

    View Slide

  35. demo!

    View Slide

  36. View Slide

  37. I love it!
    How do I do it?

    View Slide

  38. iOS
    Frank
    Calabash
    KIF
    Appium
    UIAutomation

    View Slide

  39. Android
    Calabash
    Robotium
    Instrumentation

    View Slide

  40. Mobile Web
    iPhoneDriver/AndroidDriver
    chromedriver
    headless WebDriver
    webdriver-user-agent

    View Slide

  41. View Slide

  42. the UI testing triad

    View Slide

  43. View Slide

  44. select
    a bit o UI

    View Slide

  45. select
    a bit o UI
    simulate
    interaction
    with it

    View Slide

  46. select
    a bit o UI
    simulate
    interaction
    with it
    inspect state
    o it

    View Slide

  47. UI
    select
    interact inspect

    View Slide





  48. View Slide





  49. View Slide





  50. View Slide





  51. View Slide



  52. View Slide



  53. View Slide

  54. UI
    select
    interact inspect

    View Slide

  55. UI
    select
    interact
    inspect

    View Slide

  56. user simulation
    touch(...)
    type_into_keyboard(...)
    set_orientation(...)
    double_tap(...)
    tap_and_hold(...)
    drag_with_initial_delay(...)

    View Slide

  57. simulating
    gestures

    View Slide

  58. UI
    select
    interact inspect

    View Slide

  59. UI
    select
    interact inspect

    View Slide

  60. touch(...)

    View Slide

  61. touch(...)
    what?

    View Slide

  62. View Slide

  63. view selectors

    View Slide

  64. view selectors
    a little language to specify which views
    you are interested in
    e.g. CSS or XPath

    View Slide

  65. demo!

    View Slide

  66. good view selectors
    ==
    sustainable tests

    View Slide

  67. accessibility is your
    best friend

    View Slide

  68. record-and-playback test
    suites are not sustainable

    View Slide

  69. UI
    select
    interact inspect

    View Slide

  70. UI
    select
    interact
    inspect

    View Slide

  71. demo!

    View Slide

  72. interact inspect
    select
    UI

    View Slide

  73. putting it all together

    View Slide

  74. demo!

    View Slide

  75. thanks.
    questions?

    View Slide

  76. more questions?
    @ph1
    http://blog.thepete.net
    [email protected]
    me, at the bar
    feedback:
    rate.thepete.net
    this deck:
    slides.thepete.net

    View Slide