SlideShare a Scribd company logo
1 of 49
Android Mobile Application Testing
Specific functional. Performance. Device park
selection
Mykhailo Zhelieznov
QC Eng. at SoftServe
Agenda:
● Specific functional:
○ Application installation
○ Network access
○ Animation, Video, Audio
○ GUI testing
● Performance
● Device park
Application installation
Application installation
It’s important to check application
installation, especially if it saves some
specific data on device or registers to the
server
Application installation
Device preparation
● Cleared device (after factory reset)
● Device with existing user’s data (apps installed,
additional user’s data - documents, pictures,
music etc.)
● Device OS upgrade
Application installation
● Settings > Backup and restore >
Factory reset
● Reboot to recovery mode - Volume Down
+ Power (depends on Vendor) > wipe
data/factory reset
How to clear the device:
Application installation
Ways of application installing
● System apps, installed when system is initialized
● Install apps from Google Play Store
● Install apps using adb, "adb install xxx.apk"
● Copy xxxapp.apk to sdcard, browse the .apk file
from your phone, double click, the app would be
installed.
Application installation
What can be wrong while installing app?
● At least check installer is not corrupted
● Check requested permissions
● Check if application starts
● Check if all necessary data created. It
can be pictures (e.g. WallPapers app),
sounds, data base, other specific data
saved in specific directory (need to be
checked with developers)
Application installation
Other cases
● Check that Uninstalling works correct:
○ all necessary data is removed from device
○ application is unregistered from server
● Check that reinstalling of the same app doesn’t produce
any issues
● New version of application can be available, check that
upgrade successfully executes (this can be done in
combination of OS upgrade)
Note: system apps
& administrators
can’t be removed,
just stopped but
not always
Application installation
Clear application data
As you use applications, they start storing
files for reference later. These files are stored
in an app "cache."
Settings > Applications > Select app
(depends on vendor)
1
Clearing app data is a little more drastic.
You're wiping the cache, but also clearing
any and all settings that go along with that
app.
2
Application installation
‘Closing’ apps
Removing an entry in recent tasks will kill any
background processes that exist for the process. It
won't directly causes services to stop
For stop is a complete kill of the app -- all processes
are killed, all services stopped, all notifications
removed, all alarms removed, etc. The app is not
allowed to launch again until explicitly requested.
1
2
Network access
Need to check each connection type and
switches between them
Network access
Disconnected WiFi Edge 3G AirPlane
Disconnected x x x x
WiFi x x x x
Edge x x x x
3G x x x x
AirPlane x x x x
20 elementary cases is just a beginning
State transitions / use cases, depended
on requirements
Network access
●Disconnected > Edge > WiFi > Edge > WiFi >
AirPlane mode > Disconnected > Wifi …
●Edge > Disconnected > AirPlane mode > Edge ...
● Downloading is in progress > connection type changed
● Wait for WiFi access before doing large data transfers, since
WiFi transfers maximize battery usage compared to transfers
over 3G or EDGE
● Cached files should be refreshed if they were changed on
server. This can be done by manual downloading of resources
or by Server push event
● Push event is received just after device back online.
Downloading resume after device back online
Network access
Caching, downloads for offline work
Network access
● Downloaded data should be valid, encrypted if necessary
(files, push events etc.)
Animation, Video, Audio
Can be triggered:
● By user’s action
○ Swipe, scroll
○ Button press
○ Tap on screen
○ Device rotate
○ Change settings
● On timeout
● By event / push message receiving
Animation, Video, Audio
Can be interrupted (paused / stopped):
● By the same reasons they triggers (previous slide)
● By incoming / outcoming call / sms
● Status bar / menu opening, popup appearing
● Low power resource
● App move to BG > FG
● Lock / Unlock device
● If Audio / Video is playing in BG - it can be
interrupted by other applications sounds
● Audio - headphones disconnection
● Video - full screen enter / exit
Animation, Video, Audio
The best way to test the accuracy of Animation /
Video / Audio - is simply watch / listen and compare
with requirements. Additional tools can help to
detect if playing started / paused, but won’t detect
the incorrect displaying / sounding
Animation, Video, Audio
Graphical user interface
testing
You can make a screenshot from your screen
and then use any image editor which shows
cursor location to calculate the sizes in pixel
GUI testing
Developer options can make your life much easy. Use next of them
for GUI testing:
GUI testing
● Pointer location ● Show layout bounds
Dump view hierarchy for UI Automator + Show layout bounds GUI testing
140
580
A virtual pixel unit that you should use when defining UI layout, to express layout
dimensions or position in a density-independent way.
The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen,
which is the baseline density assumed by the system for a "medium" density screen. At
runtime, the system transparently handles any scaling of the dp units, as necessary,
based on the actual density of the screen in use. The conversion of dp units to screen
pixels is simple:
px = dp * (dpi / 160).
For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels. You should always use
dp units when defining your application's UI, to ensure proper display of your UI on
screens with different densities.
GUI testing
Density-independent pixel (dp)
● find it in your device tech specification
● get display info using ADB:
○ $ adb shell dumpsys display
○ find ‘density’ in command output:
GUI testing
How to get your device density (Dots per inch)?
Performance
Performance
● Note the time of action, e.g.:
○ application starting time
○ screen switch
○ list download / scroll
○ any action triggered by user (for ex. on button press)
● Repeat same test few more times (e.g. 10) and calculate the
average for better accuracy
● On different Android versions performance can be different as on
the devices with a different characteristics
● ~100 switches between screens / ~100 screen rotates /
application move BG then FG
● Load / Create a lot of files at once
Simple performance tests
Performance
Over and above you can use a simply ADB
command-line tool to execute the actions by
incredible scenario - like Monkey.
The basic syntax is:
$ adb shell monkey [options] <event-count>
For example, if your application package is com.myapp
and you want to generate 1000 gestures, with a delay of
500ms between each event, you have to use this
command:
$ adb shell monkey -p com.myapp --throttle 500 -v
1000
Simple performance tests
Performance
We can check the RAM usage without
any additional tools
● Go to Settings > Apps > Running
Consumption of resources
Performance
We can check Power Consumption the
same way we did for RAM checking
● Go to Settings > Battery
Consumption of resources
Consumption of resources
If you want a bit better tool with the same intuitive interface - go to Google Play store and find the
App which will show all the data you need in the way you like (e.g. Simply System Monitor)
Performance
Performance
If power consumption is really important
for you - buy additional hardware and
software e.g. Monsoon Power Monitor
Consumption of resources
Device park
Device park
Android has a really big problem due to fragmentation of
different vendors with different hardware and software
installations as well as customized user interfaces.
Device park
1. Watches
2. Smart glasses
3. Home Appliances
4. Cars
5. Homes
6. Cameras
7. Smart TVs
8. DECT phones
9. Game consoles
10. Mirrors (you read that right)
Android Everywhere: 10 Types of Devices That Android Is
Making Better
Device park
Gather as much information as possible and allowed about the devices
of your end users:
● Devices types
● Densities
● Android versions
● Vendors
● Architectures
Gether the statistic
Device park
Google devices:
● Uses original Android
● First receives latest Factory Images
● Easy to install previous versions of operating system
Google Nexus - Always new
Device park
Use cloud device storages
Performance
???
Viewing heap usage for a process
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.
To view heap usage for a process:
1. In the Devices tab, select the process that you want to see the heap information for.
2. Click the Update Heap button to enable heap information for the process.
3. 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.
4. 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.
???Viewing heap usage for a process
???
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 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.
Tracking memory allocation of objects
???
Tracking memory allocation of objects
???
Examining thread information
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.
???
Examining thread information
???
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. Interact with your application to start the methods that you want to profile.
4. 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.
Starting method profiling
???Starting method profiling

