SlideShare a Scribd company logo
1 of 22
Performance Testing Mobile
Apps
Session 1
By: Jyothirmayee Pola
App on Mobile Device vs UI
• Different devices in market which differ in screen size, memory,
enhancement mem availability, OS, touchscreen or not etc. Bottom line:
Same script cannot be re-used if any of the above factors change.
• Different devices connect differently to the server as compared to browsers
from desktop. Tech stack differs with each OS.
• More number of mobile users as compared to desktop users as on today
• Network quality
• Network latency affect is significantly higher in devices as compared to
desktop
• More packet loss with devices comparatively
• Different apps behave differently on the same device though they are
comparatively same apps. Example: Myntra which is a dedicated mobile
site as compared to Jabong which is a responsive web design app
App on Mobile Device vs UI
• Mobile layouts differ using the same device for the same app. Example:
landscape or portrait
• Browser cache limitation on device as compared to browser on desktop
• More frequent OS changes on devices and upgrades on mobile apps. Harder to
control upgrades.
• Keypad locks on device affect performance of the same app on the same device.
• Offline apps perform differently as compared to online apps on devices. There is
no such concept on desktop applications
• Native drivers on device
• Content rendering time on device: The time it takes to display the response
delivered to the client on the device is measured here. The platform type,
configuration of device and other hardware configurations affects this time.
• Last but not the least: limited number of tools to support device testing
Types of Mobile Apps – Native App
• Live on the device and launch by tapping icons on home screen. Executed
directly by OS
• Installed through an application store Ex: Google Play or Apple’s App Store
• A binary executable is directly downloaded from app store and stored on
the device file system
• Developed specifically for one platform and firmware to take full advantage
of all the device features Ex: Camera, GPS, Contacts, device specific
gestures etc
• Apps explicitly use the device’s/ Operating System’s APIs
• Allows function without internet connection
• Examples of native apps are Twitter, Skype, Tagging, Ingress, Instagram
Types of Mobile Apps – Native App
• Performance is better with Native Apps as they will have access to all native APIs
• Requires users to download and install updates. Or, at least approve them if set in
auto mode.
Native App – Continued
Types of Mobile Apps – Web App
• Websites which look feel like native apps Ex: Uber, Shutterfly, Google maps,
Linkedin
• Run by browser and typically written in html5, Javascript, CSS or other
languages.
• Once opened from browser, they navigate to a special url which in turn
gives the facility to download like an app. Ex: Financial times, Times of India
etc
• With browser caching its possible to access web apps offline
• Native APIs of the device are not exposed to web apps
• Performance depends on the browser speed, cache, internet connection’s
speed
• Same web app can be used on multiple devices of different make and
models
Web App – Continued …
• Latency over the air transmission is the biggest culprit for
performance degradation
• Performance of a web app is different with Wi-Fi, 3G, 2G, public Wi-Fi
etc
• User experience is lower as compared to native apps
Web App – Performance caveats
• Poorly written code: The same apps are written commonly for multiple
devices of different make model. Can never scale up for all devices equally.
• Start up or page load time depends on various factors like browser version,
available RAM on the device, app framework compatibility with the device
under test, device power, frame rate of the device, firmware version etc
• Parallel browsers or applications opened at the same time on the device
may lower the app performance under test
• How network calls and computations are handled. If they are not handled
in a background thread then, server response will increase.
• Performance due to not incorporating lazy loading
• All data needs to be downloaded for an fully operational app. Once closed,
the app (generally) will download all data again.
Web App – Performance caveats
• CPU intensive calls and complex video/ page rendering are to be checked
• Network calls during the use case flow need to be monitored and
optimized for better performance. Consider queuing multiple network calls
and sending them together in a single request.
• Usage of JSONs over XMLs will improve performance. Gzipping payload is
another option.
• Restricting the ad usage on the app
• Optimize algorithms: return to your computer science roots and analyze
the order (big Oh) of your algorithms and try running your application
inside a code profiler that will identify your bottlenecks
Web App – Performance caveats
• Choose resources with lesser resolution (easier to paint) for devices
with screens of lesser resolution. For example, the latest Samsung
Galaxy S5 has a 1920x1080 resolution, but the two-year-old Galaxy S3
only has a 1280x720 resolution. There is no benefit to sending a
device images with greater resolutions than the device itself
• Gracefully degrade complex functionality: remove some of the nice-
to-have features such as anti-aliasing, complex texture mapping, and
so forth from your painting algorithms if you identify performance
issues. Users with powerful devices will see all of the niceties, but
users with less powerful devices will still have a good user experience.
Types of Mobile Apps – Hybrid App
• They install on your device by downloading them from app stores
• Built with a combination of web technologies like HTML, CSS, and
JavaScript
• Hybrid apps are hosted inside a native application that utilizes a mobile
platform’s WebView
• Access device capabilities such as the accelerometer, camera, contacts, and
more
• Most hybrid mobile applications leverage Apache Cordova
(earlier PhoneGap), a platform that provides a consistent set of JavaScript
APIs to access device capabilities through plug-ins, which are built with
native code
• Android 5.0 introduced updatable WebViews via the Android System
WebView
Hybrid App – Continued…
Comparison
Comparison
Comparison
Comparison
Comparison
Comparison
Interesting Stats
The top 5 operating systems according to IDC’s analysis and their percentage of market
share:
• Android: 78.6%
• iOS: 15.2%
• Windows Phone: 3.3%
• BlackBerry: 1.9%
• Other: 1.0%
An article in Apple Insider says iOS operating system versions are distributed as follows:
• iOS 7: 74%
• iOS 6: 22%
• Older: 4%
Interesting Stats
According to Google, Android operating system versions are distributed as
follows:
• 4.4 (KitKat): 8.5%
• 4.3: 8.5%
• 4.2.x: 18.8%
• 4.1.x (Jelly Bean): 33.5%
• 4.0.3 4.0.4 (Ice Cream Sandwich): 13.4%
• 3.2 (Honeycomb): 0.1%
• 2.3.3 2.3.7 (Gingerbread): 16.2%
• 2.2 (Froyo): 1%
Interesting Stats

