SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Mobile Application
Testing
Presented By: Sally
Mohamed
Agenda
 What’s In Your Mind?
 Mobile Platform
 What is Mobile App?
 Type Of Mobile Application, Which Should You Choose?
 Mobile Application Testing
 Why Mobile Apps Testing is Different from Desktop and Web?
 Types of Mobile Testing?
 What are the challenges in mobile app testing ?
 Testing Objective
 General Techniques
 Mobile Testing - Types
 Components Of Mobile Testing
 Mobile Testing Tools
 Workshop
Gone are the days when the telephone used to be an appliance that sat in a corner and had to
ring to get our attention or a computer was a machine only few people used – they are now an
extension of our being- a window to the world and virtual servants that do as they are told.
Computers were a rage and changed how we humans thought, behaved, learnt and existed.
Mobile technology and smart devices are the trend now and will change the future of the world
as we know it. We all can vouch for it, can’t we? Now, it will be amateurish if I list what we use
these mobile devices for. You all know it – May be better than we do.do
What’s In Your Mind?
Current version 6.0
Closed Source
Apple
Safari web browser
Sync Patch updates
Current version 6.0
Closed Source
Apple
Safari web browser
Sync Patch updates
iOS Windows Phone Symbian Blackberry OSAndroid
Closed Source
Current version 6.0
Closed Source
Apple
Multi-tasking
Safari web browser
Sync Patch updates
Current Version 4.1
Open Source
Open Handset Alliance
Multi-tasking
Chrome/ Webkit
Browser
Sync Patch / OTA
Current Version 7.5
Closed Source
Microsoft
Multi-tasking
Internet Explorer
Synch Patch updates
Symbian^4
Closed Source
Nokia
Multi-tasking
Webkit Browser
Sync Patch / OTA
Current version 7.0
Closed Source
RIM
Multi-tasking
Webkit Browser
Sync Patch / OTA
Mobile Platforms
What is Mobile App ?
Mobile applications are a rapidly developing segment of the global mobile market. They consists of
software that runs on a mobile device and performs certain tasks before the user of the Mobile
Phone. They can be downloaded physically through USB / WIFI from a desktop or can be
downloaded by a web server over internet.
 IQ Video Players
Audio Player
Streaming Players
Graphical Viewers
Presentation Viewers
 City Guide
Currency Converter
Translators
Weather
Itinerary
TravelMultimedia
MOBILE
Application
 Email Clients
IM Clients
Browser apps
Social Network Apps
 Calendars
Calculators
Diary
Banking / Finance
Directory Services
CommunicationProductivity
Utilities
Address Book manager File Manager
Call Manager
Native Applications
Nativeapplications aredeveloped
fora specific platform and installed
on the device
Hybrid Applications
Hybrid application (hybrid app) is
are combinations of native app and web
app. They run on devices or offline and are
written using web technologies like HTML5
and CSS.
Web Based Applications
Web based applications are
accessible through device browser
or third party browsers installed on
thedevice, like chrome, Firefox by
connecting to a mobile network or
wireless network like WIFI.
Depending on the requirements. Some apps are a better fit with web technologies than others. Knowing the pros and cons of
each approach will help you make the right decision about which path is appropriate for your situation.
Types Of Mobile Application
 live on the device and are accessed through icons on the device home screen.
 installed through an application store (such as Google Play or Apple’s App Store).
IPhone: Objective C
Symbian: C/C++
Windows Mobile: .NET CF
Android : Java for Application and C/C++ for Low Level
 They are developed specifically for one platform, and can take full advantage of all the device
features — they can use the camera, the GPS, the accelerometer, the compass, the list of contacts,
and so on.
 They can also incorporate gestures (either standard operating-system gestures or new, app-
defined gestures).
 Native apps can use the device’s notification system and can work offline.
Native App:
Mobile Web Apps:
 Web apps are not real applications; they are really websites that, in many ways, look
and feel like native applications, but are not implemented as such.
 They are run by a browser and typically written in HTML5.
 Users first access them as they would access any web page: they navigate to a special
URL and then have the option of “installing” them on their home screen by creating a
bookmark to that page.
 Web apps became really popular when HTML5 came around and people realized that
they can obtain native-like functionality in the browser.
 Today, as more and more sites use HTML5, the distinction between web apps and
regular web pages has become blurry.
Mobile web cons
In 2011 Financial Times withdrew its native app from Apple’s App Store to circumvent
subscription fees and maintain closer connection with their subscribers. Instead, it came
out with an iPhone web app (app.ft.com):
Horizontal swiping on Financial Times' web app Its web app is, in many ways, hard to
distinguish from a native app.
For instance, there are no visible browser buttons or bars, although it runs in Safari
(when accessed from an iPhone). Users can swipe horizontally to move on to new
sections of the app. And, due to browser caching, it’s even possible to read the
newspaper offline.
These are all features that are available in HTML5. Also available are the GPS, the tap-to-
call feature, and, there is talk about a camera API, although I haven’t seen any web app
(or web page) that takes advantage of it so far.
There are, however, native features that remain inaccessible (at least from now) in the
browser: the notifications, running in the background, accelerometer information (other
than detecting landscape or portrait orientations), complex gestures.
Of course, one can argue that many apps (native or otherwise) do not take advantage of
those extra features anyhow. But if you really need those native features, you’ll have to
create a native app or, at least, a hybrid app.
Hybrid apps:
 Hybrid apps are part native apps, part web apps. (Because of that, many people
incorrectly call them “web apps”).
 Like native apps, they live in an app store and can take advantage of the many device
features available.
 Like web apps, they rely on HTML being rendered in a browser, with the caveat that
the browser is embedded within the app.
 Often, companies build hybrid apps as wrappers for an existing web page; in that way,
they hope to get a presence in the app store, without spending significant effort for
developing a different app.
 Hybrid apps are also popular because they allow cross-platform development and
thus significantly reduce development costs: that is, the same HTML code
components can be reused on different mobile operating systems.
 Tools such as PhoneGap and Sencha Touch allow people to design and code across platforms,
using the power of HTML.
 Walgreens provides two very similar hybrid apps– one for Android and the other for iPhone.
Both apps have multiple sections and many native features such as access to notifications
and a Refill by scan feature that uses the phone camera to refill prescriptions:
 However, the Shop section in both the Android and iPhone apps uses a browser view that
renders the corresponding page of the Walgreens mobile website. Here are three pages
displaying the same content in the Android app, iPhone app, and mobile website
Let’s See Example:
Walgreens AndroidWalgreens mobile websiteWalgreens Android
Example
 As you can see, all these pages are the same, except for the top header, which is
platform specific. The Back button on iOS is translated into a caret on Android; the
logo is present on the web page, but not in the app. (The designers have correctly
assumed that on the web people need the logo to orient themselves, since they are
likely to land on a deep page without navigating through the homepage. In contrast,
in their apps all navigation has to go through the homepage).
 However, the Back button in the Android app ignores the fact that, unlike iPhones,