More Related Content

What's hot

Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingNoor Orfahly
 
Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device MatrixCarly Vanderwert
 
Mobile testing day_2_3_ppt
Mobile testing day_2_3_pptMobile testing day_2_3_ppt
Mobile testing day_2_3_pptsayhi2sudarshan
 
Mobile First: How To Approach Mobile Testing!
Mobile First: How To Approach Mobile Testing!Mobile First: How To Approach Mobile Testing!
Mobile First: How To Approach Mobile Testing!Usersnap
 
Testing Mobile Applications
Testing Mobile ApplicationsTesting Mobile Applications
Testing Mobile ApplicationsJohan Hoberg
 
Mobile applications testing
Mobile applications testingMobile applications testing
Mobile applications testingRahul Ranjan
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testingshanu_123
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testingBugRaptors
 
Mobile software testing guide
Mobile software testing guideMobile software testing guide
Mobile software testing guidejananya213
 
Mobile applications testing (challenges, tools & techniques)
Mobile applications testing (challenges, tools & techniques)Mobile applications testing (challenges, tools & techniques)
Mobile applications testing (challenges, tools & techniques)Rakesh Jha
 
Mobile testing
Mobile testingMobile testing
Mobile testingsanpalan
 
Shift left mobile application testing
Shift left  mobile  application testingShift left  mobile  application testing
Shift left mobile application testingSatyajit Malugu
 
Nuance of mobile testing jan 23
Nuance of mobile testing jan 23Nuance of mobile testing jan 23
Nuance of mobile testing jan 23Bharathan Kumaran
 