More Related Content

What's hot

Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App TestingSWAAM Tech
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing Shivaraj R
 
Performance testing of mobile apps
Performance testing of mobile appsPerformance testing of mobile apps
Performance testing of mobile appsvodQA
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobiGnosis
 
Top 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | EdurekaTop 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | EdurekaEdureka!
 
Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesNous Infosystems
 
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
 
Nuance of mobile testing jan 23
Nuance of mobile testing jan 23Nuance of mobile testing jan 23
Nuance of mobile testing jan 23Bharathan Kumaran
 
Testing installable mobile apps analogues
Testing installable mobile apps analoguesTesting installable mobile apps analogues
Testing installable mobile apps analoguesDiana Pinchuk
 
Mobile testing day_2_3_ppt
Mobile testing day_2_3_pptMobile testing day_2_3_ppt
Mobile testing day_2_3_pptsayhi2sudarshan
 
Native apps vs Web apps
Native apps vs Web appsNative apps vs Web apps
Native apps vs Web appsITM House
 
Mobile testing
Mobile testingMobile testing
Mobile testingQualitest
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingNoor Orfahly
 
Mobile architecture options
Mobile architecture optionsMobile architecture options
Mobile architecture optionsjohnsprunger
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testingvodQA
 
Mobile Testing Service Desk_Own.ppt
Mobile Testing Service Desk_Own.pptMobile Testing Service Desk_Own.ppt
Mobile Testing Service Desk_Own.pptQA Programmer
 
Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...Perfecto Mobile
 

What's hot (19)

Android & iPhone App Testing
 Android & iPhone App Testing Android & iPhone App Testing
Android & iPhone App Testing
 
Mobile Application Testing
Mobile Application Testing Mobile Application Testing
Mobile Application Testing
 
Performance testing of mobile apps
Performance testing of mobile appsPerformance testing of mobile apps
Performance testing of mobile apps
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training Presentation
 
Top 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | EdurekaTop 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | Edureka
 
Mobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and ChallengesMobile Performance Testing Approaches and Challenges
Mobile Performance Testing Approaches and Challenges
 
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
 
