SlideShare a Scribd company logo
The Curious Case of
Mobile App Performance Testing
Nithin SS
One of our past days, ignoring
client side performance
LET ME START WITH A STORY
Nithin_Synapse
*Image credits: Codoid Innovations
Nithin_Synapse
I’m Nithin.
HELLO
I believe in the power of communities & love investing my time for
people’s growth.
● A passionate tester, community builder, speaker & blogger.
● Born and brought up in “Gods own country (Kerala, India)”.
● Founder - Synapse QA.
● Engineering Manager, QA at Fave Malaysia.
● Mentor at The Mentoring Club.
● Advisory board member, AskUI.
I get my energy from the people around, relies on the power of EQ &
in “function in disaster, finish in style”(Katherine Graham)
Let’s Understand
The Basics First
Mobile Apps
Nithin_Synapse
WHAT IS A MOBILE APP?
A mobile application, also referred to as a
mobile app or simply an app, is a computer
program or software application designed to run
on a mobile device.
Nithin_Synapse
BASIC TYPES OF MOBILE APPS
Native apps Web apps Hybrid apps
Nithin_Synapse
Native apps are
created for one
specific platform or
operating system.
NATIVE APPS
Web apps
Hybrid apps
Native apps
Technology Used: Native
apps are coded using a
variety of programming
languages. Some
examples include: Java,
Kotlin, Python, Swift,
Objective-C, C++, and
React.
Nithin_Synapse
PROS & CONS
Pros
● Faster & Better performance
● Native UI for optimized UX
● Able to access device features
Cons
● Updates must be downloaded
● Higher maintenance cost
● Consumes device space
Nithin_Synapse
Responsive versions of websites that can
work on any mobile device or OS because
they’re delivered using a mobile browser.
One kind of web app is the progressive
web app (PWA), which is basically a
native app running inside a browser.
WEB APPS
Native apps
Hybrid apps
Web apps
Technology Used: Web apps are
designed using HTML5, CSS, JavaScript,
Ruby, and similar programming
languages used for web work.
Nithin_Synapse
PROS & CONS
Pros
● Web based : works on all devices
● Less maintenance & development costs
● Less space on your device memory
Cons
● Depends on browser
● Needs internet
● Device hardware integration depends on
app features
Nithin_Synapse
Hybrid apps are combinations of both native
and web apps, but wrapped within a native
app, giving it the ability to have its own icon
or be downloaded from an app store.
They have home screen app icon, responsive
design, fast performance, even be able to
function offline, but they’re really web apps
made to look native.
HYBRID APPS
Native apps
Web apps
Hybrid apps
Technology Used: Hybrid apps use a
mixture of web technologies and native
APIs. They’re developed using: Ionic,
Objective C, Swift, HTML5, and others.
Nithin_Synapse
PROS & CONS
Pros
● Quicker & economical
● Loads quickly
● Less code to maintain
Cons
● Might lack power and speed
● Slower than native app
● Certain features might not be usable on
devices
Nithin_Synapse
DO WE REALLY NEED TO THINK OF
MOBILE APP PERFORMANCE?
Yes? No?
Nithin_Synapse
HIGH PERFORMING APPS ARE
USER FAVORITES!
Mobile app performance refers to how
an app behaves on a mobile device
under various circumstances & loads.
It depends on three combined factors:
the backend, the network, and how the
app itself runs on the device.
Nithin_Synapse
1
Performance of the
application during big
workloads
2
Evaluate the hardware
usage
3
Determine the capacity of
the application
4
Measure and assess the
performance of the app on
the protocol level
5
Evaluate app’s
performance under critical
conditions.
OBJECTIVES
Nithin_Synapse
STRATEGY
Nithin_Synapse
ALIGN
● Align test objectives & business requirements
● Discuss about business expectations
● Understand the end user expectations
Nithin_Synapse
IDENTIFY
● Identify the test KPIs
● Error rate
● Maximum response time
● Average response time
● Peak number of requests
● Average throughput & number of concurrent active
users per device and OS
Nithin_Synapse
L.B.S
● Consider Latency & Bandwidth
● Simulate a real-life testing environment
Nithin_Synapse
PRIORITY & COLLABORATION
● Prioritize scenarios
● Collaborate with developers & other stakeholders
Nithin_Synapse
FACTORS
OF
IMPACT
Nithin_Synapse
The
Backend
When the app is interacting with the server, the response time
becomes critical to performance.
Things to consider:
● Data to and from server
● Number of API Calls generated from App for a specific functionality
● Server down-time
● Implementation of escalation policies
Tools for Load Testing:
● Jmeter
● Gatling
● Blazemeter
Nithin_Synapse
The
Network
The performance of the app can vary depending on different
networks and this may impact on the app response time.
Key factors to measure:
● Latency is the time that elapses when information is send through
the network (measured in milliseconds). Lower the latency better
performance.
● Bandwidth is the maximum capacity (the amount of data) that can be
transmitted through the network (measured in bits per second).
Higher the bandwidth is better.
Nithin_Synapse
The
Client
Testing client-side performance allows to understand how the app
behaves on a device and how it uses the resources that is shared with
other apps.
Metrics to understand client side mobile app performance:
● Device resource usage
● Rendering
● Errors
● Response Times
Nithin_Synapse
1. DEVICE RESOURCE USAGE
● % CPU
● Memory(Mb)
● Data sent and received by the application(Kb)
● % Battery usage
Nithin_Synapse
2. RENDERING
● Measures how the app is drawn on the device
● Render time (ms)
● Frames per second (fps)
● Render lag (janks/slow rendering)
Nithin_Synapse
3. ERRORS
● Exceptions
● ANR (Application Not Responding) in Android
● Crashes
Nithin_Synapse
4. RESPONSE TIME
● Time taken to complete an action.
● Server response times
● Database response time
● Network latency
● Screen drawing time
● App startup
● App background
Nithin_Synapse
WHAT PROBLEMS CAN WE DETECT?
Memory leaks Screen freezes Crashes
Start-up & transactional issues
Nithin_Synapse
WHY?
Why all these matters?
Nithin_Synapse
USERS ARE FICKLE
When a Mobile App’s performance doesn’t meet user
expectations, there is a very high chance they will
stop using it, resulting in a loss of revenue.
Nithin_Synapse
CHANGE IN MOBILE APP LANDSCAPE
WITH ADVENT OF 5G
● It will bring more customers online.
● More business will go online.
● 5G will have a lower latency so it will deliver faster results for users
and ensure that a seamless interaction happens between the client
and server.
● More companies in the e-commerce landscape will start leveraging
AI/ML capabilities in their mobile apps.
● 5G will also help increase the amount of apps that people download.
Nithin_Synapse
TIPS
&
TRICKS
*Source Apptim Blog Nithin_Synapse
1. CACHE IMAGES
Downloading external resources takes time, so
make sure to cache images.
2. COMPRESS AND RESIZE IMAGES
Make sure images are adequately sized
Nithin_Synapse
3. RE-USE DATA TEMPLATES
To make the app faster, load fewer templates by
reusing them.
4. REDUCE HTTP REQUESTS
Use fewer HTTP requests required to fetch the
resources for each page in order to simplify
things for your app.
Nithin_Synapse
5. USE LOADING VALIDATIONS
Provide some visible, instant feedback as the
application waits for the background response.
6. LOAD DATA AS YOU NEED
If your app requires a large amount of data, it’s
useful to only load it as you need it.
Nithin_Synapse
7. CREATE AN OFFLINE MODE
Give users an option to save the data for later, so they can
resume the activity once the connection has been
re-established.
8. USE THE RIGHT TOOL FOR TUNING
Pick the right tool that gives insights on all the metrics
we need to capture for analysing performance of the app.
Nithin_Synapse
9. APM (APPLICATION PERFORMANCE MONITORING) SYSTEM
APM helps detect and diagnose deep-level application
performance problems to maintain an expected level of
service across the board.
10. DEVICE CHOICE FOR TESTING PERFORMANCE
It is recommended to test mobile app performance on real
devices. That's how you could get the actual performance of
the app based on the real resource usages.
Nithin_Synapse
YOU GOT IT RIGHT!!
“If an end user perceives bad performance from your
website, his/her next click will likely be on
your-competition.com”
— Ian Molyneaux
Nithin_Synapse
“Just as athletes can’t win without a sophisticated mixture of
strategy, form, attitude, tactics, and speed;
performance engineering requires
a good collection of metrics and tools
to deliver the desired business results.”
Nithin_Synapse
● Apptim Blog.
● AppDynamics Blog
● Apptim Youtube.
● STET Session on Apptim.
● SauceCon 2022 Talk & Demo
REFERENCES & FURTHER READS
Nithin_Synapse
THANKS!
Do you have any questions? I would be happy
to connect:
nithin-ss Nithin_Synapse hello@nithinss.com
nithinss.com / synapse-qa.com

