SlideShare a Scribd company logo
Testing Techniques for
                  Mobile Applications




Indira Pai, Basant Chandran
MangoSpring Technologies Pvt Ltd.
Introduction
• With the fantastic growth of mobile computing
  platforms there has been a dramatic increase in the
  value of mobile applications for most companies.

• One of the biggest challenges that one faces when
  developing a mobile application is how to test it.

• There are a number of factors to consider for mobile
  testing which aren't present for desktop or web.
Agenda
• Types of mobile applications
• Mobile testing generics
• Platforms
• Comparing testing on simulator with testing
  with device
Types of applications in mobile
1. Browser Based
   Applications
2. Pre Installed
   Applications
3. Installable
   applications
Browser Based Applications
• Applications built for mobile browsers
• Can be accessed by entering the specific URL
  in mobile browser.
• No Installation/Un-installations involved
• No Upgrade involved
Browser Based Applications (contd.)
• Browser Based Application users always
  expect connectivity
  • Network speed and coverage become an
    important test case
• Speed is a critical aspect:
  • User entered values can’t be stored locally in
    device database, until user allows storing
    information in Cache, he has to enter all his
    information manually every time.
Pre Installed Applications
• Applications which are shipped as in built
  software with the mobile device
  • If devices are not launched yet, a prototype of that
    device model is given by the device manufacturer.
• No Downloads involved
• No Installation/Un-installations involved
• Automatic Upgrades can be done.
  • This is specific to application.
Pre Installed Applications (contd.)
• Testing of these applications in prototypes is
  very critical
• They deal with the very core data and
  functions of the device.
  • If anything goes wrong, the core database might
    get corrupt.
• They cannot be uninstalled/deleted ever.
Pre Installed Applications (contd.)
• Crashes can cause severe damage to ROM
• Only way to remove these applications would
  be to flush ROM and then upgrade it.
Installable Applications
• Can be upgraded:
  – This is specific to the application design
  – This also depends on the source from where
    application was downloaded
• Applications whose executable files/packages
  can be downloaded / received by wireless
  media or wired media.
  – Platform Specific
Installable Applications (contd.)
• Can be installed/uninstalled in the device
• They can be downloaded from:
  – App Store
  – OTA (Over The Air)
     • A URL which leads to download of the application.
  – Transfer via USB cable
• Can be transferred from wireless media like
  Blue Tooth, Infra Red etc.
Mobile Testing Generics
• Testing in various network strengths
  – No Network                  Defect in %

                     100                      No Network

  – Low               80                      Low

                      60
  – Medium            40
                                              Medium

                                              High

  – High
                      20
                                              Change in
                       0
                                              strength

  – Testing during change of network strength from:
     • No Network/Low to High
     • High to Low/No Network
Mobile Testing Generics (contd.)
• Testing in various network speed
                               % of issues
  – Low
  – Medium          100
                    80                       Low

  – High            60
                    40
                                             Medium
                                             High
                                             Change in speed
                    20
                     0

  – Testing during change of network speed from:
    • Low to High
    • High to Low
Mobile Testing Generics (contd.)
•       Testing in various network types:
    –        2G :
         •     GPRS
         •     CDMA
         •     EDGE
    –        3G
    –        Wi-Fi
    –        Different types of Plans based on service
             provider
Mobile Testing Generics (contd.)
•       Testing in various Battery Strengths
    –     Critical                   % of Issues

    –     Low               100

                             80
    –     During Charging                          Critical
                             60                    Low
    –     High               40                    During Charging
                                                   High
                             20

                              0
Mobile Testing Generics (contd.)
•   Monitoring Battery consumption patterns
    –   Observe battery consumption rate as the
        application is being
        •   Run in Background
        •   Run in Foreground
    –   Run the application for long time.
Mobile Testing Generics (contd.)
• Monitoring Memory usage patterns
  – Observe memory usage pattern as the application
    is being
     • Launched
     • Run:
        • In Background
        • In Foreground
     • Exit
  – Run the application for long time.
Mobile Testing Generics (contd.)
• Check memory usage patterns when in device
  apart from the pre installed applications
  – No other applications are installed
     • Lot of free memory available in device.
  – Some third party applications are installed
     • Lesser free memory available in device
  – Lot of third party applications are installed
     • Very less free memory available in device
Mobile Testing Generics (contd.)
• Memory Consumption Pattern (RAM usage)
  – Check memory consumption pattern when multiple
    applications are running while the application is
    being:
    • Launched
    • Run
       • In Background
       • In Foreground
    • Exit
