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

Mobile Testing at Gilt

Mobile Testing at Gilt

A brief overview of the development process and approach to testing mobile at Gilt. Presented at the Brooklyn iOS Meetup, 16 April 2014.

Matt Isaacs

April 16, 2014
Tweet

More Decks by Matt Isaacs

Other Decks in Programming

Transcript

  1. Developers focus on building the App(s). QA handles testing -

    All of it. No automation. Informal Process
  2. When feature sets were simple. When the team was small.

    When the codebase was small. No Big Deal
  3. – Some App Store Reviews “Perfect App !!! Well done”

    “Awesome app! Love it!” “OMG! Amazing!” “Your app is great and keeps getting better."”
  4. Add some structure CI + Nightlies with Jenkins. Dogfooding with

    Hockey. Code + git branching conventions.
  5. How can this be? Objective-C is statically typed. The compiler

    is awesome. TDD antipatterns - Cocoa makes heavy use of singletons.
  6. ~40% revenue comes from native mobile. Bad reviews hurt more

    than ever. Increased pressure on QA. Mounting cost of issues
  7. Bad habits are hard to break Make time - Monthly

    testing hack-days. Visibility - Make a scene when tests catch issues. Gentle, but firm approach.
  8. Accessibility makes it work. Elements located via accessibility labels. Be

    careful with container views. UIAccessibilityIdentifier is for tests.
  9. Why we chose Appium We’ve already built Selenium infrastructure. We

    already have Selenium skills. No SDK to compile in.
  10. – Someone at Gilt “Selenium is still too flaky. You

    can't trust the results. We need more dependable tests"
  11. Where am I? Is it where I should be? When

    should I be checking this? State
  12. Convention on top of Actions and Locators. Page validated during

    construction. Actions return new page objects. Page Objects
  13. When to wait? - Page object construction. Page objects represent

    state. Actions → State transitions Solved!
  14. End of the day You’ll need some process eventually. It’s

    never too early - or late. TDD is not a religion.