SlideShare a Scribd company logo
1 of 23
How to optimize Device and Test Coverage?
Agenda
The ever growing device fragmentation
and its effect
Traditional methods to devise device &
test coverage
What’s the surprise @ pCloudy ?
24,093 distinct Android devices
The ever-growing versions of Android
Oreo moves up to 21.5 percent from 19.2 percent.
This along with a small drop in Marshmallow’s
numbers brings last year’s version of Android to
just 6.7 percent below Nougat.
Let’s do some math!
• 16 device display categories
• 20 different common resolutions
• 15 Android versions
• 400 Android device Manufacturers
• 4 Major cellular networks
• 16 x 20 x 15 x 400 x 4 = 768000 permutations
Is it feasible?
Devising the
right device
matrix
Based on
Market
Penetration
By using
Purchased
data
By using
Analytics
Based on
Device
Diversity
How do you find your right device coverage?
Selecting Devices based on Market
Penetration
Determine the set of devices with your target operating system that will have the highest
occurrence of accessing your application.
For Example-
>
What will you prioritize if you’ve more number of Samsung & Xiomi users than iPhone users?
Optimizing coverage through Device Planner
Market Share Approach for Consumer Apps
Pros
You can typically gather
approximate market share
data and utilize it to prioritize
your test device list
You choose devices with the
highest market share and test
on as many as you have time
and resources for.
Cons
You could be missing a whole
class of devices that are less
popular but might hold a
significant portion of the
market.
You could be wasting
resources testing on two
devices that are very similar
Purchased Data
Analytics
Source:
Selecting Devices based on Device Diversity
 Quad Core or above
CPU
 RAM >=3 GB
 Display >= 5“
 Retina, Full-HD
display
 Latest OS Version
 Dual Core CPU
 RAM <=1 GB
 Screen size <= 5“
 No Retina or Full HD
Display
 OS less than 1 year
 Single Core CPU
 RAM up to 1GB
 Display size <4”
 Low screen resolution
 Older OS
 older browser
High End Devices Medium Range Devices Slow Devices
A B C
Group
Google Pixel 3 OnePlus 6 Samsung S9+Vivo 9 Oppo F7
RAM
CPU
Display
OS
4GB
5.7" 5.5"
8GB
5.8"
4GB
6.3"
4GB
6.3"
Android 8
4GB
Octa
core
Octa
core
Quad
core
Octa
core
Quad
core
Android 9 Android 8 Android 8 Android 9
A
Group B
Galaxy CoreI8262 Sony Xperia
SL(LT26II)
Micromax
Canvas Superfone
Asus Zenfone4 Oppo Joy
RAM
CPU
Display
OS
1GB
4.3" 4.3"
1GB
5.0"
1GB
4.0"
1GB
4.0"
Android
4.4
1GB
Dual
core
Dual
core
Dual
core
Dual
core
Dual
Core
Android
4.1.2
Android
4.0.4
Android
4.0.4
Android
4.4
Group C
Sony Xperia Tipo HTC A310E Explorer LG Optimus Net
Samsung Galaxy Chat
RAM
Processor
Display
OS
512 MB
850
MHz
3.2"
Android
4.0
Android
2.3
Android
4.0
3.0"
512 MB
3.2"
850
MHz
650
MHz
512 MB512 MB
3.2"
800
MHz
Android
2.3
Optimizing your test & device coverage the pCloudy way!
Terminologies
Manifest File: Every project in Android includes a manifest file stored in the root directory
of its project hierarchy.
What information do you get here?
•Key information about the app without having to read other files in the package or run
the application.
•Defines which components of the application will be accessible externally to other apps,
and how those components interact with other apps.
•Declares which components and resources (icons, text strings, etc.) to use in which cases,
in particular with relation to other apps.
Terminologies
Target API Level: The Target Framework (also known as compileSdkVersion ) is the specific Android
framework version (API level) that your app is compiled for at build time.
• This setting specifies what APIs your app expects to use when it runs.
• It has no effect on which APIs are actually available to your app when it is installed
Android versions - Each release of Android goes by multiple names:
• The Android version, such as Android 9.0
• A code (or dessert) name, such as Pie
• A corresponding API level, such as API level 28
Why bugs occur?
Why bugs occur?
Android Apps
Application Framework
Inter-Process Communication Proxies
Android System Services and Mangers
Hardware Abstraction Layer
Linux Kennel (With Hardware Drivers)
]
]
Higher Level
System
Lower Level
System
What does our analysis say?
Type Root Cause Percentage of Issues Issue Examples
Device -
Specific
Problematic Driver
Implementation
56%
OS Customization 36%
Peculiar hardware
composition
20%
Non-device
Specific
Android Platform API
evolution
67%
Original Android System
bugs
12%
What does our analysis say?
• Let’s not test…let’s predict…
The path ahead!
• The digital age force us to test smarter! Optimizing test & device
coverage is the first step.
• Effective use of Data Analysis to take testing to the next level
• pCloudy is at the forefront of innovation to keep you ahead
Q&Ainfo@pcloudy.com
avinash.tiwari@pcloudy.com

