SlideShare a Scribd company logo
1 of 39
Download to read offline
Picking	
  The	
  Right	
  Set	
  of	
  
Mobile	
  Devices	
  
By	
  Brian	
  Kitchener	
  
So;ware	
  Quality	
  Architect	
  
bkitchener@prototest.com	
  
Overview	
  
•  About	
  me	
  
•  Some	
  Background	
  
•  The	
  Problem	
  
•  Understanding	
  Android	
  
•  How	
  Apps	
  Work	
  
•  Building	
  a	
  Device	
  Matrix	
  
•  Example	
  Matrices	
  
•  Conclusion	
  
About	
  Me	
  
•  So;ware	
  Quality	
  Architect	
  at	
  ProtoTest	
  
•  We're	
  a	
  mobile	
  test	
  lab	
  that	
  combines	
  usability	
  tesMng	
  with	
  quality	
  
assurance	
  	
  to	
  culMvate	
  a	
  great	
  user	
  experience	
  
•  Project	
  Architect,	
  Technical	
  Lead,	
  Trainer.	
  	
  	
  
•  Started	
  in	
  QA	
  in	
  2001	
  
•  BA	
  in	
  Applied	
  CompuMng	
  from	
  University	
  of	
  Denver	
  
•  TesMng	
  background	
  :	
  FuncMonal,	
  Performance,	
  UAT,	
  
Security,	
  API,	
  Database.	
  
•  AutomaMon	
  :	
  Selenium,	
  WebDriver,	
  WaMN,	
  
MonkeyTalk,	
  SOASTA,	
  Fitnesse,	
  QTP,	
  EggPlant,	
  Squish	
  
•  Languages	
  :	
  C#,	
  Java,	
  Ruby,	
  Javascript	
  
BACKGROUND	
  
INFORMATION	
  
Some	
  Stats	
  for	
  2012	
  
•  Mobile	
  Apps	
  achieved	
  $17	
  billion	
  in	
  sales	
  
•  5.2	
  Mobile	
  Subscribers	
  
– 1.2	
  Billion	
  PC’s	
  
– 4.2	
  Billion	
  people	
  use	
  a	
  toothbrush	
  
– 1	
  Billion	
  Smartphones	
  
•  722	
  Million	
  Smartphones	
  sold	
  	
  
•  1.4	
  Million	
  iOS	
  +	
  Android	
  Apps	
  
•  25	
  developers	
  =	
  half	
  of	
  app	
  revenue	
  
iPhone	
  -­‐	
  June	
  2007	
  
About	
  the	
  iPhone	
  
•  Steve	
  	
  Ballmer	
  :	
  Microso;	
  CEO	
  
–  “There’s	
  no	
  chance	
  the	
  iPhone	
  is	
  going	
  to	
  gain	
  significant	
  market	
  
share.	
  	
  No	
  chance.”	
  
•  Patrick	
  Stewart:	
  	
  
–  “Last	
  Wednesday,	
  I	
  stupidly	
  dropped	
  my	
  iPhone	
  in	
  the	
  bath,	
  and	
  my	
  
life	
  has	
  sort	
  of	
  spiraled	
  almost	
  out	
  of	
  control.”	
  
•  Jon	
  Rubinstein	
  –	
  Palm	
  CEO	
  
–  Is	
  there	
  a	
  toaster	
  that	
  also	
  knows	
  how	
  to	
  brew	
  coffee?	
  There	
  is	
  no	
  such	
  
combined	
  device,	
  because	
  it	
  would	
  not	
  make	
  anything	
  be;er	
  than	
  an	
  
individual	
  toaster	
  or	
  coffee	
  machine.	
  It	
  works	
  the	
  same	
  way	
  with	
  the	
  
iPod,	
  the	
  digital	
  camera	
  or	
  mobile	
  phone:	
  it	
  is	
  important	
  to	
  have	
  
specialized	
  devices.	
  
•  Mike	
  Lazaridis	
  –	
  Blackberry	
  CEO	
  
–  And	
  so	
  what	
  [the	
  iPhone]	
  has	
  actually	
  done	
  is	
  increased	
  our	
  sales.	
  
ANDROID	
  IS	
  THE	
  
PROBLEM	
  
And	
  Then	
  There	
  Were	
  Two…	
  
•  Android	
  unveiled	
  November	
  2007	
  
•  First	
  device	
  was	
  sold	
  in	
  October	
  
2008.	
  
•  Over	
  11,000	
  models	
  have	
  been	
  
released.	
  
•  48	
  Billion	
  app	
  installs	
  
•  Over	
  1	
  Billion	
  Android	
  devices	
  
acMvated	
  
•  8	
  OS	
  Revisions	
  	
  
OS	
  FragmentaMon	
  
Device	
  FragmentaMon	
  
Let’s	
  do	
  some	
  math!	
  
•  16	
  device	
  display	
  categories	
  
•  20	
  different	
  common	
  resoluMons	
  
•  8	
  OS	
  versions	
  
•  6	
  Hardware	
  Manufacturers	
  
•  4	
  Major	
  cellular	
  networks	
  
•  16	
  x	
  20	
  x	
  8	
  x	
  6	
  x	
  4	
  =	
  76,800	
  permutaMons	
  
•  Pairwise	
  approach	
  =	
  	
  over	
  30	
  permutaMons	
  
•  Who	
  can	
  afford	
  to	
  increase	
  tesMng	
  by	
  30X?	
  
	
  
Our	
  Approach	
  	
  
•  Efficiency,	
  not	
  coverage	
  
•  Flexible:	
  support	
  small	
  or	
  large	
  number	
  of	
  devices	
  
•  Understand	
  how	
  apps	
  work	
  to	
  logically	
  select	
  criteria	
  
•  Use	
  Market	
  research	
  to	
  pick	
  most	
  common	
  
configuraMons	
  
•  Pick	
  minimum	
  and	
  maximum	
  boundary	
  values	
  for	
  each	
  
criteria	
  
