code mashadvancedtopicsworkshop

42
Advanced Topics in Agile Tes0ng CodeMash Precompiler 2014 Lisa Crispin CoAuthor with Janet Gregory, Agile Tes)ng: A Prac)cal Guide for Testers and Agile Teams, and the upcoming More Agile Tes)ng

Upload: lisacrispin

Post on 10-May-2015

135 views

Category:

Technology


1 download

DESCRIPTION

Slides from Advanced Topics in Agile Testing at CodeMash 2014

TRANSCRIPT

Page 1: Code mashadvancedtopicsworkshop

Advanced  Topics  in  Agile  Tes0ng  CodeMash  Precompiler  2014  

Lisa  Crispin  Co-­‐Author  with  Janet  Gregory,  Agile  Tes)ng:  A  Prac)cal  

Guide  for  Testers  and  Agile  Teams,  and  the  upcoming  More  Agile  Tes)ng    

Page 2: Code mashadvancedtopicsworkshop

2

The  day…  Maybe!  

1.  Introduc0ons  2.  What  do  we  want  to  talk  about  3.  Priori0ze  4.  Then  start  tackling  one  problem  at  a  0me.  We’ll  try  a  few  brainstorming  techniques.          

 

Page 3: Code mashadvancedtopicsworkshop

3

Expecta0ons  

•  Collabora0ve,    problem  solving  aRtude,  open  

•  Workshop  –  Explore  some  new  fron0ers!  •  Some  slides  –  if  we  need  them  for  

explana0on  •  You’ll  leave  with  some  experiments  to  help  

with  your  biggest  problems  and  goals          

 

Page 4: Code mashadvancedtopicsworkshop

4

What  might  we  talk  about?  It’s  up  to  you!  

•  Impact  mapping  •  Agile  tes0ng  quadrants  •  T-­‐shaped  Skillsets  •  Mind  mapping  •  Selec0ng  tools  •  Technical  debt  •  Enterprise  environment  

     

 

•  Distributed  teams  •  Out-­‐sourcing  •  Automa0on  •  Pairing  paYerns  •  Experimen0ng  •  Regulatory  environment  •  Others????    

     

 

Possible  topics:  

Page 5: Code mashadvancedtopicsworkshop

5

Introduc0ons  

What  do  your  specialty?  What’s  your  goal  for  today?  

   If  possible,  get  some  diverse  special0es  in  your  table  group.    

Page 6: Code mashadvancedtopicsworkshop

Next:      •  Iden0fy  problems,  set  SMART  goals  •  Brainstorm  experiments  to  achieve  goals  and  reduce  problem  size  – Experiment  with  different  brainstorming  tools  –  Impact  mapping,  mind  mapping,  drawing  on  the  whiteboard,  brain  wri0ng,  super  powers  

•  We’ll  share  stories  and  experiences    

Page 7: Code mashadvancedtopicsworkshop

In  table  groups:  1.  Write  down  biggest  

tes0ng-­‐related  problems  for  your  own  team,  one  per  s0cky  note  

2.  Group  similar  ones  3.  Dot  vote  to  priori0ze  4.  Set  SMART  goal  for  

highest  priority  problem  

Page 8: Code mashadvancedtopicsworkshop

•  Why  are  we  doing  this?  •  Who  can  help?  Hinder?  Who  is  impacted?  •  How  can  they  help  or  hinder?  Impacts  •  What  can  we  do  to  support  impacts?              Deliverables  

 

Impact  Mapping  

8  

Page 9: Code mashadvancedtopicsworkshop

Example  Impact  Map    

9  

Based  on  example  at  hYp://impactmapping.org,  Gojko  Adzic  Recommended  book:  Impact  Mapping  

Page 10: Code mashadvancedtopicsworkshop

10  

Impact    Map  

Stakeholders  /  personas   Impacts  

Possible  deliverables  

Possible  deliverables  

Page 11: Code mashadvancedtopicsworkshop

11

Round  1:  Brainstorm  using  impact  mapping  

Take  your  group’s  highest  priority  goal.  That’s  the  “Why?”  of  your  impact  map.  

Create  an  impact  map  with  Whos,  Hows  for  each  Who,  and  Whats  for  each  How.  

What’s  the  first  experiment  you’d  try?  Choose  one  path  in  the  map  to  share  with  other  groups.  

       

 

Page 12: Code mashadvancedtopicsworkshop

12

Round  1:  Outcomes  

Experiments  Stories          

 

Page 13: Code mashadvancedtopicsworkshop

13

Round  2:  Brainstorm  using  Brainwri0ng  

For  your  second-­‐highest-­‐priority  goal:  •  Each  of  you  take  a  sheet  of  paper.  •  Write  your  ideas  for  ways  to  work  towards  

the  goal  on  the  paper.  •  Ager  three  minutes,  pass  your  paper  to  the  

next  person.  •  Read  the  ideas  on  the  paper  you  got,  and  

add  more  of  your  own.  •  Con0nue  un0l  each  person  has  wriYen  on  

each  paper.          

 

Page 14: Code mashadvancedtopicsworkshop

14

Round  2:  Outcomes  

Experiments  Stories          

 

Page 15: Code mashadvancedtopicsworkshop

15

Communica0ng  around  a  whiteboard  

       

 

Page 16: Code mashadvancedtopicsworkshop

Sub  topic  

Sub  topic  

Sub  topic  

Mind  Mapping  as  a  Tool  

MAIN  TOPIC  

Sub  topic  

Sub  topic  

first  4me  

change  

new  account  

password  rules  

encryp4on  

save   user  name  

rules  

16  

Page 17: Code mashadvancedtopicsworkshop

