mobile performance testing

Post on 22-Nov-2014

257 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

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?  

top related