More Related Content

Similar to Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf

Google App engine
Google App engineGoogle App engine
Google App engine
Indika Munaweera Kankanamge
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest
 
Android Documentation
Android DocumentationAndroid Documentation
Android Documentation
Raj Dubey
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application development
Thoughtworks
 
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
Markovate
 
Native vs Hybrid Apps
Native vs Hybrid AppsNative vs Hybrid Apps
Native vs Hybrid Apps
Appinventiv
 
Testing at the Speed of Mobile: Adopting Continuous Integration with Agile
Testing at the Speed of Mobile: Adopting Continuous Integration with AgileTesting at the Speed of Mobile: Adopting Continuous Integration with Agile
Testing at the Speed of Mobile: Adopting Continuous Integration with Agile
Keynote Mobile Testing
 
IBM MobileFirst Platform v7 Tech Overview
IBM MobileFirst Platform v7 Tech OverviewIBM MobileFirst Platform v7 Tech Overview
IBM MobileFirst Platform v7 Tech Overview
Banking at Ho Chi Minh city
 
Importance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App DevelopmentImportance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App Development
Helios Solutions
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
faizrashid1995
 
Insights on Android App Development, Marketing and Monetization
Insights on Android App Development, Marketing and MonetizationInsights on Android App Development, Marketing and Monetization
Insights on Android App Development, Marketing and Monetization
Jayneel Patel
 