Mobile Testing Generics (contd.)
• Interruptions:
  – Activities which can occur parallel within the
    device while application is being:
     •   Installed
     •   Launched
     •   Run
     •   Exit
     •   Upgraded
     •   Uninstalled/ Deleted
Mobile Testing Generics (contd.)
• Examples of Interruptions:
  • Incoming call
  • Receiving incoming call
  • Receiving message
  • Device shutdown
  • Remove battery
  • Camera activated
  • Lose network connectivity and then regain it
Mobile Testing Generics (contd.)
• Debug Build:
  – A very important asset in helping reproduce
    “difficult to reproduce” bugs
  – A build released in debug mode which has logs
    enabled.
  – Enabling logs based on sequence of keys
  – Logs can be read continuously, and can help
    retrace steps to any issue, provided application is
    running.
Mobile Testing Generics (contd.)
• Build Signing :
  • Required for a build which has to be pushed to an
    app store.
  • Confirms that norms as per the authority of OS or
    device manufacturer are followed.
• Testing round after build signing needs to be
  done
  • Ensures the final build being submitted is of
    appropriate quality standard.
Platforms covered
• iPhone
• Android
• BlackBerry
• Symbian
• Windows Mobile
• J2ME Applications
Input modes in different platforms
• Touch Screen
  – Testing with single touch inputs
  – Testing with multiple touch inputs
  – Testing for Virtual Keypad
• Track Ball/ TrackWheel
• Keypad
• Test cases around multiple inputs at the same
  time
Device Modes in different Platforms
• Portrait
• Landscape
  – UI should be properly
    aligned as per mode
  – Test cases around
    mode change when
    application is running
    in background.
iPhone
• Additional Testing aspects:
  –   UI Guidelines from Apple need to be adhered to.
  –   Backward OS compatibility
  –   Allows running only one application at a time.
  –   Can debug via USB cable connection
  –   Device Reboot not much needed until for clearing
      cached data
iPhone – Testing Tools
• Screenshots:
  – Can be taken by clicking the Home key and the
    Lock key together.
  – No other explicit tool needed
• Memory Sweep
  – A tool with which a memory snapshot of iPhone
    device can be obtained at any given time.
Android
• Additional Testing Aspects:
  – Allows running multiple applications in background
  – Application gets normally minimized on exiting.
     • So a reboot needed to launch application again.
     • Reboot needed often
Android - Debugging
• Select “Enable USB Debugging” in device
  settings.
• Then connect device to system via USB cable.
Android -Testing Tools
• Dalvik Debug Monitor Server (DDMS)
  –   Port-forwarding services
  –   Screen capture on the device
  –   Thread and heap information on the device
  –   Logcat
  –   Process, and radio state information
  –   Incoming call and SMS spoofing
  –   Location data spoofing, and more.
Android -Testing Tools (contd.)
• Monkey Tool
  – Runs on simulator or device
  – Generates pseudo-random streams of user events
    such as clicks, touches, or gestures, as well as a
    number of system-level events.
• TaskKiller
  – A utility application used to kill process.
  – Useful to skip device reboot.
BlackBerry
• Additional Testing Aspects:
  – Allows running multiple applications in background
  – Device Reboot
     • Not much needed until for clearing cached data
     • Needed mainly for while uninstalling/installing any
       application.
• Build Signing/Verification
  – Signed/certified by RIM
BlackBerry – Debugging
• USB cable connected debugging
• Can be done via JDE console after attaching
  debugger
BlackBerry – Testing Tools
• Native Logs:
  – A combination on Alt+LGLG keys opens the
    device logs in device.
  – Has 3 types of filters:
    • Debug
    • Information
    • Error
  – This helps analyze type of exceptions.
BlackBerry – Testing Tools (contd.)
• JL_Cmder:
  – A little batch script to manipulate JavaLoader.
  – JavaLoader, a tool shipped with JDE, can be used
    to easily:
    •   Display Device Info
    •   Display an event log
    •   Take a screenshot
    •   Wipe the handheld
    •   Reset it to factory conditions
BlackBerry – Testing Tools (contd.)
• BBScreenshooter
  – Desktop Based tool
  – Needs device to be connected to desktop system
    for capturing screenshots
• CaptureIt
  – Device Based tool
  – Device need not be connected to desktop for
    capturing screeshots.
Symbian
• Additional Testing Aspects:
  – Allows running multiple applications in background
  – Device Reboot not much needed until for clearing
    cached data