Nuance of mobile testing jan 23
Nuance of mobile testing jan 23Nuance of mobile testing jan 23
Nuance of mobile testing jan 23
 
Mobile App Testing
Mobile App TestingMobile App Testing
Mobile App Testing
 
Testing installable mobile apps analogues
Testing installable mobile apps analoguesTesting installable mobile apps analogues
Testing installable mobile apps analogues
 
Mobile testing day_2_3_ppt
Mobile testing day_2_3_pptMobile testing day_2_3_ppt
Mobile testing day_2_3_ppt
 
Native apps vs Web apps
Native apps vs Web appsNative apps vs Web apps
Native apps vs Web apps
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Mobile architecture options
Mobile architecture optionsMobile architecture options
Mobile architecture options
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Mobile Testing Service Desk_Own.ppt
Mobile Testing Service Desk_Own.pptMobile Testing Service Desk_Own.ppt
Mobile Testing Service Desk_Own.ppt
 
Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...Webinar learn how to test any mobile app style from within eclipse using real...
Webinar learn how to test any mobile app style from within eclipse using real...
 

Similar to Performance testing – mobile apps session1

Mobile Application testing
Mobile Application testingMobile Application testing
Mobile Application testingMukta Gupta
 
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
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...NITHIN S.S
 
Mobile testing
Mobile testingMobile testing
Mobile testingAlex Hung
 
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...Sencha
 
Mobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross PlatformMobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross PlatformDamodar Puthiya
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testingsanpalan
 
Mobile testing
Mobile testingMobile testing
Mobile testingsanpalan
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbaifaizrashid1995
 
Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits
 Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits
Native, HTML5 or Hybrid Mobile Apps - Cost vs benefitsRanosys Technologies
 
Top Use cases of Native App Development.pptx
Top Use cases of Native App Development.pptxTop Use cases of Native App Development.pptx
Top Use cases of Native App Development.pptxMarkThomas316888
 
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)Lab Mobile Filkom UB
 
Clear as mud: Explaining Web Apps, Mobile Apps, Cloud Computing and Design "t...
Clear as mud: Explaining Web Apps, Mobile Apps, Cloud Computing and Design "t...Clear as mud: Explaining Web Apps, Mobile Apps, Cloud Computing and Design "t...
Clear as mud: Explaining Web Apps, Mobile Apps, Cloud Computing and Design "t...Shannon Lewis
 
Secrets of apps in digital marketing
Secrets of apps in digital marketingSecrets of apps in digital marketing
Secrets of apps in digital marketingWDP Technologies
 
Native, hybrid, or pw as – choose the best for your business
Native, hybrid, or pw as – choose the best for your businessNative, hybrid, or pw as – choose the best for your business
Native, hybrid, or pw as – choose the best for your businessMarkovate
 
Mobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile SolutionMobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile SolutionMukteswar Patnaik
 
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...Luc Bors
 

Similar to Performance testing – mobile apps session1 (20)

Mobile Application testing
Mobile Application testingMobile Application testing
Mobile Application testing
 