The Essentials of Mobile App Performance Testing and Monitoring
The Essentials of Mobile App Performance Testing and MonitoringThe Essentials of Mobile App Performance Testing and Monitoring
The Essentials of Mobile App Performance Testing and MonitoringCorrelsense
 
Experitest & Wipro Co-Webinar
Experitest & Wipro Co-Webinar Experitest & Wipro Co-Webinar
Experitest & Wipro Co-Webinar Experitest
 
Learn mobile app testing in simple way
Learn mobile app testing in simple way Learn mobile app testing in simple way
Learn mobile app testing in simple way Mobile Pundits
 

What's hot (19)

Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device Matrix
 
Main Challenges of Mobile Testing
Main Challenges of Mobile TestingMain Challenges of Mobile Testing
Main Challenges of Mobile Testing
 
Mobile testing day_2_3_ppt
Mobile testing day_2_3_pptMobile testing day_2_3_ppt
Mobile testing day_2_3_ppt
 
Mobile First: How To Approach Mobile Testing!
Mobile First: How To Approach Mobile Testing!Mobile First: How To Approach Mobile Testing!
Mobile First: How To Approach Mobile Testing!
 
Testing Mobile Applications
Testing Mobile ApplicationsTesting Mobile Applications
Testing Mobile Applications
 
Mobile applications testing
Mobile applications testingMobile applications testing
Mobile applications testing
 
Mobile App Testing Strategy
Mobile App Testing StrategyMobile App Testing Strategy
Mobile App Testing Strategy
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
35602787 mobile-application-testing
35602787 mobile-application-testing35602787 mobile-application-testing
35602787 mobile-application-testing
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testing
 
Mobile software testing guide
Mobile software testing guideMobile software testing guide
Mobile software testing guide
 
Mobile applications testing (challenges, tools & techniques)
Mobile applications testing (challenges, tools & techniques)Mobile applications testing (challenges, tools & techniques)
Mobile applications testing (challenges, tools & techniques)
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
Shift left mobile application testing
Shift left  mobile  application testingShift left  mobile  application testing
Shift left mobile application testing
 
Nuance of mobile testing jan 23
Nuance of mobile testing jan 23Nuance of mobile testing jan 23
Nuance of mobile testing jan 23
 
The Essentials of Mobile App Performance Testing and Monitoring
The Essentials of Mobile App Performance Testing and MonitoringThe Essentials of Mobile App Performance Testing and Monitoring
The Essentials of Mobile App Performance Testing and Monitoring
 
Experitest & Wipro Co-Webinar
Experitest & Wipro Co-Webinar Experitest & Wipro Co-Webinar
Experitest & Wipro Co-Webinar
 
Learn mobile app testing in simple way
Learn mobile app testing in simple way Learn mobile app testing in simple way
Learn mobile app testing in simple way
 

Viewers also liked

Performance Testing on Android
Performance Testing on AndroidPerformance Testing on Android
Performance Testing on AndroidAkshay Dashrath
 
Android Performance and Monitoring - Meetup 3 25-14
Android Performance and Monitoring - Meetup 3 25-14Android Performance and Monitoring - Meetup 3 25-14
Android Performance and Monitoring - Meetup 3 25-14Alex Gaber
 
Unit testing in android
Unit testing in androidUnit testing in android
Unit testing in androidLi-Wei Cheng
 
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
How to Reliably Measure and Optimize Graphics Performance of Your Android GamesHow to Reliably Measure and Optimize Graphics Performance of Your Android Games
How to Reliably Measure and Optimize Graphics Performance of Your Android GamesBitbar
 
Testing on Android
Testing on AndroidTesting on Android
Testing on AndroidAri Lacenski
 

Viewers also liked (7)

Performance Testing on Android
Performance Testing on AndroidPerformance Testing on Android
Performance Testing on Android
 
Android performance
Android performanceAndroid performance
Android performance
 
Android Performance and Monitoring - Meetup 3 25-14
Android Performance and Monitoring - Meetup 3 25-14Android Performance and Monitoring - Meetup 3 25-14
Android Performance and Monitoring - Meetup 3 25-14
 
Testing Android Security
Testing Android SecurityTesting Android Security
Testing Android Security
 
Unit testing in android
Unit testing in androidUnit testing in android
Unit testing in android
 
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
How to Reliably Measure and Optimize Graphics Performance of Your Android GamesHow to Reliably Measure and Optimize Graphics Performance of Your Android Games
How to Reliably Measure and Optimize Graphics Performance of Your Android Games
 
Testing on Android
Testing on AndroidTesting on Android
Testing on Android
 

Similar to Android Mobile Application Testing: Specific Functional, Performance, Device Park Selection

Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...GoIT
 