• Build Signing/Verification
  – Signed/certified by Symbian
  – By device manufacturing authority like Nokia
Symbian - Debug
• Can be connected to the IDE via:
  – USB cable connected debugging
    • More preferred
  – Via BlueTooth
    • Less Preferred due to device driver issues
Symbian – Testing Tools
• Screenshot tools:
  – All tools are device based
  – After installing the tool,
    • Set a shortcut key for screen capture.
    • Start the tool and then let it run in the background while
      application is run.
    • Clicking on the shortcut key captures screenshot and
      stores it in device.
  – Examples:
    • ScreenSnap S60 (5th Edition)
    • ScreenTaker for Nokia 7650/3650/N-Gage/SX1
Symbian – Testing Tools (contd.)
• Yucca Tools:
  – File browsing in Symbian device
  – Crash Monitor
  – Shows all supported fonts in device with preview.
  – Memory status
Windows Mobile
• Additional Testing Aspects-
  – Allows running multiple applications in background
  – Can exit the application from task manager
     • Needed in case application gets hanged in background
       and its process needs to be killed
Windows Mobile - Debugging
• Debugging
  – USB Cable connection needed between device
    and desktop
  – Can use visual studio
Windows Mobile - Testing Tools
• Hopper
  – For stress testing.
  – Throws random events such as click events,
    entering text if text field in application run in
    background etc.
  – Logs are stored in device ,screenshot is also
    stored if device hangs or if application crashes.
J2ME Applications
• J2ME is a Development Platform
• Input Modes:
  • Follows input modes of the platform, some
    restrictions might exist.
• Device Modes:
  – Based on platform
J2ME Applications (contd.)
• Additional Testing Aspects:
  – For mass markets handsets
  – Porting Friendly
     • Should work well on the supported device/ platform on
       which its installed.
     • Should be able to work well after the device firmware
       upgrades.
• Build Signing/Verification
  – Verified by Verifying Authority.
  – Verified by device manufacturing authority like
    Nokia
J2ME Applications - Testing Tools
• Tools provided by device platforms can be
  used.
• Wireless Toolkit
• Debug mode build.
Testing on Simulator
Testing on Simulator (contd.)
• Simulators :
  – A software application that can accurately imitate
    mobile phone.
• The need to test on simulators:
  – Non availability of device
  – Testing same build in multiple device screens
  – Non availability of certain network for device
    testing in testing area.
Testing on Simulator (contd.)
• Advantages:
  – Can help in isolating issues which are not volatile
    network connection dependent.
  – Can provide a wide variety of testing over different
    types of device simulators for the same build.
Testing on Simulator (contd.)
• Disadvantages:
  – Simulators of older generation handsets don’t
    resemble the device as closely
  – Some issues which are hit by the speed at which
    input was given cannot be reproduced easily
  – Hardware/Firmware environment variations
    detectable in device testing only
  – Device testing is always preferred as it represents
    more likely end user scenarios
Questions
Thank You

More Related Content

What's hot

Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Edureka!
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
vodQA
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
Softheme
 
Mobile App Testing Strategy
Mobile App Testing StrategyMobile App Testing Strategy
Mobile App Testing Strategy
Software Assurance LLC
 
Selenium Presentation at Engineering Colleges
Selenium Presentation at Engineering CollegesSelenium Presentation at Engineering Colleges
Selenium Presentation at Engineering Colleges
Vijay Rangaiah
 
iOS Application Testing
iOS Application TestingiOS Application Testing
iOS Application Testing
Mreetyunjaya Daas
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutter
Ahmed Abu Eldahab
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android Studio
Suyash Srijan
 
Top ten software testing tools
Top ten software testing toolsTop ten software testing tools
Top ten software testing tools
JanBask Training
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
Noor Orfahly
 
Load Runner
Load RunnerLoad Runner
Load Runner
Shama Ahsan
 
Android Studio Overview
Android Studio OverviewAndroid Studio Overview
Android Studio Overview
Salim Hosen
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using Selenium
Weifeng Zhang
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
Anirudh Raja
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
Pratik Patel
 
Loadrunner vs Jmeter
Loadrunner vs JmeterLoadrunner vs Jmeter
Loadrunner vs Jmeter
Atul Pant
 
What is Appium? Edureka
What is Appium? EdurekaWhat is Appium? Edureka
What is Appium? Edureka
Edureka!
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training Presentation
MobiGnosis
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
Naresh Chintalcheru
 
SELENIUM PPT.pdf
SELENIUM PPT.pdfSELENIUM PPT.pdf
SELENIUM PPT.pdf
RebelSnowball
 

