SlideShare une entreprise Scribd logo
1  sur  42
By Waqar Ahmad
  Swaam Tech (Pvt) Ltd
  Contact us: info@swaam.com for Ur App Testing


Note: The slide was presented in the Software Testing Course at NUCES-FAST Lhr
Classification of Mobile Applications
 Web Applications
   Could be Simple Markup (WML , HTML, XHTML,
    XHTML MP) or AJAX Applications
   A Web Application may be Designed for
       A Single Type of Device or
       Multiple Different Devices with Customization for each
        Device (or each Family of Devices)
       Multiple Different Devices—A Transcoder/Proxy Residing
        Between Web Application Server and Device Transforms
        Content based on Device User-Agent Capabilities
Classification of Mobile Applications
 On-Device Applications May be
   Developed for Better Portability
        Java ME
        FlashLite
   Native Platform Applications
        IPhone: Objective C
        Symbian: C/C++
        Windows Mobile: .Net CF
        Android : Java for Application and C/C++ for Low Level
Mobile App Testing—Challenges
  Device Fragmentation is a Big Challenge
     Devices Vary in Screen Size, Memory, Processing
      Power, Hardware Features etc.
     Apple iPhone is Least Fragmented among All Mobile
      Platforms
  Testing on All Target Handset/Devices
     Almost Impractical if Number of Target Handsets is Large
  Testing on All Target Operator Networks
     Almost Impractical if Number of Target Operators is Large
     Network Operator may Impose Certain Constraints
Mobile App Testing—Challenges
 Device Vendor (Not Necessarily Manufacturer) may
  Customize a Device
    Changes may be Done in Both User Interface and
     Functionality
    Many a Times Changes are Not Well-Documented
    Device is Not the Same as Released by Manufacturer
 Testing on All Versions of Operating System
    In Many Situations, it May Not be Possible to Upgrade the
     Device to New OS Version
 Same Device Models may have Multiple OS Configurations
  based on Target Market Requirements
    Localization
    Hundreds of Devices with Many Variants of Each Device
Mobile App Testing—Challenges
 Testing in All Web Browsers
    Browsers Significantly Vary Across Devices
        May Support HTML, xHTML, WML, AJAX
 Web Content Transcoders
   Web Content may be Transformed to Meet User-Agent
    Constraints
   Transcoder may Not Respect User Experience Factors in
    some Situations
Mobile App Testing—Challenges
 Inconsistencies in Specification Implementations
    Each Vendor is Responsible for Java ME Specifications
     Implementations
    Implementations may Not be Consistent across Devices and
     Vendors
 Performance Measurement
    Extremely Difficult to Benchmark Performance due to Highly
     Fragmented Market
 Detection of Display Issues
    Human Involvement is Must
 Generally it is Not Possible to Purchase All Target Handsets
  due to Financial Constraints
Mobile App Testing—Challenges
 Application Usability Testing
    End Users may Not even be Skilled at Using a Mobile
     Device
    End User may Use Application in Multiple Contexts
       Driving in Rush Hour
       Walking in Crowded Market
   Multiple Input / Output Modalities
   Diverse User Interface Styles
 In Reality, A Testing Lab Cannot Simulate all Possible
  End User Contexts
Mobile App Testing—Challenges
 Development and Deployment Platforms are Different
   Development Platforms
       Windows, Linux
   Deployment Platforms
       iPhone, Symbian, Android, Blackberry, Windows Mobile
 Emulators Do Not Capture All the Characteristics of a
  Device
 Multiple Design Specifications may be Required for
  Single Application due to Device Fragmentation—
  Requires Test Cases Accordingly
Testing Techniques: General
                     Gather Useful Data
 Decide Target Handsets as Early as Possible in
  Development Lifecycle (Better in Requirements Analysis
  Phase)
 Document Incompatibilities in Devices e.g. Differences in
   Installation Processes
   Audio/Video Capabilities
   Memory, Processing Power, Screen Size etc.
 Document Device Software (Firmware) Limitations
   ‘Bugs in Firmware’ are Not Unusual
 Document Device Web Browser Constraints
   Supported Version of HTML
   AJAX Supported or Not
Testing Techniques: General
                       Gather Useful Data
 Better Acquire Meta Data of All Target Handsets from an
  External Source
   Extensive Databases Containing Device Meta Data
     WURFL—An Open Source XML Database of Device Characteristics

     DeviceAtlas—A Proprietary Database of Device Characteristics

   Some Websites can Capture and Return HTTP Headers
     For instance, Access the Website using a Phone, Website will Return
      Headers in HTTP Requests
        Useful when Data is Not Available in Databases and also to Verify
         Already Available Data in Meta Data Source
   A Development House may also Maintain an Internal
    Database Containing Data Not Available Otherwise
Testing Techniques: General
                    Classify Devices

 Classify Devices
    Category—1: All Devices that Support XHTML
    Category—2: All Devices that Support AJAX
    Category—3: All Devices that Support Java ME
 Pick Representative Device(s) from each Category for
  Testing Purposes
 Prepare Test Cases based on Data Gathered about
  Target Handsets