Samsung Developer's Conference - Maximize App Performance while Minimizing Ba...
Samsung Developer's Conference - Maximize App Performance while Minimizing Ba...Samsung Developer's Conference - Maximize App Performance while Minimizing Ba...
Samsung Developer's Conference - Maximize App Performance while Minimizing Ba...rickschwar
 
3 App Compat Win7
3 App Compat Win73 App Compat Win7
3 App Compat Win7llangit
 
Monitoring of computers
Monitoring of computers Monitoring of computers
Monitoring of computers carlosrudy_45
 
MobileApplicationTesting.pptx
MobileApplicationTesting.pptxMobileApplicationTesting.pptx
MobileApplicationTesting.pptxCbhaSlide
 
Basic Computer Skills.pptx
Basic Computer Skills.pptxBasic Computer Skills.pptx
Basic Computer Skills.pptxChandniK7
 
Mobile applicationtesting
Mobile applicationtesting Mobile applicationtesting
Mobile applicationtesting L ESHWAR
 
Mobile App Security Testing
Mobile App Security TestingMobile App Security Testing
Mobile App Security TestingSarwar Jahan M
 
Optimize and speed up windows 7
Optimize and speed up windows 7Optimize and speed up windows 7
Optimize and speed up windows 7Power Admin LLC
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorialLokesh Agrawal
 
Desarrollo con AIR para Playbook
Desarrollo con AIR para PlaybookDesarrollo con AIR para Playbook
Desarrollo con AIR para PlaybookSoftware Guru
 
AVG PC TuneUp Whitepaper 2015
AVG PC TuneUp Whitepaper 2015AVG PC TuneUp Whitepaper 2015
AVG PC TuneUp Whitepaper 2015AVG Technologies
 
Optimizing Apps for Better Performance
Optimizing Apps for Better PerformanceOptimizing Apps for Better Performance
Optimizing Apps for Better PerformanceElif Boncuk
 
Prokonmanual 140505223324-phpapp01
Prokonmanual 140505223324-phpapp01Prokonmanual 140505223324-phpapp01
Prokonmanual 140505223324-phpapp01tuanpham234
 
The Samsung Notebook M 11.6" (NP110S1K-K01US) User Manual PDF / User Guide
The Samsung Notebook M 11.6" (NP110S1K-K01US) User Manual PDF / User GuideThe Samsung Notebook M 11.6" (NP110S1K-K01US) User Manual PDF / User Guide
The Samsung Notebook M 11.6" (NP110S1K-K01US) User Manual PDF / User Guidemanualsheet
 
Windows Debugging Tools - JavaOne 2013
Windows Debugging Tools - JavaOne 2013Windows Debugging Tools - JavaOne 2013
Windows Debugging Tools - JavaOne 2013MattKilner
 
Android developer options & android sdk tools (for qa)
Android developer options & android sdk tools (for qa)Android developer options & android sdk tools (for qa)
Android developer options & android sdk tools (for qa)Viktoria Boychenko
 

Similar to Android Mobile Application Testing: Specific Functional, Performance, Device Park Selection (20)

Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
Mobile Saturday. Тема 2. Особенности тестирования приложения на Android: Spec...
 
Samsung Developer's Conference - Maximize App Performance while Minimizing Ba...
Samsung Developer's Conference - Maximize App Performance while Minimizing Ba...Samsung Developer's Conference - Maximize App Performance while Minimizing Ba...
Samsung Developer's Conference - Maximize App Performance while Minimizing Ba...
 
Android by Swecha
Android by SwechaAndroid by Swecha
Android by Swecha
 
3 App Compat Win7
3 App Compat Win73 App Compat Win7
3 App Compat Win7
 
Monitoring of computers
Monitoring of computers Monitoring of computers
Monitoring of computers
 
Windows 8 Client Part 2 "The Application internals for IT-Pro's"
Windows 8 Client Part 2 "The Application internals for IT-Pro's"  Windows 8 Client Part 2 "The Application internals for IT-Pro's"
Windows 8 Client Part 2 "The Application internals for IT-Pro's"
 
MobileApplicationTesting.pptx
MobileApplicationTesting.pptxMobileApplicationTesting.pptx
MobileApplicationTesting.pptx
 
Basic Computer Skills.pptx
Basic Computer Skills.pptxBasic Computer Skills.pptx
Basic Computer Skills.pptx
 
Mobile applicationtesting
Mobile applicationtesting Mobile applicationtesting
Mobile applicationtesting
 
Mobile App Security Testing
Mobile App Security TestingMobile App Security Testing
Mobile App Security Testing
 
Optimize and speed up windows 7
Optimize and speed up windows 7Optimize and speed up windows 7
Optimize and speed up windows 7
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorial
 