More Related Content

Similar to Optimizing device and test coverage webinar

Android Workshop Presentation
Android Workshop PresentationAndroid Workshop Presentation
Android Workshop Presentation
NAILBITER
 
Workshop using open source software for mobile data collection workshop - a...
Workshop   using open source software for mobile data collection workshop - a...Workshop   using open source software for mobile data collection workshop - a...
Workshop using open source software for mobile data collection workshop - a...
Wisconsin Land Information Association
 
Android App Development 01 : Getting Start
Android App Development 01 : Getting StartAndroid App Development 01 : Getting Start
Android App Development 01 : Getting Start
Anuchit Chalothorn
 

Similar to Optimizing device and test coverage webinar (20)

18th android intro
18th android intro18th android intro
18th android intro
 
Walmart & IBM Revisit the Linear Road Benchmark- Roger Rea, IBM
Walmart & IBM Revisit the Linear Road Benchmark- Roger Rea, IBMWalmart & IBM Revisit the Linear Road Benchmark- Roger Rea, IBM
Walmart & IBM Revisit the Linear Road Benchmark- Roger Rea, IBM
 
Windows Phone 7 Now
Windows Phone 7 NowWindows Phone 7 Now
Windows Phone 7 Now
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
 
Embedded Fest 2019. Іван Пустовіт. From AOSP to Android powered device
Embedded Fest 2019. Іван Пустовіт. From AOSP to Android powered deviceEmbedded Fest 2019. Іван Пустовіт. From AOSP to Android powered device
Embedded Fest 2019. Іван Пустовіт. From AOSP to Android powered device
 
Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1
 
Android Workshop Presentation
Android Workshop PresentationAndroid Workshop Presentation
Android Workshop Presentation
 
Rhodes vs Phonegap
Rhodes vs PhonegapRhodes vs Phonegap
Rhodes vs Phonegap
 
Workshop using open source software for mobile data collection workshop - a...
Workshop   using open source software for mobile data collection workshop - a...Workshop   using open source software for mobile data collection workshop - a...
Workshop using open source software for mobile data collection workshop - a...
 
Androidappdevelopmentpresentation
AndroidappdevelopmentpresentationAndroidappdevelopmentpresentation
Androidappdevelopmentpresentation
 
Building the Ultimate Device Matrix
Building the Ultimate Device MatrixBuilding the Ultimate Device Matrix
Building the Ultimate Device Matrix
 
Cigniti's Game Testing Capabilities.pdf
Cigniti's Game Testing Capabilities.pdfCigniti's Game Testing Capabilities.pdf
Cigniti's Game Testing Capabilities.pdf
 
Android App Development 01 : Getting Start
Android App Development 01 : Getting StartAndroid App Development 01 : Getting Start
Android App Development 01 : Getting Start
 
Android deep dive
Android deep diveAndroid deep dive
Android deep dive
 
Android development
Android developmentAndroid development
Android development
 
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
ASE 2016 Taming Android Fragmentation: Characterizing and Detecting Compatibi...
 
Xamarin Evolve 2014 - Designing Android UIs for the Ever Changing Device Land...
Xamarin Evolve 2014 - Designing Android UIs for the Ever Changing Device Land...Xamarin Evolve 2014 - Designing Android UIs for the Ever Changing Device Land...
Xamarin Evolve 2014 - Designing Android UIs for the Ever Changing Device Land...
 
HH QUALCOMM how to minimize the power consumption of your app
HH QUALCOMM how to minimize the power consumption of your appHH QUALCOMM how to minimize the power consumption of your app
HH QUALCOMM how to minimize the power consumption of your app
 
How to Minimize Your App’s Power Consumption
How to Minimize Your App’s Power Consumption How to Minimize Your App’s Power Consumption
How to Minimize Your App’s Power Consumption
 
Windows Phone7 Development
Windows Phone7 DevelopmentWindows Phone7 Development
Windows Phone7 Development
 

