SlideShare ist ein Scribd-Unternehmen logo
1 von 171
Mobile App Testing
Day 1
Agenda
 Mobile Evolution
 Introduction to Mobile World
 What is Mobile App Testing?
 Introduction to Mobile Testing OS & platforms
 Overview of Mobile Devices & List
 Types of Mobile Devices (Smartphones vs Phablets vs mini Tablets vs Tablets)
 Business Models in Mobile Space
 Mobile App Life Cycle
 Different Types of Mobile Apps (Standalone, Consumer, Enterprise)
 Insights into Mobile App architecture
o Native Apps
o Hybrid Apps
o Web Apps
 Development Platform for Mobile Applications
 Differences in Mobile & Conventional Application Testing
 Insights into Mobile App Testing & Challenges
 Scope of Mobile Application Testing (Testing Checklist)
 Testing Techniques in the Mobile Space
 Testing Methodologies in the Mobile Space
 Workshop – Reusable Test Cases in the Mobile Space
 Types of Logs – Console & Crash logs
 What is UDID, Importance of Provisioning Profile, How to find UDID
 Emulators & Simulators
Mobile Evolution
• An average consumer spends 127 minutes a day on the mobile phone
• There are 4.5 times as many mobile devices in use as there are PCs
• 49% of mobile users in the US now have smart phones and this number is going
up at a very rapid rate
What is Mobile App Testing?
 Mobile application testing is a process by which app developed for hand held
mobile devices is tested for its functionality, usability and consistency and
compatibility across related devices.
Why is Mobile Testing Important?
• Mobile Technology is transforming the way
people use their cell phones. Although demand
is highest for consumer apps, enterprise
applications are evolving too, allowing
businesses to work more productively. Right
from Publishers, Retailers, Automobile Dealers,
Financial Service Providers, Pharmaceuticals &
Healthcare Providers, the mobile application
usage trend has now extended to schools and
Universities providing faster interaction
between staff and students.
Today, Mobile apps have become an integral
part of enterprises and businesses can no
longer afford to ignore them. Recent surveys
and studies all point to the same conclusion,
‘This is the year of the mobile business app’
and finally accept that mobile is not only here to
stay, but also offers compelling benefits i.e.,
they let you operate anytime and anywhere,
bringing productivity beyond the confines of the
office, salespeople have access to real-time
product data, customers have another way to
interact with your business, or even make
purchases.
Why is Mobile app testing different
• App Stores reduces the user
feedback loop thus continuous
improvements/bug fixes/patches
• User feedback is received early
and frequent
• Usability is quality and king,
depends on # of downloads/un-
installs
• User can get updates rapidly and
expect seamless updates &
integration
• Mobile devices are changing
quickly and constantly getting new
capabilities and features
Introducing the Mobile World
Introducing the Mobile World
Android Intro
Android Intro
Android 1.5 - Cupcake: April 27, 2009
• Improvement of the camera (start and acquisition)
• Increase in GPS position speed detection
• Virtual Keyboard
• Automatic loading of videos on YouTube, and Picasa
Android Intro
Android 1.6 - Donut: September 15, 2009
• The box for quick search and voice search
• Indicator for battery usage
• Grouping of the camera and gallery apps and shooting mode addition
• Text-to-speech languages
Android Intro
Android 2.0 - Eclair: October 26, 2009
• Multiple accounts for email and contact synchronization.
• Bluetooth 2.1 support
• New user interface for the browser and HTML5 support.
• New functions for the calendar app
Android Intro
Android 2.2 - Froyo: May 20, 2010
• Support for creating hotspots (sharing a connection via WIFI)
• Adobe Flash 10.1
• Multilingual Keyboard
• "Widget guide" addition that helps you learn the features Android
Android Intro
Android 2.3 - Gingerbread: December 6, 2010
• Interface revised for easier and faster user experience
• New keyboard for faster text input
• Selecting text features, copy/paste
• Integrated Internet calls
Android Intro
Android 3.0 - Honeycomb: February 22, 2011
• Tablet version, interface optimized for larger screens
• Improved multitasking, notification management, customization and
widgets on the home screen
• Added tethering via Bluetooth
• Built-in support for easy transfer of media files to your PC
Android Intro
Android 3.0 - Honeycomb: February 22, 2011
• Tablet UI/version, interface optimized for larger screens
• Improved multitasking
• Notification management, customization and widgets on the home
screen
• Redesigned keyboard
• Private browsing, Dual pane modes for address book
• Added tethering via Bluetooth
• Built-in support for easy transfer of media files to your PC
Android Intro
Android 4.0 - Ice Cream Sandwich: October 18, 2011
• New font (Roboto)
• Possibility of triggering a picture with a smile
• Adding functionality such as managing folders, bookmarks and capture
screenshots
• Swipe addition to hide notifications, close web pages and more
• Support for Wi-Fi Direct, Bluetooth HDP and Android Beam
• virtual buttons
• Face Unlock
• Widget management, improved voice integration and copy and paste
• New Calendar app with pinch-to-zoom option
• Revamped Gmail user interface
• New contacts and social networking features
• Saving web pages offline
• New camera capabilities, screenshot option
Android Intro
Android 4.1 - Jelly Bean: July 9, 2012
• Faster, smoother, more responsive to inputs
• Resizable widgets
• Google Now, voice dictation offline
• Improved Android Beam
• Updates to the app improved and faster
Android Intro
Android 4.4 - KitKat: October 31, 2013
• Support for Bluetooth MAP
• New framework for transitions in the user interface
• Support for wireless printing
• Optimization of memory and touch screen for faster multitasking
Android Intro
Android 5.0 Lollipop: November 12, 2014
• Device sharing: multiple users and profiles on smartphones
• Material Design
• Battery Saver
• Efficient OS & upgrades
• Android Smart Lock
• ART instead of Dalvik runtime
Android Intro
Android M: M&M's, Maltesers, Mentos, Mars Bar??
• Granular app permissions
• Google Now on Tap
• Fingerprint API
• Android Pay
• Doze and USB Type-C
• Dark theme
• RAM Manager
• Home screen rotation
Android Versions – Mind map
iOS Intro
iOS Versions – Mind map
Windows Mobile Intro
Mobile Devices Market Share
Mobile Devices Market Share
Mobile Devices Market Share
In a “State of Mobile” study of 1,040 software developers, testers, and
consumers conducted by SmartBear and published in early 2015, we
discovered, among other things, that:
• Nearly 30% of those building any kind of apps were building mobile
apps
• 54% of respondents who were building mobile apps had entered the
space within the past two years
• 84% of those who were not currently building mobile apps planned to
enter the space in the near future
• 30% of companies were planning to develop 5-20+ new apps in 2014
• 40% of consumers download 5-20+ apps in a single month
Mobile App Quality
Mobile App Market
Overview of Mobile Devices & List
Why is Mobile Testing Important?
Basic Difference Between Mobile & Desktop
Application Testing
Few obvious aspects that sets mobile app testing apart from the
desktop testing
• On desktop, the application is tested on a central processing unit
• On a mobile device, the application is tested on handsets like Samsung,
Nokia, Apple and HTC
• Mobile device screen size is smaller than desktop
• Mobile devices have less memory than desktop
• Mobiles use network connections like 2G, 3G, 4G or WIFI where
desktop use broadband or dial up connections
• The automation tool used for desktop application testing might not work
on mobile applications
Mobile Touch Screen Amplifies Test Scenarios
Life Cycle of An App
Life Cycle of An App
Smartphones vs Phablets vs Tablets
Smartphones vs Phablets vs Tablets
 Smartphone
A smartphone (or smart phone) is a mobile phone with an advanced mobile operating
system. They combine the features of a cell phone with those of other popular mobile
devices. Most smartphones have a touch screen user interface, can run third-party apps
and are camera phones.
 Phablet
A smartphone having a screen which is intermediate in size between that of a typical
smartphone and a tablet computer.
 Mini Tablet
Mini tablets are smaller and lighter than standard slates, with a typical screen size
between 7–8 inches (18–20 cm). The first successful ones were introduced by Samsung
(7-inch Galaxy Tab), Barnes & Noble (Nook Tablet), and Amazon.com (Kindle Fire) in
2011, and by Google (the Nexus 7) in 2012
 Tablet
A tablet computer is a mobile computer with a touchscreen display, circuitry and
battery in a single device. Tablets come equipped with sensors, including cameras, a
microphone and an accelerometer, and the touchscreen display uses finger or stylus
gestures substituting for the use of computer mouse and keyboard.
Business Models in Mobile Space
1. Selling Your Application
This is the most obvious and the one that is most widely leveraged today: Build an app that
everyone will want and sell millions of licenses and reap the rewards.
2. Freemium
Freemium isn’t one single model for mobile, it really encompasses a number of opportunities to
generate revenue. The goal of freemium is to get your app in as many hands as possible and
once you do, try to generate revenue from one of the following ways:
i. Sell an enhanced version of your app
This is THE most widely used model. You are essentially giving away a limited version of the
product in hopes that you can attract enough people to download it and then convert a
percentage of those into paying customers.
ii. Sell in-app advertising
The second most popular approach to freemium is selling advertising in your app. Using
services like AddMob or Apple’s iAd is simple to implement but requires a successful product
with hundreds of thousands or millions of downloads to make a decent amount of revenue.
iii. Up-selling content packs
Once you’ve got your application installed on millions of devices you can now start offering
content packs (additional levels for example), additional functionality or even have people pay to
remove the in-app advertisements.
Business Models in Mobile Space
3. Build an application as a service
You could take this in many different directions but for a great example of how this model can
succeed, check out Ubercab. This iPhone/SMS service allows you to quickly book and pay for a
car service with one button. This is great example of the future of productive mobile business
models – filling a need that is best-suited for our mobile lives.
4. Build an App as a subscription
One word: Wired. When Wired launched their iPad app version of the magazine it surpassed
sales of its print version in the first month it went live – that’s disruptive. Other similar examples
would be Sirius/XM satellite radio for mobiles, the New York Times Crossword puzzle game and
PumpOne’s FitnessBuilder application.
5. Mobilize an existing technology
Most companies are looking for mobile versions of enterprise software they have already
implemented internally — things like CRM applications, HR application or business operations
applications. For some, mobile is the natural extension for these services and there is opportunity
to fill a very specific niche here. Take a look at Aeroprise, a company that built a business
mobilizing BMC software. Instant market if the demand is there
6. Build an app that extends a web business
The most amazing thing to emerge since the dot com bust has been the open API. Any company
currently offering a legitimate web service has adopted the open API in hopes that their service
will find developers who will create the next layer of service on top of theirs. Enter mobile. This is
area is ripe for entrepreneurs to bring a service (or a bunch of services) into the mobile world as
a new level of value.
Business Models in Mobile Space
7. Sell affiliate products through your app
This one requires a VERY popular application in order to generate substantial revenue from the
referral fees but it could compliment another stream from one of the other business models
mentioned here. Eg. Blancspot
8. If all else fails, build an app for someone else
The old service model is still alive and kicking and one of the fastest growth segments in the
mobile world is actually helping companies who don’t have the expertise to build mobile
applications for them. Service for hire. One caveat here is that the price and complexity of
building applications for a living is being impacted by the better development tools coming into
the market that are democratization or commoditizing this business.
There you go. Limiting your business model scope to just making money from selling your application
is quickly becoming an outdated approach. How are you building your business in mobile?
Different Types of Mobile Apps
Consumer Apps Enterprise Apps
The apps are built with an intention to be used by general
public
The apps are built with an intention to be used by
organizations/enterprises
The sales are self-service The sales are direct
You have many customers (general public) You have few customers (enterprise users)
Focus is on, scaling the number of user(s) base Focus is on, scaling the number of business application(s)
needs
The app is delivered via an app store The app is delivered as a packaged app, through enterprise
license
Recurring revenue (as the app is purchased by multiple
users)
1 time revenue (as the app is purchased once by the
Enterprise)
Built for personal, general, entertainment, informative,
gaming, educational etc., usage
Built for enterprise business & usage
The app(s) built are simple & engaging i.e., simplicity is
king in Consumer Apps
The app(s) built are complex i.e., functionality is king in
Enterprise Apps
Login & Logout process are optional Login & Logout process are mandatory
Security is relatively simpler (One to One interactions) Security is complex (One to Many interactions)
Database & Storage mechanism is simple and sometimes
optional
Database & Storage mechanism is complex, as the
enterprise data plays a crucial role
Search field is an optional requirement Search field is application/record centric, when implemented
Mobile Apps & Architecture
Mobile Apps Type - Making the correct choice
Businesses trying to build mobile apps are running into the below mentioned strategic
confusion(s) which will influence the results of the mobility initiative taken. As the user base for
mobile app(s) is diverse, below are few questions which need to be considered and answered
before deciding on a Mobile app development strategy
1. Who are my targeted audience?
2. Should the app be targeted across all available Mobile OS
platforms?
3. Should I simply start with a mobile website?
4. Should we develop a native app (one for each, multiple mobile
OS platforms) or a Hybrid app or a Mobile Web app?
5. Should the app require access to device functionalities such as
GPS, Camera, Contacts, Calendar etc?
6. Should the app be UX/UI consistent across multiple mobile OS
platforms?
7. Should this app require regular updates, to retain the user base?
8. Should the app generate revenue?
9. Is it worth spending Time, Money and IT resources to make an
app with 4 different source codes for 4 different Mobile OS?
10. Will the decision taken make any impact on the Design,
Development, Distribution and future prospects of the app?
Native Apps
Mobile Web Apps
Hybrid Apps
Insights into Native, Web & Hybrid Apps
Challenges in Mobile App Testing
Device(s) Diversity
The major challenge is the multiplicity
of mobile devices with different
capabilities, features and restrictions.
Devices may have different technical
capabilities such as amount of
available memory, screen resolution,
screen orientation and size of the
display, network connectivity options,
and support for different standards and
interfaces. This cannot be ignored
because the fewer number of devices
we test and certify, we are taking a
chance of our mobile app locking out
on other potential devices/customers.
Challenges in Mobile App Testing
Network related Challenges
There are over 400 Mobile network
operators in the world. It’s not possible to
detail the Network challenges without
zeroing in on the location. It’s a simple
fact that we must be connected to the
target network, to test an app on a
particular telecom network. Of course,
travelling to every network operator as
required is not possible as it becomes
very expensive and obvious cost
tradeoffs needs to be considered as well.
Challenges in Mobile App Testing
Use of Emulators and Actual Devices
With the proliferation of smart phones and
multiple OEM’s/OS versions, usage of
emulators is ever increasing.
Emulators can be beneficial for testing
features of an app; however actual devices
should be used for validating the test
results because of the computing,
processor or memory factors.
Challenges in Mobile App Testing
Mobile App Testing Challenges – Mind map
Diversity impacts Testing Burden
Diversity impacts Testing Burden
Diversity impacts Testing Burden
Diversity impacts Testing Burden
Mobile App Testing Checklist
Mobile App Testing Checklist
Mobile App Testing Checklist
Mobile App Testing Checklist
Mobile App Testing Checklist
Mobile App Testing Checklist
Mobile App Testing Checklist
Mobile App Logs
What is a Log File?
A log file is simply a file that records events that happen while the apps run on your
mobile device.
Types of Log Files
There are 2 main types of log files: crash logs and console logs.
 Crash logs contain a record of what an app was doing just before it crashed.
 The system console log contains information outputted by applications, error