Desarrollo con AIR para Playbook
Desarrollo con AIR para PlaybookDesarrollo con AIR para Playbook
Desarrollo con AIR para Playbook
 
AVG PC TuneUp Whitepaper 2015
AVG PC TuneUp Whitepaper 2015AVG PC TuneUp Whitepaper 2015
AVG PC TuneUp Whitepaper 2015
 
Optimizing Apps for Better Performance
Optimizing Apps for Better PerformanceOptimizing Apps for Better Performance
Optimizing Apps for Better Performance
 
Prokonmanual 140505223324-phpapp01
Prokonmanual 140505223324-phpapp01Prokonmanual 140505223324-phpapp01
Prokonmanual 140505223324-phpapp01
 
The Samsung Notebook M 11.6" (NP110S1K-K01US) User Manual PDF / User Guide
The Samsung Notebook M 11.6" (NP110S1K-K01US) User Manual PDF / User GuideThe Samsung Notebook M 11.6" (NP110S1K-K01US) User Manual PDF / User Guide
The Samsung Notebook M 11.6" (NP110S1K-K01US) User Manual PDF / User Guide
 
Windows Debugging Tools - JavaOne 2013
Windows Debugging Tools - JavaOne 2013Windows Debugging Tools - JavaOne 2013
Windows Debugging Tools - JavaOne 2013
 
Android developer options & android sdk tools (for qa)
Android developer options & android sdk tools (for qa)Android developer options & android sdk tools (for qa)
Android developer options & android sdk tools (for qa)
 

More from SoftServe

Approaching Quality in Digital Era
Approaching Quality in Digital EraApproaching Quality in Digital Era
Approaching Quality in Digital EraSoftServe
 
Digital Product Security
Digital Product SecurityDigital Product Security
Digital Product SecuritySoftServe
 
Testing Tools and Tips
Testing Tools and TipsTesting Tools and Tips
Testing Tools and TipsSoftServe
 
How to Reduce Time to Market Using Microsoft DevOps Solutions
How to Reduce Time to Market Using Microsoft DevOps SolutionsHow to Reduce Time to Market Using Microsoft DevOps Solutions
How to Reduce Time to Market Using Microsoft DevOps SolutionsSoftServe
 
Containerization: The DevOps Revolution
Containerization: The DevOps Revolution Containerization: The DevOps Revolution
Containerization: The DevOps Revolution SoftServe
 
Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist SoftServe
 
Rapid Prototyping for Big Data with AWS
Rapid Prototyping for Big Data with AWS Rapid Prototyping for Big Data with AWS
Rapid Prototyping for Big Data with AWS SoftServe
 
Implementing Test Automation: What a Manager Should Know
Implementing Test Automation: What a Manager Should KnowImplementing Test Automation: What a Manager Should Know
Implementing Test Automation: What a Manager Should KnowSoftServe
 
Using AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and BeyondUsing AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and BeyondSoftServe
 
Advanced Analytics and Data Science Expertise
Advanced Analytics and Data Science ExpertiseAdvanced Analytics and Data Science Expertise
Advanced Analytics and Data Science ExpertiseSoftServe
 
Agile Big Data Analytics Development: An Architecture-Centric Approach
Agile Big Data Analytics Development: An Architecture-Centric ApproachAgile Big Data Analytics Development: An Architecture-Centric Approach
Agile Big Data Analytics Development: An Architecture-Centric ApproachSoftServe
 
Big Data as a Service: A Neo-Metropolis Model Approach for Innovation
Big Data as a Service: A Neo-Metropolis Model Approach for InnovationBig Data as a Service: A Neo-Metropolis Model Approach for Innovation
Big Data as a Service: A Neo-Metropolis Model Approach for InnovationSoftServe
 
Personalized Medicine in a Contemporary World by Eugene Borukhovich, SVP Heal...
Personalized Medicine in a Contemporary World by Eugene Borukhovich, SVP Heal...Personalized Medicine in a Contemporary World by Eugene Borukhovich, SVP Heal...
Personalized Medicine in a Contemporary World by Eugene Borukhovich, SVP Heal...SoftServe
 
Health 2.0 WinterTech: Will Artificial Intelligence change healthcare? by Eug...
Health 2.0 WinterTech: Will Artificial Intelligence change healthcare? by Eug...Health 2.0 WinterTech: Will Artificial Intelligence change healthcare? by Eug...
Health 2.0 WinterTech: Will Artificial Intelligence change healthcare? by Eug...SoftServe
 
Managing Requirements with Word and TFS by Max Markov
Managing Requirements with Word and TFS by Max MarkovManaging Requirements with Word and TFS by Max Markov
Managing Requirements with Word and TFS by Max MarkovSoftServe
 
