SlideShare a Scribd company logo
1 of 19
Download to read offline
4/23/15
1
Mobile	
  App	
  Testing:	
  	
  
The	
  Good,	
  The	
  Bad,	
  and	
  The	
  Ugly	
  
Jon	
  D.	
  Hagar,	
  Consultant,	
  Grand	
  Software	
  Testing	
  
embedded@ecentral.com	
  
Author:	
  Software	
  Test	
  Attacks	
  to	
  Break	
  	
  
Mobile	
  and	
  Embedded	
  Devices	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  
“So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
1
*  Gaming	
  Testing	
  Story	
  
*  It	
  only	
  takes	
  a	
  few	
  minutes	
  using	
  an	
  App	
  before	
  users	
  like	
  or	
  hate	
  it	
  
*  Worse	
  than	
  that.	
  .	
  .	
  
*  Many	
  users	
  will	
  post	
  a	
  social	
  media	
  review	
  of	
  the	
  app	
  
*  You	
  don’t	
  want	
  to	
  be	
  a	
  	
  BAD	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  	
  	
  	
  	
  	
  	
  	
  Mobile-­‐Embedded	
  Taxonomies	
  from	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  
2
The	
  Mobile	
  Opportunity	
  
4/23/15
2
*  Depth	
  
*  Passion	
  
*  Speed	
  
What	
  Does	
  it	
  Take	
  to	
  be	
  a	
  Great	
  
Mobile	
  App	
  Tester?	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
Software Test Attacks to Break Mobile and Embedded Devices
3
*  As	
  the	
  names	
  imply,	
  these	
  are	
  devices—small,	
  held	
  in	
  the	
  hand,	
  connected	
  
to	
  communication	
  networks,	
  including	
  
*  Cell	
  and	
  smart	
  phones	
  –	
  apps	
  	
  
*  Tablets	
  
*  Medical	
  devices	
  
*  Typically	
  have:	
  
*  Many	
  of	
  the	
  problems	
  of	
  classic	
  embedded	
  systems	
  
*  The	
  power	
  of	
  PCs/IT	
  
*  More	
  user	
  interface	
  (UI)	
  than	
  classic	
  embedded	
  systems	
  
*  Fast	
  and	
  frequent	
  updates	
  
*  However,	
  mobile	
  devices	
  are	
  “evolving”	
  with	
  more	
  power,	
  resources,	
  apps,	
  
etc.	
  	
  
*  Mobile	
  is	
  the	
  “hot”	
  area	
  of	
  computers/software	
  
*  Testing	
  rules	
  and	
  concepts	
  are	
  still	
  evolving	
  
*  Now	
  starting	
  to	
  include	
  IoT	
  
	
  	
  
You	
  know	
  what	
  they	
  are	
  right?	
  
Mobile	
  and	
  Handheld?	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  	
  	
  	
  	
  	
  	
  	
  Mobile-­‐Embedded	
  Taxonomies	
  from	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  
4/23/15
3
*  Requirements	
  verification	
  checking	
  
*  Necessary	
  but	
  not	
  sufficient	
  
*  Risk–based	
  testing	
  	
  
*  Tried	
  and	
  true	
  in	
  many	
  contexts	
  including	
  mobile,	
  but	
  we	
  need	
  more	
  
	
  	
  Here	
  comes	
  the	
  Good,	
  Bad	
  and	
  Ugly	
  
	
  	
  
We	
  Need	
  Better	
  App	
  Testing	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  	
  	
  	
  	
  	
  	
  	
  Mobile-­‐Embedded	
  Taxonomies	
  from	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  
The	
  	
  Bad	
  
	
  
You	
  are	
  between	
  a	
  Management	
  Rock	
  and	
  a	
  Hard	
  App	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  
“So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
6
4/23/15
4
*  Management	
  directed	
  “No	
  testing”	
  
*  Dev-­‐ops	
  without	
  enough	
  “thinking”	
  of	
  context	
  and	
  risk	
  
to	
  find	
  the	
  big	
  BUGS	
  
*  Stupid	
  requirements	
  verification	
  checking	
  without	
  GOOD	
  
test	
  activities	
  
*  Testing	
  without	
  thinking	
  of	
  	
  
*  cost	
  
*  schedule	
  
*  users	
  	
  	
  	
  
Con:	
  Current	
  Badness	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
“Software Test Attacks to Break Mobile and Embedded Devices”
7
*  Are	
  you	
  part	
  of	
  the	
  problem?	
  
*  Do	
  you	
  help	
  management	
  “SEE”	
  the	
  info	
  they	
  need?	
  
*  Are	
  you	
  Agile?	
  
*  Are	
  you	
  using	
  your	
  testing	
  skills	
  daily?	
  
*  Bug	
  are	
  out	
  there	
  (and	
  always	
  will	
  be)…………..	
  
Pro:	
  In	
  the	
  Bad	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
Software Test Attacks to Break Mobile and Embedded Devices
8
4/23/15
5
*  From	
  Wikipedia:	
  
	
  	
  	
  	
  	
  Taxonomy	
  is	
  the	
  practice	
  and	
  science	
  of	
  classification.	
  The	
  word	
  finds	
  its	
  
roots	
  in	
  the	
  Greek	
  τάξις,	
  taxis	
  (meaning	
  'order',	
  'arrangement')	
  and	
  νόμος,	
  
nomos	
  ('law'	
  or	
  'science').	
  Taxonomy	
  uses	
  taxonomic	
  units,	
  known	
  as	
  taxa	
  
(singular	
  taxon).	
  In	
  addition,	
  the	
  word	
  is	
  also	
  used	
  as	
  a	
  count	
  noun:	
  a	
  