Testing Techniques: General
            Perform Testing on Real Devices

 Start Testing on Real Devices as Early as Possible
 There is No Good Alternative to a Real Device for
  Testing
Testing Techniques: General
          Emulator is Useful but is Not a Real Device
 Testing on Emulators
    An Emulator is a Software Application that Imitates a Smartphlone
    A Device Emulator may be Used to Test Application on Desktop
    Some Emulators Emulate General Characteristics of a Platform (like
     Java ME Emulator)
    Some Emulator Emulate Relatively Faithful Representation of Specific
     Phones (BlackBerry Dev Kits)
    Emulator may or may Not Require Compilation for Target Platform
         Single Compiled Code for both Emulator and Target Devices
            Java ME
            Windows Mobile
         Different Compilers for Compilation for Symbian Emulator and Target ARM
          Device
    Useful for Quick Testing in Development Environment
    Emulators are Not Real Devices
      Testing on Emulator does Not Guarantee Application Success on Real Device
Testing Techniques: General
 Application UI Should Preferably be Consistent with
                   Device UI Style

 Test Application User Interface Consistency with
 Device Interface Style
   Is the Application User Interface Consistent with User
    Interface of Underlying Device Applications?
   Does the Application Offer Interaction Mechanism
    Similar to Interaction Mechanism Generally
    Implemented in Native Device Applications?
       Softkey Mapping
       Look&feel
Testing Techniques: General
  Different Test Cases are Required to Cater Diverse
              Input / Output Modalities
 Perform Testing for Various Input Modalities
    Touch Screen
       Testing with Single and Multiple Touch Input
       Testing with Virtual Keyboard
   Trackball/Track Wheel
   Numeric Keypad
   QWERTY Keypad
   4- or 5-Way Navigator
 Perform Testing for Various Output Modalities
    Different Screen Sizes
Testing Techniques: General
        Test Applications in Real User-Contexts
 Test the Application in Relevant User Contexts
    User Context Involves User, Application and
     Surroundings
    Design Various User Interaction Scenarios in Applicable
     Contexts (user driving in rush hour, walking, in
     classroom etc.)
    Test Applications in Real Contexts
Testing Techniques: General
 Mobile Ecosystem Requirements must be Addressed
 Application are Generally Launched through Various
  Application Stores (Mobile Ecosystem)
   Apple App Store, Nokia Ovi, Blackberry AppWorld, Android
    Market, GetJar, Handango etc.
 Test Applications to Meet Requirements of various
  Ecosystem Stakeholders
   Manufacturers/Vendors
     UI Guidelines from Apple for Iphone Applications
     Symbian Signed
   Operators
     Operators may also have some Requirements
   Third Parties
     Java Verified Process
Testing Techniques: Web Applications
                         Rules-Based Testing
 Rules-Based Testing with User-Agent Impersonation
    Create Testing Rules based on
       Device Capabilities
       Known Bugs in the Device
       Device Data in Data Sources (like WURFL, Internal Database)
       Application Requirements
   Test Cases are Written that Checks HTTP Response for Targeted
    Content
   Impersonate a Device and Communicate with Web Server
       Change HTTP Headers like
         Accept: image/gif, image/jpeg
         User-Agent: ‘NokiaN95…….+Profile/MIDP-2.1 + …..’

   Check the Server Response Against Rules and Identify
    Discrepancies, if any
Testing Techniques: Web Applications
                       Rules-Based Testing

  Rules-Based Tests
     Testing is Automated for Multiple Types of User-Agents
     Testing can be Done Using
        An HTTP Library for Sending Requests and Receiving
         Response
        Web Browser (FireFox, Safari, Internet Explorer)
          Useful to View the Rendered Screen with some Limitations

  Rules Based Testing is Useful for Automated Testing of
     Web Applications that Deliver Content on Phone
     Regression Testing
     Web Content Accessibility
Testing Techniques: Web Applications
    Transcoder Behavior must be Thoroughly Tested
 Transcoder Behavior
    Web Content may be Transformed by a Transcoder to
     Meet User-Agent Constraints
    A Transcoder Resides Between User-Agent and Web
     Server
    Cookies should Not be Shared
       Use Automated Tests for Communicating with Server in
        Parallel
   User Experience Should Not be Affected
       Manual Testing—See and Record the Behavior
Testing Techniques: Web Applications
                  W3C mobileOK Standard

  W3C has Defined mobileOK Tests
    Tests for Checking Mobile Readiness (W3C Best
     Practices) of a Website
    http://www.w3.org/TR/mobileOK-basic10-tests/

  W3C mobileOK Checker
    Performs mobileOK Tests on a Web Page to Determine
     its level of Mobile-Friendliness
    http://validator.w3.org/mobile/
Testing Techniques: On-Device Applications
         Unit Testing and On-Device Debugging

  Unit Testing Frameworks Exist for almost All
  Platforms
    GUI Layer, Event Handling and System Testing is Not
     Possible
  On-Device Debugging is Available on Most of the
  Platforms