How to Implement Hybrid Cloud Solutions Successfully
How to Implement Hybrid Cloud Solutions SuccessfullyHow to Implement Hybrid Cloud Solutions Successfully
How to Implement Hybrid Cloud Solutions SuccessfullySoftServe
 
Designing Big Data Systems Like a Pro
Designing Big Data Systems Like a ProDesigning Big Data Systems Like a Pro
Designing Big Data Systems Like a ProSoftServe
 
Product Management in Outsourcing by Roman Kolodchak and Roman Pavlyuk
Product Management in Outsourcing by Roman Kolodchak and Roman PavlyukProduct Management in Outsourcing by Roman Kolodchak and Roman Pavlyuk
Product Management in Outsourcing by Roman Kolodchak and Roman PavlyukSoftServe
 
From Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym FedorovFrom Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym FedorovSoftServe
 
Why Ukraine? by Brian Borack, COO
Why Ukraine? by Brian Borack, COOWhy Ukraine? by Brian Borack, COO
Why Ukraine? by Brian Borack, COOSoftServe
 

More from SoftServe (20)

Approaching Quality in Digital Era
Approaching Quality in Digital EraApproaching Quality in Digital Era
Approaching Quality in Digital Era
 
Digital Product Security
Digital Product SecurityDigital Product Security
Digital Product Security
 
Testing Tools and Tips
Testing Tools and TipsTesting Tools and Tips
Testing Tools and Tips
 
How to Reduce Time to Market Using Microsoft DevOps Solutions
How to Reduce Time to Market Using Microsoft DevOps SolutionsHow to Reduce Time to Market Using Microsoft DevOps Solutions
How to Reduce Time to Market Using Microsoft DevOps Solutions
 
Containerization: The DevOps Revolution
Containerization: The DevOps Revolution Containerization: The DevOps Revolution
Containerization: The DevOps Revolution
 
Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist Essential Data Engineering for Data Scientist
Essential Data Engineering for Data Scientist
 
Rapid Prototyping for Big Data with AWS
Rapid Prototyping for Big Data with AWS Rapid Prototyping for Big Data with AWS
Rapid Prototyping for Big Data with AWS
 
Implementing Test Automation: What a Manager Should Know
Implementing Test Automation: What a Manager Should KnowImplementing Test Automation: What a Manager Should Know
Implementing Test Automation: What a Manager Should Know
 
Using AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and BeyondUsing AWS Lambda for Infrastructure Automation and Beyond
Using AWS Lambda for Infrastructure Automation and Beyond
 
Advanced Analytics and Data Science Expertise
Advanced Analytics and Data Science ExpertiseAdvanced Analytics and Data Science Expertise
Advanced Analytics and Data Science Expertise
 
Agile Big Data Analytics Development: An Architecture-Centric Approach
Agile Big Data Analytics Development: An Architecture-Centric ApproachAgile Big Data Analytics Development: An Architecture-Centric Approach
Agile Big Data Analytics Development: An Architecture-Centric Approach
 
Big Data as a Service: A Neo-Metropolis Model Approach for Innovation
Big Data as a Service: A Neo-Metropolis Model Approach for InnovationBig Data as a Service: A Neo-Metropolis Model Approach for Innovation
Big Data as a Service: A Neo-Metropolis Model Approach for Innovation
 
Personalized Medicine in a Contemporary World by Eugene Borukhovich, SVP Heal...
Personalized Medicine in a Contemporary World by Eugene Borukhovich, SVP Heal...Personalized Medicine in a Contemporary World by Eugene Borukhovich, SVP Heal...
Personalized Medicine in a Contemporary World by Eugene Borukhovich, SVP Heal...
 
Health 2.0 WinterTech: Will Artificial Intelligence change healthcare? by Eug...
Health 2.0 WinterTech: Will Artificial Intelligence change healthcare? by Eug...Health 2.0 WinterTech: Will Artificial Intelligence change healthcare? by Eug...
Health 2.0 WinterTech: Will Artificial Intelligence change healthcare? by Eug...
 
Managing Requirements with Word and TFS by Max Markov
Managing Requirements with Word and TFS by Max MarkovManaging Requirements with Word and TFS by Max Markov
Managing Requirements with Word and TFS by Max Markov
 
How to Implement Hybrid Cloud Solutions Successfully
How to Implement Hybrid Cloud Solutions SuccessfullyHow to Implement Hybrid Cloud Solutions Successfully
How to Implement Hybrid Cloud Solutions Successfully
 
Designing Big Data Systems Like a Pro
Designing Big Data Systems Like a ProDesigning Big Data Systems Like a Pro
Designing Big Data Systems Like a Pro
 