More from pCloudy

More from pCloudy (20)

How to generate Synthetic Data for an effective App Testing strategy.pdf
How to generate Synthetic Data for an effective App Testing strategy.pdfHow to generate Synthetic Data for an effective App Testing strategy.pdf
How to generate Synthetic Data for an effective App Testing strategy.pdf
 
How to Test Computer Vision Apps like Google Lens and Google Photos.pdf
How to Test Computer Vision Apps like Google Lens and Google Photos.pdfHow to Test Computer Vision Apps like Google Lens and Google Photos.pdf
How to Test Computer Vision Apps like Google Lens and Google Photos.pdf
 
Handling iFrames in Selenium Based Test Automation.pdf
Handling iFrames in Selenium Based Test Automation.pdfHandling iFrames in Selenium Based Test Automation.pdf
Handling iFrames in Selenium Based Test Automation.pdf
 
What Are Virtual Devices And How To Use Them For Testing.pdf
What Are Virtual Devices And How To Use Them For Testing.pdfWhat Are Virtual Devices And How To Use Them For Testing.pdf
What Are Virtual Devices And How To Use Them For Testing.pdf
 
A Complete Guide to Rapid Automation Testing.pdf
A Complete Guide to Rapid Automation Testing.pdfA Complete Guide to Rapid Automation Testing.pdf
A Complete Guide to Rapid Automation Testing.pdf
 
Headless Browser – A Stepping Stone Towards Developing Smarter Web Applicatio...
Headless Browser – A Stepping Stone Towards Developing Smarter Web Applicatio...Headless Browser – A Stepping Stone Towards Developing Smarter Web Applicatio...
Headless Browser – A Stepping Stone Towards Developing Smarter Web Applicatio...
 
Choosing the Right Testing Strategy to Scale up Mobile App Testing.pdf
Choosing the Right Testing Strategy to Scale up Mobile App Testing.pdfChoosing the Right Testing Strategy to Scale up Mobile App Testing.pdf
Choosing the Right Testing Strategy to Scale up Mobile App Testing.pdf
 
Redefining Mobile App Testing pCloudy’s Comprehensive Framework Arsenal.pdf
Redefining Mobile App Testing pCloudy’s Comprehensive Framework Arsenal.pdfRedefining Mobile App Testing pCloudy’s Comprehensive Framework Arsenal.pdf
Redefining Mobile App Testing pCloudy’s Comprehensive Framework Arsenal.pdf
 
How to Optimize Apps for Digital Accessibility.pdf
How to Optimize Apps for Digital Accessibility.pdfHow to Optimize Apps for Digital Accessibility.pdf
How to Optimize Apps for Digital Accessibility.pdf
 
Understanding public Cloud Cloud Real Devices vs. physical devices, VMs and ...
Understanding public Cloud  Cloud Real Devices vs. physical devices, VMs and ...Understanding public Cloud  Cloud Real Devices vs. physical devices, VMs and ...
Understanding public Cloud Cloud Real Devices vs. physical devices, VMs and ...
 
Public Cloud vs. Private Cloud Making the Right Choice for Mobile App Testing...
Public Cloud vs. Private Cloud Making the Right Choice for Mobile App Testing...Public Cloud vs. Private Cloud Making the Right Choice for Mobile App Testing...
Public Cloud vs. Private Cloud Making the Right Choice for Mobile App Testing...
 
How does Cross Browser testing improve the User Experience.pdf
How does Cross Browser testing improve the User Experience.pdfHow does Cross Browser testing improve the User Experience.pdf
How does Cross Browser testing improve the User Experience.pdf
 
Leveraging Self-Healing Techniques to Foster Sustainable Automation Scripts.pdf
Leveraging Self-Healing Techniques to Foster Sustainable Automation Scripts.pdfLeveraging Self-Healing Techniques to Foster Sustainable Automation Scripts.pdf
Leveraging Self-Healing Techniques to Foster Sustainable Automation Scripts.pdf
 
Seamless Integration of Self-Healing Automation into CICD Pipelines.pdf
Seamless Integration of Self-Healing Automation into CICD Pipelines.pdfSeamless Integration of Self-Healing Automation into CICD Pipelines.pdf
Seamless Integration of Self-Healing Automation into CICD Pipelines.pdf
 
Summary of Device Coverage Report 2021.pdf
Summary of Device Coverage Report 2021.pdfSummary of Device Coverage Report 2021.pdf
Summary of Device Coverage Report 2021.pdf
 