•  Choose	
  a	
  value	
  that	
  matches	
  an	
  edge	
  case	
  or	
  abnormal	
  
configuraMon.	
  
•  Pick	
  values	
  that	
  stress	
  or	
  tax	
  the	
  system	
  
UNDERSTANDING	
  
ANDROID	
  
Android	
  
•  Built	
  and	
  Maintained	
  by	
  Google	
  
•  Open	
  Source	
  
•  Built	
  on	
  Linux	
  kernel	
  
•  ARM	
  
•  X86	
  Ports	
  
•  Built	
  to	
  support	
  almost	
  any	
  type	
  of	
  device	
  
–  Phones,	
  tablets,	
  phablets,	
  media	
  players,	
  tv’s,	
  
watches,	
  etc.	
  
•  Device	
  Manufacturers	
  customize	
  code.	
  
Example:	
  Kindle	
  Fire	
  
•  Forked	
  Android	
  2.3	
  
–  Not	
  updateable	
  
•  Customized	
  UI	
  
•  Separate	
  App	
  store	
  
•  Not	
  all	
  android	
  apps	
  work	
  
•  Custom	
  web	
  browser	
  	
  
The	
  OperaMng	
  System	
  
•  Google	
  Releases	
  “stock”	
  
versions	
  
•  10	
  Major	
  Releases	
  since	
  
2008	
  
–  API	
  Level,	
  not	
  Version	
  
•  Device	
  manufacturers	
  like	
  
to	
  customize	
  the	
  OS	
  
–  Drivers,	
  libraries,	
  UI	
  
•  “Stock”	
  OS	
  available	
  in	
  
Nexus	
  devices	
  or	
  an	
  
Emulator	
  
	
  
Simulators	
  /	
  Emulators	
  
•  Simulator	
  imitates	
  the	
  so;ware	
  layer	
  	
  
–  OS	
  and	
  Libraries	
  
–  Apple	
  provides	
  a	
  simulator	
  in	
  xCode	
  IDE	
  
•  Emulator	
  duplicates	
  the	
  hardware	
  and	
  so;ware	
  
–  Processor	
  and	
  Memory	
  
–  Cannot	
  mimic	
  GPU,	
  GPS,	
  accelerometer	
  
•  Always	
  run	
  stock	
  OS	
  
•  Can	
  be	
  used	
  to	
  test	
  some	
  funcMonality	
  
•  Should	
  always	
  test	
  on	
  a	
  physical	
  device	
  too	
  
The	
  Processor	
  
•  ARM	
  RISC-­‐based	
  instrucMon	
  set	
  
•  SpecificaMon	
  defined	
  by	
  ARM	
  holdings	
  
•  32	
  bit	
  
•  Same	
  as	
  iOS	
  
•  X86	
  patches	
  and	
  ports	
  
•  It’s	
  only	
  a	
  spec,	
  can	
  be	
  modified.	
  
SoC	
  –	
  System	
  On	
  A	
  Chip	
  
•  Main	
  Board	
  
•  Processor	
  
•  RAM	
  Bus	
  	
  
•  GPU	
  	
  
•  May	
  include	
  :	
  	
  
–  Cellular	
  
–  WiFi	
  
–  NFC	
  
–  GPS	
  
–  Bluetooth	
  
2	
  Samsung	
  Galaxy	
  S4s	
  
Quallcomm	
  Snapdragon	
  
•  Quallcomm	
  Krait	
  300	
  
–  Quad	
  core	
  ARMv7	
  
Cortex	
  A15	
  Architecture	
  
•  Adreno	
  320	
  GPU	
  	
  
•  Dual	
  Channel	
  533Mhz	
  
Bus	
  
•  Integrated	
  LTE	
  
Samsung	
  Exynos	
  5	
  Octa	
  
•  Samsung	
  Big.livle	
  
processor	
  
–  Quad	
  core	
  Cortex	
  A	
  15	
  
–  Quad	
  core	
  Cortex	
  A7	
  	
  
•  PowerVR	
  SGX	
  544	
  GPU	
  
•  Dual	
  Channel	
  800Mhz	
  
Bus	
  
•  No	
  Integrated	
  LTE	
  
Common	
  SoC	
  
Manufacturer	
   Device	
  Name	
   Cores	
   Processor	
   GPU	
  
Qualcomm	
   Snapdragon	
  S4	
   2	
  or	
  4	
  
ARM	
  Cortex-­‐
A15	
  
Adreno	
  
Nvidia	
   Tegra	
  3	
   4+1	
  
ARM	
  Cortex-­‐
A9	
  
Geforce	
  
Samsung	
   Exynos	
  4	
   2	
  or	
  4	
  
ARM	
  Cortex-­‐
A9	
  
Mali	
  
Intel	
   Medfeld	
   1	
   Intel	
  x86	
   PowerVR	
  
Texas	
  
Instruments	
  
OMAP	
  4	
   2+2	
  
ARM	
  Cortex	
  
A9	
  
PowerVR	
  
ST-­‐Ericcson	
   NovaThor	
   2	
  
ARM	
  Cortex-­‐
A9	
  
PowerVR	
  
ResoluMon	
  is	
  not	
  enough	
  
•  Unlimited	
  number	
  of	
  screen	
  sizes	
  available	
  
•  Screens	
  range	
  from	
  3”	
  to	
  11”	
  
•  Each	
  screen	
  has	
  a	
  resoluMon,	
  same	
  as	
  a	
  
monitor	
  
– If	
  you	
  increase	
  the	
  resoluMon	
  everything	
  shrinks!	
  
•  Pixels	
  per	
  Inch	
  =	
  Density	
  
•  Screen	
  Size	
  +	
  Density	
  =	
  Display	
  Bucket	
  
•  ResoluMon	
  is	
  not	
  enough!	
  
	
  
The	
  Display	
  Buckets	
  
Size	
  :	
  	
  
•  Xlarge	
  :	
  8”	
  -­‐	
  10”	
  tablet.	
  	
  	
  
