So#ware  Tes+ng  

Prepared  by  
Soha  Makady  

•  Decision  tables  
•  Cause-­‐effect  graphs  

Decision  Tables  
•  Required  reading:  
•  Decision  tables  enable  modeling  complex  business  rules  in  
a  systema+c  way.  
•  How  does  it  work?  
–  Iden+fy  a  suitable  func+on  or  subsystem  which  reacts  
according  to  a  combina+on  of  inputs/events.    
–  The  system  should  not  contain  too  many  inputs  (why?)  
–  Combine  all  those  inputs  into  a  table  to  iden+fy  their  
true/false  combina+ons,  and  the  system’s  expected  
corresponding  behaviour.  
©  Copyright  Soha  Makady  2016  

 the  system  will  make  a   compromise  between  the  two  if  they  conflict.     •  If  you  enter  both.     •  What  inputs  do  we  have?   –  Amount  of  loan   –  Term  of  loan   ©  Copyright  Soha  Makady  2016   .  where  you  can   enter  the  amount  of  the  monthly  repayment  or   the  number  of  years  you  want  to  take  to  pay  it   back  (the  term  of  the  loan).Decision  Tables   •  Consider  a  loan  applica+on.

 you  can  get  20%  off  today  (but  it   can’t  be  used  with  the  ‘new  customer’  discount).   •  Discount  amounts  are  added.       ©  Copyright  Soha  Makady  2016   .   •  If  you  have  a  coupon.  if  applicable.Decision  Tables  –  Exercise!   •  If  you  are  a  new  customer  and  you  want  to  open  a   credit  card  account  then  You  will  get  a  15%  discount   on  all  your  purchases  today.  you  get  a  10%  discount.   •  If  you  are  an  exis+ng  customer  and  you  hold  a  loyalty   card.     •  You  have  5  minutes.

Black-­‐Box  Tes+ng   •  Cause-­‐effect  graphing   ©  Copyright  Soha  Makady  2016   .

Cause-­‐effect  Graphing   •  Equivalence  par++oning  and  boundary  value   analysis  do  not  explore  combina+ons  of  input   circumstances.     •  Hence.  you  can  go  for  cause-­‐effect  graphing   ©  Copyright  Soha  Makady  2016   .