Native Vs React Native app development_ Which one is good for your next proje...
Native Vs React Native app development_ Which one is good for your next proje...Native Vs React Native app development_ Which one is good for your next proje...
Native Vs React Native app development_ Which one is good for your next proje...
MoonTechnolabsPvtLtd
 
Mobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeterMobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeter
Devendra Singh
 
Web Application Development Cost.pdf
Web Application Development Cost.pdfWeb Application Development Cost.pdf
Web Application Development Cost.pdf
Simform
 
Generating Insights from WSO2 API Manager Statistics
Generating Insights from WSO2 API Manager StatisticsGenerating Insights from WSO2 API Manager Statistics
Generating Insights from WSO2 API Manager Statistics
WSO2
 
IBM MobileFirst Technical Overview
IBM MobileFirst Technical OverviewIBM MobileFirst Technical Overview
IBM MobileFirst Technical Overview
ibmmobile
 
14 Tips On How To Improve Android App Performance
14 Tips On How To Improve Android App Performance14 Tips On How To Improve Android App Performance
14 Tips On How To Improve Android App Performance
Andolasoft Inc
 
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choicesBLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
René Winkelmeyer
 
How to optimize your react native app performance
How to optimize your react native app performance How to optimize your react native app performance
How to optimize your react native app performance
Katy Slemon
 
Continuous Mobile - Testing Using Jenkins - A How To Guide
Continuous Mobile - Testing Using Jenkins - A How To GuideContinuous Mobile - Testing Using Jenkins - A How To Guide
Continuous Mobile - Testing Using Jenkins - A How To Guide
KeynoteSystems
 

Similar to Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf (20)

Google App engine
Google App engineGoogle App engine
Google App engine
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
 
Android Documentation
Android DocumentationAndroid Documentation
Android Documentation
 
Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application development
 
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
 
Native vs Hybrid Apps
Native vs Hybrid AppsNative vs Hybrid Apps
Native vs Hybrid Apps
 
Testing at the Speed of Mobile: Adopting Continuous Integration with Agile
Testing at the Speed of Mobile: Adopting Continuous Integration with AgileTesting at the Speed of Mobile: Adopting Continuous Integration with Agile
Testing at the Speed of Mobile: Adopting Continuous Integration with Agile
 