Product Management in Outsourcing by Roman Kolodchak and Roman Pavlyuk
Product Management in Outsourcing by Roman Kolodchak and Roman PavlyukProduct Management in Outsourcing by Roman Kolodchak and Roman Pavlyuk
Product Management in Outsourcing by Roman Kolodchak and Roman Pavlyuk
 
From Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym FedorovFrom Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym Fedorov
 
Why Ukraine? by Brian Borack, COO
Why Ukraine? by Brian Borack, COOWhy Ukraine? by Brian Borack, COO
Why Ukraine? by Brian Borack, COO
 

Recently uploaded

GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slidesvaideheekore1
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecturerahul_net
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencessuser9e7c64
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingShane Coughlan
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingShane Coughlan
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 

Recently uploaded (20)

GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Introduction to Firebase Workshop Slides
Introduction to Firebase Workshop SlidesIntroduction to Firebase Workshop Slides
Introduction to Firebase Workshop Slides
 
Understanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM ArchitectureUnderstanding Flamingo - DeepMind's VLM Architecture
Understanding Flamingo - DeepMind's VLM Architecture
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Patterns for automating API delivery. API conference
Patterns for automating API delivery. API conferencePatterns for automating API delivery. API conference
Patterns for automating API delivery. API conference
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full RecordingOpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full RecordingOpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
OpenChain AI Study Group - Europe and Asia Recap - 2024-04-11 - Full Recording
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 