•  Large	
  :	
  	
  5”	
  -­‐	
  7”	
  tablet.	
  	
  	
  
•  Normal	
  :	
  3.5”	
  -­‐	
  5”	
  phones.	
  
•  Small	
  :	
  3”	
  -­‐	
  3.5”	
  phones.	
  	
  	
  
Density	
  :	
  
•  ldpi	
  	
  =	
  Low	
  DPI	
  (~120)	
  
•  mdpi	
  =	
  Medium	
  DPI	
  (~160)	
  
•  hdpi	
  =	
  High	
  DPI	
  (~240)	
  
•  xhdpi	
  =	
  Extra	
  High	
  DPI	
  
(~320)	
  
Low	
  density	
  
(120),	
  ldpi	
  
Medium	
  
density	
  
(160),	
  mdpi	
  
High	
  density	
  
(240),	
  hdpi	
  
Extra	
  high	
  
density	
  
(320),	
  xhdpi	
  
Small	
  
screen	
  
QVGA	
  
(240x320)	
  
480x640	
  
Normal	
  
screen	
  
WQVGA400	
  
(240x400)	
  
WQVGA432	
  
(240x432)	
  
HVGA	
  
(320x480)	
  
WVGA800	
  
(480x800)	
  	
  
WVGA854	
  
(480x854)	
  	
  
600x1024	
  
640x960	
  
Large	
  
screen	
  
WVGA800*
*	
  (480x800)	
  	
  
WVGA854*
*	
  (480x854)	
  
WVGA800*	
  
(480x800)	
  	
  
WVGA854*	
  
(480x854)	
  	
  
600x1024	
  
Extra	
  Large	
  
screen	
  
1024x600	
   WXGA	
  
(1280x800)
†
	
  
1024x768	
  
1280x768	
  
1536x1152	
  
1920x1152	
  	
  
1920x1200	
  
2048x1536	
  
2560x1536	
  	
  
2560x1600	
  
Display	
  Buckets	
  
•  Galaxy	
  S3	
  
–  1280	
  x	
  720	
  
–  Xhdpi	
  density	
  (331ppi)	
  
–  Normal	
  screen	
  (4.7”)	
  
•  Galaxy	
  Tab	
  10.1	
  
–  1280	
  x	
  800	
  	
  
–  ldpi	
  density	
  (149ppi)	
  
–  Xlarge	
  sceren	
  (10.1”)	
  
•  Galaxy	
  Note	
  LTE	
  	
  
–  1280	
  x	
  800	
  
–  hdpi	
  density	
  (285ppi)	
  
–  Large	
  Screen	
  (5.5”)	
  
Market	
  Analysis	
  
Aspect	
  RaMo	
  
•  UI	
  is	
  manipulated	
  from	
  code	
  
•  Density	
  Pixels	
  adjust	
  for	
  screen	
  size	
  
– But	
  can	
  use	
  regular	
  pixels!	
  
•  Need	
  to	
  take	
  both	
  X	
  and	
  Y	
  into	
  account!	
  
– Easy	
  to	
  overlap	
  or	
  hide	
  things	
  
•  Includes	
  orientaMon	
  
•  Some	
  devices	
  include	
  an	
  aspect	
  raMo	
  changer!	
  
(LG	
  OpMmus	
  Vu)	
  
Cellular	
  Carrier	
  
•  Four	
  Major	
  US	
  Networks	
  
–  Verizon,	
  Sprint,	
  AT&T,	
  T-­‐Mobile	
  
–  Some	
  phone	
  interoperability	
  
–  2	
  protocols	
  	
  
•  GSM	
  –	
  T-­‐Mobile	
  AT&T	
  
•  CDMA	
  –	
  Verizon	
  and	
  Sprint	
  
–  Carriers	
  assigned	
  specific	
  frequency	
  bands	
  
–  LTE	
  will	
  be	
  new	
  standard	
  -­‐	
  But	
  spectrum	
  issues	
  will	
  
prevent	
  cross-­‐network	
  phones	
  
•  So	
  if	
  the	
  phone	
  supports	
  the	
  carrier’s	
  protocol	
  
and	
  band	
  it	
  can	
  theoreMcally	
  connect.	
  
HOW	
  APPS	
  WORK	
  
How	
  Apps	
  work	
  
•  Apps	
  need	
  to	
  work	
  on	
  all	
  screen	
  sizes 	
  	
  
– May	
  not	
  be	
  funcMonal	
  
– May	
  be	
  wasted	
  space	
  
– May	
  not	
  make	
  sense	
  
•  Apps	
  define	
  XML	
  layouts	
  similar	
  to	
  HTML 	
  	
  
– Node	
  structure	
  
– StaMc	
  Content	
  –	
  Images,	
  etc	
  
– Dynamic	
  Content	
  –	
  Color,	
  Text,	
  etc.	
  
Layouts	
  and	
  Fragments	
  
•  XML	
  Fragments	
  are	
  
reusable	
  components	
  
•  Layouts	
  sMtch	
  together	
  
fragments	
  for	
  a	
  specific	
  
sized	
  device	
  	
  
•  App	
  may	
  need	
  different	
  
flow	
  for	
  tablet	
  vs	
  phone	
  
BUILDING	
  THE	
  	
  
DEVICE	
  MATRIX	
  
Our	
  Criteria	
  
•  OperaMng	
  System	
  
–  OS	
  customizaMons,	
  missing	
  libraries,	
  driver	
  issues,	
  	
  
•  Screen	
  Size	
  
–  Rendering	
  issues,	
  usability,	
  missing	
  layouts	
  
•  Pixel	
  Density	
  
–  Density	
  Independence,	
  missing	
  layouts.	
  
•  Aspect	
  RaMo	
  
–  X,Y	
  calculaMons,	
  overlapping	
  panels,	
  display	
  issues	
  
•  SoC	
  
–  Hardware	
  performance,	
  InstrucMon	
  set,	
  bavery,	
  signal	
  
