In mobile app spaces, with all these evolving technologies and competitors, 𝗽𝗲𝗿𝗳𝗼𝗿𝗺𝗮𝗻𝗰𝗲 plays an important role in terms of delivering a seamless end-user experience. Improving performance has become the top priority for all global mobile app companies as it directly impacts user experience, retention rates, conversions, and ultimately revenue. Even if we deliver a brilliant feature with performance issues, people will eventually stop using those apps. As high-performing apps are user favourites, we testers should also adopt performance-centric strategies while testing mobile apps.
In this talk, you will learn about:
Basic types of mobile apps.
An overview of important performance metrics to consider.
Basics and importance of mobile app performance testing with trends and parameters.
Factors to consider while evaluating an app’s performance & ideas to prepare a performance-oriented testing strategy.
Best practices and tools to consider for providing valuable insights to stakeholders.
Quick glance at the rise of 5G and its impact in the mobile app space.
2. Hello!
Nithin SS
• A passionate tester, community builder &
blogger.
• AVP, Lead QA at Astro Malaysia.
• Founder - Synapse QA.
• Mentor at The Mentoring Club.
• Advisory board member, AskUI.
nithin-ss Nithin_Synapse
4. 4
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.
6. 6
Native
apps
Native apps are created
for one specific platform
or operating system.
Technology Used: Native
apps are coded using a
variety of programming
languages. Some
examples include: Java,
Kotlin, Python, Swift,
Objective-C, C++, and
React.
7. 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
8. 8
Web
apps
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.
Technology Used: Web
apps are designed using
HTML5, CSS, JavaScript,
Ruby, and similar
programming languages
used for web work.
9. 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
10. 10
Hybrid
Apps
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.
Technology Used: Hybrid
apps use a mixture of
web technologies and
native APIs. They’re
developed using: Ionic,
Objective C, Swift,
HTML5, and others.
11. 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
13. 13
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.
14. Objectives
● Performance of the application during big
workloads
● Evaluate the hardware usage
● Determine the capacity of the application
● Measure and assess the performance of the
app on the protocol level
● Evaluate app’s performance under critical
conditions.
15. Strategy
Align
Align test objectives and
business requirements
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
17. 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
18. 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.
19. 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
23. Response
time
04 Time taken to complete an
action.
❏ Server response times
❏ Database response time
❏ Network latency
❏ Screen drawing time
❏ App startup
❏ App background
26. Users
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.
33. 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.
34. 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.
35. 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.
37. Should we use real
device 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.
38. 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.
40. —Ian Molyneaux
“If an end user perceives bad performance from
your website, his/her next click will likely be on
your-competition.com”
41. —Todd DeCapua
“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.”