Android devices come with a physical or virtual Back button. The tab bar at the
bottom of the page works well in the iOS design, but is clunky and clearly non-native
on Android.
Each of these types of apps has their advantages and disadvantages, as I’ve tried to point out. Let’s
summarize them here.
Device features:
Although web apps can take advantage of some features, native apps (and the native components of the
hybrid apps) have access to the full paraphernalia of device-specific features, including GPS, camera,
gestures, and notifications.
Offline functioning:
A native app is best if your app must work when there is no connectivity. In-browser caching is available
in HTML5, but it’s still more limited than what you can get when you go native.
Discoverability:
Web apps win the prize on discoverability. Content is a lot more discoverable on the web than in an app:
When people have a question or an information need, they go to a search engine, type in their query,
and choose a page from the search results. They do not go to the app store, search for an app, download
it, and then try to find their answer within the app. most users don’t like installing and maintaining apps
(and also wasting space on their device), and will install an app only if they expect to use it often.
Native, Web App, or Hybrid: Which Should You Choose?
Platform independence. While different browsers may support different versions of
HTML5, if platform independence is important, you definitely have a better chance of
achieving it with web apps and hybrid apps than with native apps. As discussed before, at
least parts of the code can be reused when creating hybrid or web apps
Content restrictions, approval process, and fees. Dealing with a third party that
imposes rules on your content and design can be taxing both in terms of time and
money. Native and hybrid apps must pass approval processes and content restrictions
imposed by app stores, whereas the web is free for all. Not surprisingly, the first web
apps came from publications such as Playboy, who wanted to escape Apple’s prudish
content censure. And buying a subscription within an iOS app means that 30% of that
subscription cost goes to Apple, a big dent in the publishers’ budget.
Development cost.
It’s arguably cheaper to develop hybrid and web apps, as these require skills that build
up on previous experience with the web.. But, on the other hand, HTML5 is fairly new,
and good knowledge of it, as well as a good understanding of developing for the mobile
web and hybrid apps are also fairly advanced skills.
User Interface.
Last but not least, if one of your priorities is providing a user experience that is
consistent with the operating system and with the majority of the other apps available
on that platform, then native apps are the way to go. That doesn’t mean that you cannot
provide a good user experience with a web app or a hybrid app–it just means that the
graphics and the visuals will not be exactly the same as those with which users may be
already accustomed.
(To summarize, native apps, hybrid apps, or web apps are all ways to cater to the needs
of the mobile user. There is no unique best solution: each of these has their strengths
and weaknesses. The choice of one versus the other depends on each company’s unique
needs.
Speed:
Native apps win the speed competition. In 2012 Mark Zuckerberg declared that Facebook’s biggest
mistake had been betting on the mobile web and not going native. Up to that point, the Facebook
app had been a hybrid app with an HTML core; in 2012 it was replaced with a truly native app.
Installation.
Installing a native or hybrid app is a hassle for users: They need to be really motivated to justify the
effort. “Installing” a web app involves creating a bookmark on the home screen; this process, while
arguably simpler than downloading a new app from an app store, is less familiar to users, as people
don’t use bookmarks that much on mobile.
Maintenance:
Maintaining a native app can be complicated not only for users, but also for developers (especially if
they have to deal with multiple versions of the same information on different platforms): Changes
have to be packaged in a new version and placed in the app store. On the other hand, maintaining a
web app or a hybrid app is as simple as maintaining a web page, and it can be done as often or as
frequently as needed.
Device Access
App Requirements / Features
Gestures
Comparison between different App
•CSS
(GPS, gyroscope, accelerometer,
maintenance, and full application
works on any platform.
•Business-focused apps
full device access.
Native Hybrid Mobile Web
Skills/tools needed for cross-
platform apps
•Objective-C
•Java
•C
•C++
•C#
•VB.net
•HTML 5
•CSS3
•Javascript
•Mobiledevelopmentframework
(like PhoneGap)
•HTML
•Javascript
Distribution App Store/Market App Store/Market Internet
Development Speed Slow Moderate Fast
Ongoing application maintenance Difficult Moderate Low
Device access
Full access: (Camera,
microphone, GPS, gyroscope,
accelerometer,file upload,
etc..................…)
Mostly:
(Camera, microphone, GPS,
gyroscope, accelerometer, file
upload,
etc..................
…)
Partial access:
file upload.)
Offline access Yes Yes To an extent
Advantages
Lets you create apps with rich
user interfaces and/or heavy
graphics.
Combines the development speed
of mobile web apps with the
device access and app store
distribution of native apps.
Offers fast development, simple
portability. One mobile web app
Disadvantages
•Development Time
•Development Cost
•Ongoing Maintenance
•No portability (apps cannot be
used on other platforms)
•Can’t handle heavy graphics.
•Requires familiarity with a
mobile framework
•Can’t handle heavy graphics.
•Can’t access camera or
microphone.
Best used for
•Games
•Consumer-focused apps that
require a highly graphic interface
•Consumer-focused apps with a
moderately graphical interface.
•Business-focused apps that need
•General non-game apps.
Mobile Application Testing
Mobile application testing is a process by which application software developed for
hand held mobile devices is tested for its functionality, usability and consistency
Factory Testing
Hardware or
Device Testing
Certificate Testing
Mobile Testing
Application Testing
Software Testing
Content Testing
19
Why Mobile Apps Testing is Different from Desktop and Web?
1. Supported platforms and devices mean you have more combinations to test.
Desktop apps were usually targeted for specific platforms and it was relatively easy to access
those platforms. Web based applications made it a bit more challenging by adding another
dimension: browsers.
Mobile applications take complexity of supported platforms to the next level by adding devices.
Ensuring that mobile apps are working on all type of devices (smartphone, tablets, and phablets)
supplied by major brands (various models from Samsung, Sony, Nokia, HTC, Apple,
etc...................) and on all the platforms (iOS, Android, Windows, BlackBerry, etc...................) is
challenging. On top of that, new devices are hitting market so often that it becomes impossible to
cover all the major devices.
In the mobile world, it is important to create something on the lines of graded browser support
used by Yahoo to ensure that major platforms are covered.
2. Adaptability and limited space mean screen size is changing constantly.
Pretty much all the major players are changing screen sizes of their phones, tablets, and phablets
to figure out what works or in response to the competition. How applications adapts themselves
for various screen sizes, layout, and configuration is a challenging task.
Apart from adaptability to different screen sizes, mobile applications have to deal with the limited
screen size. Limited screen size means that user can not be given 30 different options on a single
screen – usability, similar experience, on-screen help, inability to use search or other applications
easily, etc................... – poses different challenges and as a tester we need to think beyond what
is developed and always think of who will use it and in what circumstances.
3. Complex user interaction means more than one way to do everything.
User interaction in desktop and browser based applications was pretty much limited to mouse
and keyboard. Mobile applications on the other hand are trying to make user interaction as fluid
as possible. We had touch screen and with new phones from Samsung, you can just wave your
hand to give commands. Siri is becoming more and more advanced and gives us a glimpse of
future that voice commands may become part of every application in future. Devices are smart
enough to understand complex gestures, eye movement, direction, tilt, movement, acceleration,
GPS coordinates, surroundings, sound, and so on.
As a tester, we need to ensure that application works as expected when user interacts with the
app in different ways.
4. Application type – HTML5, Native or Hybrid – means applications are merging.
In the desktop and browser world, applications were straightforward. They were either desktop
or web applications. However, with the adoption and support of HTML5, the applications are
merging. On all the mobile devices, it is not difficult to find HTML5 applications, native
applications and hybrid applications. Testing for hybrid applications would be different from
testing native applications and it is important to understand that difference.
5. Dependency on emulators and simulators means true representation is lacking.
For the desktop and browsers, developers always had access to the platform or browsers they
were targeting with their applications. Also, virtualization has become more or less commonplace
and can be trusted for desktop and browsers.
Mobile devices on the other hand relies on emulator and simulators. However, they are still not
true representation of the devices. It is also not possible to replicate advanced user interaction
on these simulators. As a tester, we have to be aware of the capabilities and limitations of these
emulators and simulators and figure out what can be tested (reliability) on them and what
cannot.
6. Security and privacy concerns mean a greater emphasis on misuse of data.
Though most mobile applications live in their own sandbox but many platform features are
accessible to them. For example, applications such as phone book, pictures, and videos are
accessible to many other applications. These are all personal user data, and any defect around
the (unintentional) misuse of this data can jeopardize trust of the application.
In mobile world, it is important to ensure that applications are secure from the intruders, and it is
equally important to ensure that applications are not intruding or accessing data unintentionally.
7. Dependency on networks and carriers means more variations in testing.
In desktop and web world, most users were either on LAN or Wireless. These network were not
predictable, but compared to mobile networks, they were very predictable. Many connected
mobile applications rely on the network – how application responds to 3G, 4G, weak signals, no
signals, powerful signals, switching from cellular to wireless and vice-versa or when user is
moving at different speeds, etc................... – can affect how the application will behave. It is often
not possible to come up with or simulate real life situations for mobile applications.
Apart from the variation in signal strength and type, mobile apps can respond differently to
different carriers. As a tester, it is important to understand if there are any difference or not and
whether application works for all the major carriers or not.
8. Rapid installations, removals, and updates mean staying on top of the latest apps.
Mobile apps are installed, removed, or updated more frequently than desktop applications. Also,
underlying OS and platform is updated more frequently as well. As an app developer and tester in
the mobile world, you have to be on top of what changes are coming in the next revision of OS /
Platform and how it might affect the application.
Usually for most of the applications, user data is stored on the servers and not on the devices. It
makes installation a bit tricky. What if the user has multiple devices? What if multiple devices
have different version of applications?
Things like backward compatibility, simultaneous support for multiple versions, data preservation,
restoring state and data, the ability to install / upgrade multiple times are all part of important
checks for mobile application testing.
9. Session management and interruptions mean ensuring that the app behaves properly.
Handling interruptions are the way of life for mobile applications. Apps and users are constantly
interrupted by calls, SMS, push notifications, and so on. How applications handle these
interruptions and how they maintain their state are important, but it is also important to see how
many interruptions the application is generating and what triggers those interruptions.
As a tester, it is important to ensure that application behaves properly when it is interrupted and
it is also important to ensure that the application does not interrupt unnecessarily and works
according to the boundary defined by the platform or the users.
10. Mobile-specific non-functional testing means there are many more dimensions to testing.
Mobile applications add many more dimensions to the non-functional testing. Old school
performance of the application is the obvious one, but there are many other factors as well which
should be considered.
How much data your application is consuming? How much it would cost the user (data usage) to
use this application? How much battery is consumed by applications? Does it behave differently
in high battery and low battery conditions? How much space is it occupying? How much trail is it
leaving? How is it clearing the trails / logs, etc................... are important non-functional factors
which should be considered as part of mobile testing strategy.
Types of Mobile Testing
1-Hardware testing (Mobile testing) :
mostly is related to testing the mobile hardware
i.e. The device including the internal processors, internal hardware, screen sizes, resolution, space
or memory, camera, radio, Bluetooth, WIFI etc...................
2-Mobile application testing :
related to testing the software (applications in mobile) part of the mobile and their functionality
Is tested.
i.e. Mobile applications include call handling, messaging..etc......................
Mobile Testing-How It Is different?
DEVICE DIVERSITY HARDWARECHALLENGES
•
•
•
•
Multiple Platforms
Multiple Browsers
Rendering differences
Mobile devices have different
application runtimes.
• Limitations in processing
speed
Limitations of Memory size
of mobile
Differences in
Communication Protocols
of devices WAP/ HTTP.
•
•
NETWORK CHALLENGES
•
•
•
•
Multiple type of Networks(GSM / GPRS / Wi-Fi / Wi-Max
etc.................. )
Unpredictable time taken for data transfer
Different speed of connectivity across geographies
Multiple Network Operators with customized Network features
What are the challenges in mobile app testing ?
 Wide varieties of mobile devices (Devices Vary in
Screen Size, Memory, Processing Power, Hardware
Features etc...................)
 Different mobile operating system
 Different mobile network operators
 Input method (QWERTY, touch, normal)
 Hardware compatibility……. And so on.
 Device Fragmentation is a Big Challenge
 Apple iPhone is Least Fragmented among All Mobile Platforms
 Testing on All Target Handset/Devices Almost Handsets is Large
 Testing on All Target Operator Networks Almost Impractical if Number of Target Operators is Large
Network Operator may Impose Certain Constraints
 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(translation, Avoid abbreviation)
An example is that your mobile app could require double-byte characters (for East Asian
languages) or have to support bi-directional display (for Middle Eastern languages).
• Hundreds of Devices with Many Variants of Each Device
 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
 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 Application Testing Complexities
• The world of mobile applications has evolved to the point where it is now one of the basic
levels of communication services, becoming essential to the everyday needs of the common
mobile user. As the number of users grows exponentially, it is of utmost importance to
ensure that mobile application requirements are met and that systems meet their purpose.
• What makes mobile applications unique? Why is it not possible for standard test cases and
running procedures to be employed to meet requirements?
• Complexity is the key to understanding the challenges we face when we want to develop, or
in my case to test, mobile applications. We have so many operational systems, and different
manufacturers and models, so what should we test? How many devices should we cover?
Twenty or one hundred? What are the trends and tools available in the market to solve these
questions?
“ COMPLEXITY IS THE KEY TO UNDERSTANDING THE CHALLENGES WE FACE WHEN WE WANT TO
DEVELOP, OR ITEST, MOBILE APPLICATIONS”
Testing objectives
• What are we testing –
mobile website or mobile application
• For whom –
user profile (geography, technical skills, expectations etc...................)
• Devices –
which models and/or emulators will be used for testing
• How –
defining approaches (Friends & Family testing, scenario-based etc...................)
General Techniques
 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
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
 Start Testing on Real Devices as Early as Possible
 There is No Good Alternative to a Real Device for Testing (Why?)
Mobile Testing - Types
Test to ensure the stability of the
applicationso that it can be taken for
further levels of testing.
Analyzing the logs and measure/monitor
the performance of mobile devices in a
real world environment across different
network infrastructures.
Testing of a product in the actual context
in which it will be used.
Field tests performed validate handset
network success in a real world live
network environment
Documented features are
implemented in the application and
work as expected.
Test the text, logos and all UI level
validation
Validate Usability aspects such as
Trackball, Touch etc..................



Sanity Testing

Mobile
Testing Validate Application behaves as
expected and stable during the
course of Interruptions
Incoming Calls, SMS Notifications,
Low Battery, Network related
testing such as Low network, Zero
Network etc..................

22
§ Tailor devices to the unique Language
§ Translate user interfaces and
provide documentation and support in local
language,
§ Perform all types of testing in the respective
Components of Mobile Testing
Emulators /
Simulators
Mobile
Devices
Mobile Application
Testing
Network
connectivity
Testing tools
and
Accelerators
Mobile Testing – Emulator/Simulator
• Device emulator / Simulator is a desktop application that
emulates
• mobile device hardware and operating systems, allowing us to
test and debug our applications and see how they are working.
• No cost involved – Various OS versions, screen sizes, Device
models are available for free download
• Provided by the OEM, Simulators represents 90% of real life
however, certain types of testing are not possible (like
interruption, network connectivity
• Easily installable on a normal system – Android, Black Berry,
Symbian, Windows
• Mobile require Windows desktop while, iOS require MAC
• Ideal for functional testing needs
• Some level of development knowledge required to benefit on
the features Provided
Emulator / Simulator – The Difference
Emulators mimic the software and hardware environments
found on actual devices
Simulators, on the other hand, only mimic the software
environment
)
Android Emulator
iOS Simulator
iOS Simulators
Introduction:
• iPhone and iPad are popular devices from Apple. Its has its own proprietary operating system,
iOS. Its well known for its design and performance.
• Many applications of native, web and hybrid type are available which can be download from
Apple iStore
• Applications for iPhone can be installed both over air and using iTunes application
Prerequisites:
MAC Environment
Getting Started:
• Deploy Native app into iPhone Simulator using Code.
• Code - an integrated development environmentthat manages your application projects and
lets to edit, compile, run, and debug code
• Once the native app is deployed, the app icon appears on simulator, thus aids to access the app
directly from simulator
• Testing in UIAutomation can be done by both developer and tester, it requires knowledge of
iPhone development.
• UIAutomation is the automation technique for iPhone. It uses JavaScript as test script to
perform automation. This can be done both in device and simulator
• iPhone Simulator does not emulate an iPhone processor, disk drive, memory constraints
Android Emulators
OVERVIEW
• Android emulator comes as part of the android SDK commonly known as AVD
– Android Virtual
Device.
• It lets the user to prototype, develop, and test Android applications without using a physical device.
Android Emulators
• The AVD’s are OS version specific and provides the user the flexibility to
customize OS version,
resolution, skin, sd card size and various other hardware properties to be emulated.
• There are many command line utilities and tools which comes as part of the sdk which makes it easy to
debug and interact with emulator
Prerequisites for Android Emulator
• JRE – Java Runtime Environment
• Android SDK
Installing an application
• If the application is available in Google Playstore it can be directly
downloaded and installed on to the device.
• If the application is available in ‘.apk’ format ,it can be installed
Blackberry Emulators
OVERVIEW
• BlackBerry Simulators is different from the other emulators as this is
Device model specific (rather than OS version)
• Easy to use interface for installing and testing apps
Blackberry Emulators
• Model specific blackberry emulators are available from RIM as
standalone window applications and also along with BB JDK.
• The BlackBerry MDS Simulator and the BlackBerry Email Simulator
simulates internet and email services respectively.
Prerequisites for Blackberry Simulator
• JRE – Java Runtime Environment
• Blackberry simulator package
• Blackberry email and MDS Simulator
Installing an application on Blackberry emulator
• If the application is in .cod format, it can be directly loaded in to the
emulator from the menu options in emulator.
• If the simulator is being used with an IDE or Blackberry JDE it directly
loads the application into the simulator and runs it.
• The blackberry device manager can also be used to for installing the
applications on emulator and device
Windows Phone - Emulators
Description
Windows Phone 7 is a mobile operating system developed by Microsoft,
and is the successor to its Windows Mobile platform. The windows phone
7 emulator comes with SDK and Windows Developer Tool Kit.
Pre-requisites for the emulator
• Windows Vista and higher Desktop OS
• Microsoft Silverlight along with silver light toolkit for windows phone
• Visual Studio 2010
• Windows mobile 7 sdk
Installing applications in emulator
• Open the “Application Deployment” tool which is the part of “Windows
Phone
Developers Tool”
• Provide the path to the .xap file of the application in the tool
• The emulator opens showing the application that has been installed
Emulators / Simulators – Limitations
Limitations
• No support for placing or receiving actual phone calls. You can simulate phone calls (placed
and received) through the emulator console, however.
• No support for USB connections
• No support for camera/video capture (input).
• No support for determining connected state
• No support for Bluetooth
• No support for actual GPS
• No support for Accelerometer feature used in Gaming applications
Mobile Testing Tools
Mobile Testing Tools
Remote Based Desktop Based
Industry Based Open Source
•
•
•
•
•
Squish
FoneMonkey
JamoSolutions
Eggplant
SeeTest
Device Anywhere
•
•
Robotium
SeleniumPerfecto Mobile
Cognizant Mobility Lab
Tool Selection Criteria
• Platforms support
•Supported Versions of platforms
•Types of automation supported.
•Device variants within a platforms (
form factors)
Scope based
decisions
Cost Benefit Analysis
•Working on both simulator /device
•Integration to test management
•Ease of use and scripting support
Feature based
decisionsTimelines for the
project
• Stability
•Dependency on Mac/desktops
•Cloud based/stand alone
Infrastructure
decisions
Regression Test
Count & Complexity
32
Some Mobile Testing Tools
33
Mobile Test Tools in Market -Comparison
& Blackberry
'Sensetalk'
complex
any other test
supported by QTP
breaking
Tools/ Parameters
Test Quest
Countdown
Device Anywhere
Pro
Jamo Solutions Perfecto Mobile Robotium Eggplant
Support of
devices/platform
s
Android,
Blackberry,
Symbian &
Windows mobile
All major mobile
Platforms
Android, Windows
Mobile, Blackberry &
IOS
All major mobile
Platforms
Android
Android, IOS
Licensing Cost Cost Cost Cost OpenSource cost
Ease Of Usage Easy to use Easy to use Easy to use Easy to use Needs
programming
Easy to use
Scripting No Scripting Scripting Possible Uses VB script
No programming
language for scripts,.
Script is simple and can
be easily understood
Uses java
Uses
Test Data
Parameterization
Possible Possible but
complex
Possible Possible Possible but
complex
Possible but
Remote
Connectivity
Possible Possible Possible Not Possible Not Possible Possible
Integration with
test management
In-built test
management tool
test manager
Quality Center
Quality Center and
management tool Possible Not Possible Not Possible
Jail Breaking /
Routing
Needs Jail
breaking
DA hosts Jail broken
devices
No Jail breaking
Perfecto Mobile hosts
Jail broken devices
Needs Jail
breaking
Needs Jail
Workshop
Q&A
Contact Us
Website:
http://www.geekit.me
E-Mail : info@geekit.me
Mobile App Testing

Weitere ähnliche Inhalte

Was ist angesagt?

Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingNoor Orfahly
 
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 Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - AppiumMaria Machlowska
 
Presentation on mobile app testing
Presentation on mobile app testingPresentation on mobile app testing
Presentation on mobile app testingUttam Shrestha
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practicesRakesh Jha
 
Mobile Testing Service Desk_Own.ppt
Mobile Testing Service Desk_Own.pptMobile Testing Service Desk_Own.ppt
Mobile Testing Service Desk_Own.pptQA Programmer
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with AppiumManoj Kumar Kumar
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobiGnosis
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing Shivaraj R
 
Appium basics
Appium basicsAppium basics
Appium basicsSyam Sasi
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Zhentian Wan
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile AppsSauce Labs
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-AutomationMindfire Solutions
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsPaul Sons
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile DevelopmentPragnesh Vaghela
 

Was ist angesagt? (20)

Mobile App Testing Strategy
Mobile App Testing StrategyMobile App Testing Strategy
Mobile App Testing Strategy
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
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 Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - Appium
 
Presentation on mobile app testing
Presentation on mobile app testingPresentation on mobile app testing
Presentation on mobile app testing
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practices
 
Mobile Testing Service Desk_Own.ppt
Mobile Testing Service Desk_Own.pptMobile Testing Service Desk_Own.ppt
Mobile Testing Service Desk_Own.ppt
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training Presentation
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
Appium basics
Appium basicsAppium basics
Appium basics
 
Automation using Appium
Automation using AppiumAutomation using Appium
Automation using Appium
 
Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)Introduction to Progressive web app (PWA)
Introduction to Progressive web app (PWA)
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
 