What's hot (20)

Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Mobile App Testing Strategy
Mobile App Testing StrategyMobile App Testing Strategy
Mobile App Testing Strategy
 
Selenium Presentation at Engineering Colleges
Selenium Presentation at Engineering CollegesSelenium Presentation at Engineering Colleges
Selenium Presentation at Engineering Colleges
 
iOS Application Testing
iOS Application TestingiOS Application Testing
iOS Application Testing
 
Building beautiful apps with Google flutter
Building beautiful apps with Google flutterBuilding beautiful apps with Google flutter
Building beautiful apps with Google flutter
 
Introduction to Android and Android Studio
Introduction to Android and Android StudioIntroduction to Android and Android Studio
Introduction to Android and Android Studio
 
Top ten software testing tools
Top ten software testing toolsTop ten software testing tools
Top ten software testing tools
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Load Runner
Load RunnerLoad Runner
Load Runner
 
Android Studio Overview
Android Studio OverviewAndroid Studio Overview
Android Studio Overview
 
Automated Web Testing Using Selenium
Automated Web Testing Using SeleniumAutomated Web Testing Using Selenium
Automated Web Testing Using Selenium
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 
Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Loadrunner vs Jmeter
Loadrunner vs JmeterLoadrunner vs Jmeter
Loadrunner vs Jmeter
 
What is Appium? Edureka
What is Appium? EdurekaWhat is Appium? Edureka
What is Appium? Edureka
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training Presentation
 
Automation Testing using Selenium
Automation Testing using SeleniumAutomation Testing using Selenium
Automation Testing using Selenium
 
SELENIUM PPT.pdf
SELENIUM PPT.pdfSELENIUM PPT.pdf
SELENIUM PPT.pdf
 

Similar to Testing Techniques for Mobile Applications

HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2Hien Vo
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testing
BugRaptors
 
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
 
Beyond Traditional Mobile Testing
Beyond Traditional Mobile TestingBeyond Traditional Mobile Testing
Beyond Traditional Mobile Testing
ColomboCampsCommunity
 
Mobile testing day_2_3_ppt
Mobile testing day_2_3_pptMobile testing day_2_3_ppt
Mobile testing day_2_3_ppt
sayhi2sudarshan
 
Mobility testing day_2_3_ppt
Mobility testing day_2_3_pptMobility testing day_2_3_ppt
Mobility testing day_2_3_ppt
sayhi2sudarshan
 
Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App Testing
SWAAM Tech
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practices
Rakesh Jha
 
App Days 2016 Munich - Mobile Applications testing by Leaware
App Days 2016 Munich - Mobile Applications testing by LeawareApp Days 2016 Munich - Mobile Applications testing by Leaware
App Days 2016 Munich - Mobile Applications testing by Leaware
Leaware.com
 
How to make your app successful with mobile app testing?
How to make your app successful with mobile app testing?How to make your app successful with mobile app testing?
How to make your app successful with mobile app testing?
MobilePundits
 
Appmotives - Software Testing As Service
Appmotives - Software Testing As ServiceAppmotives - Software Testing As Service
Appmotives - Software Testing As Service
Kalyan Paluri
 
Addressing Mobile App Testing Challenges
Addressing Mobile App Testing ChallengesAddressing Mobile App Testing Challenges
Addressing Mobile App Testing Challenges
Lee Barnes
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
Radiant Minds
 
MCB_HL_v10.pdf
MCB_HL_v10.pdfMCB_HL_v10.pdf
MCB_HL_v10.pdf
RamonCuevas14
 
Mobile QA Metrics Risks and Automation Presentation By Yuval Golan
Mobile QA Metrics Risks and Automation Presentation  By Yuval GolanMobile QA Metrics Risks and Automation Presentation  By Yuval Golan
Mobile QA Metrics Risks and Automation Presentation By Yuval Golan
Yuval Golan
 
Android system security
Android system securityAndroid system security
Android system security
Chong-Kuan Chen
 
Mobile Application testing
Mobile Application testingMobile Application testing
Mobile Application testing
Mukta Gupta
 
Zen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application TestingZen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application Testing
Zen Test Labs
 
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
Anjan Dash
 

Similar to Testing Techniques for Mobile Applications (20)

HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2HienVo_Mobile Testing_v.1.2
HienVo_Mobile Testing_v.1.2
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app 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)
 
Beyond Traditional Mobile Testing
Beyond Traditional Mobile TestingBeyond Traditional Mobile Testing
Beyond Traditional Mobile Testing
 