SSTS Inc. Selected For The HPE Digital Catalyst Program.pdf
SSTS Inc. Selected For The HPE Digital Catalyst Program.pdfSSTS Inc. Selected For The HPE Digital Catalyst Program.pdf
SSTS Inc. Selected For The HPE Digital Catalyst Program.pdf
 
Test Orchestration and Its Need for Successful Automation (2).pdf
Test Orchestration and Its Need for Successful Automation (2).pdfTest Orchestration and Its Need for Successful Automation (2).pdf
Test Orchestration and Its Need for Successful Automation (2).pdf
 
How to use Generative AI to make app testing easy.pdf
How to use Generative AI to make app testing easy.pdfHow to use Generative AI to make app testing easy.pdf
How to use Generative AI to make app testing easy.pdf
 
Why Enterprises Should Opt for Cloud-Based Real Device App Testing.pdf
Why Enterprises Should Opt for Cloud-Based Real Device App Testing.pdfWhy Enterprises Should Opt for Cloud-Based Real Device App Testing.pdf
Why Enterprises Should Opt for Cloud-Based Real Device App Testing.pdf
 
Tips To Enhance Your Cross Browser Testing With Minimal Effort.pdf
Tips To Enhance Your Cross Browser Testing With Minimal Effort.pdfTips To Enhance Your Cross Browser Testing With Minimal Effort.pdf
Tips To Enhance Your Cross Browser Testing With Minimal Effort.pdf
 

Optimizing device and test coverage webinar

  • 1. How to optimize Device and Test Coverage?
  • 2. Agenda The ever growing device fragmentation and its effect Traditional methods to devise device & test coverage What’s the surprise @ pCloudy ?
  • 4. The ever-growing versions of Android Oreo moves up to 21.5 percent from 19.2 percent. This along with a small drop in Marshmallow’s numbers brings last year’s version of Android to just 6.7 percent below Nougat.
  • 5. Let’s do some math! • 16 device display categories • 20 different common resolutions • 15 Android versions • 400 Android device Manufacturers • 4 Major cellular networks • 16 x 20 x 15 x 400 x 4 = 768000 permutations Is it feasible?
  • 6. Devising the right device matrix Based on Market Penetration By using Purchased data By using Analytics Based on Device Diversity How do you find your right device coverage?
  • 7. Selecting Devices based on Market Penetration Determine the set of devices with your target operating system that will have the highest occurrence of accessing your application. For Example- > What will you prioritize if you’ve more number of Samsung & Xiomi users than iPhone users?
  • 9. Market Share Approach for Consumer Apps Pros You can typically gather approximate market share data and utilize it to prioritize your test device list You choose devices with the highest market share and test on as many as you have time and resources for. Cons You could be missing a whole class of devices that are less popular but might hold a significant portion of the market. You could be wasting resources testing on two devices that are very similar Purchased Data Analytics Source:
  • 10. Selecting Devices based on Device Diversity  Quad Core or above CPU  RAM >=3 GB  Display >= 5“  Retina, Full-HD display  Latest OS Version  Dual Core CPU  RAM <=1 GB  Screen size <= 5“  No Retina or Full HD Display  OS less than 1 year  Single Core CPU  RAM up to 1GB  Display size <4”  Low screen resolution  Older OS  older browser High End Devices Medium Range Devices Slow Devices A B C
  • 11. Group Google Pixel 3 OnePlus 6 Samsung S9+Vivo 9 Oppo F7 RAM CPU Display OS 4GB 5.7" 5.5" 8GB 5.8" 4GB 6.3" 4GB 6.3" Android 8 4GB Octa core Octa core Quad core Octa core Quad core Android 9 Android 8 Android 8 Android 9 A
  • 12. Group B Galaxy CoreI8262 Sony Xperia SL(LT26II) Micromax Canvas Superfone Asus Zenfone4 Oppo Joy RAM CPU Display OS 1GB 4.3" 4.3" 1GB 5.0" 1GB 4.0" 1GB 4.0" Android 4.4 1GB Dual core Dual core Dual core Dual core Dual Core Android 4.1.2 Android 4.0.4 Android 4.0.4 Android 4.4
  • 13. Group C Sony Xperia Tipo HTC A310E Explorer LG Optimus Net Samsung Galaxy Chat RAM Processor Display OS 512 MB 850 MHz 3.2" Android 4.0 Android 2.3 Android 4.0 3.0" 512 MB 3.2" 850 MHz 650 MHz 512 MB512 MB 3.2" 800 MHz Android 2.3
  • 14. Optimizing your test & device coverage the pCloudy way!
  • 15. Terminologies Manifest File: Every project in Android includes a manifest file stored in the root directory of its project hierarchy. What information do you get here? •Key information about the app without having to read other files in the package or run the application. •Defines which components of the application will be accessible externally to other apps, and how those components interact with other apps. •Declares which components and resources (icons, text strings, etc.) to use in which cases, in particular with relation to other apps.
  • 16. Terminologies Target API Level: The Target Framework (also known as compileSdkVersion ) is the specific Android framework version (API level) that your app is compiled for at build time. • This setting specifies what APIs your app expects to use when it runs. • It has no effect on which APIs are actually available to your app when it is installed Android versions - Each release of Android goes by multiple names: • The Android version, such as Android 9.0 • A code (or dessert) name, such as Pie • A corresponding API level, such as API level 28
  • 18. Why bugs occur? Android Apps Application Framework Inter-Process Communication Proxies Android System Services and Mangers Hardware Abstraction Layer Linux Kennel (With Hardware Drivers) ] ] Higher Level System Lower Level System
  • 19. What does our analysis say? Type Root Cause Percentage of Issues Issue Examples Device - Specific Problematic Driver Implementation 56% OS Customization 36% Peculiar hardware composition 20% Non-device Specific Android Platform API evolution 67% Original Android System bugs 12%
  • 20. What does our analysis say?
  • 21. • Let’s not test…let’s predict…
  • 22. The path ahead! • The digital age force us to test smarter! Optimizing test & device coverage is the first step. • Effective use of Data Analysis to take testing to the next level • pCloudy is at the forefront of innovation to keep you ahead