•  Carrier	
  
–  Network	
  protocol,	
  speed,	
  responsiveness,	
  packet	
  loss	
  
The	
  Goal	
  
•  Efficiency,	
  not	
  coverage!	
  
•  Build	
  a	
  set	
  of	
  devices	
  to	
  be	
  used	
  for	
  app	
  and	
  
website	
  tesMng.	
  
•  Know	
  when	
  to	
  update	
  them	
  
•  Define	
  a	
  list	
  of	
  simple	
  categories	
  of	
  devices	
  
•  Pick	
  devices	
  that	
  offer	
  broad	
  coverage	
  
•  Adjust	
  the	
  number	
  of	
  devices	
  based	
  upon	
  
needed	
  coverage	
  
Categorical	
  Approach	
  
•  Define	
  scope	
  
–  	
  Android,	
  iOS,	
  phone,	
  tablet,	
  etc.	
  
•  Understand	
  TesMng	
  requirements	
  
•  Self-­‐descripMve	
  Names	
  
•  Help	
  to	
  broaden	
  coverage	
  
•  Will	
  adjust	
  devices	
  chosen	
  to	
  cover	
  our	
  criteria	
  
•  Should	
  be	
  apparent	
  when	
  to	
  update	
  a	
  device	
  
•  Spread	
  coverage	
  :	
  
–  Usage	
  -­‐>	
  Edge	
  Cases	
  -­‐>	
  Strange	
  -­‐>	
  Stress	
  
Example	
  Categories	
  
•  Common	
  	
  
–  Matches	
  most	
  common	
  
display	
  configuraMon	
  	
  
•  Newest	
  
–  Latest	
  OS	
  version,	
  largest	
  
screen,	
  highest	
  resoluMon	
  
•  Oldest	
  
–  Oldest,	
  slowest,	
  smallest	
  
device.	
  
•  Abnormal	
  
–  Non-­‐standard	
  OS,	
  aspect	
  
raMo,	
  orientaMon,	
  size	
  
•  Popular	
  
–  Most	
  popular	
  device	
  in	
  
terms	
  of	
  sales	
  
•  Budget	
  
–  Low-­‐priced	
  new	
  model.	
  	
  
Tend	
  to	
  have	
  strange	
  specs	
  
•  Flagship	
  
–  Nexus	
  device	
  running	
  stock	
  
Android	
  OS	
  
•  Catch-­‐All	
  
–  Cover	
  any	
  missing	
  criteria	
  
Android	
  Phone	
  Matrix	
  	
  
March	
  
2012	
  
Device	
  Name	
   OS	
   Display	
   Aspe
ct	
  
SoC	
   Carrier	
  
Newest	
   HTC	
  Droid	
  DNA	
   4.2	
   Normal-­‐xhdpi	
   9:16	
   Snapdragon	
  S4	
   Verizon	
  
Oldest	
   HTC	
  Tavoo	
   1.6	
   Small-­‐ldpi	
   3:4	
   Snapdragon	
  S1	
   AT&T	
  
Common	
   Motorola	
  Droid	
  
3	
  
2.3	
   Normal-­‐hdpi	
   9:16	
   TI	
  OMAP	
  4	
   Verizon	
  
Popular	
   Samsung	
  Galaxy	
  
S3	
  
4.1	
   Normal-­‐xhdpi	
   9:16	
   Exynos	
  4	
   Sprint	
  
Abnormal	
   LG	
  OpMmus	
  VU	
   4	
   Large-­‐hdpi	
   3:4	
   Nvidia	
  Tegra	
  3	
   Tmobile	
  
Flagship	
   LG	
  Nexus	
  4	
   4.2	
   Normal-­‐xhdpi	
   3:5	
   Snapdragon	
  S4	
   TMobile	
  
Budget	
   Dell	
  Venue	
   2.2	
   Normal-­‐mdpi	
   3:5	
   Snapdragon	
  S3	
   AT&T	
  
Catch-­‐All	
   Sony	
  Xperia	
  P	
   2.3	
   Normal-­‐hdpi	
   9:16	
   Sony	
  NovaThor	
   AT&T	
  
iOS	
  Matrix	
  	
  
March	
  
2012	
  
Device	
  
Name	
  
OS	
   Display	
   Aspect	
   SoC	
   Carrier	
  
Newest	
  	
   iPhone	
  5S	
   7	
   4”	
  1136	
  x	
  640	
  326ppi	
   9:16	
   Apple	
  64bit	
  A7	
  	
   T-­‐Mobile	
  
Oldest	
  	
   iPhone	
  3g	
   6	
   3.5”	
  320	
  x	
  480	
  165ppi	
   2:3	
   Apple	
  A3	
   AT&T	
  
Common	
   iPhone	
  5	
   6	
   4”	
  1136	
  x	
  640	
  326ppi	
   9:16	
   Apple	
  A5	
   Verizon	
  	
  
Popular	
   iPhone	
  4	
   6	
   3.5”	
  640x960	
  330ppi	
   2:3	
   Apple	
  A4	
   Sprint	
  
iPad	
  
(ReZna)	
  
iPad	
  3	
  	
   7	
   10”	
  1536x2048	
  264ppi	
   3:4	
   Apple	
  A5X	
   Verizon	
  
iPod	
   iPod	
  Touch	
  
(4th	
  gen)	
  
5	
   3.5”	
  640x960	
  326ppi	
   2:3	
   Apple	
  A4	
   WiFi	
  
Mini	
   iPad	
  Mini	
   6	
   7”	
  1024	
  x	
  768	
  162ppi	
   3:4	
   Apple	
  A5	
   AT&T	
  
Conclusion	
  
•  Understanding	
  how	
  everything	
  works	
  allows	
  
us	
  to	
  logically	
  select	
  devices.	
  
•  A	
  large	
  number	
  of	
  permutaMons	
  can	
  be	
  
covered	
  in	
  few	
  devices	
  