Ionic Framework
Ionic FrameworkIonic Framework
Ionic Framework
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 
Appium
AppiumAppium
Appium
 
Mobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web AppsMobile Application Development: Hybrid, Native and Mobile Web Apps
Mobile Application Development: Hybrid, Native and Mobile Web Apps
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
 

Andere mochten auch

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
 
Mobile App Testing
Mobile App TestingMobile App Testing
Mobile App TestingDuy Tan Geek
 
Techniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingTechniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingSOASTA
 
How to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingHow to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingDaniel Knott
 
Mobile App Testing by Mark Wilson
Mobile App Testing by Mark WilsonMobile App Testing by Mark Wilson
Mobile App Testing by Mark Wilsonphpwgtn
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBitbar
 
Hands-On Mobile App Testing
Hands-On Mobile App TestingHands-On Mobile App Testing
Hands-On Mobile App TestingDaniel Knott
 
Mobile App Testing Checklist
Mobile App Testing ChecklistMobile App Testing Checklist
Mobile App Testing ChecklistManoj Lonar
 
7 mobile app usability testing best practices by UserTesting
7 mobile app usability testing best practices by UserTesting7 mobile app usability testing best practices by UserTesting
7 mobile app usability testing best practices by UserTestingUserTesting
 
Testing Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsTesting Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsIndicThreads
 