messages, warnings, debug info, and other notices. In some cases you many
need to attach one or both of these log types to a bug report.
 Both Console and Crash logs will require a desktop computer (PC or Mac) to
access.
Accessing iOS Crash Logs
OS Navigation Path
Mac OS X ~/Library/Logs/CrashReporter/Mobile Device/<DEVICE_NAME>
Windows
XP
C:DocumentsandSettings<USERNAME>ApplicationDataApple
computerLogsCrashReporter/<DEVICE_NAME>
Windows 7 C:UsersAppDataRoamingApple
computerLogsCrashReporterMobileDevice< DEVICE_NAME>
Windows
Vista
C:UsersAppDataRoamingApple
computerLogsCrashReporterMobileDevice< DEVICE_NAME>
• The log file name start with the application name and have the extension ‘crash’
• <USERNAME> is the user’s login name for the computer
• <DEVICE_NAME> is the name of the iOS device, for example, “John’s iPhone”
Accessing iOS Crash Logs
Crash Logs :
Purpose :- To capture only crash and major error logs on particular iDevice (iPhone/iPad)
1. Launch X-code on MAC system
Accessing iOS Crash Logs
1. Connect iDevice to the MAC system
2. Expand Window menu of xcode dialog
3. Click on ‘Devices’
Accessing iOS Crash Logs
1. Ensure the connected iDevice gets detected and be shown in X-code Window
2. Click on detected iDevice folder
3. Click on ‘View Device Logs’ button at right side of the xcode window
4. Perform any scenario which reproduces crash on the iDevice
5. Observe the crash logs captured in “All Logs” dialog with ‘Process’, ‘Type’, ‘Date &
Time’
6. When a crash type is selected, the concerned crash logs would be displayed on the
right side
Accessing iOS Crash Logs
1. Ensure the connected iDevice gets detected and be shown in X-code Window
2. Click on detected iDevice folder
Accessing iOS Crash Logs
1. Click on ‘View Device Logs’ button at right side of the xcode window
Accessing iOS Crash Logs
1. Perform any scenario which reproduces crash on the iDevice
2. Observe the crash logs captured in “All Logs” dialog with ‘Process’, ‘Type’, ‘Date &
Time’
Accessing iOS Crash Logs
1. When a crash type is selected, the concerned crash logs would be displayed on the
right side
Sample iOS Crash Log
Accessing iOS Console Logs
Console Logs :
Purpose :- To capture each & every event/action log on particular iDevice (iPhone/iPad)
1. Launch X-code on MAC system
Accessing iOS Console Logs
1. Connect iDevice to the MAC system
2. Expand Window menu of xcode dialog
3. Click on ‘Devices’
Accessing iOS Console Logs
1. Ensure the connected iDevice gets detected and be shown in X-code Window
2. Click on detected iDevice folder
Accessing iOS Console Logs
1. Spread the console logs area upwards which is located below ‘View Device Logs’
button section
Accessing iOS Console Logs
8. Spread Console Logs section using Up-arrow icon
Accessing iOS Console Logs
9. To minimize Console Logs section, need to click on Down-arrow icon which is
located down
Accessing iOS System/Crash Logs using iTools
Accessing iOS System/Crash Logs using iTunes
Accessing Android Crash Logs
Few 3rd party apps are available on the Google Play Store, through which we
can locate and diagnose the app crashes and the related logs upon
download and installation.
A few of those apps are listed here:
i. Log Collector
i. Crash Log (LogCat)
i. Crash Log Pro (LogCat)
i. LogCat Recorder
i. Log Viewer
i. Get Log Data
Accessing Android Crash Logs
How to Collect Logs via Command Line (ADB) on Android Devices
1. Install the Android Debug Bridge (ADB) tool on your PC
2. Connect your android device to the PC
3. Navigate to the path where ADB is installed
4. Run the following commands:
“adb logcat -c" (This clears the logs.)
5. Reproduce the bug/crash
6. Then, run the following command to capture the logs in a new file (for ease
of capture):
“adb logcat -d > Name_of_Log_File.txt"
$ adb logcat will print all the logs on the PC console
Accessing Android Crash Logs
How to Collect Logs via Eclipse
1. Install the latest App in the device
2. Launch Eclipse in the PC/Laptop (Eclipse should contain Android SDK installed)
3. Now, connect the device to the PC/laptop using USB Cable
4. Go to Phone Settings  More Tab  Developer Options  USB Debugging has to be
checked
5. As soon as user connects the device to PC/laptop “Allow USB debugging?” popup
would be displayed on the Android device connected
6. Tap on OK button on the Android device connected
7. Select Devices Tab in the Eclipse toolbar
8. Observe that the connected device is displayed in devices Tab
Accessing Android Crash Logs
9. Installed Apps will be displayed under the Connected Device
10. Copy or note down the application name
Ex: com.synchronoss.pcloud.android.syncdrive
11. Go to LogCat Tab
Accessing Android Crash Logs
12. Select “Add a new log cat filter ( + ) icon” from saved filters pane
13. Log cat Message Filter Settings popup is displayed
14. Add the app name (com.synchronoss.pcloud.android.syncdrive) under “by
Application Name” edit box and save it with valid name related to project
15. A new filter will be displayed with name saved by the user
16. Select the saved filter and launch the app in the connected Android Device
17. Perform the necessary actions on the app and observe the logs populated under
logcat
18. Now, select the logs displayed (CTRL + A) and save the logs
Sample Android Crash Log
Android Memory Leaks Steps
1. Open the ddms
2. Select the required process name in the left panel
3. Click on Show heap Updates button
4. In the right panel select VM heap
5. Click on dump HPROF file
6. Save in desktop
7. Open the command prompt
6. Set the path to sdk tools folder
7. write the command
[Syntax - hprof-conv <infile> <outfile>]
hprof-conv.exe "saved file path" "C:file.hprof"
8. Download Eclipse MAT plugin
9. Open the saved HPROF file using MAT
10. There are various views available , using that you can detect the class which is
using more memory
Android DDMS View
Android DDMS - Viewing heap usage for a process
1. DDMS allows you to view how much heap memory a process is
using. This information is useful in tracking heap usage at a certain
point of time during the execution of your application.
2. To view heap usage for a process:
3. In the Devices tab, select the process that you want to see the heap
information for.
4. Click the Update Heap button to enable heap information for the
process.
5. In the Heap tab, click Cause GC to invoke garbage collection, which
enables the collection of heap data. When the operation completes,
you will see a group of object types and the memory that has been
allocated for each type. You can click Cause GC again to refresh the
data.
6. Click on an object type in the list to see a bar graph that shows the
number of objects allocated for a particular memory size in bytes.
Android DDMS - Viewing heap usage for a process
Android DDMS - Viewing heap usage for a process
Android DDMS - Viewing heap usage for a process
Android DDMS - Tracking memory allocation of objects
DDMS provides a feature to track objects that are being allocated to memory and
to see which classes and threads are allocating the objects. This allows you to
track, in real time, where objects are being allocated when you perform certain
actions in your application. This information is valuable for assessing memory
usage that can affect application performance.
To track memory allocation of objects:
1. In the Devices tab, select the process that you want to enable allocation tracking for.
2. In the Allocation Tracker tab, click the Start Tracking button to begin allocation tracking.
At this point, anything you do in your application will be tracked.
3. Click Get Allocations to see a list of objects that have been allocated since you clicked
on the Start Tracking button. You can click on Get Allocations again to append to the
list new objects that have been allocated.
4. To stop tracking or to clear the data and start over, click the Stop Tracking button.
5. Click on a specific row in the list to see more detailed information such as the method
and line number of the code that allocated the object.
Android DDMS - Tracking memory allocation of objects
Android DDMS - Tracking memory allocation of objects
Android DDMS - Working with an emulator or device's file system
DDMS provides a File Explorer tab that allows you to view, copy, and delete files
on the device. This feature is useful in examining files that are created by your
application or if you want to transfer files to and from the device.
To work with an emulator or device's file system:
1. In the Devices tab, select the emulator that you want to view the file system
for.
2. To copy a file from the device, locate the file in the File Explorer and click the
Pull file button.
3. To copy a file to the device, click the Push file button on the File Explorer tab.
Android DDMS - Working with an emulator or device's file system
Android DDMS - Working with an emulator or device's file system
Android DDMS - Examining thread information
The Threads tab in DDMS shows you the currently running threads for a selected
process.
1. In the Devices tab, select the process that you want to examine the threads
for.
2. Click the Update Threads button.
3. In the Threads tab, you can view the thread information for the selected
process.
Android DDMS - Examining thread information
Android DDMS - Examining thread information
Android DDMS - Examining thread information
Android DDMS - Starting method profiling
Method profiling is a means to track certain metrics about a method, such as
number of calls, execution time, and time spent executing the method.
To start method profiling:
1. On the Devices tab, select the process that you want to enable method
profiling for.
2. Click the Start Method Profiling button.
3. In Android 4.4 and later, choose either trace-based profiling or sample-based
profiling with a specified sampling interval. For earlier versions of Android, only
trace-based profiling is available.
4. Interact with your application to start the methods that you want to profile.
5. Click the Stop Method Profiling button. DDMS stops profiling your
application and opens Traceview with the method profiling information that
was collected between the time you clicked on Start Method Profiling and
Stop Method Profiling.
Android DDMS - Starting method profiling
Android DDMS - Starting method profiling
Android DDMS - Using the Network Traffic tool
In Android 4.0, the DDMS (Dalvik Debug Monitor Server) includes a Detailed
Network Usage tab that makes it possible to track when your application is
making network requests. Using this tool, you can monitor how and when your
app transfers data and optimize the underlying code appropriately. You can also
distinguish between different traffic types by applying a “tag” to network sockets
before use.
These tags are shown in a stack area chart in DDMS, as shown in figure 2:
Android DDMS - Using the Network Traffic tool
By monitoring the frequency of your data transfers, and the amount of data
transferred during each connection, you can identify areas of your application that
can be made more battery-efficient. Generally, you should look for short spikes
that can be delayed, or that should cause a later transfer to be pre-empted.
Android DDMS - Using LogCat
LogCat is integrated into DDMS, and outputs the messages that you print out
using the Log class along with other system messages such as stack traces when
exceptions are thrown. View the Reading and Writing Log Messages. topic for
more information on how to log messages to the LogCat.
When you have set up your logging, you can use the LogCat feature of DDMS to
filter certain messages with the following buttons:
• Verbose
• Debug
• Info
• Warn
• Error
You can also setup your own custom filter to specify more details such as filtering
messages with the log tags or with the process id that generated the log
message. The add filter, edit filter, and delete filter buttons let you manage your
custom filters.
Android DDMS - Emulating phone operations and location
The Emulator control tab lets you simulate a phone's voice and data network
status. This is useful when you want to test your application's robustness in
differing network environments.
Changing network state, speed, and latency
The Telephony Status section of the Emulator controls tab lets you change
different aspects of the phone's networks status, speed and latency. The following
options are available to you and are effective immediately after you set them:
• Voice - unregistered, home, roaming, searching, denied
• Data - unregistered, home, roaming, searching, denied
• Speed - Full, GSM, HSCSD, GPRS, EDGE, UMTS, HSDPA
• Latency - GPRS, EDGE, UMTS
Android DDMS - Emulating phone operations and location
Android DDMS - Emulating phone operations and location
Spoofing calls or SMS text messages
The Telephony Actions section of the Emulator controls tab lets you spoof calls
and messages. This is useful when you want to to test your application's
robustness in responding to incoming calls and messages that are sent to the
phone. The following actions are available to you:
• Voice - Enter a number in the Incoming number field and click Call to send a
simulated call to the emulator or phone. Click the Hang up button to terminate
the call.
• SMS - Enter a number in the Incoming number field and a message in the
Message: field and click the Send button to send the message.
Android DDMS - Emulating phone operations and location
Setting the location of the phone
If your application depends on the location of the phone, you can have DDMS
send your device or AVD a mock location. This is useful if you want to test
different aspects of your application's location specific features without physically
moving. The following geolocation data types are available to you:
• Manual - set the location by manually specifying decimal or sexagesimal
longitude and latitude values.
• GPX - GPS eXchange file
• KML - Keyhole Markup Language file
Note: Sample GPX files can be found at http://www.openstreetmap.org/#map=5/51.500/-0.100
GPX = GPX (the GPS Exchange Format) is a light-weight XML data format for the interchange of GPS
data (waypoints, routes, and tracks) between applications and Web services on the Internet.
More Info: http://blogs.innovationm.com/location-testing-in-mobile-apps/
Android DDMS - Emulating phone operations and location
Android DDMS - Emulating phone operations and location
Android DDMS - GPX File Format
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;gpx
version="1.1"
creator="Created by Google My Tracks on Android."
xmlns="http://www.topografix.com/GPX/1/1"
xmlns:topografix="http://www.topografix.com/GPX/Private/TopoGrafix/0/1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd
http://www.topografix.com/GPX/Private/TopoGrafix/0/1 http://www.topografix.com/GPX/Private/TopoGrafix/0/1/topografix.xsd"&gt;
&lt;metadata&gt;
&lt;name&gt;&lt;![CDATA[Truck Route]]&gt;&lt;/name&gt;
&lt;desc&gt;&lt;![CDATA[]]&gt;&lt;/desc&gt;
&lt;/metadata&gt;
&lt;trk&gt;
&lt;name&gt;&lt;![CDATA[Truck Route]]&gt;&lt;/name&gt;
&lt;desc&gt;&lt;![CDATA[]]&gt;&lt;/desc&gt;
&lt;type&gt;&lt;![CDATA[]]&gt;&lt;/type&gt;
&lt;extensions&gt;&lt;topografix:color&gt;c0c0c0&lt;/topografix:color&gt;&lt;/extensions&gt;
&lt;trkseg&gt;
&lt;trkpt lat="28.581475" lon="77.314435"&gt;
&lt;ele&gt;137.5&lt;/ele&gt;
&lt;time&gt;2013-04-03T14:37:10.000Z&lt;/time&gt;
&lt;/trkpt&gt;
&lt;trkpt lat="28.581517" lon="77.314399"&gt;
&lt;ele&gt;137.5&lt;/ele&gt;
&lt;time&gt;2013-04-03T14:37:11.000Z&lt;/time&gt;
&lt;/trkpt&gt;
&lt;/trkseg&gt;
&lt;/trk&gt;
&lt;/gpx&gt;
Android DDMS – KML File Format
KML is a file format used to display geographic data in an Earth browser such as Google
Earth, Google Maps, and Google Maps for mobile. KML uses a tag-based structure with
nested elements and attributes and is based on the XML standard
&lt;?xml version="1.0" encoding="ASCII"?&gt;
&lt;kml xmlns="http://earth.google.com/kml/2.2"&gt;
&lt;Document&gt;
&lt;name&gt;GE2ADT&lt;/name&gt;
&lt;Placemark&gt;&lt;name&gt;21&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;-
74.61453,40.47307,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt;
&lt;Placemark&gt;&lt;name&gt;22&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;-
74.614564,40.472985,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt;
&lt;Placemark&gt;&lt;name&gt;23&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;-
74.614661,40.472743,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt;
&lt;Placemark&gt;&lt;name&gt;24&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;-
74.614784,40.472387,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt;
&lt;Placemark&gt;&lt;name&gt;25&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;-
74.615058,40.471677,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt;
&lt;Placemark&gt;&lt;name&gt;26&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;-
74.615168,40.471369,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt;
&lt;Placemark&gt;&lt;name&gt;27&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;-
74.615289,40.471028,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt;
&lt;/Document&gt;
&lt;/kml&gt;
More Info: http://blogs.innovationm.com/location-testing-in-mobile-apps/
Accessing BB & WM Mobile Crash
Logs
i. Press ‘Alt’ + ‘lglg’ key sequence
on device home screen to see
the event logs
i. ‘javaloader.exe’ can also be used
to view the event logs. This is a
command line tool available in
Eclipse plugins folder where the
Blackberry JDE is unpacked
i. In landscape mode, put on
number lock and press " / " / to
get to the event log
i. AppHub tool helps the WM
Developer to know the crashes
associated with an app in a graphical
representation
i. The crash logs can also be obtained
from Windows Market when an app
crash happens at the user end, if the
app is already in Market
Accessing Windows Mobile Crash Logs
1. To verify the crash log in Windows Phone application we have
“Windows Phone Power Tools”
2. Using the Power Tools, we can verify the crash logs and performance
of the application
3. This tool is available for Windows Phone 8.0 & 8.1
4. Download Power Tools from http://wptools.codeplex.com/
5. Once the tool is installed, connect device to the PC and select device
as Source and click on Connect
Accessing Windows Mobile Crash Logs
Accessing Windows Mobile Crash Logs
• Once the device is successfully connected then you can browse
total information of the device using above tool
• We can monitor application performance and crash logs etc…
Android Tools for Performance
1. System Panel - This is paid app, which be dowloded from Market. This tool helps
to find applications that are spacking out more CPU. It also warns against killing
tasks. This tool enable monitoring, and look at historical data. It hardly use any
battery.
2. DDMS - Android ships with a debugging tool called the Dalvik Debug Monitor
Server, which provides 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. DDMS is
integrated into Eclipse and is also shipped in the tools/ directory of the SDK. DDMS
works with both the emulator and a connected device. If both are connected and
running simultaneously, DDMS defaults to the emulator.
From Eclipse: Click Window > Open Perspective > Other... > DDMS.
From the command line: Type ddms (or ./ddms on Mac/Linux) from the tools/
directory.
3. TraceView Tool - TraceView Tool is used to test Performance of particular app. A
graphical viewer for execution logs saved by your application and helps to find out
how the device would communicate to the infrastructure when traffic is at its peak.
iOS Tools for Performance
atMonitor - atMonitor is monitoring tool for Mac OS X, ios and ipad that displays
system activity in real-time. In addition to the standard CPU, GPU, VRAM, FPS, Disk
and Network info, atMonitor allows interaction with processes, setting up triggers,
logging, purging RAM and much more.
UDID
Each iPhone or iPod Touch or iPad has a Unique Device Identifier (UDID), which is a
sequence of 40 letters and numbers that is specific to your device. It’s like a serial number
but much harder to guess. It will look something like this:
2b6f0cc904d137be2e1730235f5664094b831186.
UDID
Why do we need the UDID?
Your iPhone can only install programs that are approved by Apple. Applications in the
App Store have been approved by Apple for general distribution, but beta customers get
to try the app before it’s in the store. We register your UDID with Apple so they can
approve our application especially for your iPhone. The most likely situation you'll need
your iPhone's UDID for is if an app developer has offered to let you try out some
unreleased software.
UDID
is there any limit for # of UDID per apple developer registration?
YES
100 per developer account | 99$ —developer account | 1 year validity
max 500 for enterprise edition | $299 enterprise account | 1 year validity
UDID
How do I get my UDID?
To get your UDID, you have to plug your phone into a computer and copy it out of iTunes
OR
install UDID+ app
OR
UDID app on your iPhone/iPad
UDID Locator
iOS - Provisioning File
• A provisioning profile is a collection of digital entities that uniquely ties developers
and devices to an authorized iPhone Development Team and enables a device to
be used for testing.
• A Development Provisioning Profile must be installed on each device on which you
wish to run your application code. Each Development Provisioning Profile will
contain a set of iPhone Development Certificates, Unique Device Identifiers and an
App ID.
• Devices specified within the provisioning profile can be used for testing only by
those individuals whose iPhone Development Certificates are included in the
profile.
• A single device can contain multiple provisioning profiles.
• Provisioning files are auto-added onto the app when installed through MAC PC or
Test Flight or Hockey App.
iOS - Provisioning File
iOS - Provisioning File
iOS - Provisioning File Removal
What is Emulator
In the mobile development world, a device
emulator 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.
The Android SDK includes a mobile device
emulator — a Lvirtual mobile device that runs
on your computer. The emulator lets you
develop and test Android applications without
using a physical device. The Android emulator
mimics all of the hardware and software features
of a typical mobile device, except that it cannot
place actual phone calls. It provides a variety of
navigation and control keys, which you can
"press" using your mouse or keyboard to
generate events for your application. It also
provides a screen in which your application is
displayed, together with any other active Android
applications.
What is Emulator/Simulator
A note about terminology:
• The terms ‘Emulator’ and ‘Simulator’ are sometimes used interchangeably.
• Apple considers its native emulator a ‘simulator’
• Android considers its tools as ‘emulator’
• In an ideal world, every mobile app developer would be able to build an
app and test its behavior on a simulator that would perfectly mimic the way
the software should behave on a mobile device.
• To a large extent, these emulators/simulators give the developer a
reasonable idea of how an app will behave on a variety of screen sizes,
orientations, and how it will look in terms of color and design.
Types of Emulator/Simulator
1. Device Emulator- provided by device manufacturers
2. Browser Emulator- simulates mobile browser environments.
3. Operating systems Emulator- Apple provides emulators for iPhones,
Microsoft for Windows phones and Google Android phones
Emulator/Simulator
Emulator/Simulator
Emulator/Simulator
Device Emulator
• Iphone - Xcode - Version of Apple’s powerful integrated development environment
for creating great apps for Mac
• Ipad - can be simulated using Xcode for all versions including iOS 5.0
• Blackberry - BlackBerry Smartphone Simulators
• Nokia - Nokia remote access , Nokia desktop emulators (S60,S40)
• Android OS based phones - Android SDK
• Windows Phone - Windows phone Developer tools
• All other devices - MITE ( Mobile Internet Testing Environment) - desktop tool that
lets you interactively test and verify mobile content by emulating 2,000 devices and
12,000 device profiles
Device Emulator
First, install and open Xcode. Then, in Xcode, right-click and select
“Show Package Contents.” Go to “Contents” → “Applications” →
“iPhone Simulator.”
Emulator Testing ?
Emulator Testing Cons
Situation Based Testing: You cannot emulate real life usage with software. How
does the app look when you are outside in the sun, or when it’s raining? Can you use
the app while walking? Does the interface translate well with swipes and finger
usage? All these situations are impossible to replicate with emulators.
Battery Testing: It is impossible to test the effects of your app on the battery life of a
device with an emulator.
Interrupts: Things like receiving a text message or phone call while using the app
cannot be tested while using an emulator.
Memory Related Issues: Emulators tend to have a great deal more memory
available than real devices. This is because they are not multitasking the way a real
device is. The performance of your app on an emulator may be much better than on
a real device. This could cause a misconception of how quick your app responds.
Display/Resolution Variance: The look and feel of the application may be different
on an emulator as opposed to a real device. How bright or dim the app appears, and
the changes in resolution across devices may differ with respect to the emulator. It’s
also very hard to simulate light and dark situations on an emulator.
Emulator Testing Cons
Features that you can’t test in the Windows Phone Emulator
The following list describes features of the Windows Phone 8 hardware and platform
that you cannot test in the emulator. You have to test these features on a physical
device.
• Compass
• Gyroscope
• Vibration controller
• Brightness. The brightness level of the emulator is always High.
How to launch Android Emulator
1. Install Android SDK tools + Eclipse IDE OR Install Android Studio
2. Launch Eclipse IDE
3. Install the necessary packages related to latest Android OS or the required
Android OS to be tested
4. Click on Window menu on the top
5. Click on Preferences option
6. Click on Android option at the left pane
7. Ensure the latest or the required Android OS is listed under Target Name
8. Click on Apply
9. Click on OK
10. Now, we are done with the setup of emulator for the required Android OS
How to launch Android Emulator
How to launch Android Emulator
How to launch Android Emulator
How to launch Android Emulator
How to launch Android Emulator
How to launch Android Emulator
How to launch Android Emulator
Deploy/Install .apk in Android Emulator
1. Download the .apk and place it in the DOWNLOADS folder
2. Run the Android Emulator and launch the required device
3. Start  Run  CMD
4. Change the directory to the path where adb is installed
1. Run the below command to know the list of devices running on emulator:
adb devices
1. Run the below command to install the .apk in android emulator
adb install <path of .apk>
Windows Phone Emulator Testing Pros
Features that you can test in the Windows Phone Emulator
The following table describes features of the Windows Phone 8 hardware and
platform that you can test in the emulator. The Windows Phone 8 Emulator supports
some features that are not supported in the Windows Phone 7.1 Emulator.
Some of the listed features are only supported partially or only under certain
conditions, and some require an additional download.
Windows Phone Emulator Testing Pros
Supported feature Description
Multiple screen resolutions
You can use the Windows Phone 8 emulator to test
your app on the following screen resolutions:
•WVGA (800 × 480)
•WXGA (1280 × 768)
•720p (1280 × 720)
Screen configuration options
Windows Phone Emulator supports the following
screen configuration options:
• Changing from portrait to landscape mode
• Changing the zoom setting to fit the emulator to
your desktop screen
Windows Phone Emulator Testing Pros
Supported feature Description
Memory-constrained devices
You can use the emulator to test your app on
images that emulate the following memory-
constrained devices:
•Emulator WVGA 512MB, for apps that target
Windows Phone 8.
•Emulator WVGA 512MB, Emulator 7.8 256MB,
and Emulator 7.1 256MB, for apps that target
Windows Phone OS 7.1.
Networking
Networking support is integrated with
Windows Phone Emulator. Networking is
enabled by default. You do not have to install
network drivers for Windows Phone Emulator or
configure networking options manually in most
environments.
Windows Phone Emulator Testing Pros
Supported feature Description
Language and region settings
You can change the display
language and region settings in
Windows Phone Emulator for testing
purposes.
Application lifecycle and tombstoning
You can test the behavior or your
app when it is deactivated or
tombstoned. For more info, see
Windows Phone Emulator Testing Pros
Other supported features
• Notifications
• In-app purchase
• Hardware keyboard and hardware
buttons
• Lock screen
• Copy-and-paste
• Screenshot tool
Windows Phone Emulator
Pre-requisites:
1. Install Visual Studio Ultimate (latest version)
2. Install Windows Phone SDK tools
3. Download the .xap file onto the PC
Deploy a .xap file into Windows Phone Emulator
1. Launch Windows Phone emulator
2. Navigate to the path where .xap file resides
3. Navigate to the below path:
C:Program Files (x86)Microsoft SDKsWindows
Phonev7.1ToolsXAP Deployment
4. Click on the XAPDeploy tool to launch
5. Choose Target as ‘Windows Phone Emulator’
6. Browse to the path where XAP is present (step 2)
7. Click on Deploy button
8. The .XAP file is now installed on Windows Phone Emulator
You Tube Link:
https://www.youtube.com/watch?v=ZLCkjVjKOa4
Deploy a .xap file into Windows Phone Emulator
Deploy a .xap file into Windows Phone Emulator
Deploy a .xap file into Windows Phone Emulator
Deploy a .xap file into Windows Phone Emulator
Deploy a .xap file into Windows Phone Emulator
Deploy a .xap file into Windows Phone Emulator
Deploy a .xap file into Windows Phone Emulator
Deploy a .xap file into Windows Phone Emulator
Deploy a .xap file into Windows Phone Emulator
Testing Websites on Mobile Web Emulator
Mobility testing day_1_ppt

