Automated Mobile Testing Nilesh Maheshwari Business Head – Mobile & Wireless
Agenda Challenges  Test Automation Unit Testing Tools Benefits of Test Automation Criteria for Test Automation Limitation of Test Automation Mobile Test Automation tools- Comparison
Where do we stand now….
Smartphone Software Development Scenario Features Time Cost Quality is compromised  Compromise Balance with Features and Time-to-market Balance with Time-to-market and Cost
Generic Challenges Diversity of device / Platforms Hardware configuration  Mounting application complexity Network related challenges  Accelerating software development schedules
Technical Challenges Large amount of Tests in all testing scope API Level test execution in target devices or emulator Verification and UI Control in testing phases of application System’s special feature requires flexible tools and customization
What is the solution for this?
Test Automation Test Automation is the use of strategies, tools and artifacts that reduce the need of human  involvement on repetitive tasks. Supports – Unit, Functional & Navigation  testing.
How test automation works? Application specific Test case writing Conversion of test cases into scripts  (Write / Record) Execution of Test Scripts on devices Unattended test cycles
Benefits : Test Automation Reliable Repeatable Programmable Comprehensive Reusable Increased productivity.  Superior application quality.  Cost Reduction
What about Unit Testing?
Unit Testing JMUnit / B-Unit  is a member of the xUnit family suitable for testing Java ME / BlackBery applications.  JMUnit test-cases can directly run on device or Emulator. CppUnit  is a unit testing framework module for C++, described as a C++ port of JUnit. The library is released under the GNU Lesser General Public License.  OCUnit  is a testing framework for Objective C in the Mac OS X. With OCUnit, testing becomes integrated with development.  
Can we test all mobile applications through test automation?
Selection Criteria
Major Constraints Increasing Complexity of mobile application In-Depth functional testing Testing device features used in app i.e. Camera , accelerometer LBS & Bluetooth  Call & VoiceMail scenario Multimedia, Barcode, NFC Apps Games, AI applications
nanoVNC Demo
Available Tools  TestQuest DeviceAnywhere Perfecto mobile Eggplant NanoVNC
Comparison Matrix
Comparison Matrix Factors Sub-Category TestQuest DeviceAnywhere Perfecto mobile Eggplant nanoVNC  Performance # Real Time device experience # Network problem, requires massive bandwidth to support smooth flow of testing and script recording on a remote device through the internet # Network problem, requires massive bandwidth to support smooth flow of testing and script recording on a remote device through the internet. # Real Time device experience # Performance VNC Server and bandwidth connectivity dependent # Real Time device experience # Minor latency issues  # Performance Wi-Fi connectivity dependent Other Comments # TestQuest Pro verifies the system under test’s (SUT) operation in a manner 100% identical to that of manual tester by becoming a “virtual user.” # It interacts with the SUT through the system’s human interfaces such as the screen, pointing devices, keyboard, etc. #  It work on Direct-To-Device™, DeviceAnywhere  Test Center enables developers around the world to connect to and control mobile devices – over the Internet – for all application and content testing needs # The Perfecto Mobile system is a hardware and software solution. Mobile handsets are mounted on cradles and they connect to the Perfecto Mobile system through their data ports. # Users access the handsets via a web-based UI.  # eggPlant is a low-overhead, non-invasive black-box test and process automation tool. Since it does not reside on the system-under-test and is technology agnostic, it can test in many situations that other tools cannot. By using image capture and advanced search techniques, most ui changes are not a problem.  # This method involves using the open source VNC Robot and a VNC server running on a mobile device.VNC robot is used to connect to the VNC server running on the device and can then be applied to record scripts. # nanoVNC works in conjunction with a VNC client, it displays the phone’s screen in a window on the PC, and forwards keystrokes and mouse movements from the PC to the phone.
Thank You Nilesh Maheshwari [email_address] +91-9826384858 Mobile Developer Conference  by MoMoB http://momob.in

