mobile performance testing
DESCRIPTION
The why, what and how of Mobile Testing, including best practices, tools recommendations and tips.TRANSCRIPT
Mobile Performance Tes1ng
@RupeshDubey @PriyankDhillon
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
Why mobile perf is important?
Source:Blaze
Mobile Users Expect equal speeds
Source:Blaze
Users abandon slow apps
Mobile Apps
• Mobile Browser apps – mDOT-‐ dedicated mobile sites – Responsive web design
• Na1ve Apps • Hybrid Apps
mDOT Sites
Source:Velocity
Responsive Web Apps
Source:BostonGlobe
Mobile Apps
• Mobile Browser apps – Dedicated mobile sites -‐ mDOT – Responsive web design
• Na1ve Apps • Hybrid Apps
Performance Challenges
• Mobile Browser apps – mDOT-‐ dedicated mobile sites – Responsive web design
• Na1ve Apps • Hybrid Apps
Front-‐End Vs Back-‐End performance
Perf Challenges while browsing on mobile
• Radio Resource Control • HTTP pipelining • Browser Cache • JS execu1on 1me
Radio Resource Controlling and RTT
JS Execu1on Time
Browser Cache
Desktop browser Cache: 512 MB
Browser Cache
• sqlite3 webviewCache.db 'select expires from cache order by expires desc;'
HTTP pipelining
How to Monitor
• MobiTest / Web page test • ADB ( Android debug bridge) • Remote debugging for mobile safari • Yslow • SpriteMe • Icy (iOS specific)
Demo
Responsive Web Design
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
Mobile Apps
• Mobile Browser apps – mDOT-‐ dedicated mobile sites – Responsive web design
• Na9ve Apps • Hybrid Apps
Challenges
• Memory leaks • CPU limit • Network/Bandwidth • Power consump1ons
Memory Leaks
ARC
Power Consump1on
Power Consump1on(Contd)
Network/Bandwidth
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.
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
Ques1ons?