3 Types Of Mobile Apps.pptx
3 Types Of Mobile Apps.pptx3 Types Of Mobile Apps.pptx
3 Types Of Mobile Apps.pptx
 
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
[TTT Meetup] Enhance mobile app testing with performance-centric strategies (...
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
SenchaCon 2016: Using Ext JS 6 for Cross-Platform Development on Mobile - And...
 
Mobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross PlatformMobinius : Mobile Native vs Cross Platform
Mobinius : Mobile Native vs Cross Platform
 
Mobile app testing
Mobile app testingMobile app testing
Mobile app testing
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
 
Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits
 Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits
Native, HTML5 or Hybrid Mobile Apps - Cost vs benefits
 
Top Use cases of Native App Development.pptx
Top Use cases of Native App Development.pptxTop Use cases of Native App Development.pptx
Top Use cases of Native App Development.pptx
 
Web Applications: Dominance and Drawbacks
Web Applications: Dominance and DrawbacksWeb Applications: Dominance and Drawbacks
Web Applications: Dominance and Drawbacks
 
Google android os
Google android osGoogle android os
Google android os
 
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
03 - Membangun Aplikasi Mobile Berkualitas (Herman Tolle)
 
Clear as mud: Explaining Web Apps, Mobile Apps, Cloud Computing and Design "t...
Clear as mud: Explaining Web Apps, Mobile Apps, Cloud Computing and Design "t...Clear as mud: Explaining Web Apps, Mobile Apps, Cloud Computing and Design "t...
Clear as mud: Explaining Web Apps, Mobile Apps, Cloud Computing and Design "t...
 
Secrets of apps in digital marketing
Secrets of apps in digital marketingSecrets of apps in digital marketing
Secrets of apps in digital marketing
 
Native, hybrid, or pw as – choose the best for your business
Native, hybrid, or pw as – choose the best for your businessNative, hybrid, or pw as – choose the best for your business
Native, hybrid, or pw as – choose the best for your business
 
Mobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile SolutionMobile App Development and Xamarin as a Complete Mobile Solution
Mobile App Development and Xamarin as a Complete Mobile Solution
 
Oracle and Mobile, From Design to Device; The tools that make it happen - Use...
Oracle and Mobile, From Design to Device; The tools that make it happen - Use...Oracle and Mobile, From Design to Device; The tools that make it happen - Use...
Oracle and Mobile, From Design to Device; The tools that make it happen - Use...
 
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
 

Recently uploaded

Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312wphillips114
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsChandrakantDivate1
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesChandrakantDivate1
 
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...nishasame66
 
Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsChandrakantDivate1
 

Recently uploaded (6)

Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
Obat Penggugur Kandungan Di Apotik Kimia Farma (087776558899)
 
Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312Mobile App Penetration Testing Bsides312
Mobile App Penetration Testing Bsides312
 
Mobile Application Development-Components and Layouts
Mobile Application Development-Components and LayoutsMobile Application Development-Components and Layouts
Mobile Application Development-Components and Layouts
 
Android Application Components with Implementation & Examples
Android Application Components with Implementation & ExamplesAndroid Application Components with Implementation & Examples
Android Application Components with Implementation & Examples
 
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
Satara Call girl escort *74796//13122* Call me punam call girls 24*7hour avai...
 
Mobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s ToolsMobile Application Development-Android and It’s Tools
Mobile Application Development-Android and It’s Tools
 

Performance testing – mobile apps session1

  • 1. Performance Testing Mobile Apps Session 1 By: Jyothirmayee Pola
  • 2. App on Mobile Device vs UI • Different devices in market which differ in screen size, memory, enhancement mem availability, OS, touchscreen or not etc. Bottom line: Same script cannot be re-used if any of the above factors change. • Different devices connect differently to the server as compared to browsers from desktop. Tech stack differs with each OS. • More number of mobile users as compared to desktop users as on today • Network quality • Network latency affect is significantly higher in devices as compared to desktop • More packet loss with devices comparatively • Different apps behave differently on the same device though they are comparatively same apps. Example: Myntra which is a dedicated mobile site as compared to Jabong which is a responsive web design app
  • 3. App on Mobile Device vs UI • Mobile layouts differ using the same device for the same app. Example: landscape or portrait • Browser cache limitation on device as compared to browser on desktop • More frequent OS changes on devices and upgrades on mobile apps. Harder to control upgrades. • Keypad locks on device affect performance of the same app on the same device. • Offline apps perform differently as compared to online apps on devices. There is no such concept on desktop applications • Native drivers on device • Content rendering time on device: The time it takes to display the response delivered to the client on the device is measured here. The platform type, configuration of device and other hardware configurations affects this time. • Last but not the least: limited number of tools to support device testing
  • 4. Types of Mobile Apps – Native App • Live on the device and launch by tapping icons on home screen. Executed directly by OS • Installed through an application store Ex: Google Play or Apple’s App Store • A binary executable is directly downloaded from app store and stored on the device file system • Developed specifically for one platform and firmware to take full advantage of all the device features Ex: Camera, GPS, Contacts, device specific gestures etc • Apps explicitly use the device’s/ Operating System’s APIs • Allows function without internet connection • Examples of native apps are Twitter, Skype, Tagging, Ingress, Instagram
  • 5. Types of Mobile Apps – Native App • Performance is better with Native Apps as they will have access to all native APIs • Requires users to download and install updates. Or, at least approve them if set in auto mode.
  • 6. Native App – Continued
  • 7. Types of Mobile Apps – Web App • Websites which look feel like native apps Ex: Uber, Shutterfly, Google maps, Linkedin • Run by browser and typically written in html5, Javascript, CSS or other languages. • Once opened from browser, they navigate to a special url which in turn gives the facility to download like an app. Ex: Financial times, Times of India etc • With browser caching its possible to access web apps offline • Native APIs of the device are not exposed to web apps • Performance depends on the browser speed, cache, internet connection’s speed • Same web app can be used on multiple devices of different make and models
  • 8. Web App – Continued … • Latency over the air transmission is the biggest culprit for performance degradation • Performance of a web app is different with Wi-Fi, 3G, 2G, public Wi-Fi etc • User experience is lower as compared to native apps
  • 9. Web App – Performance caveats • Poorly written code: The same apps are written commonly for multiple devices of different make model. Can never scale up for all devices equally. • Start up or page load time depends on various factors like browser version, available RAM on the device, app framework compatibility with the device under test, device power, frame rate of the device, firmware version etc • Parallel browsers or applications opened at the same time on the device may lower the app performance under test • How network calls and computations are handled. If they are not handled in a background thread then, server response will increase. • Performance due to not incorporating lazy loading • All data needs to be downloaded for an fully operational app. Once closed, the app (generally) will download all data again.
  • 10. Web App – Performance caveats • CPU intensive calls and complex video/ page rendering are to be checked • Network calls during the use case flow need to be monitored and optimized for better performance. Consider queuing multiple network calls and sending them together in a single request. • Usage of JSONs over XMLs will improve performance. Gzipping payload is another option. • Restricting the ad usage on the app • Optimize algorithms: return to your computer science roots and analyze the order (big Oh) of your algorithms and try running your application inside a code profiler that will identify your bottlenecks
  • 11. Web App – Performance caveats • Choose resources with lesser resolution (easier to paint) for devices with screens of lesser resolution. For example, the latest Samsung Galaxy S5 has a 1920x1080 resolution, but the two-year-old Galaxy S3 only has a 1280x720 resolution. There is no benefit to sending a device images with greater resolutions than the device itself • Gracefully degrade complex functionality: remove some of the nice- to-have features such as anti-aliasing, complex texture mapping, and so forth from your painting algorithms if you identify performance issues. Users with powerful devices will see all of the niceties, but users with less powerful devices will still have a good user experience.
  • 12. Types of Mobile Apps – Hybrid App • They install on your device by downloading them from app stores • Built with a combination of web technologies like HTML, CSS, and JavaScript • Hybrid apps are hosted inside a native application that utilizes a mobile platform’s WebView • Access device capabilities such as the accelerometer, camera, contacts, and more • Most hybrid mobile applications leverage Apache Cordova (earlier PhoneGap), a platform that provides a consistent set of JavaScript APIs to access device capabilities through plug-ins, which are built with native code • Android 5.0 introduced updatable WebViews via the Android System WebView
  • 13. Hybrid App – Continued…
  • 20. Interesting Stats The top 5 operating systems according to IDC’s analysis and their percentage of market share: • Android: 78.6% • iOS: 15.2% • Windows Phone: 3.3% • BlackBerry: 1.9% • Other: 1.0% An article in Apple Insider says iOS operating system versions are distributed as follows: • iOS 7: 74% • iOS 6: 22% • Older: 4%
  • 21. Interesting Stats According to Google, Android operating system versions are distributed as follows: • 4.4 (KitKat): 8.5% • 4.3: 8.5% • 4.2.x: 18.8% • 4.1.x (Jelly Bean): 33.5% • 4.0.3 4.0.4 (Ice Cream Sandwich): 13.4% • 3.2 (Honeycomb): 0.1% • 2.3.3 2.3.7 (Gingerbread): 16.2% • 2.2 (Froyo): 1%