IBM MobileFirst Platform v7 Tech Overview
IBM MobileFirst Platform v7 Tech OverviewIBM MobileFirst Platform v7 Tech Overview
IBM MobileFirst Platform v7 Tech Overview
 
Importance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App DevelopmentImportance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App Development
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
 
Insights on Android App Development, Marketing and Monetization
Insights on Android App Development, Marketing and MonetizationInsights on Android App Development, Marketing and Monetization
Insights on Android App Development, Marketing and Monetization
 
Native Vs React Native app development_ Which one is good for your next proje...
Native Vs React Native app development_ Which one is good for your next proje...Native Vs React Native app development_ Which one is good for your next proje...
Native Vs React Native app development_ Which one is good for your next proje...
 
Mobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeterMobile Apps Performance Testing Using Open Source Tool JMeter
Mobile Apps Performance Testing Using Open Source Tool JMeter
 
Web Application Development Cost.pdf
Web Application Development Cost.pdfWeb Application Development Cost.pdf
Web Application Development Cost.pdf
 
Generating Insights from WSO2 API Manager Statistics
Generating Insights from WSO2 API Manager StatisticsGenerating Insights from WSO2 API Manager Statistics
Generating Insights from WSO2 API Manager Statistics
 
IBM MobileFirst Technical Overview
IBM MobileFirst Technical OverviewIBM MobileFirst Technical Overview
IBM MobileFirst Technical Overview
 
14 Tips On How To Improve Android App Performance
14 Tips On How To Improve Android App Performance14 Tips On How To Improve Android App Performance
14 Tips On How To Improve Android App Performance
 
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choicesBLUG 2013 - Mobile Application Delivery - Choices, choices, choices
BLUG 2013 - Mobile Application Delivery - Choices, choices, choices
 
How to optimize your react native app performance
How to optimize your react native app performance How to optimize your react native app performance
How to optimize your react native app performance
 
Continuous Mobile - Testing Using Jenkins - A How To Guide
Continuous Mobile - Testing Using Jenkins - A How To GuideContinuous Mobile - Testing Using Jenkins - A How To Guide
Continuous Mobile - Testing Using Jenkins - A How To Guide
 

More from NITHIN S.S

The beginning of breaking the shell & enroute to growth
The beginning of breaking the shell & enroute to growthThe beginning of breaking the shell & enroute to growth
The beginning of breaking the shell & enroute to growth
NITHIN S.S
 
Mobile DevOps Summit_ Shift before you Suffer - Future of building the right ...
Mobile DevOps Summit_ Shift before you Suffer - Future of building the right ...Mobile DevOps Summit_ Shift before you Suffer - Future of building the right ...
Mobile DevOps Summit_ Shift before you Suffer - Future of building the right ...
NITHIN S.S
 
PractiTest Webinar_ The Hidden Logic of Thinking for Testers.pdf
PractiTest Webinar_ The Hidden Logic of Thinking for Testers.pdfPractiTest Webinar_ The Hidden Logic of Thinking for Testers.pdf
PractiTest Webinar_ The Hidden Logic of Thinking for Testers.pdf
NITHIN S.S
 
Testing United 2021: The hidden logic of thinking for testers.pdf
Testing United 2021: The hidden logic of thinking for testers.pdfTesting United 2021: The hidden logic of thinking for testers.pdf
Testing United 2021: The hidden logic of thinking for testers.pdf
NITHIN S.S
 
TestFlix: 10 Usability Heuristics & Testing
TestFlix: 10 Usability Heuristics &  TestingTestFlix: 10 Usability Heuristics &  Testing
TestFlix: 10 Usability Heuristics & Testing
NITHIN S.S
 
API Summit 2021: What to know before you start dating APIs.pdf
API Summit 2021: What to know before you start dating APIs.pdfAPI Summit 2021: What to know before you start dating APIs.pdf
API Summit 2021: What to know before you start dating APIs.pdf
NITHIN S.S
 