17

Round  3:  Brainstorm  with  drawing  

For  your  third-­‐highest-­‐priority  goal:  •  Gather  around  a  big  sheet  of  paper  •  Start  discussing  ideas  for  working  towards  

the  goal.  Draw  as  you  talk.  You  can  draw  a  mind  map,  flow  diagram,  pictures,  whatever  helps  you  think.  

         

 

Page 18: Code mashadvancedtopicsworkshop

18

Round  3:  Outcomes  

Did  drawing  help?  Experiments  Stories          

 

Page 19: Code mashadvancedtopicsworkshop

19

Round  4:  If  you  had  superpowers…  For  your  fourth-­‐highest-­‐priority  goal:  What  if  you  had  superpowers?  What  superpowers  would  help  you  work  towards  the  goal?              

 

For  example:  my  goal  is  to  reduce  the  average  0me  I  spend  on  each  customer  support  0cket  by  20%  within  the  next  two  months.  Mind-­‐reading  ability  would  help  me  achieve  that  because  I’d  know  what  they’re  really  doing/asking.    

Page 20: Code mashadvancedtopicsworkshop

20

Round  4:  Outcomes  

What’s  the  most  useful  super-­‐power?  Experiments  Stories          

 

Page 21: Code mashadvancedtopicsworkshop

21

More  Resources  

The  following  slides  may  be  helpful  for  topics  we  discuss,  or  for  future  reference.  

We’ll  write  down  resources,  and  there’s  a  separate  list  of  useful  links  

       

 

Page 22: Code mashadvancedtopicsworkshop

22

Agile  Tes0ng  Quadrants                

Page 23: Code mashadvancedtopicsworkshop

ATDD  (Acceptance  Test  Driven  Development)  

User  Story  

Expand  Tests  

High  level  AT  

Auto-­‐  mate  tests  

Code  &  

Execute  tests  

Explore    

Exploratory  Tes0ng  

Accept  Story  

Fix  defects  

Explore  examples  

23  

Page 24: Code mashadvancedtopicsworkshop

24

Choosing  Tools  

§  Team  effort  §  Time  §  Requirements  §  Focus  on  goals,  problems,  not  tools.  §  Experiment          

 

Page 25: Code mashadvancedtopicsworkshop

•  Enables  testers  /  business  to  define  tests  

•  test  code  can  be  in  programming  language  

•  Programmers  can  run  tests  as  they  code  

•  Testers  can  ask  programmers  for  help  

•  Takes  0me  from  ‘coding’  produc0on  code  

•  Tests  are  usually  through  the  UI  

•  Programmers  aren’t  usually  willing  to  help  

•  Tests  are  implemented  ager  the  code  is  wriYen  

•  Testers  create  and  implement  all  tests  

25  

Page 26: Code mashadvancedtopicsworkshop

26

Understand  the  Purpose  

§  Who’s  using  the  tests?  What  for?  §  What’s  being  automated?  §  Exis0ng  tools,  environment  §  Who’s  doing  what  for  automa0ng?          

 

Page 27: Code mashadvancedtopicsworkshop

27

What  Fits  Your  Situa0on  •  Exis0ng  skills    •  Language  of  applica0on  under  test  •  Collabora0on  needs  •  What’s  being  automated  •  Life  span,  future  use  of  tests            

 

Page 28: Code mashadvancedtopicsworkshop

√  

Page 29: Code mashadvancedtopicsworkshop

29  

Pairing  for  Tes4ng  

Tester-Designer�

Tester-Support �

Tester-Tester�

Tester-Coder�

Analyst, DBA, Sys Admin, Customer…�

Tester-Marketer�

Page 30: Code mashadvancedtopicsworkshop

30  

The  key  is  “sustainable  pace”  

Technical  debt  slows  us  down    

     

   

       

Page 31: Code mashadvancedtopicsworkshop

Story  Mapping  

   

Ac0vi0es  by  0me  

Child  Storie

s  

From  Janet  Gregory  &  Ma?  Barcomb  

Jeff  PaYon:  hYp://www.agileproductdesign.com/blog/the_new_backlog.html  

Page 32: Code mashadvancedtopicsworkshop

From  Janet  Gregory  &  Ma?  Barcomb  

Story  Mapping  

Page 33: Code mashadvancedtopicsworkshop

Mul0-­‐  discipline  skills  Expert  /  Discipline  skills  

Page 34: Code mashadvancedtopicsworkshop

Breadth of Skills

Dep

th o

f Ski

lls

T-­‐shaped  Skill-­‐set  

See  links  for  more  by  Rob  Lambert  and  Adam  P.  Knight  

Page 35: Code mashadvancedtopicsworkshop

Test  Automa0on  Volcano  

From  MaY  Barcomb  

Page 36: Code mashadvancedtopicsworkshop

Source:  Gojko  Adzic,  StarEast  2011  keynote  

Page 37: Code mashadvancedtopicsworkshop

Source:  Gojko  Adzic,  StarEast  2011  keynote  

Page 38: Code mashadvancedtopicsworkshop

38

Learn  to  write  maintainable  tests  §  Get  over  the  “hump  of  pain”                

From  Gerard  Meszaros’  XUnit  Test  Pa?erns  

Page 39: Code mashadvancedtopicsworkshop

39

Tests  as  Living  Documenta0on  §  Understandable  §  Who  will  really  use  them?  §  Once  passing,  must  always  pass                        

 

Page 40: Code mashadvancedtopicsworkshop

40  

Supportive Culture�

Page 41: Code mashadvancedtopicsworkshop

41  

The right infrastructure �

Page 42: Code mashadvancedtopicsworkshop

42  

The right people �