Mobile testing day_2_3_ppt
Mobile testing day_2_3_pptMobile testing day_2_3_ppt
Mobile testing day_2_3_ppt
 
Mobility testing day_2_3_ppt
Mobility testing day_2_3_pptMobility testing day_2_3_ppt
Mobility testing day_2_3_ppt
 
Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App Testing
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practices
 
App Days 2016 Munich - Mobile Applications testing by Leaware
App Days 2016 Munich - Mobile Applications testing by LeawareApp Days 2016 Munich - Mobile Applications testing by Leaware
App Days 2016 Munich - Mobile Applications testing by Leaware
 
How to make your app successful with mobile app testing?
How to make your app successful with mobile app testing?How to make your app successful with mobile app testing?
How to make your app successful with mobile app testing?
 
Appmotives - Software Testing As Service
Appmotives - Software Testing As ServiceAppmotives - Software Testing As Service
Appmotives - Software Testing As Service
 
Addressing Mobile App Testing Challenges
Addressing Mobile App Testing ChallengesAddressing Mobile App Testing Challenges
Addressing Mobile App Testing Challenges
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
MCB_HL_v10.pdf
MCB_HL_v10.pdfMCB_HL_v10.pdf
MCB_HL_v10.pdf
 
Mobile QA Metrics Risks and Automation Presentation By Yuval Golan
Mobile QA Metrics Risks and Automation Presentation  By Yuval GolanMobile QA Metrics Risks and Automation Presentation  By Yuval Golan
Mobile QA Metrics Risks and Automation Presentation By Yuval Golan
 
Android system security
Android system securityAndroid system security
Android system security
 
Mobile Application testing
Mobile Application testingMobile Application testing
Mobile Application testing
 
Zen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application TestingZen Test Labs Mobile Application Testing
Zen Test Labs Mobile Application Testing
 
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
 

More from IndicThreads

Http2 is here! And why the web needs it
Http2 is here! And why the web needs itHttp2 is here! And why the web needs it
Http2 is here! And why the web needs it
IndicThreads
 
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsUnderstanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
IndicThreads
 
Go Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang wayGo Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang way
IndicThreads
 
Building Resilient Microservices
Building Resilient Microservices Building Resilient Microservices
Building Resilient Microservices
IndicThreads
 
App using golang indicthreads
App using golang  indicthreadsApp using golang  indicthreads
App using golang indicthreads
IndicThreads
 
Building on quicksand microservices indicthreads
Building on quicksand microservices  indicthreadsBuilding on quicksand microservices  indicthreads
Building on quicksand microservices indicthreads
IndicThreads
 
How to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingHow to Think in RxJava Before Reacting
How to Think in RxJava Before Reacting
IndicThreads
 
Iot secure connected devices indicthreads
Iot secure connected devices indicthreadsIot secure connected devices indicthreads
Iot secure connected devices indicthreads
IndicThreads
 
Real world IoT for enterprises
Real world IoT for enterprisesReal world IoT for enterprises
Real world IoT for enterprises
IndicThreads
 
IoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreadsIoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreads
IndicThreads
 
Functional Programming Past Present Future
Functional Programming Past Present FutureFunctional Programming Past Present Future
Functional Programming Past Present Future
IndicThreads
 
Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams
IndicThreads
 
Building & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameBuilding & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fame
IndicThreads
 
Internet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceInternet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads Conference
IndicThreads
 
Cars and Computers: Building a Java Carputer
 Cars and Computers: Building a Java Carputer Cars and Computers: Building a Java Carputer
Cars and Computers: Building a Java Carputer
IndicThreads
 
Scrap Your MapReduce - Apache Spark
 Scrap Your MapReduce - Apache Spark Scrap Your MapReduce - Apache Spark
Scrap Your MapReduce - Apache Spark
IndicThreads
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
IndicThreads
 
Speed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedbackSpeed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedback
IndicThreads
 
Unraveling OpenStack Clouds
 Unraveling OpenStack Clouds Unraveling OpenStack Clouds
Unraveling OpenStack Clouds
IndicThreads
 
Digital Transformation of the Enterprise. What IT leaders need to know!
Digital Transformation of the Enterprise. What IT  leaders need to know!Digital Transformation of the Enterprise. What IT  leaders need to know!
Digital Transformation of the Enterprise. What IT leaders need to know!
IndicThreads
 

More from IndicThreads (20)