Testing Techniques: On-Device Applications
   Custom Test Applications may Reveal Major Issues
  Custom Test Applications
     Can be Used to Test Critical Aspects
         Whether an Application has Access to Device File System
         Performance of Device Database System
  Write Applications to Diagnose Key Issues
   e.g., Develop an Application that Helps in Testing
   When
     Lot of Free Memory is Available on Device
     Very Limited Memory is Available on Device
Testing Techniques: On-Device Applications
          Network Availability and Bandwidth
  Perform Application Testing in Different Network
   Signal Strengths
    No Network
    Intermittent Connectivity
    Strong Network Signals Presence
  Application Testing May be Required in Various
   Network Types
    2G, 3G
Testing Techniques: On-Device Applications
    External Events may Affect Application Behavior

  Test Application against Events that may Occur during
   Application Installation and Execution
    Phone Call Received
    SMS Received
    Battery Removed
    Device Switched Off
    Bluetooth Device Requested to Contact
Testing Techniques: On-Device Applications
  Combine ‘Automated Input’ with ‘Manual Verification’
   Generate Automatic Events
      Key Press
      Pointer Press
      Touch
   Capture Screenshots during Event Generation Process
   and Compare them
Testing Techniques: On-Device Applications
  Track Behavior when App is being Used by Consumers

  Track Application Behavior during Various Lifecycle Stages
   when in Production
     Installation
     Execution
     Removal
  Application may Send Important Data to Server that can be
   Used to Identify and Fix some Bugs
  Java ME Includes some Parameters for this Purpose
  ‘GetJar ’ Offers Such a Service
     Application can Call Server and Report some Information
     http://www.getjar.com/
