Mobile applications and automation testing


Published on

Session Presented at 2nd Conference On Software Quality held on 25-26 March 2011 in Pune, India. WEB:

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Emulator: Is available before release of mobile device. Good for frequent and early testing. Device: Exact performance can be measured. Need to test hardware support for all operations.
  • Dynamic Path: Calender appointment gets highlighted with red color. You need to get date when the appointment is there and email it.
  • Mobile applications and automation testing

    1. 1. Mobile Applications and Automation Testing Dipesh Bhatewara Synerzip Pvt. Ltd. [email_address]
    2. 2. Outline of the talk <ul><li>Ways to test mobile applications </li></ul><ul><li>Challenges in automation testing </li></ul><ul><li>Automation approach to achieve single automation solution on multiple mobile platforms </li></ul><ul><li>A possible solution using Sikuli </li></ul><ul><li>Demo </li></ul>
    3. 3. Nature of Mobile Applications (xcode – objective C) Email Client (XCODE – Objective C) <ul><ul><ul><li>(java – android SDK) </li></ul></ul></ul>Email Client (java- android SDK) (webos – JS/CSS) Email Client (webos – JS/CSS) Application (Email Client)
    4. 4. Ways to test mobile application Mobile Device Emulator Mobile Application
    5. 5. Challenges in automation Different platforms involved in running a test No object handles available for Object Based Testing Test Automation Code : Test Machine (Windows) Application under test : Emulator (Virtual Box)
    6. 6. Challenges in automation Writing automated test in emulator/device. Need to have knowledge of the technology platform of each Device to write testing application within. No generic automation framework available for all mobile platforms or devices
    7. 7. Approach to solve the problem <ul><li>Image based test automation </li></ul><ul><li>Automate user operations eg. Click, type, drag-drop, mouse actions etc. </li></ul><ul><li>Visual verification of the expected output </li></ul><ul><li>Not dependent on platform underneath </li></ul><ul><li>Can be used to automate emulator as well as device. </li></ul>
    8. 8. Advantages of the approach <ul><li>Can accurately test GUI and rendering of applications. </li></ul><ul><li>Write test outside the device </li></ul><ul><li>Can be used to automate multiple devices without getting into details of each platform technology </li></ul><ul><li>Easy to automate. </li></ul>
    9. 9. Limitations of the approach <ul><li>Highly depends on the Resolution. </li></ul><ul><li>Can not run in background. </li></ul><ul><li>Dynamic paths are tricky to automate. </li></ul>
    10. 10. What is Sikuli? <ul><li>Visual technology to automate GUI using images. </li></ul><ul><li>MIT research project. Open Source license. </li></ul><ul><li>Sikuli IDE </li></ul><ul><li>Sikuli Script API </li></ul><ul><li>Automates anything on screen without internal API's support </li></ul><ul><li>Works on Windows, Mac, Linux. </li></ul>
    11. 11. Sample Sikuli Script
    12. 12. DEMO
    13. 13. Solution proposed in demo to test Calculator <ul><li>Use Java for test Project, Use Junit </li></ul><ul><li>Import Sikuli Script API </li></ul><ul><li>Write single test which will use an interface for calculator operations </li></ul><ul><li>Implement interface for Android and Iphone with different set of images required for automation </li></ul><ul><li>Run same test by changing the configuration on multiple emulators/devices </li></ul><ul><li>Can see the device on your machine using VNC and use that view to run your test on. </li></ul>
    14. 14. Q & A [email_address]