Apps Vs. Mobile Web Revisited
Apps Vs. Mobile Web RevisitedApps Vs. Mobile Web Revisited
Apps Vs. Mobile Web RevisitedMediaPost
 
Head to head: mobile app vs. mobile web, Glossy Forum, October 20th
Head to head: mobile app vs. mobile web, Glossy Forum, October 20thHead to head: mobile app vs. mobile web, Glossy Forum, October 20th
Head to head: mobile app vs. mobile web, Glossy Forum, October 20thDigiday
 
Web App Testing With Selenium
Web App Testing With SeleniumWeb App Testing With Selenium
Web App Testing With Seleniumjoaopmaia
 
Automated software testing
Automated software testingAutomated software testing
Automated software testinggauravpanwar8
 
Raj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web TestingRaj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web TestingQA or the Highway
 
Mdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile TestingMdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile Testingmomobangalore
 

Andere mochten auch (20)

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
 
Mobile App Testing
Mobile App TestingMobile App Testing
Mobile App Testing
 
Techniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingTechniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App Testing
 
How to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingHow to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App Testing
 
Mobile App Testing by Mark Wilson
Mobile App Testing by Mark WilsonMobile App Testing by Mark Wilson
Mobile App Testing by Mark Wilson
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
 
Hands-On Mobile App Testing
Hands-On Mobile App TestingHands-On Mobile App Testing
Hands-On Mobile App Testing
 
Mobile App Testing Checklist
Mobile App Testing ChecklistMobile App Testing Checklist
Mobile App Testing Checklist
 
7 mobile app usability testing best practices by UserTesting
7 mobile app usability testing best practices by UserTesting7 mobile app usability testing best practices by UserTesting
7 mobile app usability testing best practices by UserTesting
 
Testing Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsTesting Techniques for Mobile Applications
Testing Techniques for Mobile Applications
 
App v. Web
App v. WebApp v. Web
App v. Web
 
Apps Vs. Mobile Web Revisited
Apps Vs. Mobile Web RevisitedApps Vs. Mobile Web Revisited
Apps Vs. Mobile Web Revisited
 
Head to head: mobile app vs. mobile web, Glossy Forum, October 20th
Head to head: mobile app vs. mobile web, Glossy Forum, October 20thHead to head: mobile app vs. mobile web, Glossy Forum, October 20th
Head to head: mobile app vs. mobile web, Glossy Forum, October 20th
 
Named Entities
Named EntitiesNamed Entities
Named Entities
 
