The Restless Are
                            Getting Native
                          Lessons Learnt While Automating an iOS App




Wednesday, April 18, 12
What’s the point of
                  automated tests?

                     • To catch regression bugs
                     • To do so faster and more reliably
                          than a human




Wednesday, April 18, 12
Wednesday, April 18, 12
Wednesday, April 18, 12
Wednesday, April 18, 12
Wednesday, April 18, 12
What’s the biggest win of
                    automated tests?


                           FASTER
                          FEEDBACK

Wednesday, April 18, 12
Wednesday, April 18, 12
Wednesday, April 18, 12
Wednesday, April 18, 12
</rant>



Wednesday, April 18, 12
iOS Automation
                               Tools
                     •    NativeDriver http://nativedriver.googlecode.com/

                     •    KIF https://github.com/square/KIF

                     •    Frank http://www.testingwithfrank.com/

                     •    MonkeyTalk http://www.gorillalogic.com/

                     •    Calabash https://github.com/calabash/calabash-ios

                     •    iCuke https://github.com/unboxed/icuke

                     •    UISpec http://uispec.googlecode.com/



Wednesday, April 18, 12
Why NativeDriver?


                          Familiar
                            API
Wednesday, April 18, 12
Why NativeDriver?



                          Android

Wednesday, April 18, 12
Why NativeDriver?


                          “Hybrid”
                           Apps
Wednesday, April 18, 12
NativeDriver
                          Architecture




Wednesday, April 18, 12
NativeDriver
                   Test Support Code




Wednesday, April 18, 12
NativeDriver
                           Test Code




Wednesday, April 18, 12
The ugly bits
                     • What if NativeDriver doesn’t
                          support a widget I need to
                          automate?
                     • How do I build from the command
                          line?
                     • How do I launch the simulator from
                          the command line?


Wednesday, April 18, 12
Challenges



Wednesday, April 18, 12
Challenge: Cultural
                      Differences




Wednesday, April 18, 12
Web Test
                              Automation

                     • Selenium, Watir, Capybara,
                          HTMLUnit, etc.
                     • Test automation is commonplace


Wednesday, April 18, 12
Wednesday, April 18, 12
Real Developers
                          Don’t Write Tests

Wednesday, April 18, 12
Wednesday, April 18, 12
Challenge:
                          Language Choice


Wednesday, April 18, 12
Recommendations



Wednesday, April 18, 12
Recommendation:
                     Show Value Early


Wednesday, April 18, 12
Recommendation:
                       Surprise and
                         Delight


Wednesday, April 18, 12
Wednesday, April 18, 12
Recommendation:
                     Know Your Limits


Wednesday, April 18, 12
The Future of
                          NativeDriver


Wednesday, April 18, 12
Wednesday, April 18, 12
The Future of
                           Mobile Testing

                          ...is in your hands


Wednesday, April 18, 12
Thank you!

                          dante AT cochiva DAWT com
                                @dantebriones




Wednesday, April 18, 12

The Restless Are Getting Native: SeleniumConf 2012