Mdc2010 Automated Mobile Testing

  • 1.
    Automated Mobile TestingNilesh Maheshwari Business Head – Mobile & Wireless
  • 2.
    Agenda Challenges Test Automation Unit Testing Tools Benefits of Test Automation Criteria for Test Automation Limitation of Test Automation Mobile Test Automation tools- Comparison
  • 3.
    Where do westand now….
  • 4.
    Smartphone Software DevelopmentScenario Features Time Cost Quality is compromised Compromise Balance with Features and Time-to-market Balance with Time-to-market and Cost
  • 5.
    Generic Challenges Diversityof device / Platforms Hardware configuration Mounting application complexity Network related challenges Accelerating software development schedules
  • 6.
    Technical Challenges Largeamount of Tests in all testing scope API Level test execution in target devices or emulator Verification and UI Control in testing phases of application System’s special feature requires flexible tools and customization
  • 7.
    What is thesolution for this?
  • 8.
    Test Automation TestAutomation is the use of strategies, tools and artifacts that reduce the need of human involvement on repetitive tasks. Supports – Unit, Functional & Navigation testing.
  • 9.
    How test automationworks? Application specific Test case writing Conversion of test cases into scripts (Write / Record) Execution of Test Scripts on devices Unattended test cycles
  • 10.
    Benefits : TestAutomation Reliable Repeatable Programmable Comprehensive Reusable Increased productivity. Superior application quality. Cost Reduction
  • 11.
  • 12.
    Unit Testing JMUnit/ B-Unit is a member of the xUnit family suitable for testing Java ME / BlackBery applications. JMUnit test-cases can directly run on device or Emulator. CppUnit is a unit testing framework module for C++, described as a C++ port of JUnit. The library is released under the GNU Lesser General Public License. OCUnit is a testing framework for Objective C in the Mac OS X. With OCUnit, testing becomes integrated with development.  
  • 13.
    Can we testall mobile applications through test automation?
  • 14.
  • 15.
    Major Constraints IncreasingComplexity of mobile application In-Depth functional testing Testing device features used in app i.e. Camera , accelerometer LBS & Bluetooth Call & VoiceMail scenario Multimedia, Barcode, NFC Apps Games, AI applications
  • 16.
  • 17.
    Available Tools TestQuest DeviceAnywhere Perfecto mobile Eggplant NanoVNC
  • 18.
  • 19.
    Comparison Matrix FactorsSub-Category TestQuest DeviceAnywhere Perfecto mobile Eggplant nanoVNC Performance # Real Time device experience # Network problem, requires massive bandwidth to support smooth flow of testing and script recording on a remote device through the internet # Network problem, requires massive bandwidth to support smooth flow of testing and script recording on a remote device through the internet. # Real Time device experience # Performance VNC Server and bandwidth connectivity dependent # Real Time device experience # Minor latency issues # Performance Wi-Fi connectivity dependent Other Comments # TestQuest Pro verifies the system under test’s (SUT) operation in a manner 100% identical to that of manual tester by becoming a “virtual user.” # It interacts with the SUT through the system’s human interfaces such as the screen, pointing devices, keyboard, etc. # It work on Direct-To-Device™, DeviceAnywhere Test Center enables developers around the world to connect to and control mobile devices – over the Internet – for all application and content testing needs # The Perfecto Mobile system is a hardware and software solution. Mobile handsets are mounted on cradles and they connect to the Perfecto Mobile system through their data ports. # Users access the handsets via a web-based UI. # eggPlant is a low-overhead, non-invasive black-box test and process automation tool. Since it does not reside on the system-under-test and is technology agnostic, it can test in many situations that other tools cannot. By using image capture and advanced search techniques, most ui changes are not a problem. # This method involves using the open source VNC Robot and a VNC server running on a mobile device.VNC robot is used to connect to the VNC server running on the device and can then be applied to record scripts. # nanoVNC works in conjunction with a VNC client, it displays the phone’s screen in a window on the PC, and forwards keystrokes and mouse movements from the PC to the phone.
  • 20.
    Thank You NileshMaheshwari [email_address] +91-9826384858 Mobile Developer Conference by MoMoB http://momob.in