taxonomy,	
  or	
  taxonomic	
  scheme,	
  is	
  a	
  particular	
  classification	
  ("the	
  
taxonomy	
  of	
  ..."),	
  arranged	
  in	
  a	
  hierarchical	
  structure.	
  
*  Helping	
  to	
  “understand	
  and	
  know”	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  	
  	
  	
  	
  	
  	
  	
  Mobile-­‐Embedded	
  Taxonomies	
  from	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  
9
A	
  Bad	
  Situation	
  
	
  
-­‐	
  Lets	
  look	
  for	
  bugs,	
  but	
  where?	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  	
  	
  	
  	
  	
  	
  	
  Mobile-­‐Embedded	
  Taxonomies	
  from	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  
10
Pro:	
  Taxonomy	
  	
  (researched)	
  	
  
	
  Super	
  Category	
  	
  
Aero-­‐Space	
  	
   Med	
  sys	
   Mobile	
   General	
  	
  
Time	
  
	
  	
  3	
   2	
   3	
   	
  	
  
Interrupted	
  -­‐	
  Satura>on	
  	
  
(over	
  >me)	
  
5.5	
   	
  	
   	
  	
   	
  	
  
Time	
  Boundary	
  –	
  failure	
  resul>ng	
  
from	
  incompa>ble	
  system	
  >me	
  
formats	
  or	
  values	
  
0.5	
   	
  	
   	
  1	
   	
  	
  
Time	
  -­‐	
  	
  Race	
  Condi>ons	
  
	
  	
  	
  3	
   	
  	
   	
  1	
   	
  	
  
Time	
  -­‐	
  Long	
  run	
  usages	
  
	
  	
  	
  4	
   	
  	
   	
  1	
   20	
  
Interrupt	
  -­‐	
  	
  >ming	
  or	
  priority	
  
inversions	
  
0.7	
   3	
   	
  	
   	
  	
  
Date(s)	
  	
  wrong/cause	
  problem	
  
0.5	
   	
  	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  1	
   	
  	
  
	
  Clocks	
  
	
  	
  4	
   	
  	
   2	
   	
  	
  
Computa>on	
  -­‐	
  Flow	
  
	
  	
  6	
   23	
   	
  	
   19	
  
Computa>on	
  -­‐	
  	
  on	
  data	
  	
  
	
  	
  4	
   1	
   3	
   1	
  
4/23/15
6
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  	
  	
  	
  	
  	
  	
  	
  Mobile-­‐Embedded	
  Taxonomies	
  from	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  
11
Taxonomy	
  part	
  2	
  
Super	
  Category	
  	
  
Aero-­‐Space	
  	
   Med	
  sys	
   	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Mobile	
   General	
  	
  
Data	
  (wrong	
  data	
  loaded	
  or	
  used)	
   	
  	
  4	
   5.00	
   	
  	
  2	
   	
  	
  
	
  Ini>aliza>on	
   	
  	
  6	
   2.00	
   	
  	
  3	
   5	
  
Pointers	
   	
  	
  8	
   2.00	
   18	
   10	
  
Logic	
  and/or	
  control	
  law	
  ordering	
  	
  
	
  	
  8	
   43	
   	
  	
  3	
   30	
  
Loop	
  control	
  –Recursion	
  
	
  	
  1	
   	
  	
   	
  	
   	
  	
  
Decision	
  point	
  	
  (if	
  test	
  structure)	
   0.5	
   1	
   	
  	
  	
  1	
   	
  	
  
Logically	
  Impossible	
  &	
  dead	
  code	
  
0.7	
   	
  	
   	
  	
   	
  	
  
Opera>ng	
  system	
  –	
  (Lack	
  of	
  Fault	
  
tolerance	
  ,	
  interface	
  to	
  OS,	
  other)	
  	
  
1.5	
   2	
   	
  	
  6	
   	
  	
  
Software - Hardware interfaces
16	
   	
  	
   13	
   	
  	
  
So9ware	
  -­‐	
   Software Interface	
  
	
  	
  5	
   2.00	
   	
  	
  	
  3	
   	
  	
  
So9ware	
  -­‐	
  	
  Bad command- problem
on server	
   	
  	
  3	
   	
  	
   	
  	
  5	
   	
  	
  
UI	
  -­‐	
  User/	
  operator	
  interface	
  
	
  	
  	
  4	
   5.00	
   20	
   10	
  
UI	
  -­‐	
  Bad	
  Alarm	
  	
   0.5	
   	
  	
   	
  	
  3	
   	
  	
  
UI	
  -­‐	
  Training	
  –	
  system	
  fault	
  
resul>ng	
  from	
  improper	
  training	
  
	
  	
   	
  	
   	
  3	
   	
  	
  
Other	
   10.6	
   9.00	
   	
  5	
   5	
  
Note:	
  one	
  report	
  on	
  C/C++	
  indicated	
  70%	
  of	
  errors	
  found	
  involved	
  pointers	
  
*  How	
  many	
  of	
  you	
  have	
  a	
  Mobile	
  App	
  taxonomy	
  
	
  that	
  you	
  use?	
  
Question	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
“Software Test Attacks to Break Mobile and Embedded Devices”
12
4/23/15
7
The	
  Ugly	
  
We need Wisdom, Tooling, and Security
13
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
*  Some	
  of	
  you	
  lack	
  mobile	
  tester	
  skills	
  
*  Many	
  of	
  you	
  suffer	
  from	
  group	
  think	
  and	
  lack	
  wisdom	
  
*  We	
  listen	
  to	
  the	
  loudest	
  voices	
  	
  
*  Testers	
  do	
  not	
  use	
  available	
  ideas	
  to	
  aide	
  their	
  skill	
  base	
  	
  
*  Attacks,	
  techniques,	
  tools,	
  concepts,	
  standards,	
  etc.	
  
Con:	
  Mobile	
  can	
  have	
  an	
  Ugly	
  Face	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
“Software Test Attacks to Break Mobile and Embedded Devices”
14
4/23/15
8
*  Danger	
  of	
  group	
  think	
  in	
  Agile	
  Mobile	
  Teams	
  
*  Amplification	
  
*  Snowballing	
  effect	
  
*  Polarization	
  
*  Ignoring	
  critical	
  minority	
  opinions	
  
Pro:	
  You	
  Need	
  Test	
  Wisdom	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
“Software Test Attacks to Break Mobile and Embedded Devices”
15
*  Stop	
  talking	
  and	
  LISTEN	
  to	
  all	
  sides,	
  particularly	
  the	
  ones	
  you	
  may	
  not	
  agree	
  with	
  
*  Question	
  beliefs	
  
*  Be	
  passionate	
  and	
  follow	
  your	
  bliss	
  about	
  testing	
  
*  Try	
  to	
  remain	
  open	
  minded	
  
*  Do	
  not	
  submit	
  to	
  the	
  negatives	
  of	
  group	
  think	
  
*  Consider	
  the	
  context	
  of	
  the	
  testing	
  and	
  believe	
  that	
  context	
  matters	
  
*  Seek	
  the	
  council	
  of	
  people	
  you	
  believe	
  to	
  be	
  wise	
  
*  Reward	
  your	
  test	
  team	
  for	
  being	
  open	
  and	
  providing	
  other	
  views	
  without	
  fear	
  
*  Try	
  to	
  take	
  a	
  role	
  of	
  “devil’s	
  advocate”	
  in	
  your	
  test	
  team	
  	
  
*  Fight	
  the	
  “me	
  too”	
  syndrome	
  and	
  everyone	
  falling	
  in	
  line	
  to	
  the	
  loudest	
  voice	
  
*  Work	
  to	
  be	
  a	
  knowledgeable	
  and	
  skilled	
  tester	
  (they	
  are	
  different)	
  
*  Be	
  the	
  voice	
  of	
  loyal	
  opposition	
  in	
  the	
  team	
  and	
  think	
  outside	
  of	
  the	
  group	
  “box”	
  
*  Don’t	
  paint	
  a	
  viewpoint	
  as	
  totally	
  invalid,	
  when	
  a	
  few	
  ideas	
  of	
  the	
  viewpoint	
  conflict	
  with	
  
local	
  ideals	
  
Seeking	
  Test	
  Wisdom	
  (Pro:	
  try	
  these	
  tricks)	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
“Software Test Attacks to Break Mobile and Embedded Devices”
16
4/23/15
9
Categories	
  of	
  Automation	
  Tooling	
  	
  	
  (Open	
  Source	
  and	
  Commercial)	
  	
  	
  
	
  *	
  Capture	
  Playback	
  
	
  -­‐	
  Actual	
  devices	
  (cabinet	
  vs	
  a	
  pile)	
  vs	
  Emulator	
  
	
  -­‐	
  API	
  vs	
  GUI/UI	
  
	
  *	
  Planning	
  and	
  lifecycle	
  support	
  
	
  *	
  Modeling	
  	
  
	
  -­‐	
  Risks	
  	
  
	
  -­‐	
  Mind-­‐mapping	
  	
  
	
  -­‐	
  Formal	
  models	
  (UTP)	
  
	
  -­‐	
  Test	
  Techniques	
  
Pro/Con?	
  -­‐	
  	
  Mobile/Handheld	
  	
  
Test	
  Tools	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
“Software Test Attacks to Break Mobile and Embedded Devices”
17
*  To	
  Automate	
  or	
  Not?	
  
*  When	
  testing	
  configurations	
  of	
  hw/sw	
  (good	
  idea)	
  
*  When	
  testing	
  combinations	
  (combinatorial	
  test	
  tools)	
  
*  When	
  dealing	
  with	
  testing	
  qualities	
  
*  Security	
  (very	
  good	
  idea)	
  
*  Reliability	
  (necessary)	
  
*  Configuration	
  management	
  (can	
  not	
  be	
  done	
  without)	
  
*  Usability	
  (important	
  but	
  a	
  hard	
  one	
  and	
  questionable	
  tools)	
  
*  When	
  supporting	
  Development 	
  	
  
*  Structural	
  testing	
  (measures	
  coverage)	
  
*  Static	
  code	
  analysis	
  (finds	
  hard	
  to	
  test	
  bugs)	
  
*  Dev-­‐Ops,	
  Continuous	
  Integration	
  and	
  Agile	
  (really	
  good)	
  
More	
  on	
  Test	
  Tools	
  –	
  
Now	
  in	
  Mobile	
  Support	
  has	
  Improved	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
Software Test Attacks to Break Mobile and Embedded Devices
18
4/23/15
10
*  Your	
  app	
  gets	
  on	
  the	
  nightly	
  news	
  
*  Your	
  team	
  sees	
  security	
  as	
  someone	
  else’s	
  problem	
  
Real	
  Ugly:	
  Security	
  and	
  Privacy	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
“Software Test Attacks to Break Mobile and Embedded Devices”
19
*  Mobile–	
  IoT	
  systems	
  are	
  highly	
  integrated	
  hardware–
software–system	
  solutions	
  which:	
  
*  Must	
  be	
  highly	
  trustworthy	
  since	
  they	
  handle	
  sensitive	
  data	
  	
  
*  Often	
  perform	
  critical	
  tasks	
  
*  Security	
  holes	
  and	
  problems	
  abound	
  
*  Coverity	
  Scan	
  2010	
  Open	
  Source	
  Integrity	
  Report	
  -­‐	
  Android	
  
*  Static	
  analysis	
  test	
  attack	
  found	
  0.47	
  defects	
  per	
  1,000	
  SLOC	
  	
  
*  359	
  defects	
  in	
  total,	
  88	
  of	
  which	
  were	
  considered	
  “high	
  risk”	
  in	
  
the	
  security	
  domain	
  
*  OS	
  hole	
  Android	
  with	
  Angry	
  Birds	
  	
  	
  
*  Researchers	
  Jon	
  Oberheide	
  and	
  Zach	
  Lanier	
  
*  Robots	
  and	
  Drones	
  rumored	
  to	
  be	
  attacked	
  
*  Cars	
  	
  and	
  medical	
  devices	
  being	
  hacked	
  
The	
  Current	
  Security	
  Situation	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
4/23/15
11
*  Fraud	
  –	
  Identity	
  
*  Worms,	
  virus,	
  etc.	
  
*  Fault	
  injection	
  
*  Processing	
  on	
  the	
  run	
  
*  Hacks	
  impact	
  
*  Power	
  
*  Memory	
  
*  CPU	
  usage	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  
“So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
Con:	
  Mobile	
  Security	
  	
  
Bugs	
  (taxonomy)	
  
•  Eavesdropping	
  –	
  “yes	
  everyone	
  can	
  hear	
  you”	
  
•  Hijacking	
  
•  Click-­‐jacking	
  
•  Voice/Screen	
  
•  Physical	
  Hacks	
  
•  File	
  snooping	
  
•  Lost	
  phone	
  
*  A	
  pattern	
  (of	
  testing)	
  based	
  on	
  a	
  common	
  mode	
  of	
  failure	
  
seen	
  over	
  and	
  over	
  
*  Part	
  of	
  Exploratory	
  Testing	
  
*  May	
  be	
  seen	
  as	
  a	
  negative,	
  when	
  it	
  really	
  is	
  a	
  positive	
  
*  Goes	
  after	
  the	
  “bugs”	
  that	
  may	
  be	
  in	
  the	
  software	
  
*  May	
  include	
  or	
  use	
  classic	
  test	
  techniques	
  and	
  test	
  concepts	
  
*  Lee	
  Copeland’s	
  book	
  on	
  test	
  design	
  
*  Many	
  other	
  good	
  books	
  
*  A	
  Pattern	
  (more	
  than	
  a	
  process)	
  which	
  must	
  be	
  modified	
  
for	
  the	
  context	
  at	
  hand	
  to	
  do	
  the	
  testing	
  	
  
*  Testers	
  learn	
  mental	
  attack	
  patterns	
  
working	
  over	
  the	
  years	
  in	
  a	
  specific	
  domain	
  
	
  	
  
Pro:	
  Apply	
  Attack-­‐based	
  Testing	
  
What	
  is	
  an	
  attack?	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  	
  	
  	
  	
  	
  	
  	
  Mobile-­‐Embedded	
  Taxonomies	
  from	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  
4/23/15
12
*  Apply	
  when	
  the	
  device	
  is	
  mobile	
  and	
  has	
  
*  Account	
  numbers	
  
*  User-­‐ids	
  and	
  passwords	
  
*  Location	
  tags	
  
*  Restricted	
  data	
  	
  
*  	
  Current	
  	
  authentication	
  approaches	
  in	
  use	
  on	
  mobile	
  
devices	
  
*  Server-­‐based	
  
*  Registry	
  (user/password)	
  
*  Location	
  or	
  device-­‐based	
  
*  Profile-­‐based	
  
Security	
  Attacks	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
*  Attack	
  28	
  Penetration	
  Attack	
  Test 	
  	
  
*  Attack	
  28.1	
  Penetration	
  Sub–Attacks:	
  Authentication	
  —	
  Password 	
  	
  
*  Attack	
  28.2	
  Sub–Attack	
  Fuzz	
  Test	
  	
  
*  Attack	
  29:	
  Information	
  Theft—Stealing	
  Device	
  Data	
  	
  
*  Attack	
  29.1	
  Sub	
  Attack	
  –Identity	
  Social	
  Engineering 	
  	
  
*  Attack	
  30:	
  Spoofing	
  Attacks 	
  	
  
*  Attack	
  30.1	
  Location	
  and/or	
  User	
  Profile	
  Spoof	
  Sub–Attack	
  
*  Attack	
  30.2	
  GPS	
  Spoof	
  Sub–Attack 	
  	
  
Security	
  Attacks	
  	
  	
  
(Con:	
  only	
  a	
  starting	
  point,	
  a	
  checklist	
  of	
  things	
  to	
  start	
  with)	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
4/23/15
13
*  What	
  kind	
  of	
  App	
  software	
  do	
  you	
  work	
  on?	
  
*  Security	
  concerns?	
  
*  Privacy	
  concerns?	
  
	
  
What	
  is	
  missing?	
  
Exercise	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
“Software Test Attacks to Break Mobile and Embedded Devices”
25
§  Security	
  attacks	
  must	
  be	
  done	
  with	
  the	
  knowledge	
  and	
  approval	
  of	
  
owners	
  of	
  the	
  system	
  and	
  software	
  
§  Severe	
  legal	
  implications	
  exist	
  in	
  this	
  area	
  
§  Many	
  of	
  these	
  attacks	
  must	
  be	
  done	
  in	
  a	
  lab	
  (sandbox)	
  
§  In	
  these	
  attacks,	
  I	
  tell	
  you	
  conceptually	
  how	
  to	
  “drive	
  a	
  car	
  very	
  fast	
  
(150	
  miles	
  an	
  hour)	
  but	
  there	
  are	
  places	
  to	
  do	
  this	
  with	
  a	
  car	
  legally	
  
(a	
  race	
  track)	
  and	
  places	
  where	
  you	
  will	
  get	
  a	
  ticket	
  (most	
  public	
  
streets)”	
  
§  Be	
  forewarned	
  -­‐	
  Do	
  not	
  attack	
  you	
  favorite	
  app	
  on	
  your	
  phone	
  or	
  
any	
  connected	
  server	
  without	
  the	
  right	
  permissions	
  due	
  to	
  legal	
  
implications	
  
Warnings	
  	
  
When	
  Conducting	
  Security	
  Attacks	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
4/23/15
14
Finally,	
  The	
  Good	
  –	
  	
  
Functional	
  and	
  Non-­‐functional	
  
Experiments	
  and	
  Attacks	
  
(Exploratory	
  testing)	
  
	
  Skills	
  App	
  testers	
  should	
  have	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –”So9ware	
  
Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  
27
Attacks	
  	
  
	
  	
  	
  	
  	
  	
  	
  (from	
  Software	
  Test	
  Attacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices)	
  
*  Attack	
  1:	
  Static	
  Code	
  Analysis 	
  	
  
*  Attack	
  2:	
  Finding	
  White–Box	
  Data	
  Computation	
  Bugs 	
  	
  
*  Attack	
  3:	
  White–Box	
  Structural	
  Logic	
  Flow	
  Coverage	
  
*  Attack	
  4:	
  Finding	
  Hardware–System	
  Unhandled	
  Uses	
  in	
  Software	
  
*  Attack	
  5:	
  	
  Hw-­‐Sw	
  and	
  Sw-­‐Hw	
  signal	
  Interface	
  Bugs	
  
*  Attack	
  6:	
  Long	
  Duration	
  Control	
  Attack	
  Runs 	
  	
  
*  Attack	
  7:	
  	
  Breaking	
  Software	
  Logic	
  and/or	
  Control	
  Laws	
  
*  Attack	
  8:	
  Forcing	
  the	
  Unusual	
  Bug	
  Cases 	
  	
  
*  Attack	
  9	
  Breaking	
  Software	
  with	
  Hardware	
  and	
  System	
  
Operations	
  
*  9.1	
  Sub–Attack:	
  Breaking	
  Battery	
  Power 	
  	
  
*  Attack	
  10:	
  Finding	
  Bugs	
  in	
  Hardware–Software	
  Communications
	
  	
  
*  Attack	
  11:	
  Breaking	
  Software	
  Error	
  Recovery 	
  	
  
*  Attack	
  12:	
  Interface	
  and	
  Integration	
  Testing 	
  	
  
*  12.1	
  Sub–Attack:	
  Configuration	
  Integration	
  Evaluation 	
  	
  
*  Attack	
  13:	
  Finding	
  Problems	
  in	
  Software–System	
  Fault	
  Tolerance	
  
*  Attack	
  14:	
  Breaking	
  Digital	
  Software	
  Communications 	
  	
  
*  Attack	
  15:	
  Finding	
  Bugs	
  in	
  the	
  Data 	
  	
  
*  Attack	
  16:	
  Bugs	
  in	
  System–Software	
  Computation 	
  	
  
*  Attack	
  17:	
  	
  Using	
  Simulation	
  and	
  Stimulation	
  to	
  Drive	
  Software	
  
Attacks	
  
*  Attack	
  18:	
  Bugs	
  in	
  Timing	
  Interrupts	
  and	
  Priority	
  Inversion	
  
*  Attack	
  19:	
  Finding	
  Time	
  Related	
  Bugs 	
  	
  
*  Attack	
  20:	
  Time	
  Related	
  Scenarios,	
  Stories	
  and	
  Tours
	
  	
  
*  Attack	
  21:	
  Performance	
  Testing	
  Introduction 	
  	
  
*  Attack	
  22:	
  Finding	
  Supporting	
  (User)	
  Documentation	
  
Problems	
  
*  Sub–Attack	
  22.1:	
  	
  Confirming	
  Install–ability 	
  	
  
*  Attack	
  23:	
  Finding	
  Missing	
  or	
  Wrong	
  Alarms 	
  	
  
*  Attack	
  24:	
  Finding	
  Bugs	
  in	
  Help	
  Files 	
  	
  
*  Attack	
  25:	
  Finding	
  Bugs	
  in	
  Apps 	
  	
  
*  Attack	
  26:	
  Testing	
  Mobile	
  and	
  Embedded	
  Games	
  	
  
*  Attack	
  27:	
  Attacking	
  App–Cloud	
  Dependencies 	
  	
  
*  Attack	
  28	
  Penetration	
  Attack	
  Test 	
  	
  
*  Attack	
  28.1	
  Penetration	
  Sub–Attacks:	
  Authentication	
  —	
  
Password	
  Attack 	
  	
  
*  Attack	
  28.2	
  Sub–Attack	
  Fuzz	
  Test	
  	
  
*  Attack	
  29:	
  Information	
  Theft—Stealing	
  Device	
  Data
	
  	
  
*  Attack	
  29.1	
  Sub	
  Attack	
  –Identity	
  Social	
  Engineering
	
  	
  
*  Attack	
  30:	
  Spoofing	
  Attacks 	
  	
  
*  Attack	
  30.1	
  Location	
  and/or	
  User	
  Profile	
  Spoof	
  Sub–Attack	
  
*  Attack	
  30.2	
  GPS	
  Spoof	
  Sub–Attack 	
  	
  
*  Attack	
  31:	
  Attacking	
  Viruses	
  on	
  the	
  Run	
  in	
  Factories	
  or	
  PLCs	
  
*  Attack	
  32:	
  Using	
  Combinatorial	
  Tests 	
  	
  
*  Attack	
  33:	
  Attacking	
  Functional	
  Bugs 	
  	
  
	
  	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  	
  	
  	
  	
  	
  	
  	
  Mobile-­‐Embedded	
  Taxonomies	
  from	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  
4/23/15
15
Attack	
  1:	
  Static	
  Code	
  Analysis	
  (testing) 	
  	
  
*  When	
  to	
  apply	
  this	
  attack?	
  	
  
*  	
  After/during	
  coding	
  
*  What	
  faults	
  make	
  this	
  attack	
  
successful?	
  
*  Many	
  
*  Example:	
  Issues	
  with	
  pointers	
  
*  Who	
  conducts	
  this	
  attack?	
  	
  
*  	
  Developer,	
  tester,	
  independent	
  party	
  
*  Where	
  is	
  this	
  attack	
  conducted?	
  	
  
*  Tool/test	
  lab	
  
*  How	
  to	
  determine	
  if	
  the	
  attack	
  
exposes	
  failures?	
  	
  
*  Review	
  warning	
  messages	
  and	
  find	
  
true	
  bugs	
  
*  How	
  to	
  conduct	
  this	
  attack	
  
*  Obtain	
  and	
  run	
  tool	
  
*  Find	
  and	
  eliminate	
  false	
  positive	
  
*  Identify	
  and	
  address	
  real	
  bugs	
  
*  Repeat	
  as	
  code	
  evolves	
  
*  Single	
  unit/object	
  
*  Class/Group	
  
*  Component	
  
*  Full	
  system	
  
29
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –”So9ware	
  
Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  
Attack	
  2:	
  Finding	
  White–Box	
  Data	
  
Computation	
  Bugs	
  	
  
*  When	
  to	
  apply	
  this	
  attack?	
  	
  
*  	
  After/during	
  coding	
  
*  What	
  faults	
  make	
  this	
  attack	
  
successful?	
  
*  Mistakes	
  associated	
  with	
  data	
  
*  Example:	
  Wrong	
  value	
  of	
  Pi	
  
*  Who	
  conducts	
  this	
  attack?	
  	
  
*  	
  Developer,	
  tester,	
  independent	
  party	
  
*  Where	
  is	
  this	
  attack	
  conducted?	
  	
  
*  Development	
  Tool/test	
  lab	
  	
  
*  How	
  to	
  determine	
  if	
  the	
  attack	
  
exposes	
  failures?	
  	
  
*  Structural-­‐data	
  test	
  success	
  criteria	
  
not	
  met	
  
*  How	
  to	
  conduct	
  this	
  attack	
  
*  Obtain	
  tool	
  
*  Determine	
  criteria	
  and	
  coverage	
  
*  Create	
  test	
  automation	
  with	
  
specific	
  values	
  (really	
  a	
  
programing	
  problem)	
  
*  NOT	
  NICE	
  NUMBERS	
  
*  Run	
  automated	
  test	
  cases	
  
*  Resolve	
  failures	
  
*  Peer	
  check	
  test	
  cases	
  
*  Repeat	
  as	
  code	
  evolves	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –”So9ware	
  
Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  
4/23/15
16
*  When	
  to	
  apply	
  this	
  attack?	
  	
  …when	
  your	
  app/device	
  has	
  a	
  user	
  
*  What	
  faults	
  make	
  this	
  attack	
  successful?	
  	
  	
  …devices	
  are	
  increasingly	
  
complex	
  
*  Who	
  conducts	
  this	
  attack?	
  	
  …see	
  chart	
  on	
  Roles	
  
*  Where	
  is	
  this	
  attack	
  conducted?	
  	
  …throughout	
  lifecycle	
  and	
  in	
  user’s	
  
environments	
  
*  How	
  to	
  determine	
  if	
  the	
  attack	
  exposes	
  failures?	
  
*  Unhappy	
  “users”	
  
*  Bugs	
  found	
  
*  See	
  sample	
  checklist	
  
Attack	
  :	
  	
  Testing	
  Usability	
  
Mobile IoT Usability Tends to be “Poor”
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
*  Refine	
  checklist	
  to	
  context	
  scope	
  
*  Define	
  a	
  role	
  	
  
*  Watch	
  what	
  is	
  happening	
  with	
  this	
  role	
  
*  Define	
  a	
  usage	
  (many	
  different	
  user	
  roles)	
  
*  Guided	
  explorations	
  or	
  ad	
  hoc	
  
*  Stress,	
  unusual	
  	
  cases,	
  explore	
  options	
  
*  Capture	
  understanding,	
  risk,	
  observations,	
  etc.	
  
*  Checklist	
  (watch	
  for	
  confusion	
  of	
  the	
  tester)	
  
*  Run	
  Exploratory	
  Attack	
  (s)	
  
*  Learn	
  
*  Re-­‐plan-­‐design	
  
*  Watch	
  for	
  Bias	
  
*  Switch	
  testers	
  
*  Repeat	
  
	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
Usability	
  Attack	
  Pattern	
  
4/23/15
17
The	
  Good,	
  Bad,	
  and	
  Ugly	
  of	
  	
  
Mobile	
  App	
  Testing	
  
Lots	
  of	
  room	
  for	
  Growth	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
“Software Test Attacks to Break Mobile and Embedded Devices”
33
How	
  to	
  be	
  Better	
  after	
  This	
  Section	
  
Pick	
  One	
  or	
  Two	
  to	
  work	
  On	
  
Cons:	
  Bad	
  and	
  Ugly	
  
*  Taxonomy	
  help	
  only	
  if	
  you	
  use	
  
them	
  
*  Skill	
  improvement	
   	
  	
  
*  Knowledge	
  and	
  Skill	
  
*  Security	
  Testing	
  
*  Attack,	
  Attack,	
  Attack	
  
Pro:	
  The	
  Good	
  
*  Better	
  and	
  Faster	
  
*  Functional	
  testing	
  
*  Test	
  strategy	
  and	
  planning	
  
*  Test	
  Attacks	
  
*  Tools	
  and	
  technique	
  maturing	
  
Copyright 2015, Jon D. Hagar Grand Software Testing, LLC –
“Software Test Attacks to Break Mobile and Embedded Devices
“
34 After Mobile
comes IoT
4/23/15
18
*  There	
  will	
  always	
  be	
  Good,	
  Bad,	
  and	
  Ugly	
  
*  Work	
  with	
  the	
  Good	
  
*  Work	
  to	
  over	
  come	
  the	
  Bad	
  
*  Change	
  the	
  Ugly	
  into	
  good	
  
*  Understanding	
  your	
  local	
  context	
  and	
  error	
  patterns	
  is	
  important	
  	
  
	
  (one	
  size	
  does	
  NOT	
  fit	
  all)	
  
*  Attacks	
  are	
  patterns…you	
  must	
  still	
  THINK	
  and	
  tailor	
  
	
  
Wrap	
  Up	
  of	
  this	
  Session	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
*  James	
  Whittaker	
  (attacks)	
  
*  Elisabeth	
  Hendrickson	
  (simulations)	
  
*  Lee	
  Copeland	
  (techniques)	
  
*  Brian	
  Merrick	
  (testing)	
  
*  James	
  Bach	
  (exploratory	
  and	
  tours)	
  
*  Cem	
  Kaner	
  	
  (test	
  thinking)	
  
*  Jean	
  Ann	
  Harrison	
  (her	
  thinking	
  and	
  help)	
  
*  Many	
  teachers	
  
*  Generations	
  past	
  and	
  future	
  
*  Books,	
  references,	
  and	
  so	
  on	
  
	
  	
  
Notes:	
  	
  	
  Thank	
  You	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  (ideas	
  used	
  from)	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
4/23/15
19
*  “Software	
  Test	
  Attacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  
–	
  Jon	
  Hagar	
  
	
  
*  “How	
  to	
  Break	
  Software”	
  James	
  Whittaker,	
  2003	
  
*  And	
  his	
  other	
  “How	
  To	
  Break…”	
  books	
  
	
  
*  “A	
  Practitioner’s	
  Guide	
  to	
  Software	
  Test	
  Design”	
  Copeland,	
  2004	
  
*  “A	
  Practitioner’s	
  Handbook	
  for	
  Real-­‐Time	
  Analysis”	
  Klein	
  et.	
  al.,	
  1993	
  
*  “Computer	
  Related	
  Risks”,	
  Neumann,	
  1995	
  
*  “Safeware:	
  System	
  Safety	
  and	
  Computers”,	
  Leveson,	
  1995	
  
*  Honorable	
  mentions:	
  
*  “Systems	
  Testing	
  with	
  an	
  Attitude”	
  Petschenik	
  	
  2005	
  
*  “Software	
  System	
  Testing	
  and	
  Quality	
  Assurance”	
  Beizer,	
  1987	
  
*  “Testing	
  Computer	
  Software”	
  Kaner	
  et.	
  al.,	
  1988	
  
*  “Systematic	
  Software	
  Testing”	
  Craig	
  &	
  Jaskiel,	
  2001	
  
*  “Managing	
  the	
  Testing	
  Process”	
  Black,	
  2002	
  
	
  	
  
Book/Notes	
  List	
  (my	
  favorites)	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  “So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices”	
  	
  	
  	
  	
  
•  www.stickyminds.com	
  –	
  Collection	
  of	
  test	
  info	
  
•  www.embedded.com	
  –	
  info	
  on	
  attacks	
  
*  www.sqaforums.com	
  -­‐	
  Mobile	
  Devices,	
  Mobile	
  Apps	
  -­‐	
  
Embedded	
  Systems	
  Testing	
  forum	
  
	
  
•  Association	
  of	
  Software	
  Testing	
  
–  BBST	
  Classes	
  http://www.testingeducation.org/BBST/	
  
•  Your	
  favorite	
  search	
  engine	
  
	
  	
  
More	
  Resources	
  
Copyright	
  2015,	
  Jon	
  D.	
  Hagar	
  	
  Grand	
  So9ware	
  Tes>ng,	
  LLC	
  –	
  So9ware	
  Test	
  ACacks	
  to	
  Break	
  Mobile	
  and	
  Embedded	
  Devices	
  	
  	
  	
  	
  

More Related Content

What's hot

IBM Rational AppScan Product Overview
IBM Rational AppScan Product OverviewIBM Rational AppScan Product Overview
IBM Rational AppScan Product OverviewAshish Patel
 
IBM AppScan Enterprise - The total software security solution
IBM AppScan Enterprise - The total software security solutionIBM AppScan Enterprise - The total software security solution
IBM AppScan Enterprise - The total software security solutionhearme limited company
 
IBM AppScan Source - The SAST solution
IBM AppScan Source - The SAST solutionIBM AppScan Source - The SAST solution
IBM AppScan Source - The SAST solutionhearme limited company
 
Zen and the art of Security Testing
Zen and the art of Security TestingZen and the art of Security Testing
Zen and the art of Security TestingTEST Huddle
 
IBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security SolutionIBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security Solutionhearme limited company
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...Kevin Fealey
 
Btpsec Sample Penetration Test Report
Btpsec Sample Penetration Test ReportBtpsec Sample Penetration Test Report
Btpsec Sample Penetration Test Reportbtpsec
 
IBM Rational App Scan Tester Edition and Quality Manager
IBM Rational App Scan Tester Edition and Quality ManagerIBM Rational App Scan Tester Edition and Quality Manager
IBM Rational App Scan Tester Edition and Quality ManagerАлександр Шамрай
 
IBM Rational AppScan Technical Overview
IBM Rational AppScan Technical OverviewIBM Rational AppScan Technical Overview
IBM Rational AppScan Technical OverviewAshish Patel
 
Penetration testing services
Penetration testing servicesPenetration testing services
Penetration testing servicesAlisha Henderson
 
Icsm2008 jiang
Icsm2008 jiangIcsm2008 jiang
Icsm2008 jiangSAIL_QU
 
None More Black - the Dark Side of SEO
None More Black - the Dark Side of SEONone More Black - the Dark Side of SEO
None More Black - the Dark Side of SEORoberto Suggi Liverani
 
Techniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingTechniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingSOASTA
 
Whittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest IrelandWhittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest IrelandDavid O'Dowd
 
Static Analysis Tools and Frameworks: Overcoming a Dangerous Blind Spot
Static Analysis Tools and Frameworks: Overcoming a Dangerous Blind SpotStatic Analysis Tools and Frameworks: Overcoming a Dangerous Blind Spot
Static Analysis Tools and Frameworks: Overcoming a Dangerous Blind SpotCigital
 
New Era of Software with modern Application Security v1.0
New Era of Software with modern Application Security v1.0New Era of Software with modern Application Security v1.0
New Era of Software with modern Application Security v1.0Dinis Cruz
 

What's hot (18)

IBM Rational AppScan Product Overview
IBM Rational AppScan Product OverviewIBM Rational AppScan Product Overview
IBM Rational AppScan Product Overview
 
IBM AppScan Enterprise - The total software security solution
IBM AppScan Enterprise - The total software security solutionIBM AppScan Enterprise - The total software security solution
IBM AppScan Enterprise - The total software security solution
 
IBM AppScan Source - The SAST solution
IBM AppScan Source - The SAST solutionIBM AppScan Source - The SAST solution
IBM AppScan Source - The SAST solution
 
Zen and the art of Security Testing
Zen and the art of Security TestingZen and the art of Security Testing
Zen and the art of Security Testing
 
IBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security SolutionIBM AppScan Standard - The Web Application Security Solution
IBM AppScan Standard - The Web Application Security Solution
 
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...What Good is this Tool? A Guide to Choosing the Right Application Security Te...
What Good is this Tool? A Guide to Choosing the Right Application Security Te...
 
Btpsec Sample Penetration Test Report
Btpsec Sample Penetration Test ReportBtpsec Sample Penetration Test Report
Btpsec Sample Penetration Test Report
 
IBM Rational App Scan Tester Edition and Quality Manager
IBM Rational App Scan Tester Edition and Quality ManagerIBM Rational App Scan Tester Edition and Quality Manager
IBM Rational App Scan Tester Edition and Quality Manager
 
IBM Rational AppScan Technical Overview
IBM Rational AppScan Technical OverviewIBM Rational AppScan Technical Overview
IBM Rational AppScan Technical Overview
 
Butler
ButlerButler
Butler
 
Issue Tracking
Issue TrackingIssue Tracking
Issue Tracking
 
Penetration testing services
Penetration testing servicesPenetration testing services
Penetration testing services
 
Icsm2008 jiang
Icsm2008 jiangIcsm2008 jiang
Icsm2008 jiang
 
None More Black - the Dark Side of SEO
None More Black - the Dark Side of SEONone More Black - the Dark Side of SEO
None More Black - the Dark Side of SEO
 
Techniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App TestingTechniques, Tips & Tools For Mobile App Testing
Techniques, Tips & Tools For Mobile App Testing
 
Whittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest IrelandWhittaker How To Break Software Security - SoftTest Ireland
Whittaker How To Break Software Security - SoftTest Ireland
 
Static Analysis Tools and Frameworks: Overcoming a Dangerous Blind Spot
Static Analysis Tools and Frameworks: Overcoming a Dangerous Blind SpotStatic Analysis Tools and Frameworks: Overcoming a Dangerous Blind Spot
Static Analysis Tools and Frameworks: Overcoming a Dangerous Blind Spot
 
New Era of Software with modern Application Security v1.0
New Era of Software with modern Application Security v1.0New Era of Software with modern Application Security v1.0
New Era of Software with modern Application Security v1.0
 

Viewers also liked

The Power of an Individual Tester: The HealthCare.gov Experience
The Power of an Individual Tester: The HealthCare.gov ExperienceThe Power of an Individual Tester: The HealthCare.gov Experience
The Power of an Individual Tester: The HealthCare.gov ExperienceTechWell
 
Risk-Based Testing for Agile Projects
Risk-Based Testing for Agile ProjectsRisk-Based Testing for Agile Projects
Risk-Based Testing for Agile ProjectsTechWell
 
Testing the New Disney World Website
Testing the New Disney World WebsiteTesting the New Disney World Website
Testing the New Disney World WebsiteTechWell
 
Implement an Enterprise Performance Test Process
Implement an Enterprise Performance Test ProcessImplement an Enterprise Performance Test Process
Implement an Enterprise Performance Test ProcessTechWell
 
Innovation for Existing Software Product: An R&D Approach
Innovation for Existing Software Product: An R&D ApproachInnovation for Existing Software Product: An R&D Approach
Innovation for Existing Software Product: An R&D ApproachTechWell
 
Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and PlanningTechWell
 
The Internet of Things and You
The Internet of Things and YouThe Internet of Things and You
The Internet of Things and YouTechWell
 
Building on Existing Infrastructure for Mobile Applications
Building on Existing Infrastructure for Mobile ApplicationsBuilding on Existing Infrastructure for Mobile Applications
Building on Existing Infrastructure for Mobile ApplicationsTechWell
 
Mindmaps: Lightweight Documentation for Testing
Mindmaps: Lightweight Documentation for TestingMindmaps: Lightweight Documentation for Testing
Mindmaps: Lightweight Documentation for TestingTechWell
 
Survival Guide: Taming the Data Quality Beast
Survival Guide: Taming the Data Quality BeastSurvival Guide: Taming the Data Quality Beast
Survival Guide: Taming the Data Quality BeastTechWell
 
Why Agile Fails in Large Enterprises—and What to Do about It
Why Agile Fails in Large Enterprises—and What to Do about ItWhy Agile Fails in Large Enterprises—and What to Do about It
Why Agile Fails in Large Enterprises—and What to Do about ItTechWell
 
Successful Test Automation: A Manager’s View
Successful Test Automation: A Manager’s ViewSuccessful Test Automation: A Manager’s View
Successful Test Automation: A Manager’s ViewTechWell
 
Crafting Smaller User Stories: Examples and Exercises
Crafting Smaller User Stories: Examples and ExercisesCrafting Smaller User Stories: Examples and Exercises
Crafting Smaller User Stories: Examples and ExercisesTechWell
 
Metrics Program Implementation: Pitfalls and Successes
Metrics Program Implementation: Pitfalls and SuccessesMetrics Program Implementation: Pitfalls and Successes
Metrics Program Implementation: Pitfalls and SuccessesTechWell
 
Quality Index: A Composite Metric for the Voice of Testing
Quality Index: A Composite Metric for the Voice of TestingQuality Index: A Composite Metric for the Voice of Testing
Quality Index: A Composite Metric for the Voice of TestingTechWell
 

Viewers also liked (15)

The Power of an Individual Tester: The HealthCare.gov Experience
The Power of an Individual Tester: The HealthCare.gov ExperienceThe Power of an Individual Tester: The HealthCare.gov Experience
The Power of an Individual Tester: The HealthCare.gov Experience
 
Risk-Based Testing for Agile Projects
Risk-Based Testing for Agile ProjectsRisk-Based Testing for Agile Projects
Risk-Based Testing for Agile Projects
 
Testing the New Disney World Website
Testing the New Disney World WebsiteTesting the New Disney World Website
Testing the New Disney World Website
 
Implement an Enterprise Performance Test Process
Implement an Enterprise Performance Test ProcessImplement an Enterprise Performance Test Process
Implement an Enterprise Performance Test Process
 
Innovation for Existing Software Product: An R&D Approach
Innovation for Existing Software Product: An R&D ApproachInnovation for Existing Software Product: An R&D Approach
Innovation for Existing Software Product: An R&D Approach
 
Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and Planning
 
The Internet of Things and You
The Internet of Things and YouThe Internet of Things and You
The Internet of Things and You
 
Building on Existing Infrastructure for Mobile Applications
Building on Existing Infrastructure for Mobile ApplicationsBuilding on Existing Infrastructure for Mobile Applications
Building on Existing Infrastructure for Mobile Applications
 
Mindmaps: Lightweight Documentation for Testing
Mindmaps: Lightweight Documentation for TestingMindmaps: Lightweight Documentation for Testing
Mindmaps: Lightweight Documentation for Testing
 
Survival Guide: Taming the Data Quality Beast
Survival Guide: Taming the Data Quality BeastSurvival Guide: Taming the Data Quality Beast
Survival Guide: Taming the Data Quality Beast
 
Why Agile Fails in Large Enterprises—and What to Do about It
Why Agile Fails in Large Enterprises—and What to Do about ItWhy Agile Fails in Large Enterprises—and What to Do about It
Why Agile Fails in Large Enterprises—and What to Do about It
 
Successful Test Automation: A Manager’s View
Successful Test Automation: A Manager’s ViewSuccessful Test Automation: A Manager’s View
Successful Test Automation: A Manager’s View
 
Crafting Smaller User Stories: Examples and Exercises
Crafting Smaller User Stories: Examples and ExercisesCrafting Smaller User Stories: Examples and Exercises
Crafting Smaller User Stories: Examples and Exercises
 
Metrics Program Implementation: Pitfalls and Successes
Metrics Program Implementation: Pitfalls and SuccessesMetrics Program Implementation: Pitfalls and Successes
Metrics Program Implementation: Pitfalls and Successes
 
Quality Index: A Composite Metric for the Voice of Testing
Quality Index: A Composite Metric for the Voice of TestingQuality Index: A Composite Metric for the Voice of Testing
Quality Index: A Composite Metric for the Voice of Testing
 

Similar to Mobile App Testing Taxonomies

Software Attacks for Embedded, Mobile, and Internet of Things
Software Attacks for Embedded, Mobile, and Internet of ThingsSoftware Attacks for Embedded, Mobile, and Internet of Things
Software Attacks for Embedded, Mobile, and Internet of ThingsTechWell
 
Mobile App Testing: Design Automation Patterns You Should Use
Mobile App Testing: Design Automation Patterns You Should UseMobile App Testing: Design Automation Patterns You Should Use
Mobile App Testing: Design Automation Patterns You Should UseTechWell
 
Exploratory testing and the mobile tester : A presentation by Jon Hagar
Exploratory testing and the mobile tester : A presentation by Jon HagarExploratory testing and the mobile tester : A presentation by Jon Hagar
Exploratory testing and the mobile tester : A presentation by Jon HagarGallop Solutions
 
How to Break Software: Embedded Edition
How to Break Software: Embedded EditionHow to Break Software: Embedded Edition
How to Break Software: Embedded EditionTechWell
 
Mobile Testing Methodologies: Trends, Successes, and Pitfalls
Mobile Testing Methodologies: Trends, Successes, and PitfallsMobile Testing Methodologies: Trends, Successes, and Pitfalls
Mobile Testing Methodologies: Trends, Successes, and PitfallsTechWell
 
Mobile Testing Tools 101
Mobile Testing Tools 101Mobile Testing Tools 101
Mobile Testing Tools 101TechWell
 
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT TestingImplement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT TestingJosiah Renaudin
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentTechWell
 
Experitest & Capgemini Co-webinar -
Experitest & Capgemini Co-webinar -Experitest & Capgemini Co-webinar -
Experitest & Capgemini Co-webinar -Experitest
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentTechWell
 
Running Head LAB 51LAB 57Lab 5.docx
Running Head  LAB 51LAB 57Lab 5.docxRunning Head  LAB 51LAB 57Lab 5.docx
Running Head LAB 51LAB 57Lab 5.docxtoddr4
 
Choosing the Right Testing Strategy to Scale up Mobile App Testing.pdf
Choosing the Right Testing Strategy to Scale up Mobile App Testing.pdfChoosing the Right Testing Strategy to Scale up Mobile App Testing.pdf
Choosing the Right Testing Strategy to Scale up Mobile App Testing.pdfpCloudy
 
Mobile App Test Attacks to Efficiently Explore Software
Mobile App Test Attacks to Efficiently Explore SoftwareMobile App Test Attacks to Efficiently Explore Software
Mobile App Test Attacks to Efficiently Explore SoftwareTEST Huddle
 
Chapter 3 - Common Test Types and Test Process for Mobile Applications
Chapter 3 - Common Test Types and Test Process for Mobile ApplicationsChapter 3 - Common Test Types and Test Process for Mobile Applications
Chapter 3 - Common Test Types and Test Process for Mobile ApplicationsNeeraj Kumar Singh
 
Access Control, Authentication, and Public Key Infrastructure .docx
Access Control, Authentication, and Public Key Infrastructure .docxAccess Control, Authentication, and Public Key Infrastructure .docx
Access Control, Authentication, and Public Key Infrastructure .docxdaniahendric
 
Softwere Testing Aplication Specific Techniques
Softwere Testing Aplication Specific TechniquesSoftwere Testing Aplication Specific Techniques
Softwere Testing Aplication Specific Techniquesmaharajdey
 
Curiosity and Sauce Labs present - When to stop testing: 3 dimensions of test...
Curiosity and Sauce Labs present - When to stop testing: 3 dimensions of test...Curiosity and Sauce Labs present - When to stop testing: 3 dimensions of test...
Curiosity and Sauce Labs present - When to stop testing: 3 dimensions of test...Curiosity Software Ireland
 

Similar to Mobile App Testing Taxonomies (20)

Software Attacks for Embedded, Mobile, and Internet of Things
Software Attacks for Embedded, Mobile, and Internet of ThingsSoftware Attacks for Embedded, Mobile, and Internet of Things
Software Attacks for Embedded, Mobile, and Internet of Things
 
Mobile App Testing: Design Automation Patterns You Should Use
Mobile App Testing: Design Automation Patterns You Should UseMobile App Testing: Design Automation Patterns You Should Use
Mobile App Testing: Design Automation Patterns You Should Use
 
Exploratory testing and the mobile tester : A presentation by Jon Hagar
Exploratory testing and the mobile tester : A presentation by Jon HagarExploratory testing and the mobile tester : A presentation by Jon Hagar
Exploratory testing and the mobile tester : A presentation by Jon Hagar
 
How to Break Software: Embedded Edition
How to Break Software: Embedded EditionHow to Break Software: Embedded Edition
How to Break Software: Embedded Edition
 
Mobile Testing Methodologies: Trends, Successes, and Pitfalls
Mobile Testing Methodologies: Trends, Successes, and PitfallsMobile Testing Methodologies: Trends, Successes, and Pitfalls
Mobile Testing Methodologies: Trends, Successes, and Pitfalls
 
Mobile Testing Tools 101
Mobile Testing Tools 101Mobile Testing Tools 101
Mobile Testing Tools 101
 
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT TestingImplement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really Different
 
Experitest & Capgemini Co-webinar -
Experitest & Capgemini Co-webinar -Experitest & Capgemini Co-webinar -
Experitest & Capgemini Co-webinar -
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really Different
 
Mobile App Security Testing -2
Mobile App Security Testing -2Mobile App Security Testing -2
Mobile App Security Testing -2
 
Running Head LAB 51LAB 57Lab 5.docx
Running Head  LAB 51LAB 57Lab 5.docxRunning Head  LAB 51LAB 57Lab 5.docx
Running Head LAB 51LAB 57Lab 5.docx
 
Choosing the Right Testing Strategy to Scale up Mobile App Testing.pdf
Choosing the Right Testing Strategy to Scale up Mobile App Testing.pdfChoosing the Right Testing Strategy to Scale up Mobile App Testing.pdf
Choosing the Right Testing Strategy to Scale up Mobile App Testing.pdf
 
Mobile App Test Attacks to Efficiently Explore Software
Mobile App Test Attacks to Efficiently Explore SoftwareMobile App Test Attacks to Efficiently Explore Software
Mobile App Test Attacks to Efficiently Explore Software
 
Chapter 3 - Common Test Types and Test Process for Mobile Applications
Chapter 3 - Common Test Types and Test Process for Mobile ApplicationsChapter 3 - Common Test Types and Test Process for Mobile Applications
Chapter 3 - Common Test Types and Test Process for Mobile Applications
 
Access Control, Authentication, and Public Key Infrastructure .docx
Access Control, Authentication, and Public Key Infrastructure .docxAccess Control, Authentication, and Public Key Infrastructure .docx
Access Control, Authentication, and Public Key Infrastructure .docx
 
Softwere Testing Aplication Specific Techniques
Softwere Testing Aplication Specific TechniquesSoftwere Testing Aplication Specific Techniques
Softwere Testing Aplication Specific Techniques
 
Mobile Apps Security Testing -1
Mobile Apps Security Testing -1Mobile Apps Security Testing -1
Mobile Apps Security Testing -1
 
Curiosity and Sauce Labs present - When to stop testing: 3 dimensions of test...
Curiosity and Sauce Labs present - When to stop testing: 3 dimensions of test...Curiosity and Sauce Labs present - When to stop testing: 3 dimensions of test...
Curiosity and Sauce Labs present - When to stop testing: 3 dimensions of test...
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 

Recently uploaded (20)

Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 

Mobile App Testing Taxonomies

  • 1. 4/23/15 1 Mobile  App  Testing:     The  Good,  The  Bad,  and  The  Ugly   Jon  D.  Hagar,  Consultant,  Grand  Software  Testing   embedded@ecentral.com   Author:  Software  Test  Attacks  to  Break     Mobile  and  Embedded  Devices   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –   “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”           1 *  Gaming  Testing  Story   *  It  only  takes  a  few  minutes  using  an  App  before  users  like  or  hate  it   *  Worse  than  that.  .  .   *  Many  users  will  post  a  social  media  review  of  the  app   *  You  don’t  want  to  be  a    BAD   Copyright  2015,  Jon  D.  Hagar                  Mobile-­‐Embedded  Taxonomies  from  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”   2 The  Mobile  Opportunity  
  • 2. 4/23/15 2 *  Depth   *  Passion   *  Speed   What  Does  it  Take  to  be  a  Great   Mobile  App  Tester?   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – Software Test Attacks to Break Mobile and Embedded Devices 3 *  As  the  names  imply,  these  are  devices—small,  held  in  the  hand,  connected   to  communication  networks,  including   *  Cell  and  smart  phones  –  apps     *  Tablets   *  Medical  devices   *  Typically  have:   *  Many  of  the  problems  of  classic  embedded  systems   *  The  power  of  PCs/IT   *  More  user  interface  (UI)  than  classic  embedded  systems   *  Fast  and  frequent  updates   *  However,  mobile  devices  are  “evolving”  with  more  power,  resources,  apps,   etc.     *  Mobile  is  the  “hot”  area  of  computers/software   *  Testing  rules  and  concepts  are  still  evolving   *  Now  starting  to  include  IoT       You  know  what  they  are  right?   Mobile  and  Handheld?   Copyright  2015,  Jon  D.  Hagar                  Mobile-­‐Embedded  Taxonomies  from  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”  
  • 3. 4/23/15 3 *  Requirements  verification  checking   *  Necessary  but  not  sufficient   *  Risk–based  testing     *  Tried  and  true  in  many  contexts  including  mobile,  but  we  need  more      Here  comes  the  Good,  Bad  and  Ugly       We  Need  Better  App  Testing   Copyright  2015,  Jon  D.  Hagar                  Mobile-­‐Embedded  Taxonomies  from  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”   The    Bad     You  are  between  a  Management  Rock  and  a  Hard  App   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –   “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”           6
  • 4. 4/23/15 4 *  Management  directed  “No  testing”   *  Dev-­‐ops  without  enough  “thinking”  of  context  and  risk   to  find  the  big  BUGS   *  Stupid  requirements  verification  checking  without  GOOD   test  activities   *  Testing  without  thinking  of     *  cost   *  schedule   *  users         Con:  Current  Badness   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – “Software Test Attacks to Break Mobile and Embedded Devices” 7 *  Are  you  part  of  the  problem?   *  Do  you  help  management  “SEE”  the  info  they  need?   *  Are  you  Agile?   *  Are  you  using  your  testing  skills  daily?   *  Bug  are  out  there  (and  always  will  be)…………..   Pro:  In  the  Bad   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – Software Test Attacks to Break Mobile and Embedded Devices 8
  • 5. 4/23/15 5 *  From  Wikipedia:            Taxonomy  is  the  practice  and  science  of  classification.  The  word  finds  its   roots  in  the  Greek  τάξις,  taxis  (meaning  'order',  'arrangement')  and  νόμος,   nomos  ('law'  or  'science').  Taxonomy  uses  taxonomic  units,  known  as  taxa   (singular  taxon).  In  addition,  the  word  is  also  used  as  a  count  noun:  a   taxonomy,  or  taxonomic  scheme,  is  a  particular  classification  ("the   taxonomy  of  ..."),  arranged  in  a  hierarchical  structure.   *  Helping  to  “understand  and  know”   Copyright  2015,  Jon  D.  Hagar                  Mobile-­‐Embedded  Taxonomies  from  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”   9 A  Bad  Situation     -­‐  Lets  look  for  bugs,  but  where?   Copyright  2015,  Jon  D.  Hagar                  Mobile-­‐Embedded  Taxonomies  from  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”   10 Pro:  Taxonomy    (researched)      Super  Category     Aero-­‐Space     Med  sys   Mobile   General     Time      3   2   3       Interrupted  -­‐  Satura>on     (over  >me)   5.5               Time  Boundary  –  failure  resul>ng   from  incompa>ble  system  >me   formats  or  values   0.5        1       Time  -­‐    Race  Condi>ons        3        1       Time  -­‐  Long  run  usages        4        1   20   Interrupt  -­‐    >ming  or  priority   inversions   0.7   3           Date(s)    wrong/cause  problem   0.5                                                      1        Clocks      4       2       Computa>on  -­‐  Flow      6   23       19   Computa>on  -­‐    on  data        4   1   3   1  
  • 6. 4/23/15 6 Copyright  2015,  Jon  D.  Hagar                  Mobile-­‐Embedded  Taxonomies  from  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”   11 Taxonomy  part  2   Super  Category     Aero-­‐Space     Med  sys                        Mobile   General     Data  (wrong  data  loaded  or  used)      4   5.00      2        Ini>aliza>on      6   2.00      3   5   Pointers      8   2.00   18   10   Logic  and/or  control  law  ordering        8   43      3   30   Loop  control  –Recursion      1               Decision  point    (if  test  structure)   0.5   1        1       Logically  Impossible  &  dead  code   0.7               Opera>ng  system  –  (Lack  of  Fault   tolerance  ,  interface  to  OS,  other)     1.5   2      6       Software - Hardware interfaces 16       13       So9ware  -­‐   Software Interface      5   2.00        3       So9ware  -­‐    Bad command- problem on server      3          5       UI  -­‐  User/  operator  interface        4   5.00   20   10   UI  -­‐  Bad  Alarm     0.5          3       UI  -­‐  Training  –  system  fault   resul>ng  from  improper  training            3       Other   10.6   9.00    5   5   Note:  one  report  on  C/C++  indicated  70%  of  errors  found  involved  pointers   *  How  many  of  you  have  a  Mobile  App  taxonomy    that  you  use?   Question   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – “Software Test Attacks to Break Mobile and Embedded Devices” 12
  • 7. 4/23/15 7 The  Ugly   We need Wisdom, Tooling, and Security 13 Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”           *  Some  of  you  lack  mobile  tester  skills   *  Many  of  you  suffer  from  group  think  and  lack  wisdom   *  We  listen  to  the  loudest  voices     *  Testers  do  not  use  available  ideas  to  aide  their  skill  base     *  Attacks,  techniques,  tools,  concepts,  standards,  etc.   Con:  Mobile  can  have  an  Ugly  Face   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – “Software Test Attacks to Break Mobile and Embedded Devices” 14
  • 8. 4/23/15 8 *  Danger  of  group  think  in  Agile  Mobile  Teams   *  Amplification   *  Snowballing  effect   *  Polarization   *  Ignoring  critical  minority  opinions   Pro:  You  Need  Test  Wisdom   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – “Software Test Attacks to Break Mobile and Embedded Devices” 15 *  Stop  talking  and  LISTEN  to  all  sides,  particularly  the  ones  you  may  not  agree  with   *  Question  beliefs   *  Be  passionate  and  follow  your  bliss  about  testing   *  Try  to  remain  open  minded   *  Do  not  submit  to  the  negatives  of  group  think   *  Consider  the  context  of  the  testing  and  believe  that  context  matters   *  Seek  the  council  of  people  you  believe  to  be  wise   *  Reward  your  test  team  for  being  open  and  providing  other  views  without  fear   *  Try  to  take  a  role  of  “devil’s  advocate”  in  your  test  team     *  Fight  the  “me  too”  syndrome  and  everyone  falling  in  line  to  the  loudest  voice   *  Work  to  be  a  knowledgeable  and  skilled  tester  (they  are  different)   *  Be  the  voice  of  loyal  opposition  in  the  team  and  think  outside  of  the  group  “box”   *  Don’t  paint  a  viewpoint  as  totally  invalid,  when  a  few  ideas  of  the  viewpoint  conflict  with   local  ideals   Seeking  Test  Wisdom  (Pro:  try  these  tricks)   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – “Software Test Attacks to Break Mobile and Embedded Devices” 16
  • 9. 4/23/15 9 Categories  of  Automation  Tooling      (Open  Source  and  Commercial)        *  Capture  Playback    -­‐  Actual  devices  (cabinet  vs  a  pile)  vs  Emulator    -­‐  API  vs  GUI/UI    *  Planning  and  lifecycle  support    *  Modeling      -­‐  Risks      -­‐  Mind-­‐mapping      -­‐  Formal  models  (UTP)    -­‐  Test  Techniques   Pro/Con?  -­‐    Mobile/Handheld     Test  Tools   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – “Software Test Attacks to Break Mobile and Embedded Devices” 17 *  To  Automate  or  Not?   *  When  testing  configurations  of  hw/sw  (good  idea)   *  When  testing  combinations  (combinatorial  test  tools)   *  When  dealing  with  testing  qualities   *  Security  (very  good  idea)   *  Reliability  (necessary)   *  Configuration  management  (can  not  be  done  without)   *  Usability  (important  but  a  hard  one  and  questionable  tools)   *  When  supporting  Development     *  Structural  testing  (measures  coverage)   *  Static  code  analysis  (finds  hard  to  test  bugs)   *  Dev-­‐Ops,  Continuous  Integration  and  Agile  (really  good)   More  on  Test  Tools  –   Now  in  Mobile  Support  has  Improved   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – Software Test Attacks to Break Mobile and Embedded Devices 18
  • 10. 4/23/15 10 *  Your  app  gets  on  the  nightly  news   *  Your  team  sees  security  as  someone  else’s  problem   Real  Ugly:  Security  and  Privacy   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – “Software Test Attacks to Break Mobile and Embedded Devices” 19 *  Mobile–  IoT  systems  are  highly  integrated  hardware– software–system  solutions  which:   *  Must  be  highly  trustworthy  since  they  handle  sensitive  data     *  Often  perform  critical  tasks   *  Security  holes  and  problems  abound   *  Coverity  Scan  2010  Open  Source  Integrity  Report  -­‐  Android   *  Static  analysis  test  attack  found  0.47  defects  per  1,000  SLOC     *  359  defects  in  total,  88  of  which  were  considered  “high  risk”  in   the  security  domain   *  OS  hole  Android  with  Angry  Birds       *  Researchers  Jon  Oberheide  and  Zach  Lanier   *  Robots  and  Drones  rumored  to  be  attacked   *  Cars    and  medical  devices  being  hacked   The  Current  Security  Situation   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”          
  • 11. 4/23/15 11 *  Fraud  –  Identity   *  Worms,  virus,  etc.   *  Fault  injection   *  Processing  on  the  run   *  Hacks  impact   *  Power   *  Memory   *  CPU  usage   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –   “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”           Con:  Mobile  Security     Bugs  (taxonomy)   •  Eavesdropping  –  “yes  everyone  can  hear  you”   •  Hijacking   •  Click-­‐jacking   •  Voice/Screen   •  Physical  Hacks   •  File  snooping   •  Lost  phone   *  A  pattern  (of  testing)  based  on  a  common  mode  of  failure   seen  over  and  over   *  Part  of  Exploratory  Testing   *  May  be  seen  as  a  negative,  when  it  really  is  a  positive   *  Goes  after  the  “bugs”  that  may  be  in  the  software   *  May  include  or  use  classic  test  techniques  and  test  concepts   *  Lee  Copeland’s  book  on  test  design   *  Many  other  good  books   *  A  Pattern  (more  than  a  process)  which  must  be  modified   for  the  context  at  hand  to  do  the  testing     *  Testers  learn  mental  attack  patterns   working  over  the  years  in  a  specific  domain       Pro:  Apply  Attack-­‐based  Testing   What  is  an  attack?   Copyright  2015,  Jon  D.  Hagar                  Mobile-­‐Embedded  Taxonomies  from  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”  
  • 12. 4/23/15 12 *  Apply  when  the  device  is  mobile  and  has   *  Account  numbers   *  User-­‐ids  and  passwords   *  Location  tags   *  Restricted  data     *   Current    authentication  approaches  in  use  on  mobile   devices   *  Server-­‐based   *  Registry  (user/password)   *  Location  or  device-­‐based   *  Profile-­‐based   Security  Attacks   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”           *  Attack  28  Penetration  Attack  Test     *  Attack  28.1  Penetration  Sub–Attacks:  Authentication  —  Password     *  Attack  28.2  Sub–Attack  Fuzz  Test     *  Attack  29:  Information  Theft—Stealing  Device  Data     *  Attack  29.1  Sub  Attack  –Identity  Social  Engineering     *  Attack  30:  Spoofing  Attacks     *  Attack  30.1  Location  and/or  User  Profile  Spoof  Sub–Attack   *  Attack  30.2  GPS  Spoof  Sub–Attack     Security  Attacks       (Con:  only  a  starting  point,  a  checklist  of  things  to  start  with)   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”          
  • 13. 4/23/15 13 *  What  kind  of  App  software  do  you  work  on?   *  Security  concerns?   *  Privacy  concerns?     What  is  missing?   Exercise   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – “Software Test Attacks to Break Mobile and Embedded Devices” 25 §  Security  attacks  must  be  done  with  the  knowledge  and  approval  of   owners  of  the  system  and  software   §  Severe  legal  implications  exist  in  this  area   §  Many  of  these  attacks  must  be  done  in  a  lab  (sandbox)   §  In  these  attacks,  I  tell  you  conceptually  how  to  “drive  a  car  very  fast   (150  miles  an  hour)  but  there  are  places  to  do  this  with  a  car  legally   (a  race  track)  and  places  where  you  will  get  a  ticket  (most  public   streets)”   §  Be  forewarned  -­‐  Do  not  attack  you  favorite  app  on  your  phone  or   any  connected  server  without  the  right  permissions  due  to  legal   implications   Warnings     When  Conducting  Security  Attacks   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”          
  • 14. 4/23/15 14 Finally,  The  Good  –     Functional  and  Non-­‐functional   Experiments  and  Attacks   (Exploratory  testing)    Skills  App  testers  should  have   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –”So9ware   Test  ACacks  to  Break  Mobile  and  Embedded  Devices”       27 Attacks                  (from  Software  Test  Attacks  to  Break  Mobile  and  Embedded  Devices)   *  Attack  1:  Static  Code  Analysis     *  Attack  2:  Finding  White–Box  Data  Computation  Bugs     *  Attack  3:  White–Box  Structural  Logic  Flow  Coverage   *  Attack  4:  Finding  Hardware–System  Unhandled  Uses  in  Software   *  Attack  5:    Hw-­‐Sw  and  Sw-­‐Hw  signal  Interface  Bugs   *  Attack  6:  Long  Duration  Control  Attack  Runs     *  Attack  7:    Breaking  Software  Logic  and/or  Control  Laws   *  Attack  8:  Forcing  the  Unusual  Bug  Cases     *  Attack  9  Breaking  Software  with  Hardware  and  System   Operations   *  9.1  Sub–Attack:  Breaking  Battery  Power     *  Attack  10:  Finding  Bugs  in  Hardware–Software  Communications     *  Attack  11:  Breaking  Software  Error  Recovery     *  Attack  12:  Interface  and  Integration  Testing     *  12.1  Sub–Attack:  Configuration  Integration  Evaluation     *  Attack  13:  Finding  Problems  in  Software–System  Fault  Tolerance   *  Attack  14:  Breaking  Digital  Software  Communications     *  Attack  15:  Finding  Bugs  in  the  Data     *  Attack  16:  Bugs  in  System–Software  Computation     *  Attack  17:    Using  Simulation  and  Stimulation  to  Drive  Software   Attacks   *  Attack  18:  Bugs  in  Timing  Interrupts  and  Priority  Inversion   *  Attack  19:  Finding  Time  Related  Bugs     *  Attack  20:  Time  Related  Scenarios,  Stories  and  Tours     *  Attack  21:  Performance  Testing  Introduction     *  Attack  22:  Finding  Supporting  (User)  Documentation   Problems   *  Sub–Attack  22.1:    Confirming  Install–ability     *  Attack  23:  Finding  Missing  or  Wrong  Alarms     *  Attack  24:  Finding  Bugs  in  Help  Files     *  Attack  25:  Finding  Bugs  in  Apps     *  Attack  26:  Testing  Mobile  and  Embedded  Games     *  Attack  27:  Attacking  App–Cloud  Dependencies     *  Attack  28  Penetration  Attack  Test     *  Attack  28.1  Penetration  Sub–Attacks:  Authentication  —   Password  Attack     *  Attack  28.2  Sub–Attack  Fuzz  Test     *  Attack  29:  Information  Theft—Stealing  Device  Data     *  Attack  29.1  Sub  Attack  –Identity  Social  Engineering     *  Attack  30:  Spoofing  Attacks     *  Attack  30.1  Location  and/or  User  Profile  Spoof  Sub–Attack   *  Attack  30.2  GPS  Spoof  Sub–Attack     *  Attack  31:  Attacking  Viruses  on  the  Run  in  Factories  or  PLCs   *  Attack  32:  Using  Combinatorial  Tests     *  Attack  33:  Attacking  Functional  Bugs         Copyright  2015,  Jon  D.  Hagar                  Mobile-­‐Embedded  Taxonomies  from  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”  
  • 15. 4/23/15 15 Attack  1:  Static  Code  Analysis  (testing)     *  When  to  apply  this  attack?     *   After/during  coding   *  What  faults  make  this  attack   successful?   *  Many   *  Example:  Issues  with  pointers   *  Who  conducts  this  attack?     *   Developer,  tester,  independent  party   *  Where  is  this  attack  conducted?     *  Tool/test  lab   *  How  to  determine  if  the  attack   exposes  failures?     *  Review  warning  messages  and  find   true  bugs   *  How  to  conduct  this  attack   *  Obtain  and  run  tool   *  Find  and  eliminate  false  positive   *  Identify  and  address  real  bugs   *  Repeat  as  code  evolves   *  Single  unit/object   *  Class/Group   *  Component   *  Full  system   29 Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –”So9ware   Test  ACacks  to  Break  Mobile  and  Embedded  Devices”       Attack  2:  Finding  White–Box  Data   Computation  Bugs     *  When  to  apply  this  attack?     *   After/during  coding   *  What  faults  make  this  attack   successful?   *  Mistakes  associated  with  data   *  Example:  Wrong  value  of  Pi   *  Who  conducts  this  attack?     *   Developer,  tester,  independent  party   *  Where  is  this  attack  conducted?     *  Development  Tool/test  lab     *  How  to  determine  if  the  attack   exposes  failures?     *  Structural-­‐data  test  success  criteria   not  met   *  How  to  conduct  this  attack   *  Obtain  tool   *  Determine  criteria  and  coverage   *  Create  test  automation  with   specific  values  (really  a   programing  problem)   *  NOT  NICE  NUMBERS   *  Run  automated  test  cases   *  Resolve  failures   *  Peer  check  test  cases   *  Repeat  as  code  evolves   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –”So9ware   Test  ACacks  to  Break  Mobile  and  Embedded  Devices”      
  • 16. 4/23/15 16 *  When  to  apply  this  attack?    …when  your  app/device  has  a  user   *  What  faults  make  this  attack  successful?      …devices  are  increasingly   complex   *  Who  conducts  this  attack?    …see  chart  on  Roles   *  Where  is  this  attack  conducted?    …throughout  lifecycle  and  in  user’s   environments   *  How  to  determine  if  the  attack  exposes  failures?   *  Unhappy  “users”   *  Bugs  found   *  See  sample  checklist   Attack  :    Testing  Usability   Mobile IoT Usability Tends to be “Poor” Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”           *  Refine  checklist  to  context  scope   *  Define  a  role     *  Watch  what  is  happening  with  this  role   *  Define  a  usage  (many  different  user  roles)   *  Guided  explorations  or  ad  hoc   *  Stress,  unusual    cases,  explore  options   *  Capture  understanding,  risk,  observations,  etc.   *  Checklist  (watch  for  confusion  of  the  tester)   *  Run  Exploratory  Attack  (s)   *  Learn   *  Re-­‐plan-­‐design   *  Watch  for  Bias   *  Switch  testers   *  Repeat     Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”           Usability  Attack  Pattern  
  • 17. 4/23/15 17 The  Good,  Bad,  and  Ugly  of     Mobile  App  Testing   Lots  of  room  for  Growth   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – “Software Test Attacks to Break Mobile and Embedded Devices” 33 How  to  be  Better  after  This  Section   Pick  One  or  Two  to  work  On   Cons:  Bad  and  Ugly   *  Taxonomy  help  only  if  you  use   them   *  Skill  improvement       *  Knowledge  and  Skill   *  Security  Testing   *  Attack,  Attack,  Attack   Pro:  The  Good   *  Better  and  Faster   *  Functional  testing   *  Test  strategy  and  planning   *  Test  Attacks   *  Tools  and  technique  maturing   Copyright 2015, Jon D. Hagar Grand Software Testing, LLC – “Software Test Attacks to Break Mobile and Embedded Devices “ 34 After Mobile comes IoT
  • 18. 4/23/15 18 *  There  will  always  be  Good,  Bad,  and  Ugly   *  Work  with  the  Good   *  Work  to  over  come  the  Bad   *  Change  the  Ugly  into  good   *  Understanding  your  local  context  and  error  patterns  is  important      (one  size  does  NOT  fit  all)   *  Attacks  are  patterns…you  must  still  THINK  and  tailor     Wrap  Up  of  this  Session   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”           *  James  Whittaker  (attacks)   *  Elisabeth  Hendrickson  (simulations)   *  Lee  Copeland  (techniques)   *  Brian  Merrick  (testing)   *  James  Bach  (exploratory  and  tours)   *  Cem  Kaner    (test  thinking)   *  Jean  Ann  Harrison  (her  thinking  and  help)   *  Many  teachers   *  Generations  past  and  future   *  Books,  references,  and  so  on       Notes:      Thank  You                                      (ideas  used  from)   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”          
  • 19. 4/23/15 19 *  “Software  Test  Attacks  to  Break  Mobile  and  Embedded  Devices”     –  Jon  Hagar     *  “How  to  Break  Software”  James  Whittaker,  2003   *  And  his  other  “How  To  Break…”  books     *  “A  Practitioner’s  Guide  to  Software  Test  Design”  Copeland,  2004   *  “A  Practitioner’s  Handbook  for  Real-­‐Time  Analysis”  Klein  et.  al.,  1993   *  “Computer  Related  Risks”,  Neumann,  1995   *  “Safeware:  System  Safety  and  Computers”,  Leveson,  1995   *  Honorable  mentions:   *  “Systems  Testing  with  an  Attitude”  Petschenik    2005   *  “Software  System  Testing  and  Quality  Assurance”  Beizer,  1987   *  “Testing  Computer  Software”  Kaner  et.  al.,  1988   *  “Systematic  Software  Testing”  Craig  &  Jaskiel,  2001   *  “Managing  the  Testing  Process”  Black,  2002       Book/Notes  List  (my  favorites)   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –  “So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices”           •  www.stickyminds.com  –  Collection  of  test  info   •  www.embedded.com  –  info  on  attacks   *  www.sqaforums.com  -­‐  Mobile  Devices,  Mobile  Apps  -­‐   Embedded  Systems  Testing  forum     •  Association  of  Software  Testing   –  BBST  Classes  http://www.testingeducation.org/BBST/   •  Your  favorite  search  engine       More  Resources   Copyright  2015,  Jon  D.  Hagar    Grand  So9ware  Tes>ng,  LLC  –  So9ware  Test  ACacks  to  Break  Mobile  and  Embedded  Devices