Http2 is here! And why the web needs it
Http2 is here! And why the web needs itHttp2 is here! And why the web needs it
Http2 is here! And why the web needs it
 
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive ApplicationsUnderstanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
Understanding Bitcoin (Blockchain) and its Potential for Disruptive Applications
 
Go Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang wayGo Programming Language - Learning The Go Lang way
Go Programming Language - Learning The Go Lang way
 
Building Resilient Microservices
Building Resilient Microservices Building Resilient Microservices
Building Resilient Microservices
 
App using golang indicthreads
App using golang  indicthreadsApp using golang  indicthreads
App using golang indicthreads
 
Building on quicksand microservices indicthreads
Building on quicksand microservices  indicthreadsBuilding on quicksand microservices  indicthreads
Building on quicksand microservices indicthreads
 
How to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingHow to Think in RxJava Before Reacting
How to Think in RxJava Before Reacting
 
Iot secure connected devices indicthreads
Iot secure connected devices indicthreadsIot secure connected devices indicthreads
Iot secure connected devices indicthreads
 
Real world IoT for enterprises
Real world IoT for enterprisesReal world IoT for enterprises
Real world IoT for enterprises
 
IoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreadsIoT testing and quality assurance indicthreads
IoT testing and quality assurance indicthreads
 
Functional Programming Past Present Future
Functional Programming Past Present FutureFunctional Programming Past Present Future
Functional Programming Past Present Future
 
Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams Harnessing the Power of Java 8 Streams
Harnessing the Power of Java 8 Streams
 
Building & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fameBuilding & scaling a live streaming mobile platform - Gr8 road to fame
Building & scaling a live streaming mobile platform - Gr8 road to fame
 
Internet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads ConferenceInternet of things architecture perspective - IndicThreads Conference
Internet of things architecture perspective - IndicThreads Conference
 
Cars and Computers: Building a Java Carputer
 Cars and Computers: Building a Java Carputer Cars and Computers: Building a Java Carputer
Cars and Computers: Building a Java Carputer
 
Scrap Your MapReduce - Apache Spark
 Scrap Your MapReduce - Apache Spark Scrap Your MapReduce - Apache Spark
Scrap Your MapReduce - Apache Spark
 
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
Continuous Integration (CI) and Continuous Delivery (CD) using Jenkins & Docker
 
Speed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedbackSpeed up your build pipeline for faster feedback
Speed up your build pipeline for faster feedback
 
Unraveling OpenStack Clouds
 Unraveling OpenStack Clouds Unraveling OpenStack Clouds
Unraveling OpenStack Clouds
 
Digital Transformation of the Enterprise. What IT leaders need to know!
Digital Transformation of the Enterprise. What IT  leaders need to know!Digital Transformation of the Enterprise. What IT  leaders need to know!
Digital Transformation of the Enterprise. What IT leaders need to know!
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

