This talk was presented at VodQA Gurgaon 3rd edition (11 July 2013)
Talk Abstract:
In midst of testing functional aspect of your mobile apps, performance testing is often ignored or takes a back seat. With the strict quality checks on app stores and other platforms, it becomes all the more essentials for your app to meet performance criteria. We would be focusing on understanding these criteria in detail, their impact and ways to tackle them.
Speakers:
Rupesh Dubey: Rupesh has 5+ years of experience in Test Automation and Manual testing and have been with ThoughtWorks for more than 3 years. He has worked in various domains including HealthCare and Business Consulting.
Priyank Dhillon: He has around 8 years of experience as QA. He has worked on domains such as Telecom, Video and E-commerce and has been involved in different aspects of testing such as Security, White box, Performance. He has worked in software automation testing using wide range of automation tools, doing manual testing and in requirement analysis.
2. What
to
expect?
• Why
mobile
performance
is
important?
• Different
types
of
mobile
apps.
• Performance
Challenges
• Tools
and
Technique
• Web
apps
Profiling
(Latency,page
audits)
• Na1ve
apps
Profiling
(Memory
leaks)
• Recommenda1ons
18. How
to
Monitor
• MobiTest
/
Web
page
test
• ADB
(
Android
debug
bridge)
• Remote
debugging
for
mobile
safari
• Yslow
• SpriteMe
• Icy
(iOS
specific)
21. Takeaways
for
Mobile
apps
• Minify
your
java
script
and
CSS
• All
images
have
dimensions
specified
• Have
an
efficient
caching
strategy
• Load
JavaScript
at
the
end
of
the
page
• Lazy
loading
• Different
sizes
of
image
for
Responsive
web
apps
• Don’t
download
extra
CSS
• Serve
low
resolu1on
images
on
smaller
screen
22. Mobile
Apps
• Mobile
Browser
apps
– mDOT-‐
dedicated
mobile
sites
– Responsive
web
design
• Na9ve
Apps
• Hybrid
Apps
23. Challenges
• Memory
leaks
• CPU
limit
• Network/Bandwidth
• Power
consump1ons
29. Takeaways
for
na1ve
apps
• Release
or
free
any
allocated
memory
as
soon
as
you
are
done
using
it.
• Avoid
compu1ng
anything
un1l
you
are
sure
you
actually
need
it.
• Avoid
spinlocks,
polling,
and
other
CPU-‐hogging
techniques.
• When
prac1cal,
perform
network
requests
in
batches
rather
than
one
at
a
1me.
• Consider
memory-‐mapping
large
files
instead
of
reading
them
into
RAM.
Doing
so
helps
the
system
manage
memory
more
efficiently.
30. Few
Pointers
for
iOS
App
submission
iOS
Guidelines:
• App
size
should
not
be
more
than
50
MB
for
non-‐gaming
app.
• Any
memory
leak
and
your
app
is
rejected
• Device
bagery
constraints
• Excessive
hea1ng