•  If	
  addiMonal	
  coverage	
  is	
  needed	
  addiMonal	
  
devices	
  can	
  be	
  added	
  
•  White	
  Paper	
  :	
  	
  
– hvp://www.prototest.com	
  :	
  	
  
– Building	
  the	
  UlMmate	
  Device	
  Matrix	
  

More Related Content

What's hot

Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsKMS Technology
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing IntroductionHai Tran Son
 
Test automation project estimation calculator
Test automation project estimation calculatorTest automation project estimation calculator
Test automation project estimation calculatorssuser2e8d4b
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaEdureka!
 
Xray for Jira - Overview
Xray for Jira - OverviewXray for Jira - Overview
Xray for Jira - OverviewXpand IT
 
Automation testing & Unit testing
Automation testing & Unit testingAutomation testing & Unit testing
Automation testing & Unit testingKapil Rajpurohit
 
Version Control System
Version Control SystemVersion Control System
Version Control Systemguptaanil
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
Test Automation With Cucumber JVM, Selenium, and Mocha
Test Automation With Cucumber JVM, Selenium, and MochaTest Automation With Cucumber JVM, Selenium, and Mocha
Test Automation With Cucumber JVM, Selenium, and MochaSalesforce Developers
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsAmit Rawat
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? EdurekaEdureka!
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-AutomationMindfire Solutions
 

What's hot (20)

Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
Test plan
Test planTest plan
Test plan
 
Test automation project estimation calculator
Test automation project estimation calculatorTest automation project estimation calculator
Test automation project estimation calculator
 
Guide to Agile testing
Guide to Agile testingGuide to Agile testing
Guide to Agile testing
 
Automation Testing
Automation TestingAutomation Testing
Automation Testing
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
 
Xray for Jira - Overview
Xray for Jira - OverviewXray for Jira - Overview
Xray for Jira - Overview
 
Automation testing & Unit testing
Automation testing & Unit testingAutomation testing & Unit testing
Automation testing & Unit testing
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Automated Test Framework with Cucumber
Automated Test Framework with CucumberAutomated Test Framework with Cucumber
Automated Test Framework with Cucumber
 
Version Control System
Version Control SystemVersion Control System
Version Control System
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Test Automation With Cucumber JVM, Selenium, and Mocha
Test Automation With Cucumber JVM, Selenium, and MochaTest Automation With Cucumber JVM, Selenium, and Mocha
Test Automation With Cucumber JVM, Selenium, and Mocha
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
 
Selenium at Salesforce Scale
Selenium at Salesforce ScaleSelenium at Salesforce Scale
Selenium at Salesforce Scale
 
What is Test Plan? Edureka
What is Test Plan? EdurekaWhat is Test Plan? Edureka
What is Test Plan? Edureka
 
Test automation proposal
Test automation proposalTest automation proposal
Test automation proposal
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 

Viewers also liked

Mobile application testing
Mobile application testingMobile application testing
Mobile application testingvodQA
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application TestingSWAAM Tech
 
Testing Mobile Applications
Testing Mobile ApplicationsTesting Mobile Applications
Testing Mobile ApplicationsJohan Hoberg
 
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010TEST Huddle
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practicesRakesh Jha
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testingSoftheme
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobiGnosis
 
Testing Checklist for Mobile Applications-By Anurag Khode
Testing Checklist for Mobile Applications-By Anurag KhodeTesting Checklist for Mobile Applications-By Anurag Khode
Testing Checklist for Mobile Applications-By Anurag KhodeAnurag Khode
 
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...SQALab
 
Listado de codigos dtc obd2
Listado de codigos dtc   obd2Listado de codigos dtc   obd2
Listado de codigos dtc obd2RICARDO GUEVARA
 
Testing Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsTesting Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsIndicThreads
 

Viewers also liked (11)

Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
Testing Mobile Applications
Testing Mobile ApplicationsTesting Mobile Applications
Testing Mobile Applications
 
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
Doron Reuveni - The Mobile App Quality Challenge - EuroSTAR 2010
 
Mobile testing practices
Mobile testing practicesMobile testing practices
Mobile testing practices
 
Mobile application testing
Mobile application testingMobile application testing
Mobile application testing
 
Mobile Application Testing Training Presentation
Mobile Application Testing Training PresentationMobile Application Testing Training Presentation
Mobile Application Testing Training Presentation
 
Testing Checklist for Mobile Applications-By Anurag Khode
Testing Checklist for Mobile Applications-By Anurag KhodeTesting Checklist for Mobile Applications-By Anurag Khode
Testing Checklist for Mobile Applications-By Anurag Khode
 
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
Мастер Тест План / Тестовая Стратегия: Что это? Зачем? Как его создать?-От А ...
 
Listado de codigos dtc obd2
Listado de codigos dtc   obd2Listado de codigos dtc   obd2
Listado de codigos dtc obd2
 
Testing Techniques for Mobile Applications
Testing Techniques for Mobile ApplicationsTesting Techniques for Mobile Applications
Testing Techniques for Mobile Applications
 

Similar to Building the Ultimate Device Matrix

Acme company presentation_2014
Acme company presentation_2014Acme company presentation_2014
Acme company presentation_2014Myles Kelvin
 
Android v 1.1
Android v 1.1Android v 1.1
Android v 1.1Ravi Vyas
 
Android operating system
Android operating systemAndroid operating system
Android operating systemEstiak Khan
 
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision System
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision SystemHai Tao at AI Frontiers: Deep Learning For Embedded Vision System
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision SystemAI Frontiers
 
Frokost seminar windows 8 februar 2013
Frokost seminar   windows 8 februar 2013Frokost seminar   windows 8 februar 2013
Frokost seminar windows 8 februar 2013Olav Tvedt
 
Beating Android Fragmentation, Brett Duncavage
Beating Android Fragmentation, Brett DuncavageBeating Android Fragmentation, Brett Duncavage
Beating Android Fragmentation, Brett DuncavageXamarin
 
