Mobile Testing Challenges Lighting Talk with


Published on

Published in: Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Mobile Testing Challenges Lighting Talk with

  1. 1. Mobile Testing Challenges (an advertising perspective) Philip McGovern
  2. 2. Adtech Mobile Web AdvertisingCustomer‘s mobilewebsite Adtech Mobile AdServer Features Screen Size Detection (based on 5 standardised categories): S (120px), M (168px), L (216px), XL(300px), XXL(320px) Manufacturer and Device Targeting (e.g. Apple iphone 4) OS Targeting (e.g. Android 4) Carrier Targeting (e.g. O2 UK) Unique User Detection
  3. 3. Functional Testing Tools I• Firefox browser used to verify ad delivery & click-thru• Plugins used with Firefox: • User Agent Switcher • X-Forwarded-For Spoofer • Modify Headers • Cookie Manager+ • Firebug or HttpFox (for analysing HTTP traffic: headers, cookies, etc.)• Device Anywhere (real device in thecloud)
  4. 4. Functional Testing Tools II - Varnish• Varnish Cache is high performance web accelerator (caching HTTP reverse proxy)• used to relay production traffic to test server running new build• post analysis of logs files allows comparison of: • device detection (manufacturer and model), e.g. verify wurfl upgrade • OS detection • carrier detection, e.g. verfiy quova upgrade
  5. 5. Moving towards automated testing• Selenium 2.0 to automate functional browser tests: • setPreference() method to enable/disable JS and cookies via Firefox profile • add plugins (e.g. Modify Headers) to profile using addExtension() method • Embedded Http proxy (BrowserMob) to rewrite request headers → more scalable • Screenshots via getScreenshotAs() method• PHP (e.g. curl) or Java Http Client to test device, OS and carrier detection
  6. 6. Adtech Mobile SDK for Apps• SDK for iOS and Android to support ad delivery within apps• Supports image and rich media ads• Caching & Offline delivery• Full screen overlays with close function• Test application provided for QA
  7. 7. Android Automation Tools for apps: Robotium & Testdroid• Robotium - “Its like Selenium, but for Android”: • Black box test framework (Java based) for Android applications • Handles multiple Android activities automatically • Robotium has full support for Activities, Dialogs, Toasts & (Context) Menus • Integrates with Maven or Ant to run tests as part of CI • Future features (Remote control, cucumber integration, screenshots on failure)• Testdroid cloud: • Tests recorded with Testdroid Recorder (eclipse plugin) • Generates Robotium code • Upload app & tests: tests run on real devices in the cloud
  8. 8. iOS Automation Tools for Apps• MonkeyTalk (formerly FoneMonkey) • Record and playback functionality on both iOS & Android• Testing with Frank • write ‘given/when/then’ tests with cucumber • add Frank Server to your iOS app • uses UISpec testing library to interact with elements• KIF (Keep It Functional) • iOS integration test framework (tests written in Objective C) • leverages accessibility attributes for visually impaired to allow automation • aims to mimic real user
  9. 9. Questions ?(
  10. 10. Android app Automation: Other Tools Investigated• monkeyrunner: • API for writing J/Python-based programs that control an Android device or emulator • can run one or more test suites across multiple devices/emulators • provide input values with keystrokes or touch events • view the results as screenshots• MonkeyTalk (formerly FoneMonkey): • Record and playback functionality on both iOS & Android• Calabash - both iOS & Android
  11. 11. iOS app Automation: Other Tools Investigated• UI Automation Reference Collection • part of iOS developer library • Javascript based tests that call UI Automation API to simulate user interaction• Calabash - both iOS & Android