Geekit -Testing Services
Geekit -Testing ServicesGeekit -Testing Services
Geekit -Testing Services
 
Web App Testing With Selenium
Web App Testing With SeleniumWeb App Testing With Selenium
Web App Testing With Selenium
 
Automated software testing
Automated software testingAutomated software testing
Automated software testing
 
Raj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web TestingRaj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web Testing
 
Mobile testing in the cloud
Mobile testing in the cloudMobile testing in the cloud
Mobile testing in the cloud
 
Mdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile TestingMdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile Testing
 

Ähnlich wie Mobile App Testing

Mobile app development
Mobile app developmentMobile app development
Mobile app developmentSanjay Kumar
 
Types of mobile apps mobile app development
Types of mobile apps  mobile app developmentTypes of mobile apps  mobile app development
Types of mobile apps mobile app developmentWebwing Technologies
 
MOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college studentsMOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college studentsAprilJasminePacis
 
Why Hybrid Mobile Applications is Best for Your Business, Engineer Master Sol...
Why Hybrid Mobile Applications is Best for Your Business, Engineer Master Sol...Why Hybrid Mobile Applications is Best for Your Business, Engineer Master Sol...
Why Hybrid Mobile Applications is Best for Your Business, Engineer Master Sol...engineermaste solution
 
Learn everything about mobile app development. .pdf
Learn everything about mobile app development. .pdfLearn everything about mobile app development. .pdf
Learn everything about mobile app development. .pdfArgpnteq
 
Web Application Development in 2023.pdf
Web Application Development in 2023.pdfWeb Application Development in 2023.pdf
Web Application Development in 2023.pdfTechugo
 
Mobile for B2B: Native or Web?
Mobile for B2B: Native or Web?Mobile for B2B: Native or Web?
Mobile for B2B: Native or Web?Omobono
 
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARIMOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARISivaSankari36
 
How Much Cost to Build a Mobile App
How Much Cost to Build a Mobile AppHow Much Cost to Build a Mobile App
How Much Cost to Build a Mobile Appqsstechnosoft1
 
Web Application Development- Best Practices in 2023.
Web Application Development- Best Practices in 2023.Web Application Development- Best Practices in 2023.
Web Application Development- Best Practices in 2023.Techugo
 
Native, Web App, or Hybrid: Which Should You Choose?
Native, Web App, or Hybrid: Which Should You Choose?Native, Web App, or Hybrid: Which Should You Choose?
Native, Web App, or Hybrid: Which Should You Choose?Softweb Solutions
 
Trip advsiorhybridpresentation
Trip advsiorhybridpresentationTrip advsiorhybridpresentation
Trip advsiorhybridpresentationElanaBoehm
 
A Guide to Mobile App Development - Web vs Native vs Hybrid.pdf
A Guide to Mobile App Development - Web vs Native vs Hybrid.pdfA Guide to Mobile App Development - Web vs Native vs Hybrid.pdf
A Guide to Mobile App Development - Web vs Native vs Hybrid.pdfWDP Technologies
 

Ähnlich wie Mobile App Testing (20)

Mobile app development
Mobile app developmentMobile app development
Mobile app development
 
How many types of mobile apps
How many types of mobile appsHow many types of mobile apps
How many types of mobile apps
 
Types of mobile apps mobile app development
Types of mobile apps  mobile app developmentTypes of mobile apps  mobile app development
Types of mobile apps mobile app development
 
MOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college studentsMOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college students
 
Why Hybrid Mobile Applications is Best for Your Business, Engineer Master Sol...
Why Hybrid Mobile Applications is Best for Your Business, Engineer Master Sol...Why Hybrid Mobile Applications is Best for Your Business, Engineer Master Sol...
Why Hybrid Mobile Applications is Best for Your Business, Engineer Master Sol...
 
Learn everything about mobile app development. .pdf
Learn everything about mobile app development. .pdfLearn everything about mobile app development. .pdf
Learn everything about mobile app development. .pdf
 
Different types of mobile apps
Different types of mobile appsDifferent types of mobile apps
Different types of mobile apps
 
Mobile app vs web app
Mobile app vs web appMobile app vs web app
Mobile app vs web app
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Fundamentals of Mobile App Development Technology
Fundamentals of Mobile App Development TechnologyFundamentals of Mobile App Development Technology
Fundamentals of Mobile App Development Technology
 
mobile Application Development
mobile Application Developmentmobile Application Development
mobile Application Development
 
Web Application Development in 2023.pdf
Web Application Development in 2023.pdfWeb Application Development in 2023.pdf
Web Application Development in 2023.pdf
 
Mobile Application .pdf
Mobile Application .pdfMobile Application .pdf
Mobile Application .pdf
 
Mobile for B2B: Native or Web?
Mobile for B2B: Native or Web?Mobile for B2B: Native or Web?
Mobile for B2B: Native or Web?
 
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARIMOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
 
How Much Cost to Build a Mobile App
How Much Cost to Build a Mobile AppHow Much Cost to Build a Mobile App
How Much Cost to Build a Mobile App
 
Web Application Development- Best Practices in 2023.
Web Application Development- Best Practices in 2023.Web Application Development- Best Practices in 2023.
Web Application Development- Best Practices in 2023.
 
Native, Web App, or Hybrid: Which Should You Choose?
Native, Web App, or Hybrid: Which Should You Choose?Native, Web App, or Hybrid: Which Should You Choose?
Native, Web App, or Hybrid: Which Should You Choose?
 
Trip advsiorhybridpresentation
Trip advsiorhybridpresentationTrip advsiorhybridpresentation
Trip advsiorhybridpresentation
 
A Guide to Mobile App Development - Web vs Native vs Hybrid.pdf
A Guide to Mobile App Development - Web vs Native vs Hybrid.pdfA Guide to Mobile App Development - Web vs Native vs Hybrid.pdf
A Guide to Mobile App Development - Web vs Native vs Hybrid.pdf
 

Kürzlich hochgeladen

BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceDelhi Call girls
 
Leading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfLeading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfCWS Technology
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPsychicRuben LoveSpells
 
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Servicenishacall1
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRnishacall1
 

Kürzlich hochgeladen (6)

BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 71 Noida Escorts >༒8448380779 Escort Service
 
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 
Leading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdfLeading Mobile App Development Companies in India (2).pdf
Leading Mobile App Development Companies in India (2).pdf
 
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost LoverPowerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
Powerful Love Spells in Arkansas, AR (310) 882-6330 Bring Back Lost Lover
 
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
9999266834 Call Girls In Noida Sector 52 (Delhi) Call Girl Service
 
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCRFULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
FULL ENJOY - 9999218229 Call Girls in {Mahipalpur}| Delhi NCR
 