How 3 p’s (process, planning & pairing) helped us to engage teams
How  3 p’s (process, planning & pairing)  helped us to engage teamsHow  3 p’s (process, planning & pairing)  helped us to engage teams
How 3 p’s (process, planning & pairing) helped us to engage teams
NITHIN S.S
 
How I Break The Shell With L.I.E.S
How I Break The Shell With L.I.E.SHow I Break The Shell With L.I.E.S
How I Break The Shell With L.I.E.S
NITHIN S.S
 
MoT KL Meetup #3 Presentation
MoT KL Meetup #3 PresentationMoT KL Meetup #3 Presentation
MoT KL Meetup #3 Presentation
NITHIN S.S
 

More from NITHIN S.S (9)

The beginning of breaking the shell & enroute to growth
The beginning of breaking the shell & enroute to growthThe beginning of breaking the shell & enroute to growth
The beginning of breaking the shell & enroute to growth
 
Mobile DevOps Summit_ Shift before you Suffer - Future of building the right ...
Mobile DevOps Summit_ Shift before you Suffer - Future of building the right ...Mobile DevOps Summit_ Shift before you Suffer - Future of building the right ...
Mobile DevOps Summit_ Shift before you Suffer - Future of building the right ...
 
PractiTest Webinar_ The Hidden Logic of Thinking for Testers.pdf
PractiTest Webinar_ The Hidden Logic of Thinking for Testers.pdfPractiTest Webinar_ The Hidden Logic of Thinking for Testers.pdf
PractiTest Webinar_ The Hidden Logic of Thinking for Testers.pdf
 
Testing United 2021: The hidden logic of thinking for testers.pdf
Testing United 2021: The hidden logic of thinking for testers.pdfTesting United 2021: The hidden logic of thinking for testers.pdf
Testing United 2021: The hidden logic of thinking for testers.pdf
 
TestFlix: 10 Usability Heuristics & Testing
TestFlix: 10 Usability Heuristics &  TestingTestFlix: 10 Usability Heuristics &  Testing
TestFlix: 10 Usability Heuristics & Testing
 
API Summit 2021: What to know before you start dating APIs.pdf
API Summit 2021: What to know before you start dating APIs.pdfAPI Summit 2021: What to know before you start dating APIs.pdf
API Summit 2021: What to know before you start dating APIs.pdf
 
How 3 p’s (process, planning & pairing) helped us to engage teams
How  3 p’s (process, planning & pairing)  helped us to engage teamsHow  3 p’s (process, planning & pairing)  helped us to engage teams
How 3 p’s (process, planning & pairing) helped us to engage teams
 
How I Break The Shell With L.I.E.S
How I Break The Shell With L.I.E.SHow I Break The Shell With L.I.E.S
How I Break The Shell With L.I.E.S
 
MoT KL Meetup #3 Presentation
MoT KL Meetup #3 PresentationMoT KL Meetup #3 Presentation
MoT KL Meetup #3 Presentation
 

Recently uploaded

Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
gerogepatton
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
gerogepatton
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
Anant Corporation
 
Casting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdfCasting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdf
zubairahmad848137
 
Material for memory and display system h
Material for memory and display system hMaterial for memory and display system h
Material for memory and display system h
gowrishankartb2005
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
Rahul
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
Dr Ramhari Poudyal
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 

Recently uploaded (20)

Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
 
Casting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdfCasting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdf
 
Material for memory and display system h
Material for memory and display system hMaterial for memory and display system h
Material for memory and display system h
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
 
Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
Literature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptxLiterature Review Basics and Understanding Reference Management.pptx
Literature Review Basics and Understanding Reference Management.pptx
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 

