So#ware  Tes+ng  

Prepared  by  
Soha  Makady  

Outline  
•  Decision  tables  
•  Cause-­‐effect  graphs  

Decision  Tables  
•  Required  reading:  
hCp://istqbexamcer+fica+on.com/what-­‐is-­‐decision-­‐table-­‐
in-­‐so#ware-­‐tes+ng/  
•  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  

Decision  Tables   •  Consider  a  loan  applica+on.     •  If  you  enter  both.  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).     •  What  inputs  do  we  have?   –  Amount  of  loan   –  Term  of  loan   ©  Copyright  Soha  Makady  2016   .  the  system  will  make  a   compromise  between  the  two  if  they  conflict.

 you  get  a  10%  discount.   •  If  you  have  a  coupon.   •  Discount  amounts  are  added.   •  If  you  are  an  exis+ng  customer  and  you  hold  a  loyalty   card.     •  You  have  5  minutes.       ©  Copyright  Soha  Makady  2016   .  you  can  get  20%  off  today  (but  it   can’t  be  used  with  the  ‘new  customer’  discount).  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.

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

    •  Hence.  you  can  go  for  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.

 and  the  outputs  (effects)  in  terms  of   expected  values  or  behaviour.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.   ©  Copyright  Soha  Makady  2016   .

  •  An  effect  is  an  output  condi+on.   ©  Copyright  Soha  Makady  2016   .  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.   •  A  cause  can  represent  an  equivalence  class  of  input   condi+ons.

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

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

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

 else  c  is  0.  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.     ©  Copyright  Soha  Makady  2016   .

 message  X12  is  issued.   •  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   .”  The   character  in  column  2  must  be  a  digit.     •  If  the  first  character  is  incorrect.   the  file  update  is  made.     •  If  the  second  character  is  not  a  digit.  In  this  situa+on.  message  X13  is   issued.Cause-­‐effect  Graph  Symbols   Example:     •  The  character  in  column  1  must  be  an  “A”  or  a  “B.

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

Cause-­‐effect  Graph  Symbols           Equivalent  logic  circuit.   ©  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.   ©  Copyright  Soha  Makady  2016   .  some  constraints  need  to  be  added.   •  Hence.

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

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

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

 it  is  impossible  for  C1  to  be  1  and  C2  to   be  0).    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.     ©  Copyright  Soha  Makady  2016   .Cause-­‐effect  Graph  Constraints   3.   4..e.   C2  must  be  1  (i.

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

  •  Hence.   ©  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.  one  constraint  needs  to  be  added.

  •  Hence.  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.

 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.  printers  (PR).  the  buyer  may  select  from  three  CPU   models.   •  Let  us  draw  the  causes  and  the  effects  first.   ©  Copyright  Soha  Makady  2016   .  Monitor.   •  For  an  order.  and  RAM  and   one  window  where  free  giveaway  items  are  displayed.  two  printer  models.  monitors  (M).  and   addi+onal  memory  (RAM).Example   •  A  GUI  based  computer  purchase  system  is  offering   computers  (CPU).  Printer.  and  three  monitors.

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

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

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

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

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.   •  •  •  •  Eƒ  :  RAM  256.   Eƒ  :  RAM  1G  and  PR  2.   Eƒ  :  No  giveaway  with  this  item.   1 2 3 4 ©  Copyright  Soha  Makady  2016   .  we  ignore  the  price  related  cause  and   effect.     •  The  set  of  effects  in  terms  of  the  contents  of  the  “Free”   display  window  are  listed  below.   •  For  simplicity.   Eƒ  :  RAM  512  and  PR  1.

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

  How  to  generate  the  decision  table?   •  Input:  A  cause-­‐effect  graph  containing  causes  C-­‐1  to  C-­‐P.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   .   and  effects  Ef-­‐1  to  Ef-­‐Q.

 determine  the  states  of  all   other  effects  and  place  these  in  each  column.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.   –  Update  the  decision  table  with  the  retrieved   combina+ons   –   For  each  combina+on.   –  Make  sure  that  the  combina+ons  sa+sfy  any   constraints  among  the  causes.   ©  Copyright  Soha  Makady  2016   .

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

Decision  Tables  from  Cause-­‐Effect  Graphs     •  Let  us  try  to  generate  a  decision  table…   ©  Copyright  Soha  Makady  2016   .

com/what-­‐is-­‐decision-­‐table-­‐ in-­‐so#ware-­‐tes+ng/   .  2010.  Incorporated.ng:  A  Process-­‐Oriented  Approach  (1st   ed.cal   So2ware  Tes.     •  hCp://istqbexamcer+fica+on.Required  Readings     •  Chapter  4  from:  Ilene  Burnstein.  Prac.).  Springer  Publishing  Company.

 Aditya  P.  Pearson  Educa+on  India.  2008.  2/e.   .  Founda@ons  of  SoBware   Tes@ng.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.