Testing Techniques for Mobile Applications

  • 1. Testing Techniques for Mobile Applications Indira Pai, Basant Chandran MangoSpring Technologies Pvt Ltd.
  • 2. Introduction • With the fantastic growth of mobile computing platforms there has been a dramatic increase in the value of mobile applications for most companies. • One of the biggest challenges that one faces when developing a mobile application is how to test it. • There are a number of factors to consider for mobile testing which aren't present for desktop or web.
  • 3. Agenda • Types of mobile applications • Mobile testing generics • Platforms • Comparing testing on simulator with testing with device
  • 4. Types of applications in mobile 1. Browser Based Applications 2. Pre Installed Applications 3. Installable applications
  • 5. Browser Based Applications • Applications built for mobile browsers • Can be accessed by entering the specific URL in mobile browser. • No Installation/Un-installations involved • No Upgrade involved
  • 6. Browser Based Applications (contd.) • Browser Based Application users always expect connectivity • Network speed and coverage become an important test case • Speed is a critical aspect: • User entered values can’t be stored locally in device database, until user allows storing information in Cache, he has to enter all his information manually every time.
  • 7. Pre Installed Applications • Applications which are shipped as in built software with the mobile device • If devices are not launched yet, a prototype of that device model is given by the device manufacturer. • No Downloads involved • No Installation/Un-installations involved • Automatic Upgrades can be done. • This is specific to application.
  • 8. Pre Installed Applications (contd.) • Testing of these applications in prototypes is very critical • They deal with the very core data and functions of the device. • If anything goes wrong, the core database might get corrupt. • They cannot be uninstalled/deleted ever.
  • 9. Pre Installed Applications (contd.) • Crashes can cause severe damage to ROM • Only way to remove these applications would be to flush ROM and then upgrade it.
  • 10. Installable Applications • Can be upgraded: – This is specific to the application design – This also depends on the source from where application was downloaded • Applications whose executable files/packages can be downloaded / received by wireless media or wired media. – Platform Specific
  • 11. Installable Applications (contd.) • Can be installed/uninstalled in the device • They can be downloaded from: – App Store – OTA (Over The Air) • A URL which leads to download of the application. – Transfer via USB cable • Can be transferred from wireless media like Blue Tooth, Infra Red etc.
  • 12. Mobile Testing Generics • Testing in various network strengths – No Network Defect in % 100 No Network – Low 80 Low 60 – Medium 40 Medium High – High 20 Change in 0 strength – Testing during change of network strength from: • No Network/Low to High • High to Low/No Network
  • 13. Mobile Testing Generics (contd.) • Testing in various network speed % of issues – Low – Medium 100 80 Low – High 60 40 Medium High Change in speed 20 0 – Testing during change of network speed from: • Low to High • High to Low
  • 14. Mobile Testing Generics (contd.) • Testing in various network types: – 2G : • GPRS • CDMA • EDGE – 3G – Wi-Fi – Different types of Plans based on service provider
  • 15. Mobile Testing Generics (contd.) • Testing in various Battery Strengths – Critical % of Issues – Low 100 80 – During Charging Critical 60 Low – High 40 During Charging High 20 0
  • 16. Mobile Testing Generics (contd.) • Monitoring Battery consumption patterns – Observe battery consumption rate as the application is being • Run in Background • Run in Foreground – Run the application for long time.
  • 17. Mobile Testing Generics (contd.) • Monitoring Memory usage patterns – Observe memory usage pattern as the application is being • Launched • Run: • In Background • In Foreground • Exit – Run the application for long time.
  • 18. Mobile Testing Generics (contd.) • Check memory usage patterns when in device apart from the pre installed applications – No other applications are installed • Lot of free memory available in device. – Some third party applications are installed • Lesser free memory available in device – Lot of third party applications are installed • Very less free memory available in device
  • 19. Mobile Testing Generics (contd.) • Memory Consumption Pattern (RAM usage) – Check memory consumption pattern when multiple applications are running while the application is being: • Launched • Run • In Background • In Foreground • Exit
  • 20. Mobile Testing Generics (contd.) • Interruptions: – Activities which can occur parallel within the device while application is being: • Installed • Launched • Run • Exit • Upgraded • Uninstalled/ Deleted
  • 21. Mobile Testing Generics (contd.) • Examples of Interruptions: • Incoming call • Receiving incoming call • Receiving message • Device shutdown • Remove battery • Camera activated • Lose network connectivity and then regain it
  • 22. Mobile Testing Generics (contd.) • Debug Build: – A very important asset in helping reproduce “difficult to reproduce” bugs – A build released in debug mode which has logs enabled. – Enabling logs based on sequence of keys – Logs can be read continuously, and can help retrace steps to any issue, provided application is running.
  • 23. Mobile Testing Generics (contd.) • Build Signing : • Required for a build which has to be pushed to an app store. • Confirms that norms as per the authority of OS or device manufacturer are followed. • Testing round after build signing needs to be done • Ensures the final build being submitted is of appropriate quality standard.
  • 24. Platforms covered • iPhone • Android • BlackBerry • Symbian • Windows Mobile • J2ME Applications
  • 25. Input modes in different platforms • Touch Screen – Testing with single touch inputs – Testing with multiple touch inputs – Testing for Virtual Keypad • Track Ball/ TrackWheel • Keypad • Test cases around multiple inputs at the same time
  • 26. Device Modes in different Platforms • Portrait • Landscape – UI should be properly aligned as per mode – Test cases around mode change when application is running in background.
  • 27. iPhone • Additional Testing aspects: – UI Guidelines from Apple need to be adhered to. – Backward OS compatibility – Allows running only one application at a time. – Can debug via USB cable connection – Device Reboot not much needed until for clearing cached data
  • 28. iPhone – Testing Tools • Screenshots: – Can be taken by clicking the Home key and the Lock key together. – No other explicit tool needed • Memory Sweep – A tool with which a memory snapshot of iPhone device can be obtained at any given time.
  • 29. Android • Additional Testing Aspects: – Allows running multiple applications in background – Application gets normally minimized on exiting. • So a reboot needed to launch application again. • Reboot needed often
  • 30. Android - Debugging • Select “Enable USB Debugging” in device settings. • Then connect device to system via USB cable.
  • 31. Android -Testing Tools • Dalvik Debug Monitor Server (DDMS) – Port-forwarding services – Screen capture on the device – Thread and heap information on the device – Logcat – Process, and radio state information – Incoming call and SMS spoofing – Location data spoofing, and more.
  • 32. Android -Testing Tools (contd.) • Monkey Tool – Runs on simulator or device – Generates pseudo-random streams of user events such as clicks, touches, or gestures, as well as a number of system-level events. • TaskKiller – A utility application used to kill process. – Useful to skip device reboot.
  • 33. BlackBerry • Additional Testing Aspects: – Allows running multiple applications in background – Device Reboot • Not much needed until for clearing cached data • Needed mainly for while uninstalling/installing any application. • Build Signing/Verification – Signed/certified by RIM
  • 34. BlackBerry – Debugging • USB cable connected debugging • Can be done via JDE console after attaching debugger
  • 35. BlackBerry – Testing Tools • Native Logs: – A combination on Alt+LGLG keys opens the device logs in device. – Has 3 types of filters: • Debug • Information • Error – This helps analyze type of exceptions.
  • 36. BlackBerry – Testing Tools (contd.) • JL_Cmder: – A little batch script to manipulate JavaLoader. – JavaLoader, a tool shipped with JDE, can be used to easily: • Display Device Info • Display an event log • Take a screenshot • Wipe the handheld • Reset it to factory conditions
  • 37. BlackBerry – Testing Tools (contd.) • BBScreenshooter – Desktop Based tool – Needs device to be connected to desktop system for capturing screenshots • CaptureIt – Device Based tool – Device need not be connected to desktop for capturing screeshots.
  • 38. Symbian • Additional Testing Aspects: – Allows running multiple applications in background – Device Reboot not much needed until for clearing cached data • Build Signing/Verification – Signed/certified by Symbian – By device manufacturing authority like Nokia
  • 39. Symbian - Debug • Can be connected to the IDE via: – USB cable connected debugging • More preferred – Via BlueTooth • Less Preferred due to device driver issues
  • 40. Symbian – Testing Tools • Screenshot tools: – All tools are device based – After installing the tool, • Set a shortcut key for screen capture. • Start the tool and then let it run in the background while application is run. • Clicking on the shortcut key captures screenshot and stores it in device. – Examples: • ScreenSnap S60 (5th Edition) • ScreenTaker for Nokia 7650/3650/N-Gage/SX1
  • 41. Symbian – Testing Tools (contd.) • Yucca Tools: – File browsing in Symbian device – Crash Monitor – Shows all supported fonts in device with preview. – Memory status
  • 42. Windows Mobile • Additional Testing Aspects- – Allows running multiple applications in background – Can exit the application from task manager • Needed in case application gets hanged in background and its process needs to be killed
  • 43. Windows Mobile - Debugging • Debugging – USB Cable connection needed between device and desktop – Can use visual studio
  • 44. Windows Mobile - Testing Tools • Hopper – For stress testing. – Throws random events such as click events, entering text if text field in application run in background etc. – Logs are stored in device ,screenshot is also stored if device hangs or if application crashes.
  • 45. J2ME Applications • J2ME is a Development Platform • Input Modes: • Follows input modes of the platform, some restrictions might exist. • Device Modes: – Based on platform
  • 46. J2ME Applications (contd.) • Additional Testing Aspects: – For mass markets handsets – Porting Friendly • Should work well on the supported device/ platform on which its installed. • Should be able to work well after the device firmware upgrades. • Build Signing/Verification – Verified by Verifying Authority. – Verified by device manufacturing authority like Nokia
  • 47. J2ME Applications - Testing Tools • Tools provided by device platforms can be used. • Wireless Toolkit • Debug mode build.
  • 49. Testing on Simulator (contd.) • Simulators : – A software application that can accurately imitate mobile phone. • The need to test on simulators: – Non availability of device – Testing same build in multiple device screens – Non availability of certain network for device testing in testing area.
  • 50. Testing on Simulator (contd.) • Advantages: – Can help in isolating issues which are not volatile network connection dependent. – Can provide a wide variety of testing over different types of device simulators for the same build.
  • 51. Testing on Simulator (contd.) • Disadvantages: – Simulators of older generation handsets don’t resemble the device as closely – Some issues which are hit by the speed at which input was given cannot be reproduced easily – Hardware/Firmware environment variations detectable in device testing only – Device testing is always preferred as it represents more likely end user scenarios