Exor 2015 complete catalog
Exor 2015 complete catalogExor 2015 complete catalog
Exor 2015 complete catalogElectromate
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA NITIN GUPTA
 
7 reasons why video conferencing world will never
7 reasons why video conferencing world will never7 reasons why video conferencing world will never
7 reasons why video conferencing world will neverTrueConf
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesAndreas Katzig
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osArnav Gupta
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating SystemAmit Kundu
 

Similar to Building the Ultimate Device Matrix (20)

Teksun Corporate Overview 2014
Teksun Corporate Overview 2014Teksun Corporate Overview 2014
Teksun Corporate Overview 2014
 
Board Design and System Software
Board Design and System SoftwareBoard Design and System Software
Board Design and System Software
 
Acme company presentation_2014
Acme company presentation_2014Acme company presentation_2014
Acme company presentation_2014
 
Android v 1.1
Android v 1.1Android v 1.1
Android v 1.1
 
Android operating system
Android operating systemAndroid operating system
Android operating system
 
Lec001
Lec001Lec001
Lec001
 
Aplit-Soft
Aplit-Soft Aplit-Soft
Aplit-Soft
 
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision System
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision SystemHai Tao at AI Frontiers: Deep Learning For Embedded Vision System
Hai Tao at AI Frontiers: Deep Learning For Embedded Vision System
 
Frokost seminar windows 8 februar 2013
Frokost seminar   windows 8 februar 2013Frokost seminar   windows 8 februar 2013
Frokost seminar windows 8 februar 2013
 
Beating Android Fragmentation, Brett Duncavage
Beating Android Fragmentation, Brett DuncavageBeating Android Fragmentation, Brett Duncavage
Beating Android Fragmentation, Brett Duncavage
 
Exor 2015 complete catalog
Exor 2015 complete catalogExor 2015 complete catalog
Exor 2015 complete catalog
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
 
HD CCTV -Arecont Exacq Pivot3.ppt
HD CCTV -Arecont Exacq Pivot3.pptHD CCTV -Arecont Exacq Pivot3.ppt
HD CCTV -Arecont Exacq Pivot3.ppt
 
Android Presentation
Android PresentationAndroid Presentation
Android Presentation
 
7 reasons why video conferencing world will never
7 reasons why video conferencing world will never7 reasons why video conferencing world will never
7 reasons why video conferencing world will never
 
Oreo android
Oreo androidOreo android
Oreo android
 
DevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile GamesDevOpsCon 2015 - DevOps in Mobile Games
DevOpsCon 2015 - DevOps in Mobile Games
 