Geekle QA Summit 22.2_ The Curious Case of Mobile App Performance Testing.pdf

  • 1. The Curious Case of Mobile App Performance Testing Nithin SS
  • 2. One of our past days, ignoring client side performance LET ME START WITH A STORY Nithin_Synapse
  • 3. *Image credits: Codoid Innovations Nithin_Synapse
  • 4. I’m Nithin. HELLO I believe in the power of communities & love investing my time for people’s growth. ● A passionate tester, community builder, speaker & blogger. ● Born and brought up in “Gods own country (Kerala, India)”. ● Founder - Synapse QA. ● Engineering Manager, QA at Fave Malaysia. ● Mentor at The Mentoring Club. ● Advisory board member, AskUI. I get my energy from the people around, relies on the power of EQ & in “function in disaster, finish in style”(Katherine Graham)
  • 5. Let’s Understand The Basics First Mobile Apps Nithin_Synapse
  • 6. WHAT IS A MOBILE APP? A mobile application, also referred to as a mobile app or simply an app, is a computer program or software application designed to run on a mobile device. Nithin_Synapse
  • 7. BASIC TYPES OF MOBILE APPS Native apps Web apps Hybrid apps Nithin_Synapse
  • 8. Native apps are created for one specific platform or operating system. NATIVE APPS Web apps Hybrid apps Native apps Technology Used: Native apps are coded using a variety of programming languages. Some examples include: Java, Kotlin, Python, Swift, Objective-C, C++, and React. Nithin_Synapse
  • 9. PROS & CONS Pros ● Faster & Better performance ● Native UI for optimized UX ● Able to access device features Cons ● Updates must be downloaded ● Higher maintenance cost ● Consumes device space Nithin_Synapse
  • 10. Responsive versions of websites that can work on any mobile device or OS because they’re delivered using a mobile browser. One kind of web app is the progressive web app (PWA), which is basically a native app running inside a browser. WEB APPS Native apps Hybrid apps Web apps Technology Used: Web apps are designed using HTML5, CSS, JavaScript, Ruby, and similar programming languages used for web work. Nithin_Synapse
  • 11. PROS & CONS Pros ● Web based : works on all devices ● Less maintenance & development costs ● Less space on your device memory Cons ● Depends on browser ● Needs internet ● Device hardware integration depends on app features Nithin_Synapse
  • 12. Hybrid apps are combinations of both native and web apps, but wrapped within a native app, giving it the ability to have its own icon or be downloaded from an app store. They have home screen app icon, responsive design, fast performance, even be able to function offline, but they’re really web apps made to look native. HYBRID APPS Native apps Web apps Hybrid apps Technology Used: Hybrid apps use a mixture of web technologies and native APIs. They’re developed using: Ionic, Objective C, Swift, HTML5, and others. Nithin_Synapse
  • 13. PROS & CONS Pros ● Quicker & economical ● Loads quickly ● Less code to maintain Cons ● Might lack power and speed ● Slower than native app ● Certain features might not be usable on devices Nithin_Synapse
  • 14. DO WE REALLY NEED TO THINK OF MOBILE APP PERFORMANCE? Yes? No? Nithin_Synapse
  • 15. HIGH PERFORMING APPS ARE USER FAVORITES! Mobile app performance refers to how an app behaves on a mobile device under various circumstances & loads. It depends on three combined factors: the backend, the network, and how the app itself runs on the device. Nithin_Synapse
  • 16. 1 Performance of the application during big workloads 2 Evaluate the hardware usage 3 Determine the capacity of the application 4 Measure and assess the performance of the app on the protocol level 5 Evaluate app’s performance under critical conditions. OBJECTIVES Nithin_Synapse
  • 18. ALIGN ● Align test objectives & business requirements ● Discuss about business expectations ● Understand the end user expectations Nithin_Synapse
  • 19. IDENTIFY ● Identify the test KPIs ● Error rate ● Maximum response time ● Average response time ● Peak number of requests ● Average throughput & number of concurrent active users per device and OS Nithin_Synapse
  • 20. L.B.S ● Consider Latency & Bandwidth ● Simulate a real-life testing environment Nithin_Synapse
  • 21. PRIORITY & COLLABORATION ● Prioritize scenarios ● Collaborate with developers & other stakeholders Nithin_Synapse
  • 23. The Backend When the app is interacting with the server, the response time becomes critical to performance. Things to consider: ● Data to and from server ● Number of API Calls generated from App for a specific functionality ● Server down-time ● Implementation of escalation policies Tools for Load Testing: ● Jmeter ● Gatling ● Blazemeter Nithin_Synapse
  • 24. The Network The performance of the app can vary depending on different networks and this may impact on the app response time. Key factors to measure: ● Latency is the time that elapses when information is send through the network (measured in milliseconds). Lower the latency better performance. ● Bandwidth is the maximum capacity (the amount of data) that can be transmitted through the network (measured in bits per second). Higher the bandwidth is better. Nithin_Synapse
  • 25. The Client Testing client-side performance allows to understand how the app behaves on a device and how it uses the resources that is shared with other apps. Metrics to understand client side mobile app performance: ● Device resource usage ● Rendering ● Errors ● Response Times Nithin_Synapse
  • 26. 1. DEVICE RESOURCE USAGE ● % CPU ● Memory(Mb) ● Data sent and received by the application(Kb) ● % Battery usage Nithin_Synapse
  • 27. 2. RENDERING ● Measures how the app is drawn on the device ● Render time (ms) ● Frames per second (fps) ● Render lag (janks/slow rendering) Nithin_Synapse
  • 28. 3. ERRORS ● Exceptions ● ANR (Application Not Responding) in Android ● Crashes Nithin_Synapse
  • 29. 4. RESPONSE TIME ● Time taken to complete an action. ● Server response times ● Database response time ● Network latency ● Screen drawing time ● App startup ● App background Nithin_Synapse
  • 30. WHAT PROBLEMS CAN WE DETECT? Memory leaks Screen freezes Crashes Start-up & transactional issues Nithin_Synapse
  • 31. WHY? Why all these matters? Nithin_Synapse
  • 32. USERS ARE FICKLE When a Mobile App’s performance doesn’t meet user expectations, there is a very high chance they will stop using it, resulting in a loss of revenue. Nithin_Synapse
  • 33. CHANGE IN MOBILE APP LANDSCAPE WITH ADVENT OF 5G ● It will bring more customers online. ● More business will go online. ● 5G will have a lower latency so it will deliver faster results for users and ensure that a seamless interaction happens between the client and server. ● More companies in the e-commerce landscape will start leveraging AI/ML capabilities in their mobile apps. ● 5G will also help increase the amount of apps that people download. Nithin_Synapse
  • 35. 1. CACHE IMAGES Downloading external resources takes time, so make sure to cache images. 2. COMPRESS AND RESIZE IMAGES Make sure images are adequately sized Nithin_Synapse
  • 36. 3. RE-USE DATA TEMPLATES To make the app faster, load fewer templates by reusing them. 4. REDUCE HTTP REQUESTS Use fewer HTTP requests required to fetch the resources for each page in order to simplify things for your app. Nithin_Synapse
  • 37. 5. USE LOADING VALIDATIONS Provide some visible, instant feedback as the application waits for the background response. 6. LOAD DATA AS YOU NEED If your app requires a large amount of data, it’s useful to only load it as you need it. Nithin_Synapse
  • 38. 7. CREATE AN OFFLINE MODE Give users an option to save the data for later, so they can resume the activity once the connection has been re-established. 8. USE THE RIGHT TOOL FOR TUNING Pick the right tool that gives insights on all the metrics we need to capture for analysing performance of the app. Nithin_Synapse
  • 39. 9. APM (APPLICATION PERFORMANCE MONITORING) SYSTEM APM helps detect and diagnose deep-level application performance problems to maintain an expected level of service across the board. 10. DEVICE CHOICE FOR TESTING PERFORMANCE It is recommended to test mobile app performance on real devices. That's how you could get the actual performance of the app based on the real resource usages. Nithin_Synapse
  • 40. YOU GOT IT RIGHT!! “If an end user perceives bad performance from your website, his/her next click will likely be on your-competition.com” — Ian Molyneaux Nithin_Synapse
  • 41. “Just as athletes can’t win without a sophisticated mixture of strategy, form, attitude, tactics, and speed; performance engineering requires a good collection of metrics and tools to deliver the desired business results.” Nithin_Synapse
  • 42. ● Apptim Blog. ● AppDynamics Blog ● Apptim Youtube. ● STET Session on Apptim. ● SauceCon 2022 Talk & Demo REFERENCES & FURTHER READS Nithin_Synapse
  • 43. THANKS! Do you have any questions? I would be happy to connect: nithin-ss Nithin_Synapse hello@nithinss.com nithinss.com / synapse-qa.com