Mobile App Testing

  • 2. Agenda  What’s In Your Mind?  Mobile Platform  What is Mobile App?  Type Of Mobile Application, Which Should You Choose?  Mobile Application Testing  Why Mobile Apps Testing is Different from Desktop and Web?  Types of Mobile Testing?  What are the challenges in mobile app testing ?  Testing Objective  General Techniques  Mobile Testing - Types  Components Of Mobile Testing  Mobile Testing Tools  Workshop
  • 3. Gone are the days when the telephone used to be an appliance that sat in a corner and had to ring to get our attention or a computer was a machine only few people used – they are now an extension of our being- a window to the world and virtual servants that do as they are told. Computers were a rage and changed how we humans thought, behaved, learnt and existed. Mobile technology and smart devices are the trend now and will change the future of the world as we know it. We all can vouch for it, can’t we? Now, it will be amateurish if I list what we use these mobile devices for. You all know it – May be better than we do.do
  • 5. Current version 6.0 Closed Source Apple Safari web browser Sync Patch updates Current version 6.0 Closed Source Apple Safari web browser Sync Patch updates iOS Windows Phone Symbian Blackberry OSAndroid Closed Source Current version 6.0 Closed Source Apple Multi-tasking Safari web browser Sync Patch updates Current Version 4.1 Open Source Open Handset Alliance Multi-tasking Chrome/ Webkit Browser Sync Patch / OTA Current Version 7.5 Closed Source Microsoft Multi-tasking Internet Explorer Synch Patch updates Symbian^4 Closed Source Nokia Multi-tasking Webkit Browser Sync Patch / OTA Current version 7.0 Closed Source RIM Multi-tasking Webkit Browser Sync Patch / OTA Mobile Platforms
  • 6. What is Mobile App ? Mobile applications are a rapidly developing segment of the global mobile market. They consists of software that runs on a mobile device and performs certain tasks before the user of the Mobile Phone. They can be downloaded physically through USB / WIFI from a desktop or can be downloaded by a web server over internet.  IQ Video Players Audio Player Streaming Players Graphical Viewers Presentation Viewers  City Guide Currency Converter Translators Weather Itinerary TravelMultimedia MOBILE Application  Email Clients IM Clients Browser apps Social Network Apps  Calendars Calculators Diary Banking / Finance Directory Services CommunicationProductivity Utilities Address Book manager File Manager Call Manager
  • 7. Native Applications Nativeapplications aredeveloped fora specific platform and installed on the device Hybrid Applications Hybrid application (hybrid app) is are combinations of native app and web app. They run on devices or offline and are written using web technologies like HTML5 and CSS. Web Based Applications Web based applications are accessible through device browser or third party browsers installed on thedevice, like chrome, Firefox by connecting to a mobile network or wireless network like WIFI. Depending on the requirements. Some apps are a better fit with web technologies than others. Knowing the pros and cons of each approach will help you make the right decision about which path is appropriate for your situation. Types Of Mobile Application
  • 8.  live on the device and are accessed through icons on the device home screen.  installed through an application store (such as Google Play or Apple’s App Store). IPhone: Objective C Symbian: C/C++ Windows Mobile: .NET CF Android : Java for Application and C/C++ for Low Level  They are developed specifically for one platform, and can take full advantage of all the device features — they can use the camera, the GPS, the accelerometer, the compass, the list of contacts, and so on.  They can also incorporate gestures (either standard operating-system gestures or new, app- defined gestures).  Native apps can use the device’s notification system and can work offline. Native App:
  • 9. Mobile Web Apps:  Web apps are not real applications; they are really websites that, in many ways, look and feel like native applications, but are not implemented as such.  They are run by a browser and typically written in HTML5.  Users first access them as they would access any web page: they navigate to a special URL and then have the option of “installing” them on their home screen by creating a bookmark to that page.  Web apps became really popular when HTML5 came around and people realized that they can obtain native-like functionality in the browser.  Today, as more and more sites use HTML5, the distinction between web apps and regular web pages has become blurry.
  • 10. Mobile web cons In 2011 Financial Times withdrew its native app from Apple’s App Store to circumvent subscription fees and maintain closer connection with their subscribers. Instead, it came out with an iPhone web app (app.ft.com): Horizontal swiping on Financial Times' web app Its web app is, in many ways, hard to distinguish from a native app. For instance, there are no visible browser buttons or bars, although it runs in Safari (when accessed from an iPhone). Users can swipe horizontally to move on to new sections of the app. And, due to browser caching, it’s even possible to read the newspaper offline. These are all features that are available in HTML5. Also available are the GPS, the tap-to- call feature, and, there is talk about a camera API, although I haven’t seen any web app (or web page) that takes advantage of it so far. There are, however, native features that remain inaccessible (at least from now) in the browser: the notifications, running in the background, accelerometer information (other than detecting landscape or portrait orientations), complex gestures. Of course, one can argue that many apps (native or otherwise) do not take advantage of those extra features anyhow. But if you really need those native features, you’ll have to create a native app or, at least, a hybrid app.
  • 11. Hybrid apps:  Hybrid apps are part native apps, part web apps. (Because of that, many people incorrectly call them “web apps”).  Like native apps, they live in an app store and can take advantage of the many device features available.  Like web apps, they rely on HTML being rendered in a browser, with the caveat that the browser is embedded within the app.  Often, companies build hybrid apps as wrappers for an existing web page; in that way, they hope to get a presence in the app store, without spending significant effort for developing a different app.  Hybrid apps are also popular because they allow cross-platform development and thus significantly reduce development costs: that is, the same HTML code components can be reused on different mobile operating systems.
  • 12.  Tools such as PhoneGap and Sencha Touch allow people to design and code across platforms, using the power of HTML.  Walgreens provides two very similar hybrid apps– one for Android and the other for iPhone. Both apps have multiple sections and many native features such as access to notifications and a Refill by scan feature that uses the phone camera to refill prescriptions:  However, the Shop section in both the Android and iPhone apps uses a browser view that renders the corresponding page of the Walgreens mobile website. Here are three pages displaying the same content in the Android app, iPhone app, and mobile website Let’s See Example:
  • 13. Walgreens AndroidWalgreens mobile websiteWalgreens Android Example
  • 14.  As you can see, all these pages are the same, except for the top header, which is platform specific. The Back button on iOS is translated into a caret on Android; the logo is present on the web page, but not in the app. (The designers have correctly assumed that on the web people need the logo to orient themselves, since they are likely to land on a deep page without navigating through the homepage. In contrast, in their apps all navigation has to go through the homepage).  However, the Back button in the Android app ignores the fact that, unlike iPhones, Android devices come with a physical or virtual Back button. The tab bar at the bottom of the page works well in the iOS design, but is clunky and clearly non-native on Android.
  • 15. Each of these types of apps has their advantages and disadvantages, as I’ve tried to point out. Let’s summarize them here. Device features: Although web apps can take advantage of some features, native apps (and the native components of the hybrid apps) have access to the full paraphernalia of device-specific features, including GPS, camera, gestures, and notifications. Offline functioning: A native app is best if your app must work when there is no connectivity. In-browser caching is available in HTML5, but it’s still more limited than what you can get when you go native. Discoverability: Web apps win the prize on discoverability. Content is a lot more discoverable on the web than in an app: When people have a question or an information need, they go to a search engine, type in their query, and choose a page from the search results. They do not go to the app store, search for an app, download it, and then try to find their answer within the app. most users don’t like installing and maintaining apps (and also wasting space on their device), and will install an app only if they expect to use it often. Native, Web App, or Hybrid: Which Should You Choose?
  • 16. Platform independence. While different browsers may support different versions of HTML5, if platform independence is important, you definitely have a better chance of achieving it with web apps and hybrid apps than with native apps. As discussed before, at least parts of the code can be reused when creating hybrid or web apps Content restrictions, approval process, and fees. Dealing with a third party that imposes rules on your content and design can be taxing both in terms of time and money. Native and hybrid apps must pass approval processes and content restrictions imposed by app stores, whereas the web is free for all. Not surprisingly, the first web apps came from publications such as Playboy, who wanted to escape Apple’s prudish content censure. And buying a subscription within an iOS app means that 30% of that subscription cost goes to Apple, a big dent in the publishers’ budget.
  • 17. Development cost. It’s arguably cheaper to develop hybrid and web apps, as these require skills that build up on previous experience with the web.. But, on the other hand, HTML5 is fairly new, and good knowledge of it, as well as a good understanding of developing for the mobile web and hybrid apps are also fairly advanced skills. User Interface. Last but not least, if one of your priorities is providing a user experience that is consistent with the operating system and with the majority of the other apps available on that platform, then native apps are the way to go. That doesn’t mean that you cannot provide a good user experience with a web app or a hybrid app–it just means that the graphics and the visuals will not be exactly the same as those with which users may be already accustomed. (To summarize, native apps, hybrid apps, or web apps are all ways to cater to the needs of the mobile user. There is no unique best solution: each of these has their strengths and weaknesses. The choice of one versus the other depends on each company’s unique needs.
  • 18. Speed: Native apps win the speed competition. In 2012 Mark Zuckerberg declared that Facebook’s biggest mistake had been betting on the mobile web and not going native. Up to that point, the Facebook app had been a hybrid app with an HTML core; in 2012 it was replaced with a truly native app. Installation. Installing a native or hybrid app is a hassle for users: They need to be really motivated to justify the effort. “Installing” a web app involves creating a bookmark on the home screen; this process, while arguably simpler than downloading a new app from an app store, is less familiar to users, as people don’t use bookmarks that much on mobile. Maintenance: Maintaining a native app can be complicated not only for users, but also for developers (especially if they have to deal with multiple versions of the same information on different platforms): Changes have to be packaged in a new version and placed in the app store. On the other hand, maintaining a web app or a hybrid app is as simple as maintaining a web page, and it can be done as often or as frequently as needed.
  • 20. App Requirements / Features
  • 22. Comparison between different App •CSS (GPS, gyroscope, accelerometer, maintenance, and full application works on any platform. •Business-focused apps full device access. Native Hybrid Mobile Web Skills/tools needed for cross- platform apps •Objective-C •Java •C •C++ •C# •VB.net •HTML 5 •CSS3 •Javascript •Mobiledevelopmentframework (like PhoneGap) •HTML •Javascript Distribution App Store/Market App Store/Market Internet Development Speed Slow Moderate Fast Ongoing application maintenance Difficult Moderate Low Device access Full access: (Camera, microphone, GPS, gyroscope, accelerometer,file upload, etc..................…) Mostly: (Camera, microphone, GPS, gyroscope, accelerometer, file upload, etc.................. …) Partial access: file upload.) Offline access Yes Yes To an extent Advantages Lets you create apps with rich user interfaces and/or heavy graphics. Combines the development speed of mobile web apps with the device access and app store distribution of native apps. Offers fast development, simple portability. One mobile web app Disadvantages •Development Time •Development Cost •Ongoing Maintenance •No portability (apps cannot be used on other platforms) •Can’t handle heavy graphics. •Requires familiarity with a mobile framework •Can’t handle heavy graphics. •Can’t access camera or microphone. Best used for •Games •Consumer-focused apps that require a highly graphic interface •Consumer-focused apps with a moderately graphical interface. •Business-focused apps that need •General non-game apps.
  • 23. Mobile Application Testing Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality, usability and consistency Factory Testing Hardware or Device Testing Certificate Testing Mobile Testing Application Testing Software Testing Content Testing 19
  • 24. Why Mobile Apps Testing is Different from Desktop and Web? 1. Supported platforms and devices mean you have more combinations to test. Desktop apps were usually targeted for specific platforms and it was relatively easy to access those platforms. Web based applications made it a bit more challenging by adding another dimension: browsers. Mobile applications take complexity of supported platforms to the next level by adding devices. Ensuring that mobile apps are working on all type of devices (smartphone, tablets, and phablets) supplied by major brands (various models from Samsung, Sony, Nokia, HTC, Apple, etc...................) and on all the platforms (iOS, Android, Windows, BlackBerry, etc...................) is challenging. On top of that, new devices are hitting market so often that it becomes impossible to cover all the major devices. In the mobile world, it is important to create something on the lines of graded browser support used by Yahoo to ensure that major platforms are covered. 2. Adaptability and limited space mean screen size is changing constantly. Pretty much all the major players are changing screen sizes of their phones, tablets, and phablets to figure out what works or in response to the competition. How applications adapts themselves for various screen sizes, layout, and configuration is a challenging task. Apart from adaptability to different screen sizes, mobile applications have to deal with the limited screen size. Limited screen size means that user can not be given 30 different options on a single screen – usability, similar experience, on-screen help, inability to use search or other applications easily, etc................... – poses different challenges and as a tester we need to think beyond what is developed and always think of who will use it and in what circumstances.
  • 25. 3. Complex user interaction means more than one way to do everything. User interaction in desktop and browser based applications was pretty much limited to mouse and keyboard. Mobile applications on the other hand are trying to make user interaction as fluid as possible. We had touch screen and with new phones from Samsung, you can just wave your hand to give commands. Siri is becoming more and more advanced and gives us a glimpse of future that voice commands may become part of every application in future. Devices are smart enough to understand complex gestures, eye movement, direction, tilt, movement, acceleration, GPS coordinates, surroundings, sound, and so on. As a tester, we need to ensure that application works as expected when user interacts with the app in different ways. 4. Application type – HTML5, Native or Hybrid – means applications are merging. In the desktop and browser world, applications were straightforward. They were either desktop or web applications. However, with the adoption and support of HTML5, the applications are merging. On all the mobile devices, it is not difficult to find HTML5 applications, native applications and hybrid applications. Testing for hybrid applications would be different from testing native applications and it is important to understand that difference.
  • 26. 5. Dependency on emulators and simulators means true representation is lacking. For the desktop and browsers, developers always had access to the platform or browsers they were targeting with their applications. Also, virtualization has become more or less commonplace and can be trusted for desktop and browsers. Mobile devices on the other hand relies on emulator and simulators. However, they are still not true representation of the devices. It is also not possible to replicate advanced user interaction on these simulators. As a tester, we have to be aware of the capabilities and limitations of these emulators and simulators and figure out what can be tested (reliability) on them and what cannot. 6. Security and privacy concerns mean a greater emphasis on misuse of data. Though most mobile applications live in their own sandbox but many platform features are accessible to them. For example, applications such as phone book, pictures, and videos are accessible to many other applications. These are all personal user data, and any defect around the (unintentional) misuse of this data can jeopardize trust of the application. In mobile world, it is important to ensure that applications are secure from the intruders, and it is equally important to ensure that applications are not intruding or accessing data unintentionally.
  • 27. 7. Dependency on networks and carriers means more variations in testing. In desktop and web world, most users were either on LAN or Wireless. These network were not predictable, but compared to mobile networks, they were very predictable. Many connected mobile applications rely on the network – how application responds to 3G, 4G, weak signals, no signals, powerful signals, switching from cellular to wireless and vice-versa or when user is moving at different speeds, etc................... – can affect how the application will behave. It is often not possible to come up with or simulate real life situations for mobile applications. Apart from the variation in signal strength and type, mobile apps can respond differently to different carriers. As a tester, it is important to understand if there are any difference or not and whether application works for all the major carriers or not. 8. Rapid installations, removals, and updates mean staying on top of the latest apps. Mobile apps are installed, removed, or updated more frequently than desktop applications. Also, underlying OS and platform is updated more frequently as well. As an app developer and tester in the mobile world, you have to be on top of what changes are coming in the next revision of OS / Platform and how it might affect the application. Usually for most of the applications, user data is stored on the servers and not on the devices. It makes installation a bit tricky. What if the user has multiple devices? What if multiple devices have different version of applications? Things like backward compatibility, simultaneous support for multiple versions, data preservation, restoring state and data, the ability to install / upgrade multiple times are all part of important checks for mobile application testing.
  • 28. 9. Session management and interruptions mean ensuring that the app behaves properly. Handling interruptions are the way of life for mobile applications. Apps and users are constantly interrupted by calls, SMS, push notifications, and so on. How applications handle these interruptions and how they maintain their state are important, but it is also important to see how many interruptions the application is generating and what triggers those interruptions. As a tester, it is important to ensure that application behaves properly when it is interrupted and it is also important to ensure that the application does not interrupt unnecessarily and works according to the boundary defined by the platform or the users. 10. Mobile-specific non-functional testing means there are many more dimensions to testing. Mobile applications add many more dimensions to the non-functional testing. Old school performance of the application is the obvious one, but there are many other factors as well which should be considered. How much data your application is consuming? How much it would cost the user (data usage) to use this application? How much battery is consumed by applications? Does it behave differently in high battery and low battery conditions? How much space is it occupying? How much trail is it leaving? How is it clearing the trails / logs, etc................... are important non-functional factors which should be considered as part of mobile testing strategy.
  • 29. Types of Mobile Testing 1-Hardware testing (Mobile testing) : mostly is related to testing the mobile hardware i.e. The device including the internal processors, internal hardware, screen sizes, resolution, space or memory, camera, radio, Bluetooth, WIFI etc................... 2-Mobile application testing : related to testing the software (applications in mobile) part of the mobile and their functionality Is tested. i.e. Mobile applications include call handling, messaging..etc......................
  • 30. Mobile Testing-How It Is different? DEVICE DIVERSITY HARDWARECHALLENGES • • • • Multiple Platforms Multiple Browsers Rendering differences Mobile devices have different application runtimes. • Limitations in processing speed Limitations of Memory size of mobile Differences in Communication Protocols of devices WAP/ HTTP. • • NETWORK CHALLENGES • • • • Multiple type of Networks(GSM / GPRS / Wi-Fi / Wi-Max etc.................. ) Unpredictable time taken for data transfer Different speed of connectivity across geographies Multiple Network Operators with customized Network features
  • 31. What are the challenges in mobile app testing ?  Wide varieties of mobile devices (Devices Vary in Screen Size, Memory, Processing Power, Hardware Features etc...................)  Different mobile operating system  Different mobile network operators  Input method (QWERTY, touch, normal)  Hardware compatibility……. And so on.  Device Fragmentation is a Big Challenge  Apple iPhone is Least Fragmented among All Mobile Platforms  Testing on All Target Handset/Devices Almost Handsets is Large  Testing on All Target Operator Networks Almost Impractical if Number of Target Operators is Large Network Operator may Impose Certain Constraints
  • 32.  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(translation, Avoid abbreviation) An example is that your mobile app could require double-byte characters (for East Asian languages) or have to support bi-directional display (for Middle Eastern languages). • Hundreds of Devices with Many Variants of Each Device  Testing in All Web Browsers • Browsers Significantly Vary Across Devices • May Support HTML, xHTML, WML, AJAX
  • 33.  Web Content Transcoders • Web Content may be Transformed to Meet User-Agent Constraints • Transcoder may Not Respect User Experience Factors in some Situations  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
  • 34. Mobile Application Testing Complexities • The world of mobile applications has evolved to the point where it is now one of the basic levels of communication services, becoming essential to the everyday needs of the common mobile user. As the number of users grows exponentially, it is of utmost importance to ensure that mobile application requirements are met and that systems meet their purpose. • What makes mobile applications unique? Why is it not possible for standard test cases and running procedures to be employed to meet requirements? • Complexity is the key to understanding the challenges we face when we want to develop, or in my case to test, mobile applications. We have so many operational systems, and different manufacturers and models, so what should we test? How many devices should we cover? Twenty or one hundred? What are the trends and tools available in the market to solve these questions? “ COMPLEXITY IS THE KEY TO UNDERSTANDING THE CHALLENGES WE FACE WHEN WE WANT TO DEVELOP, OR ITEST, MOBILE APPLICATIONS”
  • 35. Testing objectives • What are we testing – mobile website or mobile application • For whom – user profile (geography, technical skills, expectations etc...................) • Devices – which models and/or emulators will be used for testing • How – defining approaches (Friends & Family testing, scenario-based etc...................)
  • 36. General Techniques  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
  • 37. 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  Start Testing on Real Devices as Early as Possible  There is No Good Alternative to a Real Device for Testing (Why?)
  • 38. Mobile Testing - Types Test to ensure the stability of the applicationso that it can be taken for further levels of testing. Analyzing the logs and measure/monitor the performance of mobile devices in a real world environment across different network infrastructures. Testing of a product in the actual context in which it will be used. Field tests performed validate handset network success in a real world live network environment Documented features are implemented in the application and work as expected. Test the text, logos and all UI level validation Validate Usability aspects such as Trackball, Touch etc..................    Sanity Testing  Mobile Testing Validate Application behaves as expected and stable during the course of Interruptions Incoming Calls, SMS Notifications, Low Battery, Network related testing such as Low network, Zero Network etc..................  22 § Tailor devices to the unique Language § Translate user interfaces and provide documentation and support in local language, § Perform all types of testing in the respective
  • 39. Components of Mobile Testing Emulators / Simulators Mobile Devices Mobile Application Testing Network connectivity Testing tools and Accelerators
  • 40. Mobile Testing – Emulator/Simulator • Device emulator / Simulator is a desktop application that emulates • mobile device hardware and operating systems, allowing us to test and debug our applications and see how they are working. • No cost involved – Various OS versions, screen sizes, Device models are available for free download • Provided by the OEM, Simulators represents 90% of real life however, certain types of testing are not possible (like interruption, network connectivity • Easily installable on a normal system – Android, Black Berry, Symbian, Windows • Mobile require Windows desktop while, iOS require MAC • Ideal for functional testing needs • Some level of development knowledge required to benefit on the features Provided Emulator / Simulator – The Difference Emulators mimic the software and hardware environments found on actual devices Simulators, on the other hand, only mimic the software environment ) Android Emulator iOS Simulator
  • 41. iOS Simulators Introduction: • iPhone and iPad are popular devices from Apple. Its has its own proprietary operating system, iOS. Its well known for its design and performance. • Many applications of native, web and hybrid type are available which can be download from Apple iStore • Applications for iPhone can be installed both over air and using iTunes application Prerequisites: MAC Environment Getting Started: • Deploy Native app into iPhone Simulator using Code. • Code - an integrated development environmentthat manages your application projects and lets to edit, compile, run, and debug code • Once the native app is deployed, the app icon appears on simulator, thus aids to access the app directly from simulator • Testing in UIAutomation can be done by both developer and tester, it requires knowledge of iPhone development. • UIAutomation is the automation technique for iPhone. It uses JavaScript as test script to perform automation. This can be done both in device and simulator • iPhone Simulator does not emulate an iPhone processor, disk drive, memory constraints
  • 42. Android Emulators OVERVIEW • Android emulator comes as part of the android SDK commonly known as AVD – Android Virtual Device. • It lets the user to prototype, develop, and test Android applications without using a physical device. Android Emulators • The AVD’s are OS version specific and provides the user the flexibility to customize OS version, resolution, skin, sd card size and various other hardware properties to be emulated. • There are many command line utilities and tools which comes as part of the sdk which makes it easy to debug and interact with emulator Prerequisites for Android Emulator • JRE – Java Runtime Environment • Android SDK Installing an application • If the application is available in Google Playstore it can be directly downloaded and installed on to the device. • If the application is available in ‘.apk’ format ,it can be installed
  • 43. Blackberry Emulators OVERVIEW • BlackBerry Simulators is different from the other emulators as this is Device model specific (rather than OS version) • Easy to use interface for installing and testing apps Blackberry Emulators • Model specific blackberry emulators are available from RIM as standalone window applications and also along with BB JDK. • The BlackBerry MDS Simulator and the BlackBerry Email Simulator simulates internet and email services respectively. Prerequisites for Blackberry Simulator • JRE – Java Runtime Environment • Blackberry simulator package • Blackberry email and MDS Simulator Installing an application on Blackberry emulator • If the application is in .cod format, it can be directly loaded in to the emulator from the menu options in emulator. • If the simulator is being used with an IDE or Blackberry JDE it directly loads the application into the simulator and runs it. • The blackberry device manager can also be used to for installing the applications on emulator and device
  • 44. Windows Phone - Emulators Description Windows Phone 7 is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform. The windows phone 7 emulator comes with SDK and Windows Developer Tool Kit. Pre-requisites for the emulator • Windows Vista and higher Desktop OS • Microsoft Silverlight along with silver light toolkit for windows phone • Visual Studio 2010 • Windows mobile 7 sdk Installing applications in emulator • Open the “Application Deployment” tool which is the part of “Windows Phone Developers Tool” • Provide the path to the .xap file of the application in the tool • The emulator opens showing the application that has been installed
  • 45. Emulators / Simulators – Limitations Limitations • No support for placing or receiving actual phone calls. You can simulate phone calls (placed and received) through the emulator console, however. • No support for USB connections • No support for camera/video capture (input). • No support for determining connected state • No support for Bluetooth • No support for actual GPS • No support for Accelerometer feature used in Gaming applications
  • 46. Mobile Testing Tools Mobile Testing Tools Remote Based Desktop Based Industry Based Open Source • • • • • Squish FoneMonkey JamoSolutions Eggplant SeeTest Device Anywhere • • Robotium SeleniumPerfecto Mobile Cognizant Mobility Lab
  • 47. Tool Selection Criteria • Platforms support •Supported Versions of platforms •Types of automation supported. •Device variants within a platforms ( form factors) Scope based decisions Cost Benefit Analysis •Working on both simulator /device •Integration to test management •Ease of use and scripting support Feature based decisionsTimelines for the project • Stability •Dependency on Mac/desktops •Cloud based/stand alone Infrastructure decisions Regression Test Count & Complexity 32
  • 49. Mobile Test Tools in Market -Comparison & Blackberry 'Sensetalk' complex any other test supported by QTP breaking Tools/ Parameters Test Quest Countdown Device Anywhere Pro Jamo Solutions Perfecto Mobile Robotium Eggplant Support of devices/platform s Android, Blackberry, Symbian & Windows mobile All major mobile Platforms Android, Windows Mobile, Blackberry & IOS All major mobile Platforms Android Android, IOS Licensing Cost Cost Cost Cost OpenSource cost Ease Of Usage Easy to use Easy to use Easy to use Easy to use Needs programming Easy to use Scripting No Scripting Scripting Possible Uses VB script No programming language for scripts,. Script is simple and can be easily understood Uses java Uses Test Data Parameterization Possible Possible but complex Possible Possible Possible but complex Possible but Remote Connectivity Possible Possible Possible Not Possible Not Possible Possible Integration with test management In-built test management tool test manager Quality Center Quality Center and management tool Possible Not Possible Not Possible Jail Breaking / Routing Needs Jail breaking DA hosts Jail broken devices No Jail breaking Perfecto Mobile hosts Jail broken devices Needs Jail breaking Needs Jail
  • 51. Q&A