Weitere ähnliche Inhalte

Was ist angesagt?

Why does .net maui deserve your attention if you’re planning to use xamarin
Why does .net maui deserve your attention if you’re planning to use xamarin  Why does .net maui deserve your attention if you’re planning to use xamarin
Why does .net maui deserve your attention if you’re planning to use xamarin Moon Technolabs Pvt. Ltd.
 
The Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdfThe Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdfMoon Technolabs Pvt. Ltd.
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Ahsanul Karim
 
Kony one studio technical training
Kony one studio technical trainingKony one studio technical training
Kony one studio technical trainingNiranjan Kumar Reddy
 
Live Streaming Application Development
Live Streaming Application DevelopmentLive Streaming Application Development
Live Streaming Application DevelopmentMarie Weaver
 
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Bala Subra
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phonesDennise Layague
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Sanjeev Kumar
 
Building Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicBuilding Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicYounes Adounis
 
Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentDotitude
 
Introduction To Mobile Application Development
Introduction To Mobile Application DevelopmentIntroduction To Mobile Application Development
Introduction To Mobile Application DevelopmentSyed Absar
 
ios vs android development – key differences
ios vs android development – key differencesios vs android development – key differences
ios vs android development – key differencesMarkovate
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPTDhivya T
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application developmentKunjan Thakkar
 