Editor's Notes

  1. Thanks for introduction.   Good morning or good afternoon depending on which part of world you are in. It’s a real pleasure to be part of group of experts and a global audience. Thanks a lot for Joining in.    Let me begin with a brief intro about myself. My name is Avinash. I am a co-founder of pCloudy.com, one the fastest growing Mobile App Testing platforms.    So I hope you are settled and we are ready to roll.
  2. I like solving problems of Testing teams and we created pcloudy.com with a goal to simplify lives or let me be precise “Testing lives of” of App developers and Testers. And we have made some exciting progress.   So, today I am going to focus on three key areas   Digital Transformation and world of Apps Quality @ speed and what can do it beyond what you would have already seen Lastly, how pcloudy helps you take it beyond.
  3. Here is a checklist most organizations use to consider themselves agile. If they have moved some dev project from waterfall to agile or have daily standup meetings, or have got a scrum master or think about CD all the time they think they are agile. But the real question is Are they really agile? Let’s see further.
  4. For Example- if you support both Android and iOS, and your application will be used across millions of Google Nexus and Moto G devices but only thousands of iPhones, you prioritize testing on the Google Nexus and Moto G above the iPhone device. So This test plan will consist of testing on devices which are prioritized by your market analysis.
  5. For Example- if you support both Android and iOS, and your application will be used across millions of Google Nexus and Moto G devices but only thousands of iPhones, you prioritize testing on the Google Nexus and Moto G above the iPhone device. So This test plan will consist of testing on devices which are prioritized by your market analysis.
  6. With the help of Market share approach you can typically gather approximate market share data and utilize it to prioritize your test device list. You choose devices with the highest market share and test on as many as you have time and resources for. So if your QA cycle allows for testing across 10 devices, you test on the 10 devices with the highest market share. Disadvantage The Market Share Approach ensures that you test on the most popular devices. However, by focusing only on market share, you could be missing a whole class of devices that are less popular, but when combined, still comprise a significant portion of the market. And you could be wasting resources testing on two devices that are very similar—your application is extremely likely to work on both of these devices if it works on either one. The next section describes an alternative approach that takes into account both market share and device characteristics to optimize your test strategy.
  7. With the help of Market share approach you can typically gather approximate market share data and utilize it to prioritize your test device list. You choose devices with the highest market share and test on as many as you have time and resources for. So if your QA cycle allows for testing across 10 devices, you test on the 10 devices with the highest market share. Disadvantage The Market Share Approach ensures that you test on the most popular devices. However, by focusing only on market share, you could be missing a whole class of devices that are less popular, but when combined, still comprise a significant portion of the market. And you could be wasting resources testing on two devices that are very similar—your application is extremely likely to work on both of these devices if it works on either one. The next section describes an alternative approach that takes into account both market share and device characteristics to optimize your test strategy.