A2 e overview
A2 e overviewA2 e overview
A2 e overview
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating System
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Building the Ultimate Device Matrix

  • 1. Picking  The  Right  Set  of   Mobile  Devices   By  Brian  Kitchener   So;ware  Quality  Architect   bkitchener@prototest.com  
  • 2. Overview   •  About  me   •  Some  Background   •  The  Problem   •  Understanding  Android   •  How  Apps  Work   •  Building  a  Device  Matrix   •  Example  Matrices   •  Conclusion  
  • 3. About  Me   •  So;ware  Quality  Architect  at  ProtoTest   •  We're  a  mobile  test  lab  that  combines  usability  tesMng  with  quality   assurance    to  culMvate  a  great  user  experience   •  Project  Architect,  Technical  Lead,  Trainer.       •  Started  in  QA  in  2001   •  BA  in  Applied  CompuMng  from  University  of  Denver   •  TesMng  background  :  FuncMonal,  Performance,  UAT,   Security,  API,  Database.   •  AutomaMon  :  Selenium,  WebDriver,  WaMN,   MonkeyTalk,  SOASTA,  Fitnesse,  QTP,  EggPlant,  Squish   •  Languages  :  C#,  Java,  Ruby,  Javascript  
  • 5. Some  Stats  for  2012   •  Mobile  Apps  achieved  $17  billion  in  sales   •  5.2  Mobile  Subscribers   – 1.2  Billion  PC’s   – 4.2  Billion  people  use  a  toothbrush   – 1  Billion  Smartphones   •  722  Million  Smartphones  sold     •  1.4  Million  iOS  +  Android  Apps   •  25  developers  =  half  of  app  revenue  
  • 7. About  the  iPhone   •  Steve    Ballmer  :  Microso;  CEO   –  “There’s  no  chance  the  iPhone  is  going  to  gain  significant  market   share.    No  chance.”   •  Patrick  Stewart:     –  “Last  Wednesday,  I  stupidly  dropped  my  iPhone  in  the  bath,  and  my   life  has  sort  of  spiraled  almost  out  of  control.”   •  Jon  Rubinstein  –  Palm  CEO   –  Is  there  a  toaster  that  also  knows  how  to  brew  coffee?  There  is  no  such   combined  device,  because  it  would  not  make  anything  be;er  than  an   individual  toaster  or  coffee  machine.  It  works  the  same  way  with  the   iPod,  the  digital  camera  or  mobile  phone:  it  is  important  to  have   specialized  devices.   •  Mike  Lazaridis  –  Blackberry  CEO   –  And  so  what  [the  iPhone]  has  actually  done  is  increased  our  sales.  
  • 8. ANDROID  IS  THE   PROBLEM  
  • 9. And  Then  There  Were  Two…   •  Android  unveiled  November  2007   •  First  device  was  sold  in  October   2008.   •  Over  11,000  models  have  been   released.   •  48  Billion  app  installs   •  Over  1  Billion  Android  devices   acMvated   •  8  OS  Revisions    
  • 12. Let’s  do  some  math!   •  16  device  display  categories   •  20  different  common  resoluMons   •  8  OS  versions   •  6  Hardware  Manufacturers   •  4  Major  cellular  networks   •  16  x  20  x  8  x  6  x  4  =  76,800  permutaMons   •  Pairwise  approach  =    over  30  permutaMons   •  Who  can  afford  to  increase  tesMng  by  30X?    
  • 13. Our  Approach     •  Efficiency,  not  coverage   •  Flexible:  support  small  or  large  number  of  devices   •  Understand  how  apps  work  to  logically  select  criteria   •  Use  Market  research  to  pick  most  common   configuraMons   •  Pick  minimum  and  maximum  boundary  values  for  each   criteria   •  Choose  a  value  that  matches  an  edge  case  or  abnormal   configuraMon.   •  Pick  values  that  stress  or  tax  the  system  
  • 15. Android   •  Built  and  Maintained  by  Google   •  Open  Source   •  Built  on  Linux  kernel   •  ARM   •  X86  Ports   •  Built  to  support  almost  any  type  of  device   –  Phones,  tablets,  phablets,  media  players,  tv’s,   watches,  etc.   •  Device  Manufacturers  customize  code.  
  • 16. Example:  Kindle  Fire   •  Forked  Android  2.3   –  Not  updateable   •  Customized  UI   •  Separate  App  store   •  Not  all  android  apps  work   •  Custom  web  browser    
  • 17. The  OperaMng  System   •  Google  Releases  “stock”   versions   •  10  Major  Releases  since   2008   –  API  Level,  not  Version   •  Device  manufacturers  like   to  customize  the  OS   –  Drivers,  libraries,  UI   •  “Stock”  OS  available  in   Nexus  devices  or  an   Emulator    
  • 18. Simulators  /  Emulators   •  Simulator  imitates  the  so;ware  layer     –  OS  and  Libraries   –  Apple  provides  a  simulator  in  xCode  IDE   •  Emulator  duplicates  the  hardware  and  so;ware   –  Processor  and  Memory   –  Cannot  mimic  GPU,  GPS,  accelerometer   •  Always  run  stock  OS   •  Can  be  used  to  test  some  funcMonality   •  Should  always  test  on  a  physical  device  too  
  • 19. The  Processor   •  ARM  RISC-­‐based  instrucMon  set   •  SpecificaMon  defined  by  ARM  holdings   •  32  bit   •  Same  as  iOS   •  X86  patches  and  ports   •  It’s  only  a  spec,  can  be  modified.  
  • 20. SoC  –  System  On  A  Chip   •  Main  Board   •  Processor   •  RAM  Bus     •  GPU     •  May  include  :     –  Cellular   –  WiFi   –  NFC   –  GPS   –  Bluetooth  
  • 21. 2  Samsung  Galaxy  S4s   Quallcomm  Snapdragon   •  Quallcomm  Krait  300   –  Quad  core  ARMv7   Cortex  A15  Architecture   •  Adreno  320  GPU     •  Dual  Channel  533Mhz   Bus   •  Integrated  LTE   Samsung  Exynos  5  Octa   •  Samsung  Big.livle   processor   –  Quad  core  Cortex  A  15   –  Quad  core  Cortex  A7     •  PowerVR  SGX  544  GPU   •  Dual  Channel  800Mhz   Bus   •  No  Integrated  LTE  
  • 22. Common  SoC   Manufacturer   Device  Name   Cores   Processor   GPU   Qualcomm   Snapdragon  S4   2  or  4   ARM  Cortex-­‐ A15   Adreno   Nvidia   Tegra  3   4+1   ARM  Cortex-­‐ A9   Geforce   Samsung   Exynos  4   2  or  4   ARM  Cortex-­‐ A9   Mali   Intel   Medfeld   1   Intel  x86   PowerVR   Texas   Instruments   OMAP  4   2+2   ARM  Cortex   A9   PowerVR   ST-­‐Ericcson   NovaThor   2   ARM  Cortex-­‐ A9   PowerVR  
  • 23. ResoluMon  is  not  enough   •  Unlimited  number  of  screen  sizes  available   •  Screens  range  from  3”  to  11”   •  Each  screen  has  a  resoluMon,  same  as  a   monitor   – If  you  increase  the  resoluMon  everything  shrinks!   •  Pixels  per  Inch  =  Density   •  Screen  Size  +  Density  =  Display  Bucket   •  ResoluMon  is  not  enough!    
  • 24. The  Display  Buckets   Size  :     •  Xlarge  :  8”  -­‐  10”  tablet.       •  Large  :    5”  -­‐  7”  tablet.       •  Normal  :  3.5”  -­‐  5”  phones.   •  Small  :  3”  -­‐  3.5”  phones.       Density  :   •  ldpi    =  Low  DPI  (~120)   •  mdpi  =  Medium  DPI  (~160)   •  hdpi  =  High  DPI  (~240)   •  xhdpi  =  Extra  High  DPI   (~320)   Low  density   (120),  ldpi   Medium   density   (160),  mdpi   High  density   (240),  hdpi   Extra  high   density   (320),  xhdpi   Small   screen   QVGA   (240x320)   480x640   Normal   screen   WQVGA400   (240x400)   WQVGA432   (240x432)   HVGA   (320x480)   WVGA800   (480x800)     WVGA854   (480x854)     600x1024   640x960   Large   screen   WVGA800* *  (480x800)     WVGA854* *  (480x854)   WVGA800*   (480x800)     WVGA854*   (480x854)     600x1024   Extra  Large   screen   1024x600   WXGA   (1280x800) †   1024x768   1280x768   1536x1152   1920x1152     1920x1200   2048x1536   2560x1536     2560x1600  
  • 25. Display  Buckets   •  Galaxy  S3   –  1280  x  720   –  Xhdpi  density  (331ppi)   –  Normal  screen  (4.7”)   •  Galaxy  Tab  10.1   –  1280  x  800     –  ldpi  density  (149ppi)   –  Xlarge  sceren  (10.1”)   •  Galaxy  Note  LTE     –  1280  x  800   –  hdpi  density  (285ppi)   –  Large  Screen  (5.5”)  
  • 27. Aspect  RaMo   •  UI  is  manipulated  from  code   •  Density  Pixels  adjust  for  screen  size   – But  can  use  regular  pixels!   •  Need  to  take  both  X  and  Y  into  account!   – Easy  to  overlap  or  hide  things   •  Includes  orientaMon   •  Some  devices  include  an  aspect  raMo  changer!   (LG  OpMmus  Vu)  
  • 28. Cellular  Carrier   •  Four  Major  US  Networks   –  Verizon,  Sprint,  AT&T,  T-­‐Mobile   –  Some  phone  interoperability   –  2  protocols     •  GSM  –  T-­‐Mobile  AT&T   •  CDMA  –  Verizon  and  Sprint   –  Carriers  assigned  specific  frequency  bands   –  LTE  will  be  new  standard  -­‐  But  spectrum  issues  will   prevent  cross-­‐network  phones   •  So  if  the  phone  supports  the  carrier’s  protocol   and  band  it  can  theoreMcally  connect.  
  • 30. How  Apps  work   •  Apps  need  to  work  on  all  screen  sizes     – May  not  be  funcMonal   – May  be  wasted  space   – May  not  make  sense   •  Apps  define  XML  layouts  similar  to  HTML     – Node  structure   – StaMc  Content  –  Images,  etc   – Dynamic  Content  –  Color,  Text,  etc.  
  • 31. Layouts  and  Fragments   •  XML  Fragments  are   reusable  components   •  Layouts  sMtch  together   fragments  for  a  specific   sized  device     •  App  may  need  different   flow  for  tablet  vs  phone  
  • 32. BUILDING  THE     DEVICE  MATRIX  
  • 33. Our  Criteria   •  OperaMng  System   –  OS  customizaMons,  missing  libraries,  driver  issues,     •  Screen  Size   –  Rendering  issues,  usability,  missing  layouts   •  Pixel  Density   –  Density  Independence,  missing  layouts.   •  Aspect  RaMo   –  X,Y  calculaMons,  overlapping  panels,  display  issues   •  SoC   –  Hardware  performance,  InstrucMon  set,  bavery,  signal   •  Carrier   –  Network  protocol,  speed,  responsiveness,  packet  loss  
  • 34. The  Goal   •  Efficiency,  not  coverage!   •  Build  a  set  of  devices  to  be  used  for  app  and   website  tesMng.   •  Know  when  to  update  them   •  Define  a  list  of  simple  categories  of  devices   •  Pick  devices  that  offer  broad  coverage   •  Adjust  the  number  of  devices  based  upon   needed  coverage  
  • 35. Categorical  Approach   •  Define  scope   –   Android,  iOS,  phone,  tablet,  etc.   •  Understand  TesMng  requirements   •  Self-­‐descripMve  Names   •  Help  to  broaden  coverage   •  Will  adjust  devices  chosen  to  cover  our  criteria   •  Should  be  apparent  when  to  update  a  device   •  Spread  coverage  :   –  Usage  -­‐>  Edge  Cases  -­‐>  Strange  -­‐>  Stress  
  • 36. Example  Categories   •  Common     –  Matches  most  common   display  configuraMon     •  Newest   –  Latest  OS  version,  largest   screen,  highest  resoluMon   •  Oldest   –  Oldest,  slowest,  smallest   device.   •  Abnormal   –  Non-­‐standard  OS,  aspect   raMo,  orientaMon,  size   •  Popular   –  Most  popular  device  in   terms  of  sales   •  Budget   –  Low-­‐priced  new  model.     Tend  to  have  strange  specs   •  Flagship   –  Nexus  device  running  stock   Android  OS   •  Catch-­‐All   –  Cover  any  missing  criteria  
  • 37. Android  Phone  Matrix     March   2012   Device  Name   OS   Display   Aspe ct   SoC   Carrier   Newest   HTC  Droid  DNA   4.2   Normal-­‐xhdpi   9:16   Snapdragon  S4   Verizon   Oldest   HTC  Tavoo   1.6   Small-­‐ldpi   3:4   Snapdragon  S1   AT&T   Common   Motorola  Droid   3   2.3   Normal-­‐hdpi   9:16   TI  OMAP  4   Verizon   Popular   Samsung  Galaxy   S3   4.1   Normal-­‐xhdpi   9:16   Exynos  4   Sprint   Abnormal   LG  OpMmus  VU   4   Large-­‐hdpi   3:4   Nvidia  Tegra  3   Tmobile   Flagship   LG  Nexus  4   4.2   Normal-­‐xhdpi   3:5   Snapdragon  S4   TMobile   Budget   Dell  Venue   2.2   Normal-­‐mdpi   3:5   Snapdragon  S3   AT&T   Catch-­‐All   Sony  Xperia  P   2.3   Normal-­‐hdpi   9:16   Sony  NovaThor   AT&T  
  • 38. iOS  Matrix     March   2012   Device   Name   OS   Display   Aspect   SoC   Carrier   Newest     iPhone  5S   7   4”  1136  x  640  326ppi   9:16   Apple  64bit  A7     T-­‐Mobile   Oldest     iPhone  3g   6   3.5”  320  x  480  165ppi   2:3   Apple  A3   AT&T   Common   iPhone  5   6   4”  1136  x  640  326ppi   9:16   Apple  A5   Verizon     Popular   iPhone  4   6   3.5”  640x960  330ppi   2:3   Apple  A4   Sprint   iPad   (ReZna)   iPad  3     7   10”  1536x2048  264ppi   3:4   Apple  A5X   Verizon   iPod   iPod  Touch   (4th  gen)   5   3.5”  640x960  326ppi   2:3   Apple  A4   WiFi   Mini   iPad  Mini   6   7”  1024  x  768  162ppi   3:4   Apple  A5   AT&T  
  • 39. Conclusion   •  Understanding  how  everything  works  allows   us  to  logically  select  devices.   •  A  large  number  of  permutaMons  can  be   covered  in  few  devices   •  If  addiMonal  coverage  is  needed  addiMonal   devices  can  be  added   •  White  Paper  :     – hvp://www.prototest.com  :     – Building  the  UlMmate  Device  Matrix