Ionic vs flutter best platform for hybrid app development
Ionic vs flutter  best platform for hybrid app developmentIonic vs flutter  best platform for hybrid app development
Ionic vs flutter best platform for hybrid app developmentMarkovate
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App DevelopmentAnnmarie Lanesey
 
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARIMOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARISivaSankari36
 

Was ist angesagt? (20)

Why does .net maui deserve your attention if you’re planning to use xamarin
Why does .net maui deserve your attention if you’re planning to use xamarin  Why does .net maui deserve your attention if you’re planning to use xamarin
Why does .net maui deserve your attention if you’re planning to use xamarin
 
The Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdfThe Best Alternatives To The Ionic Framework.pdf
The Best Alternatives To The Ionic Framework.pdf
 
Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)Day: 1 Introduction to Mobile Application Development (in Android)
Day: 1 Introduction to Mobile Application Development (in Android)
 
Kony one studio technical training
Kony one studio technical trainingKony one studio technical training
Kony one studio technical training
 
On Mobile- Product Strategy
On Mobile- Product StrategyOn Mobile- Product Strategy
On Mobile- Product Strategy
 
Live Streaming Application Development
Live Streaming Application DevelopmentLive Streaming Application Development
Live Streaming Application Development
 
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
 
Android and android phones
Android and android phonesAndroid and android phones
Android and android phones
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First
 
Building Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicBuilding Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and Ionic
 
Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application Development
 
Introduction To Mobile Application Development
Introduction To Mobile Application DevelopmentIntroduction To Mobile Application Development
Introduction To Mobile Application Development
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
ios vs android development – key differences
ios vs android development – key differencesios vs android development – key differences
ios vs android development – key differences
 
Development of Mobile Application -PPT
Development of Mobile Application -PPTDevelopment of Mobile Application -PPT
Development of Mobile Application -PPT
 
Top 8 Alternatives Of Xamarin.pdf
Top 8 Alternatives Of Xamarin.pdfTop 8 Alternatives Of Xamarin.pdf
Top 8 Alternatives Of Xamarin.pdf
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Ionic vs flutter best platform for hybrid app development
Ionic vs flutter  best platform for hybrid app developmentIonic vs flutter  best platform for hybrid app development
Ionic vs flutter best platform for hybrid app development
 
Cross Platform Mobile App Development
Cross Platform Mobile App DevelopmentCross Platform Mobile App Development
Cross Platform Mobile App Development
 
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARIMOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
 

Ähnlich wie Mobility testing day_1_ppt

UNIT_1_1626771386169.ppt
UNIT_1_1626771386169.pptUNIT_1_1626771386169.ppt
UNIT_1_1626771386169.pptHannaAnvar1
 
MOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college studentsMOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college studentsAprilJasminePacis
 
Mobile application development Confronts and Chances
Mobile application development   Confronts and ChancesMobile application development   Confronts and Chances
Mobile application development Confronts and ChancesEffOne_Technologies
 
10-advantages-of-developing-hybrid-apps-for-your-company.pptx
10-advantages-of-developing-hybrid-apps-for-your-company.pptx10-advantages-of-developing-hybrid-apps-for-your-company.pptx
10-advantages-of-developing-hybrid-apps-for-your-company.pptxBpointerTechnologies
 
3 Types Of Mobile Apps.pptx
3 Types Of Mobile Apps.pptx3 Types Of Mobile Apps.pptx
3 Types Of Mobile Apps.pptxBOSC Tech Labs
 
