Performance testing of mobile apps


Published on

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.


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.

Published in: Technology, Design
  • Very Informative! Performance testing checks the performance and behavior of the application under certain conditions such as heavy user load, peak usage times, low battery, bad network coverage low available memory, simultaneous access to application's server by several users and more.
    Are you sure you want to  Yes  No
    Your message goes here
  • We have reviews for the IT Central Station community for many of the main mobile performance testing solutions. This is one of the most popular comparison pages on our site:
    Are you sure you want to  Yes  No
    Your message goes here
  • No matter how good your app features might be, your users will lose interest if it is performing poorly with crashes or delayed load time. Your app should be able to withstand peak load, perform under lower network bandwidth and should not affect battery performance. If you don't have internal skills or bandwidth, you can also outsource it to specialized testing companies like, or
    Are you sure you want to  Yes  No
    Your message goes here
  • Well, I think your blog is pretty good and have lots of useful information. Keep it up!
    Are you sure you want to  Yes  No
    Your message goes here
  • Good One.
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Performance testing of mobile apps

  1. 1. Mobile  Performance  Tes1ng                                                        @RupeshDubey                                                          @PriyankDhillon  
  2. 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  
  3. 3. Why  mobile  perf  is  important?   Source:Blaze    
  4. 4. Mobile  Users  Expect  equal  speeds   Source:Blaze  
  5. 5. Users  abandon  slow  apps  
  6. 6. Mobile  Apps   •  Mobile  Browser  apps   –  mDOT-­‐  dedicated  mobile  sites   –  Responsive  web  design     •  Na1ve  Apps     •  Hybrid  Apps  
  7. 7. mDOT  Sites   Source:Velocity  
  8. 8. Responsive  Web  Apps   Source:BostonGlobe  
  9. 9. Mobile  Apps   •  Mobile  Browser  apps   –  Dedicated  mobile  sites  -­‐  mDOT   –  Responsive  web  design     •  Na1ve  Apps     •  Hybrid  Apps  
  10. 10. Performance  Challenges     •  Mobile  Browser  apps   –  mDOT-­‐  dedicated  mobile  sites   –  Responsive  web  design     •  Na1ve  Apps     •  Hybrid  Apps  
  11. 11. Front-­‐End  Vs  Back-­‐End  performance  
  12. 12. Perf  Challenges  while  browsing  on   mobile   •  Radio  Resource  Control   •  HTTP  pipelining   •  Browser  Cache   •  JS  execu1on  1me    
  13. 13. Radio  Resource  Controlling  and  RTT  
  14. 14. JS  Execu1on  Time  
  15. 15. Browser  Cache   Desktop  browser  Cache:  512  MB  
  16. 16. Browser  Cache   •  sqlite3  webviewCache.db  'select  expires  from   cache  order  by  expires  desc;'  
  17. 17. HTTP  pipelining  
  18. 18. How  to  Monitor     •  MobiTest  /  Web  page  test   •  ADB  (  Android  debug  bridge)   •  Remote  debugging  for  mobile  safari   •  Yslow   •  SpriteMe   •  Icy  (iOS  specific)  
  19. 19. Demo  
  20. 20. Responsive  Web  Design  
  21. 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. 22. Mobile  Apps   •  Mobile  Browser  apps   –  mDOT-­‐  dedicated  mobile  sites   –  Responsive  web  design     •  Na9ve  Apps     •  Hybrid  Apps  
  23. 23. Challenges   •  Memory  leaks   •  CPU  limit     •  Network/Bandwidth   •  Power  consump1ons    
  24. 24. Memory  Leaks  
  25. 25. ARC  
  26. 26. Power  Consump1on  
  27. 27. Power  Consump1on(Contd)  
  28. 28. Network/Bandwidth  
  29. 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. 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    
  31. 31. Ques1ons?