Cause-­‐effect  Graphing   What  is  a  cause-­‐effect  graph?   •  A  visual  technique  for  modeling  the  rela+onship   between  the  inputs  and  outputs  of  a  program   •  The  inputs  (causes)  could  be  specified  as   condi+ons.  and  the  outputs  (effects)  in  terms  of   expected  values  or  behaviour.   ©  Copyright  Soha  Makady  2016   .

  •  An  effect  is  an  output  condi+on.   ©  Copyright  Soha  Makady  2016   .   •  A  cause  can  represent  an  equivalence  class  of  input   condi+ons.  or  a  system   transforma+on.Cause-­‐effect  Graphing   What  is  a  cause-­‐effect  graph?   •  A  cause  is  any  input  condi+on  in  the  requirements   that  may  affect  the  program’s  output.

  The  specifica+on  is  divided  into  workable  pieces.e.g.  Convert  the  graph  into  a  limited-­‐entry  decision  table.  a  cause-­‐effect  graph).:  When  tes+ng  a  web  page  design.  The  causes/effects  in  the  specifica+on  are  iden+fied..Cause-­‐effect  Graphing   How  are  the  tests  derived?   1.   ©  Copyright  Soha  Makady  2016   .   2.  Annotate  the  graph  with  constraints  on  combina+ons   of  causes  and/or  effects  that  are  impossible  (how?)   5.   4.  The  seman+c  content  of  the  specifica+on  is  analyzed   and  transformed  into  a  Boolean  graph  linking  the   causes  and  effects  (i.   3.(why?)     –  E.   6.  Convert  the  columns  of  the  decision  table  into  test   cases.  you  might  test  a   single  menu  tree.

  The  Iden+ty  func+on:  if  a  is  1.  else  b  is  0.     ©  Copyright  Soha  Makady  2016   .Cause-­‐effect  Graph  Symbols   Four  different  func+ons  can  be  used:   1.  b  is  1.

    ©  Copyright  Soha  Makady  2016   .      The  or  func+on:  if  a  or  b  or  c  is.  else  b  is  1.  d  is  1.Cause-­‐effect  Graph  Symbols   Four  different  func+ons  can  be  used:   2.   3.  else  d  is  0.      The  not  func+on:  if  a  is  1.  b  is  0.

    ©  Copyright  Soha  Makady  2016   .  c  is  1.      The  and  func+on:  if  both  a  and  b  are  1.Cause-­‐effect  Graph  Symbols   Four  different  func+ons  can  be  used:   4.  else  c  is  0.

    •  If  the  second  character  is  not  a  digit.”  The   character  in  column  2  must  be  a  digit.Cause-­‐effect  Graph  Symbols   Example:     •  The  character  in  column  1  must  be  an  “A”  or  a  “B.  message  X12  is  issued.   the  file  update  is  made.   •  Let  us  try  to  create  a  cause-­‐effect  graph…   •  What  causes  do  we  have?   •  What  effects  do  we  have?   •  What  kind  of  links  or  func+ons  can  be  added?   ©  Copyright  Soha  Makady  2016   .     •  If  the  first  character  is  incorrect.  message  X13  is   issued.  In  this  situa+on.

Cause-­‐effect  Graph  Symbols           What  would  its  equivalent  logic  circuit  look  like?   ©  Copyright  Soha  Makady  2016   .

  ©  Copyright  Soha  Makady  2016   .Cause-­‐effect  Graph  Symbols           Equivalent  logic  circuit.

Cause-­‐effect  Graph  Symbols       •  But…A  character  cannot  be  an  ‘A’  and  a  ‘B’   simultaneously  à  cause  1  and  cause  2  cannot  be  1   simultaneously.   •  Hence.  some  constraints  need  to  be  added.   ©  Copyright  Soha  Makady  2016   .

    2.  The  Exclusive  (E)  constraint:  It  must  always  be  true  that   at  most  one  of  the  causes  can  be  1.  The  Inclusive  (I)  constraint:  At  least  one  of  the  causes   must  be  1.     ©  Copyright  Soha  Makady  2016   .Cause-­‐effect  Graph  Constraints   Four  types  of  constraints  can  be  added:   1.

  The  Exclusive  (E)  constraint:  It  must  always  be  true  that   at  most  one  of  the  causes  can  be  1.  The  Inclusive  (I)  constraint:  At  least  one  of  the  causes   must  be  1.   2.     ©  Copyright  Soha  Makady  2016   .Cause-­‐effect  Graph  Constraints   Four  types  of  constraints  can  be  added:   1.

Cause-­‐effect  Graph  Constraints   3.     4..     ©  Copyright  Soha  Makady  2016   .    The  Requires  (R)  constraint  implies  that  for  C1  to  be  1.  it  is  impossible  for  C1  to  be  1  and  C2  to   be  0).e.    The  One  and  Only  One  (O)  constraint:  One  and  only  one    of  the  causes  must  be  one.   C2  must  be  1  (i.

    ©  Copyright  Soha  Makady  2016   .  it  is  impossible  for  C1  to  be  1  and  C2  to   be  0).Cause-­‐effect  Graph  Constraints   3.   C2  must  be  1  (i.   4.    The  Requires  (R)  constraint  implies  that  for  C1  to  be  1.  The  One  and  Only  One  (O)  constraint:  One  and  only   one    of  the  causes  must  be  one..e.

Cause-­‐effect  Graph  Constraints   •  One  more  constraint  exists  among  effects:  The  masking   constraint  (M):  If  effect  a  is  1.  effect  be  is  forced  to  be   0.     ©  Copyright  Soha  Makady  2016   .

  ©  Copyright  Soha  Makady  2016   .Cause-­‐effect  Graph  Symbols       •  But…A  character  cannot  be  an  ‘A’  and  a  ‘B’   simultaneously  à  cause  1  and  cause  2  cannot  be  1   simultaneously.   •  Hence.  one  constraint  needs  to  be  added.

 one  constraint  needs  to  be  added.   ©  Copyright  Soha  Makady  2016   .Cause-­‐effect  Graph  Symbols   E       •  But…A  character  cannot  be  an  ‘A’  and  a  ‘B’   simultaneously  à  cause  1  and  cause  2  cannot  be  1   simultaneously.   •  Hence.

 monitors  (M).  two  printer  models.  and  RAM  and   one  window  where  free  giveaway  items  are  displayed.  Monitor.  and   addi+onal  memory  (RAM).   •  Let  us  draw  the  causes  and  the  effects  first.   •  For  an  order.  and  three  monitors.  An  order  configura+on   consists  of  one  to  four  items  as  shown  below:       •  The  GUI  consists  of  four  windows  for  displaying   selec+ons  from  CPU.  Printer.  the  buyer  may  select  from  three  CPU   models.   ©  Copyright  Soha  Makady  2016   .  printers  (PR).Example   •  A  GUI  based  computer  purchase  system  is  offering   computers  (CPU).

  PR1  is  available  free  with  the  purchase  of  CPU  2  or  CPU  3.  except  for  Μ  30.   –  One  effect  for  the  combined  offer   ©  Copyright  Soha  Makady  2016   .Example  (Cont’d)   1.  The  RAM  1G  upgrade  and  a  free  PR  2  is  available  when    CPU  3  is  purchased  with  monitor  Μ  30.     –   One  effect  of  no  giveaway.   4.  Monitors  and  printers.  Purchase  of  CPU  1  gets  RAM  256  upgrade   –  One  effect  for  RAM  256   2.      Purchase  of  CPU  2  or  CPU  3  gets  a  RAM  512  upgrade.   –  One  effect  groups  RAM  512  and  PR1   3.  can  also  be    purchased  separately  without  purchasing  any  CPU.

 Μ  30  can  only  be  purchased  with  CPU  3.Example  (Cont’d)   5.     –  Requires  constraint   6.  Only  one  CPU  can  be  purchased  in  one  order   –  Exclusive  constraint   ©  Copyright  Soha  Makady  2016   .

    ©  Copyright  Soha  Makady  2016   .Example  (Cont’d)     •  Sample  configura+ons  and  contents  of  the  “Free”  window   are  given  below.

  C2  :  Purchase  CPU  2.   C7  :  Purchase  M  23.   C8  :  Purchase  M  30.   C5  :  Purchase  PR  2.   ©  Copyright  Soha  Makady  2016   .   C3  :  Purchase  CPU  3.   •  •  •  •  •  •  •  •  •  Example  (Cont’d)   What  causes  do  we  have?   C1  :  Purchase  CPU  1.   C6  :  Purchase  M  20.   C4  :  Purchase  PR  1.

  •  For  simplicity.   Eƒ  :  RAM  512  and  PR  1.   •  •  •  •  Eƒ  :  RAM  256.   1 2 3 4 ©  Copyright  Soha  Makady  2016   .  we  ignore  the  price  related  cause  and   effect.   Eƒ  :  RAM  1G  and  PR  2.     •  The  set  of  effects  in  terms  of  the  contents  of  the  “Free”   display  window  are  listed  below.   Eƒ  :  No  giveaway  with  this  item.Example  (Cont’d)     •  What  effects  do  we  have?   •  The  applica+on  so#ware  calculates  and  displays  the  list  of   items  available  free  with  the  purchase  and  the  total  price.

Example  (Cont’d)   R   ©  Copyright  Soha  Makady  2016   .

  and  effects  Ef-­‐1  to  Ef-­‐Q.Conver+ng  Cause-­‐Effect  Graphs   to  Decision  Tables   •  Each  cause  represents  a  row  in  the  decision  table   •  Each  effect  represents  a  row  in  the  decision  table   •  Each  column  in  the  resul+ng  decision  table  represents  a   combina+on  of  input  values  and  hence  a  test.   ©  Copyright  Soha  Makady  2016   .   How  to  generate  the  decision  table?   •  Input:  A  cause-­‐effect  graph  containing  causes  C-­‐1  to  C-­‐P.

  –  Make  sure  that  the  combina+ons  sa+sfy  any   constraints  among  the  causes.Conver+ng  Cause-­‐Effect  Graphs   to  Decision  Tables   •  For  each  effect  Ef-­‐i   –  Find  the  combina+ons  of  condi+ons  that  cause  e  to  be   present.   ©  Copyright  Soha  Makady  2016   .   –  Update  the  decision  table  with  the  retrieved   combina+ons   –   For  each  combina+on.  determine  the  states  of  all   other  effects  and  place  these  in  each  column.

Decision  Tables  from  Cause-­‐Effect  Graphs     •  Let  us  try  to  generate  a  limited-­‐entry  decision  table  for  the   above  cause-­‐effect  graph.   ©  Copyright  Soha  Makady  2016   .

Decision  Tables  from  Cause-­‐Effect  Graphs     •  Let  us  try  to  generate  a  decision  table…   ©  Copyright  Soha  Makady  2016   .­‐is-­‐decision-­‐table-­‐ in-­‐so#ware-­‐tes+ng/   .ng:  A  Process-­‐Oriented  Approach  (1st   ed.  Springer  Publishing   So2ware  Tes.     •  hCp://istqbexamcer+fica+on.Required  Readings     •  Chapter  4  from:  Ilene  Burnstein.).  Prac.  2010.

 2/e.  Pearson  Educa+on  India.  Founda@ons  of  SoBware   Tes@ng.  Aditya  P.   .  2008.References   •  Mathur.

Sign up to vote on this title
UsefulNot useful

Master Your Semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master Your Semester with a Special Offer from Scribd & The New York Times

Cancel anytime.