Android Mobile Application Testing: Specific Functional, Performance, Device Park Selection

  • 1. Android Mobile Application Testing Specific functional. Performance. Device park selection Mykhailo Zhelieznov QC Eng. at SoftServe
  • 2. Agenda: ● Specific functional: ○ Application installation ○ Network access ○ Animation, Video, Audio ○ GUI testing ● Performance ● Device park
  • 4. Application installation It’s important to check application installation, especially if it saves some specific data on device or registers to the server
  • 5. Application installation Device preparation ● Cleared device (after factory reset) ● Device with existing user’s data (apps installed, additional user’s data - documents, pictures, music etc.) ● Device OS upgrade
  • 6. Application installation ● Settings > Backup and restore > Factory reset ● Reboot to recovery mode - Volume Down + Power (depends on Vendor) > wipe data/factory reset How to clear the device:
  • 7. Application installation Ways of application installing ● System apps, installed when system is initialized ● Install apps from Google Play Store ● Install apps using adb, "adb install xxx.apk" ● Copy xxxapp.apk to sdcard, browse the .apk file from your phone, double click, the app would be installed.
  • 8. Application installation What can be wrong while installing app? ● At least check installer is not corrupted ● Check requested permissions ● Check if application starts ● Check if all necessary data created. It can be pictures (e.g. WallPapers app), sounds, data base, other specific data saved in specific directory (need to be checked with developers)
  • 9. Application installation Other cases ● Check that Uninstalling works correct: ○ all necessary data is removed from device ○ application is unregistered from server ● Check that reinstalling of the same app doesn’t produce any issues ● New version of application can be available, check that upgrade successfully executes (this can be done in combination of OS upgrade) Note: system apps & administrators can’t be removed, just stopped but not always
  • 10. Application installation Clear application data As you use applications, they start storing files for reference later. These files are stored in an app "cache." Settings > Applications > Select app (depends on vendor) 1 Clearing app data is a little more drastic. You're wiping the cache, but also clearing any and all settings that go along with that app. 2
  • 11. Application installation ‘Closing’ apps Removing an entry in recent tasks will kill any background processes that exist for the process. It won't directly causes services to stop For stop is a complete kill of the app -- all processes are killed, all services stopped, all notifications removed, all alarms removed, etc. The app is not allowed to launch again until explicitly requested. 1 2
  • 13. Need to check each connection type and switches between them Network access Disconnected WiFi Edge 3G AirPlane Disconnected x x x x WiFi x x x x Edge x x x x 3G x x x x AirPlane x x x x 20 elementary cases is just a beginning
  • 14. State transitions / use cases, depended on requirements Network access ●Disconnected > Edge > WiFi > Edge > WiFi > AirPlane mode > Disconnected > Wifi … ●Edge > Disconnected > AirPlane mode > Edge ...
  • 15. ● Downloading is in progress > connection type changed ● Wait for WiFi access before doing large data transfers, since WiFi transfers maximize battery usage compared to transfers over 3G or EDGE ● Cached files should be refreshed if they were changed on server. This can be done by manual downloading of resources or by Server push event ● Push event is received just after device back online. Downloading resume after device back online Network access Caching, downloads for offline work
  • 16. Network access ● Downloaded data should be valid, encrypted if necessary (files, push events etc.)
  • 18. Can be triggered: ● By user’s action ○ Swipe, scroll ○ Button press ○ Tap on screen ○ Device rotate ○ Change settings ● On timeout ● By event / push message receiving Animation, Video, Audio
  • 19. Can be interrupted (paused / stopped): ● By the same reasons they triggers (previous slide) ● By incoming / outcoming call / sms ● Status bar / menu opening, popup appearing ● Low power resource ● App move to BG > FG ● Lock / Unlock device ● If Audio / Video is playing in BG - it can be interrupted by other applications sounds ● Audio - headphones disconnection ● Video - full screen enter / exit Animation, Video, Audio
  • 20. The best way to test the accuracy of Animation / Video / Audio - is simply watch / listen and compare with requirements. Additional tools can help to detect if playing started / paused, but won’t detect the incorrect displaying / sounding Animation, Video, Audio
  • 22. You can make a screenshot from your screen and then use any image editor which shows cursor location to calculate the sizes in pixel GUI testing
  • 23. Developer options can make your life much easy. Use next of them for GUI testing: GUI testing ● Pointer location ● Show layout bounds
  • 24. Dump view hierarchy for UI Automator + Show layout bounds GUI testing 140 580
  • 25. A virtual pixel unit that you should use when defining UI layout, to express layout dimensions or position in a density-independent way. The density-independent pixel is equivalent to one physical pixel on a 160 dpi screen, which is the baseline density assumed by the system for a "medium" density screen. At runtime, the system transparently handles any scaling of the dp units, as necessary, based on the actual density of the screen in use. The conversion of dp units to screen pixels is simple: px = dp * (dpi / 160). For example, on a 240 dpi screen, 1 dp equals 1.5 physical pixels. You should always use dp units when defining your application's UI, to ensure proper display of your UI on screens with different densities. GUI testing Density-independent pixel (dp)
  • 26. ● find it in your device tech specification ● get display info using ADB: ○ $ adb shell dumpsys display ○ find ‘density’ in command output: GUI testing How to get your device density (Dots per inch)?
  • 28. Performance ● Note the time of action, e.g.: ○ application starting time ○ screen switch ○ list download / scroll ○ any action triggered by user (for ex. on button press) ● Repeat same test few more times (e.g. 10) and calculate the average for better accuracy ● On different Android versions performance can be different as on the devices with a different characteristics ● ~100 switches between screens / ~100 screen rotates / application move BG then FG ● Load / Create a lot of files at once Simple performance tests
  • 29. Performance Over and above you can use a simply ADB command-line tool to execute the actions by incredible scenario - like Monkey. The basic syntax is: $ adb shell monkey [options] <event-count> For example, if your application package is com.myapp and you want to generate 1000 gestures, with a delay of 500ms between each event, you have to use this command: $ adb shell monkey -p com.myapp --throttle 500 -v 1000 Simple performance tests
  • 30. Performance We can check the RAM usage without any additional tools ● Go to Settings > Apps > Running Consumption of resources
  • 31. Performance We can check Power Consumption the same way we did for RAM checking ● Go to Settings > Battery Consumption of resources
  • 32. Consumption of resources If you want a bit better tool with the same intuitive interface - go to Google Play store and find the App which will show all the data you need in the way you like (e.g. Simply System Monitor) Performance
  • 33. Performance If power consumption is really important for you - buy additional hardware and software e.g. Monsoon Power Monitor Consumption of resources
  • 35. Device park Android has a really big problem due to fragmentation of different vendors with different hardware and software installations as well as customized user interfaces.
  • 36. Device park 1. Watches 2. Smart glasses 3. Home Appliances 4. Cars 5. Homes 6. Cameras 7. Smart TVs 8. DECT phones 9. Game consoles 10. Mirrors (you read that right) Android Everywhere: 10 Types of Devices That Android Is Making Better
  • 37. Device park Gather as much information as possible and allowed about the devices of your end users: ● Devices types ● Densities ● Android versions ● Vendors ● Architectures Gether the statistic
  • 38. Device park Google devices: ● Uses original Android ● First receives latest Factory Images ● Easy to install previous versions of operating system Google Nexus - Always new
  • 39. Device park Use cloud device storages
  • 40.
  • 42. ??? Viewing heap usage for a process 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. To view heap usage for a process: 1. In the Devices tab, select the process that you want to see the heap information for. 2. Click the Update Heap button to enable heap information for the process. 3. 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. 4. 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.
  • 43. ???Viewing heap usage for a process
  • 44. ??? 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 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. Tracking memory allocation of objects
  • 46. ??? Examining thread information 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.
  • 48. ??? 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. Interact with your application to start the methods that you want to profile. 4. 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. Starting method profiling