Mobile Apps Vs. Web Apps_ Which one to choose_.pdf
Mobile Apps Vs. Web Apps_ Which one to choose_.pdfMobile Apps Vs. Web Apps_ Which one to choose_.pdf
Mobile Apps Vs. Web Apps_ Which one to choose_.pdfGROWEXX LTD
 
Mobile Web vs. Native apps
Mobile Web vs. Native appsMobile Web vs. Native apps
Mobile Web vs. Native appsSoDA Speaks
 
Top Advantages of Cross Platform Mobile App Development
Top Advantages of Cross Platform Mobile App DevelopmentTop Advantages of Cross Platform Mobile App Development
Top Advantages of Cross Platform Mobile App DevelopmentXDuce Corporation
 
The mobile ecosystem
The mobile ecosystemThe mobile ecosystem
The mobile ecosystemMelis Rimer
 
Difference between Mobile and Web App testing
Difference between Mobile and Web App testingDifference between Mobile and Web App testing
Difference between Mobile and Web App testingpCloudy
 
Overview of Enterprise Mobility
Overview of Enterprise MobilityOverview of Enterprise Mobility
Overview of Enterprise MobilityYuvaraj Ilangovan
 
Architecting mobile solutions for the enterprise
Architecting mobile solutions for the enterpriseArchitecting mobile solutions for the enterprise
Architecting mobile solutions for the enterpriseSoftweb Solutions
 
The Mobile Ecosystem - Webrazzi'11
The Mobile Ecosystem -  Webrazzi'11The Mobile Ecosystem -  Webrazzi'11
The Mobile Ecosystem - Webrazzi'11Monitise MEA
 
Android Oreo - An Introduction
Android Oreo - An Introduction Android Oreo - An Introduction
Android Oreo - An Introduction Somo
 
Going Mobile First: a future-friendly approach to digital product design
Going Mobile First: a future-friendly approach to digital product designGoing Mobile First: a future-friendly approach to digital product design
Going Mobile First: a future-friendly approach to digital product designEzekiel Binion
 

Ähnlich wie Mobility testing day_1_ppt (20)

UNIT_1_1626771386169.ppt
UNIT_1_1626771386169.pptUNIT_1_1626771386169.ppt
UNIT_1_1626771386169.ppt
 
MOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college studentsMOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college students
 
Mobile application development Confronts and Chances
Mobile application development   Confronts and ChancesMobile application development   Confronts and Chances
Mobile application development Confronts and Chances
 
10-advantages-of-developing-hybrid-apps-for-your-company.pptx
10-advantages-of-developing-hybrid-apps-for-your-company.pptx10-advantages-of-developing-hybrid-apps-for-your-company.pptx
10-advantages-of-developing-hybrid-apps-for-your-company.pptx
 
3 Types Of Mobile Apps.pptx
3 Types Of Mobile Apps.pptx3 Types Of Mobile Apps.pptx
3 Types Of Mobile Apps.pptx
 
Mobile Application .pdf
Mobile Application .pdfMobile Application .pdf
Mobile Application .pdf
 
Mobile Apps Vs. Web Apps_ Which one to choose_.pdf
Mobile Apps Vs. Web Apps_ Which one to choose_.pdfMobile Apps Vs. Web Apps_ Which one to choose_.pdf
Mobile Apps Vs. Web Apps_ Which one to choose_.pdf
 
Advancement in mobile apps
Advancement in mobile appsAdvancement in mobile apps
Advancement in mobile apps
 
Mobile Web vs. Native apps
Mobile Web vs. Native appsMobile Web vs. Native apps
Mobile Web vs. Native apps
 
Top Advantages of Cross Platform Mobile App Development
Top Advantages of Cross Platform Mobile App DevelopmentTop Advantages of Cross Platform Mobile App Development
Top Advantages of Cross Platform Mobile App Development
 
Project of mobile apps
Project of mobile appsProject of mobile apps
Project of mobile apps
 
Mobile Ecosystem
Mobile EcosystemMobile Ecosystem
Mobile Ecosystem
 
The mobile ecosystem
The mobile ecosystemThe mobile ecosystem
The mobile ecosystem
 
Difference between Mobile and Web App testing
Difference between Mobile and Web App testingDifference between Mobile and Web App testing
Difference between Mobile and Web App testing
 
Overview of Enterprise Mobility
Overview of Enterprise MobilityOverview of Enterprise Mobility
Overview of Enterprise Mobility
 
Fundamentals of Mobile App Development Technology
Fundamentals of Mobile App Development TechnologyFundamentals of Mobile App Development Technology
Fundamentals of Mobile App Development Technology
 
Architecting mobile solutions for the enterprise
Architecting mobile solutions for the enterpriseArchitecting mobile solutions for the enterprise
Architecting mobile solutions for the enterprise
 
The Mobile Ecosystem - Webrazzi'11
The Mobile Ecosystem -  Webrazzi'11The Mobile Ecosystem -  Webrazzi'11
The Mobile Ecosystem - Webrazzi'11
 
Android Oreo - An Introduction
Android Oreo - An Introduction Android Oreo - An Introduction
Android Oreo - An Introduction
 
Going Mobile First: a future-friendly approach to digital product design
Going Mobile First: a future-friendly approach to digital product designGoing Mobile First: a future-friendly approach to digital product design
Going Mobile First: a future-friendly approach to digital product design
 

Kürzlich hochgeladen

The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 

Kürzlich hochgeladen (20)

Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 