Testing Techniques: Commercial
Get Online Services for Devices Not Available In-house
 Testing on Real Devices that Developers Don’t Own
    A Service that Enables Application Testing on Real Devices
        Devices are Located on Remote Servers
        Devices are Connected to Various Operator Networks Worldwide
        Desktop Client Software/ Web Application Enables All Testing
         Features Remotely
           Device Acquisition, Cleanup
           Application Installation, Execution, Removal
           Device Shutdown, Battery Removal and Installation

    Service Providers
      DeviceAnywhere (http://www.deviceanywhere.com/)
         Over 2000 Devices Connected to over 30 Worldwide Carrier
          Networks across USA, Canada, UK, France, Germany, and Spain
      Perfecto Mobile (http://www.perfectomobile.com/)
Testing Techniques: Commercial
                 Crowdsourcing is also an Option
 CrowdSourcing (Crowd + Outsourcing)
    Testing by Human Testers (Mobsters) Located Worldwide
    If Done Effectively, Real Usability Testing Results can also be
     Obtained
    Testing in Real User Contexts is Possible
    How it Works?
         Developers and Testers are Registered with a Third Party Service
          Provider
         Third Party Service Provider is Responsible for Coordination of All
          Parties Involved in the Process (Application submission, monitoring
          tools, results reporting etc.)
    Service Providers
         Mob4Hire (http://www.mob4hire.com/)
         GetJar (http://www.getjar.com/)
         uTest (http://www.utest.com/)
Testing Techniques: Commercial
              User Feedback is Important
 App Stores may Provide Useful Feedback from End
 Users
   User Reported Bugs
   User Reviews on Usability
   User Ratings
 Data is Helpful for
   Quickly Fixing some Bugs
   Future Application Releases
Testing Tools: Web Applications
 HttpUnit
    Unit Testing for Web Applications
 HtmlUnit
    Unit Testing with JavaScript Support
 Urllib
    Provides APIs for Web Access
 Check a Web Application for Mobile Readiness
    mobiReady: http://ready.mobi/launch.jsp?locale=en_EN
    W3C mobileOk Checker:
     http://validator.w3.org/mobile/
Testing Tools: Web Applications
 User-Agent Capture Tools
   Captures Characteristics of User-Agent
       Content Type, HTML version Supported on Device etc.
       Pycopia: http://www.pycopia.net/webtools/headers
 FireFox and Others Browsers—Use User-Agent
  Switcher Add-On. However, there are Some Issues
   Differences in how Desktop and Mobile Browsers Layout
    Content may Render Testing Results Unreliable
   Performance Differences in Desktop and Mobile
    Browsers
   Feature Differences in Desktop and Mobile Browsers
Testing Tools: Web Applications
 Desktop Browser Automation Tools
   WebDriver (http://code.google.com/p/webdriver/)
       Java APIs that can be Integrated with Eclipse
   Selenium (http://seleniumhq.org/)
       Firefox add-on that records clicks, typing, and other actions to
        make a test, which can be played back in the browser.
       Selenium RC can be Used in a Desktop Browser with HTTP
        Header Emulation
 IPhoneDriver
    A WebDriver based Tool for Testing on UIWebView
Testing Tools: On-Device Applications
  iPhone
     Embedded Browser Component (UIWebView)
     iPhoneUnitTesting
     Memory Sweep (For memory snapshot of iPhone)
  Java ME
     J2MEUnit (For Unit Testing)
     JInjector (For System Testing)
     ASM (To Instrument the Code)
Testing Tools: On-Device Applications
  Android
     Dalvik Debug Monitor Server (DDMS)
        Thread and Heap Information on Device
        Screen Capture on Device
        Incoming Call, SMS, Location Data Spoofing
    Monkey Tool (for Both Simulator and Device)
      Generate Random Streams of User Events Click and Touch

  Windows Mobile
    Hopper
        Simulates Input Stress by Rapidly Sending Keystrokes and
         Screen Taps in a Random Fashion
Testing Tools: On-Device Applications
  Symbian
     Bullseye
         Bullseye Coverage is a code coverage analyzer for C++ and C that tells how much
          of the application source code was tested. Code coverage analysis is useful during
          unit testing, integration testing, and final release.
     EUnitPro
       EUnit Pro enables creation and automation of unit and module tests for Symbian
        C++ Software.
     Symbian AnalyseHeap Utility
       This tool analyses the contents of Symbian OS heaps to produce meaningful
        representations of their structure and content.
     TRK (Target Resident Kernel)
       Enables On-Device Debugging
     Yucca Tools
       File browsing , Crash Monitor, Supported Fonts Preview, Memory Status etc.

Contenu connexe

Tendances

Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing Shivaraj R
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile AppsSauce Labs
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practicesRakesh Jha
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testingvodQA
 
Basic Guide For Mobile Application Testing
Basic Guide For Mobile Application TestingBasic Guide For Mobile Application Testing
Basic Guide For Mobile Application TestingSourabh Kasliwal
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobiGnosis
 
Mobile Application Testing Strategy
Mobile Application Testing StrategyMobile Application Testing Strategy
Mobile Application Testing StrategyankitQA
 
Hands-On Mobile App Testing
Hands-On Mobile App TestingHands-On Mobile App Testing
Hands-On Mobile App TestingDaniel Knott
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with AppiumManoj Kumar Kumar
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentationBelatrix Software
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appiumPratik Patel
 
Mobile Application Test check list
Mobile Application  Test check list Mobile Application  Test check list
Mobile Application Test check list Tanmoy Ray
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessLee Barnes
 
Automation With Appium
Automation With AppiumAutomation With Appium
Automation With AppiumKnoldus Inc.
 
Mobile Testing with Appium
Mobile Testing with AppiumMobile Testing with Appium
Mobile Testing with AppiumKnoldus Inc.
 
Testing Checklist for Mobile Applications-By Anurag Khode
Testing Checklist for Mobile Applications-By Anurag KhodeTesting Checklist for Mobile Applications-By Anurag Khode
Testing Checklist for Mobile Applications-By Anurag KhodeAnurag Khode
 

Tendances (20)

Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practices
 
Appium ppt
Appium pptAppium ppt
Appium ppt
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Basic Guide For Mobile Application Testing
Basic Guide For Mobile Application TestingBasic Guide For Mobile Application Testing
Basic Guide For Mobile Application Testing
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training Presentation
 
Mobile Application Testing Strategy
Mobile Application Testing StrategyMobile Application Testing Strategy
Mobile Application Testing Strategy
 
Hands-On Mobile App Testing
Hands-On Mobile App TestingHands-On Mobile App Testing
Hands-On Mobile App Testing
 
iOS Application Testing
iOS Application TestingiOS Application Testing
iOS Application Testing
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Performance testing presentation
Performance testing presentationPerformance testing presentation
Performance testing presentation
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Mobile Application Test check list
Mobile Application  Test check list Mobile Application  Test check list
Mobile Application Test check list
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
 
Automation With Appium
Automation With AppiumAutomation With Appium
Automation With Appium
 
Mobile Testing with Appium
Mobile Testing with AppiumMobile Testing with Appium
Mobile Testing with Appium
 
Test Automation - Keytorc Approach
Test Automation - Keytorc Approach Test Automation - Keytorc Approach
Test Automation - Keytorc Approach
 
Testing Checklist for Mobile Applications-By Anurag Khode
Testing Checklist for Mobile Applications-By Anurag KhodeTesting Checklist for Mobile Applications-By Anurag Khode
Testing Checklist for Mobile Applications-By Anurag Khode
 

En vedette

Testing Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsTesting Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsIndicThreads
 
Android testing
Android testingAndroid testing
Android testingBitbar
 
Android testing
Android testingAndroid testing
Android testingJinaTm
 
Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App TestingSWAAM Tech
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile DevelopmentPragnesh Vaghela
 
Introduction to mobile application development
Introduction to mobile application developmentIntroduction to mobile application development
Introduction to mobile application developmentChandan Maurya
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & DevelopmentRonnie Liew
 
Business Plan - Mobile Application Development
Business Plan - Mobile Application DevelopmentBusiness Plan - Mobile Application Development
Business Plan - Mobile Application DevelopmentSarabjeet Singh Dua
 

En vedette (8)

Testing Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsTesting Techniques for Mobile Applications
Testing Techniques for Mobile Applications
 
Android testing
Android testingAndroid testing
Android testing
 
Android testing
Android testingAndroid testing
Android testing
 
Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App Testing
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
 
Introduction to mobile application development
Introduction to mobile application developmentIntroduction to mobile application development
Introduction to mobile application development
 
Mobile Application Design & Development
Mobile Application Design & DevelopmentMobile Application Design & Development
Mobile Application Design & Development
 
Business Plan - Mobile Application Development
Business Plan - Mobile Application DevelopmentBusiness Plan - Mobile Application Development
Business Plan - Mobile Application Development
 

Similaire à Mobile Application Testing

Mobile applications testing (challenges, tools & techniques)
Mobile applications testing (challenges, tools & techniques)Mobile applications testing (challenges, tools & techniques)
Mobile applications testing (challenges, tools & techniques)Rakesh Jha
 
Mobile applications testing
Mobile applications testingMobile applications testing
Mobile applications testingRahul Ranjan
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testingsanpalan
 
Mobile testing
Mobile testingMobile testing
Mobile testingsanpalan
 
Mobile testing
Mobile testingMobile testing
Mobile testingAlex Hung
 
The Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringThe Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringMobilePundits
 
Mobile Application Test automation using MonkeyTalk Tool
Mobile Application Test automation using MonkeyTalk ToolMobile Application Test automation using MonkeyTalk Tool
Mobile Application Test automation using MonkeyTalk ToolVivek Pansara
 
Mobile Application testing
Mobile Application testingMobile Application testing
Mobile Application testingMukta Gupta
 
Learn mobile app testing in simple way
Learn mobile app testing in simple way Learn mobile app testing in simple way
Learn mobile app testing in simple way Mobile Pundits
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest
 
Eurostar - How To Test Mobile Apps
Eurostar - How To Test Mobile AppsEurostar - How To Test Mobile Apps
Eurostar - How To Test Mobile AppsJeroen Mengerink
 
Droid con slides 2013 mobileci-v1.0
Droid con slides 2013  mobileci-v1.0Droid con slides 2013  mobileci-v1.0
Droid con slides 2013 mobileci-v1.0Anjan Dash
 
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Intuit Inc.
 
Mdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile TestingMdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile Testingmomobangalore
 
Raji_new_July_2015
Raji_new_July_2015Raji_new_July_2015
Raji_new_July_2015Raja Kumari
 

Similaire à Mobile Application Testing (20)

Mobile applications testing (challenges, tools & techniques)
Mobile applications testing (challenges, tools & techniques)Mobile applications testing (challenges, tools & techniques)
Mobile applications testing (challenges, tools & techniques)
 
SynapseIndia mobile apps
SynapseIndia mobile appsSynapseIndia mobile apps
SynapseIndia mobile apps
 
Mobile Testing
Mobile TestingMobile Testing
Mobile Testing
 
Mobile applications testing
Mobile applications testingMobile applications testing
Mobile applications testing
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testing
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
The Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and MonitoringThe Essentials of Mobile App Testing and Monitoring
The Essentials of Mobile App Testing and Monitoring
 
Mobile DevTest Dictionary
Mobile DevTest DictionaryMobile DevTest Dictionary
Mobile DevTest Dictionary
 
Mobile Application Test automation using MonkeyTalk Tool
Mobile Application Test automation using MonkeyTalk ToolMobile Application Test automation using MonkeyTalk Tool
Mobile Application Test automation using MonkeyTalk Tool
 
Raji_QA
Raji_QARaji_QA
Raji_QA
 
Mobile Application testing
Mobile Application testingMobile Application testing
Mobile Application testing
 
Learn mobile app testing in simple way
Learn mobile app testing in simple way Learn mobile app testing in simple way
Learn mobile app testing in simple way
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
 
Eurostar - How To Test Mobile Apps
Eurostar - How To Test Mobile AppsEurostar - How To Test Mobile Apps
Eurostar - How To Test Mobile Apps
 
Droid con slides 2013 mobileci-v1.0
Droid con slides 2013  mobileci-v1.0Droid con slides 2013  mobileci-v1.0
Droid con slides 2013 mobileci-v1.0
 
Testunity
TestunityTestunity
Testunity
 
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
 
Mdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile TestingMdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile Testing
 
Raji_new_July_2015
Raji_new_July_2015Raji_new_July_2015
Raji_new_July_2015
 

Dernier

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

Mobile Application Testing

  • 1. By Waqar Ahmad Swaam Tech (Pvt) Ltd Contact us: info@swaam.com for Ur App Testing Note: The slide was presented in the Software Testing Course at NUCES-FAST Lhr
  • 2. Classification of Mobile Applications  Web Applications  Could be Simple Markup (WML , HTML, XHTML, XHTML MP) or AJAX Applications  A Web Application may be Designed for  A Single Type of Device or  Multiple Different Devices with Customization for each Device (or each Family of Devices)  Multiple Different Devices—A Transcoder/Proxy Residing Between Web Application Server and Device Transforms Content based on Device User-Agent Capabilities
  • 3. Classification of Mobile Applications  On-Device Applications May be  Developed for Better Portability  Java ME  FlashLite  Native Platform Applications  IPhone: Objective C  Symbian: C/C++  Windows Mobile: .Net CF  Android : Java for Application and C/C++ for Low Level
  • 4.
  • 5. Mobile App Testing—Challenges  Device Fragmentation is a Big Challenge  Devices Vary in Screen Size, Memory, Processing Power, Hardware Features etc.  Apple iPhone is Least Fragmented among All Mobile Platforms  Testing on All Target Handset/Devices  Almost Impractical if Number of Target Handsets is Large  Testing on All Target Operator Networks  Almost Impractical if Number of Target Operators is Large  Network Operator may Impose Certain Constraints
  • 6. Mobile App Testing—Challenges  Device Vendor (Not Necessarily Manufacturer) may Customize a Device  Changes may be Done in Both User Interface and Functionality  Many a Times Changes are Not Well-Documented  Device is Not the Same as Released by Manufacturer  Testing on All Versions of Operating System  In Many Situations, it May Not be Possible to Upgrade the Device to New OS Version  Same Device Models may have Multiple OS Configurations based on Target Market Requirements  Localization  Hundreds of Devices with Many Variants of Each Device
  • 7. Mobile App Testing—Challenges  Testing in All Web Browsers  Browsers Significantly Vary Across Devices  May Support HTML, xHTML, WML, AJAX  Web Content Transcoders  Web Content may be Transformed to Meet User-Agent Constraints  Transcoder may Not Respect User Experience Factors in some Situations
  • 8. Mobile App Testing—Challenges  Inconsistencies in Specification Implementations  Each Vendor is Responsible for Java ME Specifications Implementations  Implementations may Not be Consistent across Devices and Vendors  Performance Measurement  Extremely Difficult to Benchmark Performance due to Highly Fragmented Market  Detection of Display Issues  Human Involvement is Must  Generally it is Not Possible to Purchase All Target Handsets due to Financial Constraints
  • 9. Mobile App Testing—Challenges  Application Usability Testing  End Users may Not even be Skilled at Using a Mobile Device  End User may Use Application in Multiple Contexts  Driving in Rush Hour  Walking in Crowded Market  Multiple Input / Output Modalities  Diverse User Interface Styles  In Reality, A Testing Lab Cannot Simulate all Possible End User Contexts
  • 10. Mobile App Testing—Challenges  Development and Deployment Platforms are Different  Development Platforms  Windows, Linux  Deployment Platforms  iPhone, Symbian, Android, Blackberry, Windows Mobile  Emulators Do Not Capture All the Characteristics of a Device  Multiple Design Specifications may be Required for Single Application due to Device Fragmentation— Requires Test Cases Accordingly
  • 11.
  • 12. Testing Techniques: General Gather Useful Data  Decide Target Handsets as Early as Possible in Development Lifecycle (Better in Requirements Analysis Phase)  Document Incompatibilities in Devices e.g. Differences in  Installation Processes  Audio/Video Capabilities  Memory, Processing Power, Screen Size etc.  Document Device Software (Firmware) Limitations  ‘Bugs in Firmware’ are Not Unusual  Document Device Web Browser Constraints  Supported Version of HTML  AJAX Supported or Not
  • 13. Testing Techniques: General Gather Useful Data  Better Acquire Meta Data of All Target Handsets from an External Source  Extensive Databases Containing Device Meta Data  WURFL—An Open Source XML Database of Device Characteristics  DeviceAtlas—A Proprietary Database of Device Characteristics  Some Websites can Capture and Return HTTP Headers  For instance, Access the Website using a Phone, Website will Return Headers in HTTP Requests  Useful when Data is Not Available in Databases and also to Verify Already Available Data in Meta Data Source  A Development House may also Maintain an Internal Database Containing Data Not Available Otherwise
  • 14. Testing Techniques: General Classify Devices  Classify Devices  Category—1: All Devices that Support XHTML  Category—2: All Devices that Support AJAX  Category—3: All Devices that Support Java ME  Pick Representative Device(s) from each Category for Testing Purposes  Prepare Test Cases based on Data Gathered about Target Handsets
  • 15. Testing Techniques: General Perform Testing on Real Devices  Start Testing on Real Devices as Early as Possible  There is No Good Alternative to a Real Device for Testing
  • 16. Testing Techniques: General Emulator is Useful but is Not a Real Device  Testing on Emulators  An Emulator is a Software Application that Imitates a Smartphlone  A Device Emulator may be Used to Test Application on Desktop  Some Emulators Emulate General Characteristics of a Platform (like Java ME Emulator)  Some Emulator Emulate Relatively Faithful Representation of Specific Phones (BlackBerry Dev Kits)  Emulator may or may Not Require Compilation for Target Platform  Single Compiled Code for both Emulator and Target Devices  Java ME  Windows Mobile  Different Compilers for Compilation for Symbian Emulator and Target ARM Device  Useful for Quick Testing in Development Environment  Emulators are Not Real Devices  Testing on Emulator does Not Guarantee Application Success on Real Device
  • 17. Testing Techniques: General Application UI Should Preferably be Consistent with Device UI Style  Test Application User Interface Consistency with Device Interface Style  Is the Application User Interface Consistent with User Interface of Underlying Device Applications?  Does the Application Offer Interaction Mechanism Similar to Interaction Mechanism Generally Implemented in Native Device Applications?  Softkey Mapping  Look&feel
  • 18. Testing Techniques: General Different Test Cases are Required to Cater Diverse Input / Output Modalities  Perform Testing for Various Input Modalities  Touch Screen  Testing with Single and Multiple Touch Input  Testing with Virtual Keyboard  Trackball/Track Wheel  Numeric Keypad  QWERTY Keypad  4- or 5-Way Navigator  Perform Testing for Various Output Modalities  Different Screen Sizes
  • 19. Testing Techniques: General Test Applications in Real User-Contexts  Test the Application in Relevant User Contexts  User Context Involves User, Application and Surroundings  Design Various User Interaction Scenarios in Applicable Contexts (user driving in rush hour, walking, in classroom etc.)  Test Applications in Real Contexts
  • 20. Testing Techniques: General Mobile Ecosystem Requirements must be Addressed  Application are Generally Launched through Various Application Stores (Mobile Ecosystem)  Apple App Store, Nokia Ovi, Blackberry AppWorld, Android Market, GetJar, Handango etc.  Test Applications to Meet Requirements of various Ecosystem Stakeholders  Manufacturers/Vendors  UI Guidelines from Apple for Iphone Applications  Symbian Signed  Operators  Operators may also have some Requirements  Third Parties  Java Verified Process
  • 21.
  • 22. Testing Techniques: Web Applications Rules-Based Testing  Rules-Based Testing with User-Agent Impersonation  Create Testing Rules based on  Device Capabilities  Known Bugs in the Device  Device Data in Data Sources (like WURFL, Internal Database)  Application Requirements  Test Cases are Written that Checks HTTP Response for Targeted Content  Impersonate a Device and Communicate with Web Server  Change HTTP Headers like  Accept: image/gif, image/jpeg  User-Agent: ‘NokiaN95…….+Profile/MIDP-2.1 + …..’  Check the Server Response Against Rules and Identify Discrepancies, if any
  • 23. Testing Techniques: Web Applications Rules-Based Testing  Rules-Based Tests  Testing is Automated for Multiple Types of User-Agents  Testing can be Done Using  An HTTP Library for Sending Requests and Receiving Response  Web Browser (FireFox, Safari, Internet Explorer)  Useful to View the Rendered Screen with some Limitations  Rules Based Testing is Useful for Automated Testing of  Web Applications that Deliver Content on Phone  Regression Testing  Web Content Accessibility
  • 24. Testing Techniques: Web Applications Transcoder Behavior must be Thoroughly Tested  Transcoder Behavior  Web Content may be Transformed by a Transcoder to Meet User-Agent Constraints  A Transcoder Resides Between User-Agent and Web Server  Cookies should Not be Shared  Use Automated Tests for Communicating with Server in Parallel  User Experience Should Not be Affected  Manual Testing—See and Record the Behavior
  • 25. Testing Techniques: Web Applications W3C mobileOK Standard  W3C has Defined mobileOK Tests  Tests for Checking Mobile Readiness (W3C Best Practices) of a Website  http://www.w3.org/TR/mobileOK-basic10-tests/  W3C mobileOK Checker  Performs mobileOK Tests on a Web Page to Determine its level of Mobile-Friendliness  http://validator.w3.org/mobile/
  • 26.
  • 27. Testing Techniques: On-Device Applications Unit Testing and On-Device Debugging  Unit Testing Frameworks Exist for almost All Platforms  GUI Layer, Event Handling and System Testing is Not Possible  On-Device Debugging is Available on Most of the Platforms
  • 28. Testing Techniques: On-Device Applications Custom Test Applications may Reveal Major Issues  Custom Test Applications  Can be Used to Test Critical Aspects  Whether an Application has Access to Device File System  Performance of Device Database System  Write Applications to Diagnose Key Issues e.g., Develop an Application that Helps in Testing When  Lot of Free Memory is Available on Device  Very Limited Memory is Available on Device
  • 29. Testing Techniques: On-Device Applications Network Availability and Bandwidth  Perform Application Testing in Different Network Signal Strengths  No Network  Intermittent Connectivity  Strong Network Signals Presence  Application Testing May be Required in Various Network Types  2G, 3G
  • 30. Testing Techniques: On-Device Applications External Events may Affect Application Behavior  Test Application against Events that may Occur during Application Installation and Execution  Phone Call Received  SMS Received  Battery Removed  Device Switched Off  Bluetooth Device Requested to Contact
  • 31. Testing Techniques: On-Device Applications Combine ‘Automated Input’ with ‘Manual Verification’  Generate Automatic Events  Key Press  Pointer Press  Touch  Capture Screenshots during Event Generation Process and Compare them
  • 32. Testing Techniques: On-Device Applications Track Behavior when App is being Used by Consumers  Track Application Behavior during Various Lifecycle Stages when in Production  Installation  Execution  Removal  Application may Send Important Data to Server that can be Used to Identify and Fix some Bugs  Java ME Includes some Parameters for this Purpose  ‘GetJar ’ Offers Such a Service  Application can Call Server and Report some Information  http://www.getjar.com/
  • 33. Testing Techniques: Commercial Get Online Services for Devices Not Available In-house  Testing on Real Devices that Developers Don’t Own  A Service that Enables Application Testing on Real Devices  Devices are Located on Remote Servers  Devices are Connected to Various Operator Networks Worldwide  Desktop Client Software/ Web Application Enables All Testing Features Remotely  Device Acquisition, Cleanup  Application Installation, Execution, Removal  Device Shutdown, Battery Removal and Installation  Service Providers  DeviceAnywhere (http://www.deviceanywhere.com/)  Over 2000 Devices Connected to over 30 Worldwide Carrier Networks across USA, Canada, UK, France, Germany, and Spain  Perfecto Mobile (http://www.perfectomobile.com/)
  • 34. Testing Techniques: Commercial Crowdsourcing is also an Option  CrowdSourcing (Crowd + Outsourcing)  Testing by Human Testers (Mobsters) Located Worldwide  If Done Effectively, Real Usability Testing Results can also be Obtained  Testing in Real User Contexts is Possible  How it Works?  Developers and Testers are Registered with a Third Party Service Provider  Third Party Service Provider is Responsible for Coordination of All Parties Involved in the Process (Application submission, monitoring tools, results reporting etc.)  Service Providers  Mob4Hire (http://www.mob4hire.com/)  GetJar (http://www.getjar.com/)  uTest (http://www.utest.com/)
  • 35. Testing Techniques: Commercial User Feedback is Important  App Stores may Provide Useful Feedback from End Users  User Reported Bugs  User Reviews on Usability  User Ratings  Data is Helpful for  Quickly Fixing some Bugs  Future Application Releases
  • 36.
  • 37. Testing Tools: Web Applications  HttpUnit  Unit Testing for Web Applications  HtmlUnit  Unit Testing with JavaScript Support  Urllib  Provides APIs for Web Access  Check a Web Application for Mobile Readiness  mobiReady: http://ready.mobi/launch.jsp?locale=en_EN  W3C mobileOk Checker: http://validator.w3.org/mobile/
  • 38. Testing Tools: Web Applications  User-Agent Capture Tools  Captures Characteristics of User-Agent  Content Type, HTML version Supported on Device etc.  Pycopia: http://www.pycopia.net/webtools/headers  FireFox and Others Browsers—Use User-Agent Switcher Add-On. However, there are Some Issues  Differences in how Desktop and Mobile Browsers Layout Content may Render Testing Results Unreliable  Performance Differences in Desktop and Mobile Browsers  Feature Differences in Desktop and Mobile Browsers
  • 39. Testing Tools: Web Applications  Desktop Browser Automation Tools  WebDriver (http://code.google.com/p/webdriver/)  Java APIs that can be Integrated with Eclipse  Selenium (http://seleniumhq.org/)  Firefox add-on that records clicks, typing, and other actions to make a test, which can be played back in the browser.  Selenium RC can be Used in a Desktop Browser with HTTP Header Emulation  IPhoneDriver  A WebDriver based Tool for Testing on UIWebView
  • 40. Testing Tools: On-Device Applications  iPhone  Embedded Browser Component (UIWebView)  iPhoneUnitTesting  Memory Sweep (For memory snapshot of iPhone)  Java ME  J2MEUnit (For Unit Testing)  JInjector (For System Testing)  ASM (To Instrument the Code)
  • 41. Testing Tools: On-Device Applications  Android  Dalvik Debug Monitor Server (DDMS)  Thread and Heap Information on Device  Screen Capture on Device  Incoming Call, SMS, Location Data Spoofing  Monkey Tool (for Both Simulator and Device)  Generate Random Streams of User Events Click and Touch  Windows Mobile  Hopper  Simulates Input Stress by Rapidly Sending Keystrokes and Screen Taps in a Random Fashion
  • 42. Testing Tools: On-Device Applications  Symbian  Bullseye  Bullseye Coverage is a code coverage analyzer for C++ and C that tells how much of the application source code was tested. Code coverage analysis is useful during unit testing, integration testing, and final release.  EUnitPro  EUnit Pro enables creation and automation of unit and module tests for Symbian C++ Software.  Symbian AnalyseHeap Utility  This tool analyses the contents of Symbian OS heaps to produce meaningful representations of their structure and content.  TRK (Target Resident Kernel)  Enables On-Device Debugging  Yucca Tools  File browsing , Crash Monitor, Supported Fonts Preview, Memory Status etc.