Your SlideShare is downloading. ×
0
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Introduction To Mobile-Automation
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Introduction To Mobile-Automation

803

Published on

This presentation is all about Mobile Application Testing & the challenges faced there off.

This presentation is all about Mobile Application Testing & the challenges faced there off.

Published in: Software, Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
803
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
44
Comments
0
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Introduction to Mobile Automation Presenter: Sitam Jana, Mindfire Solutions
  • 2. About Me Sitam Jana, Software QA Engineer Mindfire Solutions Skills : WebDriver, Java, JUnit, TestNG, Maven, Oracle 11G, Robotium, Appium, MonkeyRunner Certifications : ISTQB Foundation Level, V-Skills Selenium Certified Connect Me : Facebook : https://www.facebook.com/sitam.jana.9 LinkedIn : http://www.linkedin.com/pub/sitam-jana/39/444/b12 Contact Me : Email : sitamj@mindfiresolutions.com / sitamjana@gmail.com Skype: mfsi_sitamj Presenter: Sitam Jana, Mindfire Solutions
  • 3. Agenda  Mobile Application Testing - Brief Discussion  Challenges of testing mobile application  Mobile Automation - What is it?  Tools available in the market  Getting started  Demo Presenter: Sitam Jana, Mindfire Solutions
  • 4. Mobile Application Testing Mobile devices have seen tremendous growth over the past decade. With lots of Mobile applications being developed these days, confirming quality has become so key to prevent revenue loss, lost productivity and damage to brand reputation. A thorough test strategy needs to follow in order to get apps in good shape, reach market on time, within budget and to work well across devices, OS Distributions :  Target Device Selection (Test environment should have a mix of Simulators and Real devices)  Internet Connectivity (Wi-Fi, Cellular)  Test Automation (Reduce effort of Regression by selecting an effective automation tool)  Different testing aspects (Usability, Performance, Security, Reliability etc.) Presenter: Sitam Jana, Mindfire Solutions
  • 5. Mobile Application Testing Compatibility Application's compatibility with different computing environments (hardware peripherals, carriers, emulators, screen resolutions etc.) Presenter: Sitam Jana, Mindfire Solutions Interoperability Ability to interact with other system (File transfer, sharing, remote access etc.)
  • 6. Challenges  Compatibility Testing - Testing across Mobile devices (Emulators, Real devices etc.) - Testing across OS flavors (Android, iOS, Windows etc.) - Testing across networks (Wi-Fi, Cellular etc.) - Testing across different Resolutions, Screen sizes  Regression Testing Before moving updates to Production, doing thorough Regression testing is very crucial. Automation is MUST here to reduce efforts, time to market and enhance productivity. Presenter: Sitam Jana, Mindfire Solutions
  • 7. Mobile Automation Automation of mobile applications is one of MOST emerging prospect in todays Agile world and can provide many advantages:  Effieciency of testing process improve as Automation is accurate and work as designed  Automation tests can be run repeatedly and consistently  Remove headache of Regression tests with every release  Improved test coverage in shorter time span  Resources can be utilized better with Regression being done by Automation and advanced testing done by Human QA Presenter: Sitam Jana, Mindfire Solutions
  • 8. Mobile Automation Tools Key factors in selecting right Mobile automation tools  Support for multiple platforms List current and future target platforms and ensure tool supports them.  Support for blackbox testing Ensure tool functions well without having access to application source code  Root or Jailbreak requirement Tool should work well across device which has not been rooted or jail broken  Support for Integration into CI Servers Automation Scripts should be able to run from CI servers Presenter: Sitam Jana, Mindfire Solutions
  • 9. Mobile Automation Tools  Platform Specific Tools (Provided by Mobile OS vendors) iOS Instrumentation, MonkeyRunner, UIAutomator  Functional Testing Tools Robotium, Appium, MonkeyTalk, Selendroid, ios-driver  Unit Testing Tools Android JUnit, Roboelectric, OCUnit  Performance Testing Tools NeoLoad, MobiTest Presenter: Sitam Jana, Mindfire Solutions
  • 10. Mobile Automation Tools iOS Instrumentation Developer tool to interact with running processes in iOS and collect data. Developed by: Apple Inc. Features: - Track Keyboard and Mouse events - Measure File I/O activity - Analyze CPU usage - Memory utilization - Track Network traffic More Info: iOS Instrumentation User Guide Presenter: Sitam Jana, Mindfire Solutions
  • 11. Mobile Automation Tools MonkeyRunner Emulates Android emulators and real devices. Developed by: Google Inc. Features: - Multiple Device Control - Can install or uninstall application packages - Can capture screen shot of Android device - Functional and Regression testing can be done for Android apps More Info: MonkeyRunner User Guide Presenter: Sitam Jana, Mindfire Solutions
  • 12. Mobile Automation Tools UI Automator Test UI of Android mobile applications across one or multiple devices. Developed by: Google Inc. Features: - Multiple Device Control - Emulate Key events, gestures and screen actions - Come Pre-installed with Android SDK - Multiple applications can be accessed More Info: UI Automator User Guide Presenter: Sitam Jana, Mindfire Solutions
  • 13. Mobile Automation Tools Robotium Android test automation framework developed by Renas Rada and provide full support for Native and Hybrid applications. Developed by: Robotium Tech Features: - Can handle multiple Android activities automatically - Support for Black-box and White-box test automation - Smooth integration with CI servers like Hudson, Jenkins etc. - Can be implemented as Maven, ANT etc. More Info: Robotium User Guide Presenter: Sitam Jana, Mindfire Solutions
  • 14. Mobile Automation Tools Appium Open source test automation framework to drive native and hybrid mobile Applications for both Android and iOS. Developed by: Sauce Labs Features: - Can drive both Android and iOS applications - Use Selenium bindings to write tests - Smooth integration with CI servers like Hudson, Jenkins etc. - Can be implemented as Maven, ANT etc. More Info: Appium User Guide Presenter: Sitam Jana, Mindfire Solutions
  • 15. Mobile Automation Tools MonkeyTalk Open source test automation framework to drive native and hybrid mobile Applications, web and Flash applications. Developed by: Gorilla Logic Features: - Can drive both Android and iOS applications - Provide Record and Playback tool - Smooth integration with CI servers like Hudson, Jenkins etc. - Smooth integrations with Cloud servers like Cloud Monkey More Info: MonkeyTalk User Guide Presenter: Sitam Jana, Mindfire Solutions
  • 16. Getting Started – Android Automation Set up Working Environment  Install JDK http://www.oracle.com/technetwork/java/javase/downloads/index.html  Download Android SDK http://developer.android.com/sdk/index.html  Setting up Android Virtual Device (Emulator) Create new AVD from Android SDK to be able to run Automation tests there.  Resign Android application (If needed) and Install under AVD Some of the Automation tools require AUT to be resigned in order to communicate.  Write Automation scripts and execute them under AVD Presenter: Sitam Jana, Mindfire Solutions
  • 17. Demo - MonkeyRunner MonkeyRunner API MonkeyRunner API contains 3 modules:  MonkeyRunner Connects MonkeyRunner to emulator or real device  MonkeyDevice Represents a Device or emulator. Can install/uninstall application packages, start activity, emulate keyboard, touch events.  MonkeyImage Represents a screen capture image. Capture screen shots, convert bitmap images to various formats, write an image to a file, compare two MonkeyImage objects. Presenter: Sitam Jana, Mindfire Solutions
  • 18. MonkeyRunner Sample Code # Imports the monkey runner modules used by this program from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice from com.android.monkeyrunner.easy import EasyMonkeyDevice from com.android.monkeyrunner.easy import By # Connects to the current device, returning a MonkeyDevice object device = MonkeyRunner.waitForConnection() # Install the application package to the device device.installPackage('<Path to apk file>') # Run the activity on the device device.startActivity(component=runComponent) # Use the EasyMonkey API easyDevice = EasyMonkeyDevice(device) Presenter: Sitam Jana, Mindfire Solutions
  • 19. MonkeyRunner Sample Code # Input values into Text box textBox = By.id('<textBox ID>') easyDevice.type(login, '<text to input>') # Press keys device.press('<Key name e.g DEL>', MonkeyDevice.DOWN_AND_UP) # Click on button button = By.id('<button ID>') easyDevice.touch(button, MonkeyDevice.DOWN_AND_UP) # Take screenshot and writes the screenshot to a file TakeScreenshot('<Screenshot destination>', device) Presenter: Sitam Jana, Mindfire Solutions
  • 20. MonkeyRunner – How it works  Create a PyDev project under Eclipse Need to install PyDev Eclipse plug-in  Set Jython Interpreter Preferences for MonkeyRunner From Window → Preferences → Interpreter – Jython Create New Jython Interpreter: Interpreter Name: Give any name e.g. MonkeyRunner Interpreter Executable: Locate Jython utility (adt-bundle-windows-x86_ 64sdktoolslibjython-standalone-x.x.x.jar) Create New Libraries for MonkeyRunner: Click on 'New Jar/Zip(s)' button and locate MonkeyRunner utility (adt-bundle-windows-x86_ 64sdktoolslibmonkeyrunner.jar) Presenter: Sitam Jana, Mindfire Solutions
  • 21. MonkeyRunner – How it works  Set Project to use configured MonkeyRunner Jython Interpreter Right click on Project → Properties → PyDev Interpreter/Grammar Project type: Jython Interpreter: Select new Interpreter created for MonkeyRunner  Create an External Tool Configuration From Run → External Tools → External Tools Configurations → New Launch Configuration Name: Give any name Location: Point MonkeyRunner.bat file (adt-bundle-windows-x86_ 64sdktoolsmonkeyrunner.bat) Working Directory: Browse Workspace and select PyDev project created Arguments: Provide full path to the python program (.py) file Presenter: Sitam Jana, Mindfire Solutions
  • 22. Presenter: Sitam Jana, Mindfire Solutions References  HSC Whitepaper Mobile Test Automation  Mobility Whitepaper Mobile Application Testing.pdf  Selecting the Right Mobile Test Automation Strategy Challenges and Principles
  • 23. Question and Answer Presenter: Sitam Jana, Mindfire Solutions
  • 24. Thank you Presenter: Sitam Jana, Mindfire Solutions
  • 25. www.mindfiresolutions.com https://www.facebook.com/MindfireSolutions http://www.linkedin.com/company/mindfire-solutions http://twitter.com/mindfires

×