Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mobile testing - one steop forward or two steps back

Mobile testing - one steop forward or two steps back

From Eurostar 2015 in Maastricht

Susan van de Ven

November 18, 2015
Tweet

More Decks by Susan van de Ven

Other Decks in Technology

Transcript

  1. Mobile  Tes*ng  –  a  step   forwards  or  a  step

     back   Susan  van  de  Ven  @susie13  
  2. About  Me   Sco8sh,  living  in  The  Netherlands  for  4

     years   Mobile  tes*ng  both  automa*on  and  manual  for  4  years   Team  lead  for  Android  and  iOS  development   Work  on  the  Number  1  Dutch  app  in  iOS  and  Android  
  3. Topics   •  Differences  with  desktop  and  mobile  tes*ng  

    •  Where  we  went  wrong  and  what  we  learned   •  The  good  news  
  4. Desktop  tes9ng  has....     Ability  to  hoGix/rollback  quickly  

    100%  rollout  (within  ~30  minutes)     10+  years  of  development  on  automa*on  frameworks/tools      
  5. Mobile  Tes9ng  –  a  step  forward?   •  Newest  technologies

      •  Latest  gadgets   •  Going  to  be  cool  –  right?  
  6. When  mobile  tes9ng  goes  wrong   –  The  curious  incident

     of  the  change  in  the  manifest     –  The  mysterious  memory  bug     –  Accessibility  oversight  
  7. The  curious  incident   We  added  an  Android  third  party

     library  to  our  app.    We   followed  the  instruc*ons  to  integrate  into  the  app.       Tested  it,  checked  the  calls  it  made,  were  happy  and   released  it,  gradually,  1%..5%..20%  then  100%.         Graphs  were  green,  no  alerts  going  off,    all  was  well…..        
  8. The  curious  tale  –  48  hours  later   REST  

     API   OLD   FRONTEND   NOTIFICATION  SERVICE   Our   Backend     Services  
  9. The  curious  tale   In  the  manifest  we  had  

    android.net.conn.CONNECTIVITY_CHANGE     Caused  the  startup  API’s  to  be  called  –  repeatedly.   One  users  app  called  the  startup  calls  2800  *mes  in  a   single  day     Our  monitoring  copied  desktop  and  we  had  no  alerts  on   start  up  calls  
  10. The  mysterious  memory  bug   Users  reviews  men*on  a  crash

     and  we  see  the  crash   reports  but  we  cannot  reproduce.     We  test  on  devices,  not  simulators     We  cover  the  different  ios  versions  that  we  support   We  have  old  and  new  devices  
  11. The  mysterious  memory  bug   Spoke  to  a  user  in

     the  evening  at  home,  copied  what  she   did  step  by  step  and  BINGO!          Crash  is  reproduced.     What  was  the  difference?  
  12. Accessibility  Oversight   iOS  builds  in  a  lot  of  the

     VoiceOver  func*onality  in  for  you       Bukons  that  have  labels  have  the  accessibility  set  for  you   Icons  need  to  have  accessibility  labels  added   Automa*on  frameworks  reuse  this  to  iden*fy  elements    
  13. Accessibility  Oversight   Aler  redesign  all  icons  had  accessibility  

    labels  (in  the  correct  language  too)  so   we  had  this  covered…..     It  read  out  “VIP  FLOATING  BAR”   And  users  had  to  disable  VoiceOver  to   select  any  of  the  op*ons.  
  14. Accessibility  Oversight   We  visited  a  user’s  house  and  watched

     him   use  the  app.       It  was  completely  different  to  how  we   thought  it  worked.     Now  all  UI  changes  are  tested  with   VoiceOver   We  s*ll  have  a  lot  to  learn  
  15. What  did  we  do  wrong   We  assumed  that  the

     copying  of  monitoring  from  desktop   would  be  enough   We  assumed  that  we  just  needed  device  coverage  like   browser/os  coverage.   We  put  our  hopes  on  automa*on  to  save  the  day   We  didn’t  test  in  the  same  way  as  a  user  would  use  the   app.    
  16. User  Feedback  –  fixed  annoyances   “Why  can’t  I  …?”

      “I’m  really  missing  …”   “It  would  be  great  if…”   “I  have  to  go  to  the  site  to  do…”   “I  hate  it  when…”  
  17. How  to  move  your  mobile  tes9ng  forward   •  Always

     ask  what  is  different  about  mobile  that  we   might  not  have  covered?   •  Put  yourself  in  the  same  posi*on  as  the  user     •  Reduce  risk  –  small  releases  and  staged  rollouts     •  Monitor  and  Check  Ra*ngs/Reviews