Mobility testing day_1_ppt

  • 2. Agenda  Mobile Evolution  Introduction to Mobile World  What is Mobile App Testing?  Introduction to Mobile Testing OS & platforms  Overview of Mobile Devices & List  Types of Mobile Devices (Smartphones vs Phablets vs mini Tablets vs Tablets)  Business Models in Mobile Space  Mobile App Life Cycle  Different Types of Mobile Apps (Standalone, Consumer, Enterprise)  Insights into Mobile App architecture o Native Apps o Hybrid Apps o Web Apps  Development Platform for Mobile Applications  Differences in Mobile & Conventional Application Testing  Insights into Mobile App Testing & Challenges  Scope of Mobile Application Testing (Testing Checklist)  Testing Techniques in the Mobile Space  Testing Methodologies in the Mobile Space  Workshop – Reusable Test Cases in the Mobile Space  Types of Logs – Console & Crash logs  What is UDID, Importance of Provisioning Profile, How to find UDID  Emulators & Simulators
  • 3. Mobile Evolution • An average consumer spends 127 minutes a day on the mobile phone • There are 4.5 times as many mobile devices in use as there are PCs • 49% of mobile users in the US now have smart phones and this number is going up at a very rapid rate
  • 4. What is Mobile App Testing?  Mobile application testing is a process by which app developed for hand held mobile devices is tested for its functionality, usability and consistency and compatibility across related devices.
  • 5. Why is Mobile Testing Important? • Mobile Technology is transforming the way people use their cell phones. Although demand is highest for consumer apps, enterprise applications are evolving too, allowing businesses to work more productively. Right from Publishers, Retailers, Automobile Dealers, Financial Service Providers, Pharmaceuticals & Healthcare Providers, the mobile application usage trend has now extended to schools and Universities providing faster interaction between staff and students. Today, Mobile apps have become an integral part of enterprises and businesses can no longer afford to ignore them. Recent surveys and studies all point to the same conclusion, ‘This is the year of the mobile business app’ and finally accept that mobile is not only here to stay, but also offers compelling benefits i.e., they let you operate anytime and anywhere, bringing productivity beyond the confines of the office, salespeople have access to real-time product data, customers have another way to interact with your business, or even make purchases.
  • 6. Why is Mobile app testing different • App Stores reduces the user feedback loop thus continuous improvements/bug fixes/patches • User feedback is received early and frequent • Usability is quality and king, depends on # of downloads/un- installs • User can get updates rapidly and expect seamless updates & integration • Mobile devices are changing quickly and constantly getting new capabilities and features
  • 10. Android Intro Android 1.5 - Cupcake: April 27, 2009 • Improvement of the camera (start and acquisition) • Increase in GPS position speed detection • Virtual Keyboard • Automatic loading of videos on YouTube, and Picasa
  • 11. Android Intro Android 1.6 - Donut: September 15, 2009 • The box for quick search and voice search • Indicator for battery usage • Grouping of the camera and gallery apps and shooting mode addition • Text-to-speech languages
  • 12. Android Intro Android 2.0 - Eclair: October 26, 2009 • Multiple accounts for email and contact synchronization. • Bluetooth 2.1 support • New user interface for the browser and HTML5 support. • New functions for the calendar app
  • 13. Android Intro Android 2.2 - Froyo: May 20, 2010 • Support for creating hotspots (sharing a connection via WIFI) • Adobe Flash 10.1 • Multilingual Keyboard • "Widget guide" addition that helps you learn the features Android
  • 14. Android Intro Android 2.3 - Gingerbread: December 6, 2010 • Interface revised for easier and faster user experience • New keyboard for faster text input • Selecting text features, copy/paste • Integrated Internet calls
  • 15. Android Intro Android 3.0 - Honeycomb: February 22, 2011 • Tablet version, interface optimized for larger screens • Improved multitasking, notification management, customization and widgets on the home screen • Added tethering via Bluetooth • Built-in support for easy transfer of media files to your PC
  • 16. Android Intro Android 3.0 - Honeycomb: February 22, 2011 • Tablet UI/version, interface optimized for larger screens • Improved multitasking • Notification management, customization and widgets on the home screen • Redesigned keyboard • Private browsing, Dual pane modes for address book • Added tethering via Bluetooth • Built-in support for easy transfer of media files to your PC
  • 17. Android Intro Android 4.0 - Ice Cream Sandwich: October 18, 2011 • New font (Roboto) • Possibility of triggering a picture with a smile • Adding functionality such as managing folders, bookmarks and capture screenshots • Swipe addition to hide notifications, close web pages and more • Support for Wi-Fi Direct, Bluetooth HDP and Android Beam • virtual buttons • Face Unlock • Widget management, improved voice integration and copy and paste • New Calendar app with pinch-to-zoom option • Revamped Gmail user interface • New contacts and social networking features • Saving web pages offline • New camera capabilities, screenshot option
  • 18. Android Intro Android 4.1 - Jelly Bean: July 9, 2012 • Faster, smoother, more responsive to inputs • Resizable widgets • Google Now, voice dictation offline • Improved Android Beam • Updates to the app improved and faster
  • 19. Android Intro Android 4.4 - KitKat: October 31, 2013 • Support for Bluetooth MAP • New framework for transitions in the user interface • Support for wireless printing • Optimization of memory and touch screen for faster multitasking
  • 20. Android Intro Android 5.0 Lollipop: November 12, 2014 • Device sharing: multiple users and profiles on smartphones • Material Design • Battery Saver • Efficient OS & upgrades • Android Smart Lock • ART instead of Dalvik runtime
  • 21. Android Intro Android M: M&M's, Maltesers, Mentos, Mars Bar?? • Granular app permissions • Google Now on Tap • Fingerprint API • Android Pay • Doze and USB Type-C • Dark theme • RAM Manager • Home screen rotation
  • 24. iOS Versions – Mind map
  • 28. Mobile Devices Market Share In a “State of Mobile” study of 1,040 software developers, testers, and consumers conducted by SmartBear and published in early 2015, we discovered, among other things, that: • Nearly 30% of those building any kind of apps were building mobile apps • 54% of respondents who were building mobile apps had entered the space within the past two years • 84% of those who were not currently building mobile apps planned to enter the space in the near future • 30% of companies were planning to develop 5-20+ new apps in 2014 • 40% of consumers download 5-20+ apps in a single month
  • 31. Overview of Mobile Devices & List
  • 32. Why is Mobile Testing Important?
  • 33. Basic Difference Between Mobile & Desktop Application Testing Few obvious aspects that sets mobile app testing apart from the desktop testing • On desktop, the application is tested on a central processing unit • On a mobile device, the application is tested on handsets like Samsung, Nokia, Apple and HTC • Mobile device screen size is smaller than desktop • Mobile devices have less memory than desktop • Mobiles use network connections like 2G, 3G, 4G or WIFI where desktop use broadband or dial up connections • The automation tool used for desktop application testing might not work on mobile applications
  • 34. Mobile Touch Screen Amplifies Test Scenarios
  • 35. Life Cycle of An App
  • 36. Life Cycle of An App
  • 38. Smartphones vs Phablets vs Tablets  Smartphone A smartphone (or smart phone) is a mobile phone with an advanced mobile operating system. They combine the features of a cell phone with those of other popular mobile devices. Most smartphones have a touch screen user interface, can run third-party apps and are camera phones.  Phablet A smartphone having a screen which is intermediate in size between that of a typical smartphone and a tablet computer.  Mini Tablet Mini tablets are smaller and lighter than standard slates, with a typical screen size between 7–8 inches (18–20 cm). The first successful ones were introduced by Samsung (7-inch Galaxy Tab), Barnes & Noble (Nook Tablet), and Amazon.com (Kindle Fire) in 2011, and by Google (the Nexus 7) in 2012  Tablet A tablet computer is a mobile computer with a touchscreen display, circuitry and battery in a single device. Tablets come equipped with sensors, including cameras, a microphone and an accelerometer, and the touchscreen display uses finger or stylus gestures substituting for the use of computer mouse and keyboard.
  • 39. Business Models in Mobile Space 1. Selling Your Application This is the most obvious and the one that is most widely leveraged today: Build an app that everyone will want and sell millions of licenses and reap the rewards. 2. Freemium Freemium isn’t one single model for mobile, it really encompasses a number of opportunities to generate revenue. The goal of freemium is to get your app in as many hands as possible and once you do, try to generate revenue from one of the following ways: i. Sell an enhanced version of your app This is THE most widely used model. You are essentially giving away a limited version of the product in hopes that you can attract enough people to download it and then convert a percentage of those into paying customers. ii. Sell in-app advertising The second most popular approach to freemium is selling advertising in your app. Using services like AddMob or Apple’s iAd is simple to implement but requires a successful product with hundreds of thousands or millions of downloads to make a decent amount of revenue. iii. Up-selling content packs Once you’ve got your application installed on millions of devices you can now start offering content packs (additional levels for example), additional functionality or even have people pay to remove the in-app advertisements.
  • 40. Business Models in Mobile Space 3. Build an application as a service You could take this in many different directions but for a great example of how this model can succeed, check out Ubercab. This iPhone/SMS service allows you to quickly book and pay for a car service with one button. This is great example of the future of productive mobile business models – filling a need that is best-suited for our mobile lives. 4. Build an App as a subscription One word: Wired. When Wired launched their iPad app version of the magazine it surpassed sales of its print version in the first month it went live – that’s disruptive. Other similar examples would be Sirius/XM satellite radio for mobiles, the New York Times Crossword puzzle game and PumpOne’s FitnessBuilder application. 5. Mobilize an existing technology Most companies are looking for mobile versions of enterprise software they have already implemented internally — things like CRM applications, HR application or business operations applications. For some, mobile is the natural extension for these services and there is opportunity to fill a very specific niche here. Take a look at Aeroprise, a company that built a business mobilizing BMC software. Instant market if the demand is there 6. Build an app that extends a web business The most amazing thing to emerge since the dot com bust has been the open API. Any company currently offering a legitimate web service has adopted the open API in hopes that their service will find developers who will create the next layer of service on top of theirs. Enter mobile. This is area is ripe for entrepreneurs to bring a service (or a bunch of services) into the mobile world as a new level of value.
  • 41. Business Models in Mobile Space 7. Sell affiliate products through your app This one requires a VERY popular application in order to generate substantial revenue from the referral fees but it could compliment another stream from one of the other business models mentioned here. Eg. Blancspot 8. If all else fails, build an app for someone else The old service model is still alive and kicking and one of the fastest growth segments in the mobile world is actually helping companies who don’t have the expertise to build mobile applications for them. Service for hire. One caveat here is that the price and complexity of building applications for a living is being impacted by the better development tools coming into the market that are democratization or commoditizing this business. There you go. Limiting your business model scope to just making money from selling your application is quickly becoming an outdated approach. How are you building your business in mobile?
  • 42. Different Types of Mobile Apps Consumer Apps Enterprise Apps The apps are built with an intention to be used by general public The apps are built with an intention to be used by organizations/enterprises The sales are self-service The sales are direct You have many customers (general public) You have few customers (enterprise users) Focus is on, scaling the number of user(s) base Focus is on, scaling the number of business application(s) needs The app is delivered via an app store The app is delivered as a packaged app, through enterprise license Recurring revenue (as the app is purchased by multiple users) 1 time revenue (as the app is purchased once by the Enterprise) Built for personal, general, entertainment, informative, gaming, educational etc., usage Built for enterprise business & usage The app(s) built are simple & engaging i.e., simplicity is king in Consumer Apps The app(s) built are complex i.e., functionality is king in Enterprise Apps Login & Logout process are optional Login & Logout process are mandatory Security is relatively simpler (One to One interactions) Security is complex (One to Many interactions) Database & Storage mechanism is simple and sometimes optional Database & Storage mechanism is complex, as the enterprise data plays a crucial role Search field is an optional requirement Search field is application/record centric, when implemented
  • 43. Mobile Apps & Architecture
  • 44. Mobile Apps Type - Making the correct choice Businesses trying to build mobile apps are running into the below mentioned strategic confusion(s) which will influence the results of the mobility initiative taken. As the user base for mobile app(s) is diverse, below are few questions which need to be considered and answered before deciding on a Mobile app development strategy 1. Who are my targeted audience? 2. Should the app be targeted across all available Mobile OS platforms? 3. Should I simply start with a mobile website? 4. Should we develop a native app (one for each, multiple mobile OS platforms) or a Hybrid app or a Mobile Web app? 5. Should the app require access to device functionalities such as GPS, Camera, Contacts, Calendar etc? 6. Should the app be UX/UI consistent across multiple mobile OS platforms? 7. Should this app require regular updates, to retain the user base? 8. Should the app generate revenue? 9. Is it worth spending Time, Money and IT resources to make an app with 4 different source codes for 4 different Mobile OS? 10. Will the decision taken make any impact on the Design, Development, Distribution and future prospects of the app?
  • 48. Insights into Native, Web & Hybrid Apps
  • 49. Challenges in Mobile App Testing Device(s) Diversity The major challenge is the multiplicity of mobile devices with different capabilities, features and restrictions. Devices may have different technical capabilities such as amount of available memory, screen resolution, screen orientation and size of the display, network connectivity options, and support for different standards and interfaces. This cannot be ignored because the fewer number of devices we test and certify, we are taking a chance of our mobile app locking out on other potential devices/customers.
  • 50. Challenges in Mobile App Testing Network related Challenges There are over 400 Mobile network operators in the world. It’s not possible to detail the Network challenges without zeroing in on the location. It’s a simple fact that we must be connected to the target network, to test an app on a particular telecom network. Of course, travelling to every network operator as required is not possible as it becomes very expensive and obvious cost tradeoffs needs to be considered as well.
  • 51. Challenges in Mobile App Testing Use of Emulators and Actual Devices With the proliferation of smart phones and multiple OEM’s/OS versions, usage of emulators is ever increasing. Emulators can be beneficial for testing features of an app; however actual devices should be used for validating the test results because of the computing, processor or memory factors.
  • 52. Challenges in Mobile App Testing
  • 53. Mobile App Testing Challenges – Mind map
  • 58. Mobile App Testing Checklist
  • 59. Mobile App Testing Checklist
  • 60. Mobile App Testing Checklist
  • 61. Mobile App Testing Checklist
  • 62. Mobile App Testing Checklist
  • 63. Mobile App Testing Checklist
  • 64. Mobile App Testing Checklist
  • 65. Mobile App Logs What is a Log File? A log file is simply a file that records events that happen while the apps run on your mobile device. Types of Log Files There are 2 main types of log files: crash logs and console logs.  Crash logs contain a record of what an app was doing just before it crashed.  The system console log contains information outputted by applications, error messages, warnings, debug info, and other notices. In some cases you many need to attach one or both of these log types to a bug report.  Both Console and Crash logs will require a desktop computer (PC or Mac) to access.
  • 66. Accessing iOS Crash Logs OS Navigation Path Mac OS X ~/Library/Logs/CrashReporter/Mobile Device/<DEVICE_NAME> Windows XP C:DocumentsandSettings<USERNAME>ApplicationDataApple computerLogsCrashReporter/<DEVICE_NAME> Windows 7 C:UsersAppDataRoamingApple computerLogsCrashReporterMobileDevice< DEVICE_NAME> Windows Vista C:UsersAppDataRoamingApple computerLogsCrashReporterMobileDevice< DEVICE_NAME> • The log file name start with the application name and have the extension ‘crash’ • <USERNAME> is the user’s login name for the computer • <DEVICE_NAME> is the name of the iOS device, for example, “John’s iPhone”
  • 67. Accessing iOS Crash Logs Crash Logs : Purpose :- To capture only crash and major error logs on particular iDevice (iPhone/iPad) 1. Launch X-code on MAC system
  • 68. Accessing iOS Crash Logs 1. Connect iDevice to the MAC system 2. Expand Window menu of xcode dialog 3. Click on ‘Devices’
  • 69. Accessing iOS Crash Logs 1. Ensure the connected iDevice gets detected and be shown in X-code Window 2. Click on detected iDevice folder 3. Click on ‘View Device Logs’ button at right side of the xcode window 4. Perform any scenario which reproduces crash on the iDevice 5. Observe the crash logs captured in “All Logs” dialog with ‘Process’, ‘Type’, ‘Date & Time’ 6. When a crash type is selected, the concerned crash logs would be displayed on the right side
  • 70. Accessing iOS Crash Logs 1. Ensure the connected iDevice gets detected and be shown in X-code Window 2. Click on detected iDevice folder
  • 71. Accessing iOS Crash Logs 1. Click on ‘View Device Logs’ button at right side of the xcode window
  • 72. Accessing iOS Crash Logs 1. Perform any scenario which reproduces crash on the iDevice 2. Observe the crash logs captured in “All Logs” dialog with ‘Process’, ‘Type’, ‘Date & Time’
  • 73. Accessing iOS Crash Logs 1. When a crash type is selected, the concerned crash logs would be displayed on the right side
  • 75. Accessing iOS Console Logs Console Logs : Purpose :- To capture each & every event/action log on particular iDevice (iPhone/iPad) 1. Launch X-code on MAC system
  • 76. Accessing iOS Console Logs 1. Connect iDevice to the MAC system 2. Expand Window menu of xcode dialog 3. Click on ‘Devices’
  • 77. Accessing iOS Console Logs 1. Ensure the connected iDevice gets detected and be shown in X-code Window 2. Click on detected iDevice folder
  • 78. Accessing iOS Console Logs 1. Spread the console logs area upwards which is located below ‘View Device Logs’ button section
  • 79. Accessing iOS Console Logs 8. Spread Console Logs section using Up-arrow icon
  • 80. Accessing iOS Console Logs 9. To minimize Console Logs section, need to click on Down-arrow icon which is located down
  • 81. Accessing iOS System/Crash Logs using iTools
  • 82. Accessing iOS System/Crash Logs using iTunes
  • 83. Accessing Android Crash Logs Few 3rd party apps are available on the Google Play Store, through which we can locate and diagnose the app crashes and the related logs upon download and installation. A few of those apps are listed here: i. Log Collector i. Crash Log (LogCat) i. Crash Log Pro (LogCat) i. LogCat Recorder i. Log Viewer i. Get Log Data
  • 84. Accessing Android Crash Logs How to Collect Logs via Command Line (ADB) on Android Devices 1. Install the Android Debug Bridge (ADB) tool on your PC 2. Connect your android device to the PC 3. Navigate to the path where ADB is installed 4. Run the following commands: “adb logcat -c" (This clears the logs.) 5. Reproduce the bug/crash 6. Then, run the following command to capture the logs in a new file (for ease of capture): “adb logcat -d > Name_of_Log_File.txt" $ adb logcat will print all the logs on the PC console
  • 85. Accessing Android Crash Logs How to Collect Logs via Eclipse 1. Install the latest App in the device 2. Launch Eclipse in the PC/Laptop (Eclipse should contain Android SDK installed) 3. Now, connect the device to the PC/laptop using USB Cable 4. Go to Phone Settings  More Tab  Developer Options  USB Debugging has to be checked 5. As soon as user connects the device to PC/laptop “Allow USB debugging?” popup would be displayed on the Android device connected 6. Tap on OK button on the Android device connected 7. Select Devices Tab in the Eclipse toolbar 8. Observe that the connected device is displayed in devices Tab
  • 86. Accessing Android Crash Logs 9. Installed Apps will be displayed under the Connected Device 10. Copy or note down the application name Ex: com.synchronoss.pcloud.android.syncdrive 11. Go to LogCat Tab
  • 87. Accessing Android Crash Logs 12. Select “Add a new log cat filter ( + ) icon” from saved filters pane 13. Log cat Message Filter Settings popup is displayed 14. Add the app name (com.synchronoss.pcloud.android.syncdrive) under “by Application Name” edit box and save it with valid name related to project 15. A new filter will be displayed with name saved by the user 16. Select the saved filter and launch the app in the connected Android Device 17. Perform the necessary actions on the app and observe the logs populated under logcat 18. Now, select the logs displayed (CTRL + A) and save the logs
  • 89. Android Memory Leaks Steps 1. Open the ddms 2. Select the required process name in the left panel 3. Click on Show heap Updates button 4. In the right panel select VM heap 5. Click on dump HPROF file 6. Save in desktop 7. Open the command prompt 6. Set the path to sdk tools folder 7. write the command [Syntax - hprof-conv <infile> <outfile>] hprof-conv.exe "saved file path" "C:file.hprof" 8. Download Eclipse MAT plugin 9. Open the saved HPROF file using MAT 10. There are various views available , using that you can detect the class which is using more memory
  • 91. Android DDMS - Viewing heap usage for a process 1. DDMS allows you to view how much heap memory a process is using. This information is useful in tracking heap usage at a certain point of time during the execution of your application. 2. To view heap usage for a process: 3. In the Devices tab, select the process that you want to see the heap information for. 4. Click the Update Heap button to enable heap information for the process. 5. In the Heap tab, click Cause GC to invoke garbage collection, which enables the collection of heap data. When the operation completes, you will see a group of object types and the memory that has been allocated for each type. You can click Cause GC again to refresh the data. 6. Click on an object type in the list to see a bar graph that shows the number of objects allocated for a particular memory size in bytes.
  • 92. Android DDMS - Viewing heap usage for a process
  • 93. Android DDMS - Viewing heap usage for a process
  • 94. Android DDMS - Viewing heap usage for a process
  • 95. Android DDMS - Tracking memory allocation of objects DDMS provides a feature to track objects that are being allocated to memory and to see which classes and threads are allocating the objects. This allows you to track, in real time, where objects are being allocated when you perform certain actions in your application. This information is valuable for assessing memory usage that can affect application performance. To track memory allocation of objects: 1. In the Devices tab, select the process that you want to enable allocation tracking for. 2. In the Allocation Tracker tab, click the Start Tracking button to begin allocation tracking. At this point, anything you do in your application will be tracked. 3. Click Get Allocations to see a list of objects that have been allocated since you clicked on the Start Tracking button. You can click on Get Allocations again to append to the list new objects that have been allocated. 4. To stop tracking or to clear the data and start over, click the Stop Tracking button. 5. Click on a specific row in the list to see more detailed information such as the method and line number of the code that allocated the object.
  • 96. Android DDMS - Tracking memory allocation of objects
  • 97. Android DDMS - Tracking memory allocation of objects
  • 98. Android DDMS - Working with an emulator or device's file system DDMS provides a File Explorer tab that allows you to view, copy, and delete files on the device. This feature is useful in examining files that are created by your application or if you want to transfer files to and from the device. To work with an emulator or device's file system: 1. In the Devices tab, select the emulator that you want to view the file system for. 2. To copy a file from the device, locate the file in the File Explorer and click the Pull file button. 3. To copy a file to the device, click the Push file button on the File Explorer tab.
  • 99. Android DDMS - Working with an emulator or device's file system
  • 100. Android DDMS - Working with an emulator or device's file system
  • 101. Android DDMS - Examining thread information The Threads tab in DDMS shows you the currently running threads for a selected process. 1. In the Devices tab, select the process that you want to examine the threads for. 2. Click the Update Threads button. 3. In the Threads tab, you can view the thread information for the selected process.
  • 102. Android DDMS - Examining thread information
  • 103. Android DDMS - Examining thread information
  • 104. Android DDMS - Examining thread information
  • 105. Android DDMS - Starting method profiling Method profiling is a means to track certain metrics about a method, such as number of calls, execution time, and time spent executing the method. To start method profiling: 1. On the Devices tab, select the process that you want to enable method profiling for. 2. Click the Start Method Profiling button. 3. In Android 4.4 and later, choose either trace-based profiling or sample-based profiling with a specified sampling interval. For earlier versions of Android, only trace-based profiling is available. 4. Interact with your application to start the methods that you want to profile. 5. Click the Stop Method Profiling button. DDMS stops profiling your application and opens Traceview with the method profiling information that was collected between the time you clicked on Start Method Profiling and Stop Method Profiling.
  • 106. Android DDMS - Starting method profiling
  • 107. Android DDMS - Starting method profiling
  • 108. Android DDMS - Using the Network Traffic tool In Android 4.0, the DDMS (Dalvik Debug Monitor Server) includes a Detailed Network Usage tab that makes it possible to track when your application is making network requests. Using this tool, you can monitor how and when your app transfers data and optimize the underlying code appropriately. You can also distinguish between different traffic types by applying a “tag” to network sockets before use. These tags are shown in a stack area chart in DDMS, as shown in figure 2:
  • 109. Android DDMS - Using the Network Traffic tool By monitoring the frequency of your data transfers, and the amount of data transferred during each connection, you can identify areas of your application that can be made more battery-efficient. Generally, you should look for short spikes that can be delayed, or that should cause a later transfer to be pre-empted.
  • 110. Android DDMS - Using LogCat LogCat is integrated into DDMS, and outputs the messages that you print out using the Log class along with other system messages such as stack traces when exceptions are thrown. View the Reading and Writing Log Messages. topic for more information on how to log messages to the LogCat. When you have set up your logging, you can use the LogCat feature of DDMS to filter certain messages with the following buttons: • Verbose • Debug • Info • Warn • Error You can also setup your own custom filter to specify more details such as filtering messages with the log tags or with the process id that generated the log message. The add filter, edit filter, and delete filter buttons let you manage your custom filters.
  • 111. Android DDMS - Emulating phone operations and location The Emulator control tab lets you simulate a phone's voice and data network status. This is useful when you want to test your application's robustness in differing network environments. Changing network state, speed, and latency The Telephony Status section of the Emulator controls tab lets you change different aspects of the phone's networks status, speed and latency. The following options are available to you and are effective immediately after you set them: • Voice - unregistered, home, roaming, searching, denied • Data - unregistered, home, roaming, searching, denied • Speed - Full, GSM, HSCSD, GPRS, EDGE, UMTS, HSDPA • Latency - GPRS, EDGE, UMTS
  • 112. Android DDMS - Emulating phone operations and location
  • 113. Android DDMS - Emulating phone operations and location Spoofing calls or SMS text messages The Telephony Actions section of the Emulator controls tab lets you spoof calls and messages. This is useful when you want to to test your application's robustness in responding to incoming calls and messages that are sent to the phone. The following actions are available to you: • Voice - Enter a number in the Incoming number field and click Call to send a simulated call to the emulator or phone. Click the Hang up button to terminate the call. • SMS - Enter a number in the Incoming number field and a message in the Message: field and click the Send button to send the message.
  • 114. Android DDMS - Emulating phone operations and location Setting the location of the phone If your application depends on the location of the phone, you can have DDMS send your device or AVD a mock location. This is useful if you want to test different aspects of your application's location specific features without physically moving. The following geolocation data types are available to you: • Manual - set the location by manually specifying decimal or sexagesimal longitude and latitude values. • GPX - GPS eXchange file • KML - Keyhole Markup Language file Note: Sample GPX files can be found at http://www.openstreetmap.org/#map=5/51.500/-0.100 GPX = GPX (the GPS Exchange Format) is a light-weight XML data format for the interchange of GPS data (waypoints, routes, and tracks) between applications and Web services on the Internet. More Info: http://blogs.innovationm.com/location-testing-in-mobile-apps/
  • 115. Android DDMS - Emulating phone operations and location
  • 116. Android DDMS - Emulating phone operations and location
  • 117. Android DDMS - GPX File Format &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;gpx version="1.1" creator="Created by Google My Tracks on Android." xmlns="http://www.topografix.com/GPX/1/1" xmlns:topografix="http://www.topografix.com/GPX/Private/TopoGrafix/0/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd http://www.topografix.com/GPX/Private/TopoGrafix/0/1 http://www.topografix.com/GPX/Private/TopoGrafix/0/1/topografix.xsd"&gt; &lt;metadata&gt; &lt;name&gt;&lt;![CDATA[Truck Route]]&gt;&lt;/name&gt; &lt;desc&gt;&lt;![CDATA[]]&gt;&lt;/desc&gt; &lt;/metadata&gt; &lt;trk&gt; &lt;name&gt;&lt;![CDATA[Truck Route]]&gt;&lt;/name&gt; &lt;desc&gt;&lt;![CDATA[]]&gt;&lt;/desc&gt; &lt;type&gt;&lt;![CDATA[]]&gt;&lt;/type&gt; &lt;extensions&gt;&lt;topografix:color&gt;c0c0c0&lt;/topografix:color&gt;&lt;/extensions&gt; &lt;trkseg&gt; &lt;trkpt lat="28.581475" lon="77.314435"&gt; &lt;ele&gt;137.5&lt;/ele&gt; &lt;time&gt;2013-04-03T14:37:10.000Z&lt;/time&gt; &lt;/trkpt&gt; &lt;trkpt lat="28.581517" lon="77.314399"&gt; &lt;ele&gt;137.5&lt;/ele&gt; &lt;time&gt;2013-04-03T14:37:11.000Z&lt;/time&gt; &lt;/trkpt&gt; &lt;/trkseg&gt; &lt;/trk&gt; &lt;/gpx&gt;
  • 118. Android DDMS – KML File Format KML is a file format used to display geographic data in an Earth browser such as Google Earth, Google Maps, and Google Maps for mobile. KML uses a tag-based structure with nested elements and attributes and is based on the XML standard &lt;?xml version="1.0" encoding="ASCII"?&gt; &lt;kml xmlns="http://earth.google.com/kml/2.2"&gt; &lt;Document&gt; &lt;name&gt;GE2ADT&lt;/name&gt; &lt;Placemark&gt;&lt;name&gt;21&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.61453,40.47307,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;Placemark&gt;&lt;name&gt;22&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.614564,40.472985,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;Placemark&gt;&lt;name&gt;23&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.614661,40.472743,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;Placemark&gt;&lt;name&gt;24&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.614784,40.472387,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;Placemark&gt;&lt;name&gt;25&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.615058,40.471677,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;Placemark&gt;&lt;name&gt;26&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.615168,40.471369,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;Placemark&gt;&lt;name&gt;27&lt;/name&gt;&lt;description&gt;GE2ADT Route&lt;/description&gt;&lt;Point&gt;&lt;coordinates&gt;- 74.615289,40.471028,0&lt;/coordinates&gt;&lt;/Point&gt;&lt;/Placemark&gt; &lt;/Document&gt; &lt;/kml&gt; More Info: http://blogs.innovationm.com/location-testing-in-mobile-apps/
  • 119. Accessing BB & WM Mobile Crash Logs i. Press ‘Alt’ + ‘lglg’ key sequence on device home screen to see the event logs i. ‘javaloader.exe’ can also be used to view the event logs. This is a command line tool available in Eclipse plugins folder where the Blackberry JDE is unpacked i. In landscape mode, put on number lock and press " / " / to get to the event log i. AppHub tool helps the WM Developer to know the crashes associated with an app in a graphical representation i. The crash logs can also be obtained from Windows Market when an app crash happens at the user end, if the app is already in Market
  • 120. Accessing Windows Mobile Crash Logs 1. To verify the crash log in Windows Phone application we have “Windows Phone Power Tools” 2. Using the Power Tools, we can verify the crash logs and performance of the application 3. This tool is available for Windows Phone 8.0 & 8.1 4. Download Power Tools from http://wptools.codeplex.com/ 5. Once the tool is installed, connect device to the PC and select device as Source and click on Connect
  • 122. Accessing Windows Mobile Crash Logs • Once the device is successfully connected then you can browse total information of the device using above tool • We can monitor application performance and crash logs etc…
  • 123. Android Tools for Performance 1. System Panel - This is paid app, which be dowloded from Market. This tool helps to find applications that are spacking out more CPU. It also warns against killing tasks. This tool enable monitoring, and look at historical data. It hardly use any battery. 2. DDMS - Android ships with a debugging tool called the Dalvik Debug Monitor Server, which provides 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. DDMS is integrated into Eclipse and is also shipped in the tools/ directory of the SDK. DDMS works with both the emulator and a connected device. If both are connected and running simultaneously, DDMS defaults to the emulator. From Eclipse: Click Window > Open Perspective > Other... > DDMS. From the command line: Type ddms (or ./ddms on Mac/Linux) from the tools/ directory. 3. TraceView Tool - TraceView Tool is used to test Performance of particular app. A graphical viewer for execution logs saved by your application and helps to find out how the device would communicate to the infrastructure when traffic is at its peak.
  • 124. iOS Tools for Performance atMonitor - atMonitor is monitoring tool for Mac OS X, ios and ipad that displays system activity in real-time. In addition to the standard CPU, GPU, VRAM, FPS, Disk and Network info, atMonitor allows interaction with processes, setting up triggers, logging, purging RAM and much more.
  • 125. UDID Each iPhone or iPod Touch or iPad has a Unique Device Identifier (UDID), which is a sequence of 40 letters and numbers that is specific to your device. It’s like a serial number but much harder to guess. It will look something like this: 2b6f0cc904d137be2e1730235f5664094b831186.
  • 126. UDID Why do we need the UDID? Your iPhone can only install programs that are approved by Apple. Applications in the App Store have been approved by Apple for general distribution, but beta customers get to try the app before it’s in the store. We register your UDID with Apple so they can approve our application especially for your iPhone. The most likely situation you'll need your iPhone's UDID for is if an app developer has offered to let you try out some unreleased software.
  • 127. UDID is there any limit for # of UDID per apple developer registration? YES 100 per developer account | 99$ —developer account | 1 year validity max 500 for enterprise edition | $299 enterprise account | 1 year validity
  • 128. UDID How do I get my UDID? To get your UDID, you have to plug your phone into a computer and copy it out of iTunes OR install UDID+ app OR UDID app on your iPhone/iPad
  • 130. iOS - Provisioning File • A provisioning profile is a collection of digital entities that uniquely ties developers and devices to an authorized iPhone Development Team and enables a device to be used for testing. • A Development Provisioning Profile must be installed on each device on which you wish to run your application code. Each Development Provisioning Profile will contain a set of iPhone Development Certificates, Unique Device Identifiers and an App ID. • Devices specified within the provisioning profile can be used for testing only by those individuals whose iPhone Development Certificates are included in the profile. • A single device can contain multiple provisioning profiles. • Provisioning files are auto-added onto the app when installed through MAC PC or Test Flight or Hockey App.
  • 133. iOS - Provisioning File Removal
  • 134. What is Emulator In the mobile development world, a device emulator 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. The Android SDK includes a mobile device emulator — a Lvirtual mobile device that runs on your computer. The emulator lets you develop and test Android applications without using a physical device. The Android emulator mimics all of the hardware and software features of a typical mobile device, except that it cannot place actual phone calls. It provides a variety of navigation and control keys, which you can "press" using your mouse or keyboard to generate events for your application. It also provides a screen in which your application is displayed, together with any other active Android applications.
  • 135. What is Emulator/Simulator A note about terminology: • The terms ‘Emulator’ and ‘Simulator’ are sometimes used interchangeably. • Apple considers its native emulator a ‘simulator’ • Android considers its tools as ‘emulator’ • In an ideal world, every mobile app developer would be able to build an app and test its behavior on a simulator that would perfectly mimic the way the software should behave on a mobile device. • To a large extent, these emulators/simulators give the developer a reasonable idea of how an app will behave on a variety of screen sizes, orientations, and how it will look in terms of color and design.
  • 136. Types of Emulator/Simulator 1. Device Emulator- provided by device manufacturers 2. Browser Emulator- simulates mobile browser environments. 3. Operating systems Emulator- Apple provides emulators for iPhones, Microsoft for Windows phones and Google Android phones
  • 140. Device Emulator • Iphone - Xcode - Version of Apple’s powerful integrated development environment for creating great apps for Mac • Ipad - can be simulated using Xcode for all versions including iOS 5.0 • Blackberry - BlackBerry Smartphone Simulators • Nokia - Nokia remote access , Nokia desktop emulators (S60,S40) • Android OS based phones - Android SDK • Windows Phone - Windows phone Developer tools • All other devices - MITE ( Mobile Internet Testing Environment) - desktop tool that lets you interactively test and verify mobile content by emulating 2,000 devices and 12,000 device profiles
  • 141. Device Emulator First, install and open Xcode. Then, in Xcode, right-click and select “Show Package Contents.” Go to “Contents” → “Applications” → “iPhone Simulator.”
  • 143. Emulator Testing Cons Situation Based Testing: You cannot emulate real life usage with software. How does the app look when you are outside in the sun, or when it’s raining? Can you use the app while walking? Does the interface translate well with swipes and finger usage? All these situations are impossible to replicate with emulators. Battery Testing: It is impossible to test the effects of your app on the battery life of a device with an emulator. Interrupts: Things like receiving a text message or phone call while using the app cannot be tested while using an emulator. Memory Related Issues: Emulators tend to have a great deal more memory available than real devices. This is because they are not multitasking the way a real device is. The performance of your app on an emulator may be much better than on a real device. This could cause a misconception of how quick your app responds. Display/Resolution Variance: The look and feel of the application may be different on an emulator as opposed to a real device. How bright or dim the app appears, and the changes in resolution across devices may differ with respect to the emulator. It’s also very hard to simulate light and dark situations on an emulator.
  • 144. Emulator Testing Cons Features that you can’t test in the Windows Phone Emulator The following list describes features of the Windows Phone 8 hardware and platform that you cannot test in the emulator. You have to test these features on a physical device. • Compass • Gyroscope • Vibration controller • Brightness. The brightness level of the emulator is always High.
  • 145. How to launch Android Emulator 1. Install Android SDK tools + Eclipse IDE OR Install Android Studio 2. Launch Eclipse IDE 3. Install the necessary packages related to latest Android OS or the required Android OS to be tested 4. Click on Window menu on the top 5. Click on Preferences option 6. Click on Android option at the left pane 7. Ensure the latest or the required Android OS is listed under Target Name 8. Click on Apply 9. Click on OK 10. Now, we are done with the setup of emulator for the required Android OS
  • 146. How to launch Android Emulator
  • 147. How to launch Android Emulator
  • 148. How to launch Android Emulator
  • 149. How to launch Android Emulator
  • 150. How to launch Android Emulator
  • 151. How to launch Android Emulator
  • 152. How to launch Android Emulator
  • 153. Deploy/Install .apk in Android Emulator 1. Download the .apk and place it in the DOWNLOADS folder 2. Run the Android Emulator and launch the required device 3. Start  Run  CMD 4. Change the directory to the path where adb is installed 1. Run the below command to know the list of devices running on emulator: adb devices 1. Run the below command to install the .apk in android emulator adb install <path of .apk>
  • 154. Windows Phone Emulator Testing Pros Features that you can test in the Windows Phone Emulator The following table describes features of the Windows Phone 8 hardware and platform that you can test in the emulator. The Windows Phone 8 Emulator supports some features that are not supported in the Windows Phone 7.1 Emulator. Some of the listed features are only supported partially or only under certain conditions, and some require an additional download.
  • 155. Windows Phone Emulator Testing Pros Supported feature Description Multiple screen resolutions You can use the Windows Phone 8 emulator to test your app on the following screen resolutions: •WVGA (800 × 480) •WXGA (1280 × 768) •720p (1280 × 720) Screen configuration options Windows Phone Emulator supports the following screen configuration options: • Changing from portrait to landscape mode • Changing the zoom setting to fit the emulator to your desktop screen
  • 156. Windows Phone Emulator Testing Pros Supported feature Description Memory-constrained devices You can use the emulator to test your app on images that emulate the following memory- constrained devices: •Emulator WVGA 512MB, for apps that target Windows Phone 8. •Emulator WVGA 512MB, Emulator 7.8 256MB, and Emulator 7.1 256MB, for apps that target Windows Phone OS 7.1. Networking Networking support is integrated with Windows Phone Emulator. Networking is enabled by default. You do not have to install network drivers for Windows Phone Emulator or configure networking options manually in most environments.
  • 157. Windows Phone Emulator Testing Pros Supported feature Description Language and region settings You can change the display language and region settings in Windows Phone Emulator for testing purposes. Application lifecycle and tombstoning You can test the behavior or your app when it is deactivated or tombstoned. For more info, see
  • 158. Windows Phone Emulator Testing Pros Other supported features • Notifications • In-app purchase • Hardware keyboard and hardware buttons • Lock screen • Copy-and-paste • Screenshot tool
  • 159. Windows Phone Emulator Pre-requisites: 1. Install Visual Studio Ultimate (latest version) 2. Install Windows Phone SDK tools 3. Download the .xap file onto the PC
  • 160. Deploy a .xap file into Windows Phone Emulator 1. Launch Windows Phone emulator 2. Navigate to the path where .xap file resides 3. Navigate to the below path: C:Program Files (x86)Microsoft SDKsWindows Phonev7.1ToolsXAP Deployment 4. Click on the XAPDeploy tool to launch 5. Choose Target as ‘Windows Phone Emulator’ 6. Browse to the path where XAP is present (step 2) 7. Click on Deploy button 8. The .XAP file is now installed on Windows Phone Emulator You Tube Link: https://www.youtube.com/watch?v=ZLCkjVjKOa4
  • 161. Deploy a .xap file into Windows Phone Emulator
  • 162. Deploy a .xap file into Windows Phone Emulator
  • 163. Deploy a .xap file into Windows Phone Emulator
  • 164. Deploy a .xap file into Windows Phone Emulator
  • 165. Deploy a .xap file into Windows Phone Emulator
  • 166. Deploy a .xap file into Windows Phone Emulator
  • 167. Deploy a .xap file into Windows Phone Emulator
  • 168. Deploy a .xap file into Windows Phone Emulator
  • 169. Deploy a .xap file into Windows Phone Emulator
  • 170. Testing Websites on Mobile Web Emulator