Do  Testers  Have  to  Code…
Quality	
  in	
  Agile	
  Conference	
  
Vancouver,	
  Canada	
  April	
  2015	
  
	
  
Lisa	
  Crispin	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Janet	
  Gregory	
  
@lisacrispin	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  @janetgregoryca	
  
to  be  useful?
A  li7le  about  us
Janet	
  
First	
  agile	
  team:	
  	
  2000	
  
Currently	
  coaching,	
  	
  training	
  
TwiGer:	
  	
  janetgregoryca	
  
Email:	
  janet@agiletester.ca	
  
Agile	
  TesJng;	
  2009	
  
More	
  Agile	
  TesJng:	
  Oct	
  2014	
  
Website:	
  	
  
www.agiletester.com	
  	
  
www.agiletester.ca	
  
Lisa	
  	
  	
  
First	
  agile	
  team	
  –	
  2000	
  
Currently	
  tester	
  on	
  Pivotal	
  Tracker	
  team	
  
TwiGer:	
  	
  lisacrispin	
  
Email:	
  lisa@agiletester.ca	
  
We’ve	
  heard	
  it	
  since	
  the	
  dawn	
  of	
  “agile”…	
  
Everyone on the team should be able to do
everything, including writing production
code
We need to automate
everything! 

Let’s hire some SDETs!

But shouldn’t we be trying
to build quality in?
Reality  Check…
•  Many	
  (if	
  not	
  most)	
  job	
  ads	
  ask	
  for	
  
programming	
  skills	
  
•  Managers	
  think	
  test	
  automaJon	
  is	
  a	
  silver	
  
bullet	
  
•  Technical	
  skills	
  help	
  testers	
  communicate	
  
with	
  devs,	
  ops,	
  others	
  
Our  take
•  TesJng	
  skills	
  such	
  as	
  exploratory	
  tesJng	
  are	
  a	
  must	
  
•  Competencies	
  trump	
  roles	
  
•  The	
  whole	
  team	
  must	
  take	
  responsibility	
  for	
  quality	
  
•  TesJng	
  starts	
  at	
  the	
  beginning	
  
•  Know	
  what	
  you	
  need	
  to	
  add	
  value	
  
•  There	
  is	
  no	
  room	
  for	
  zombie	
  testers!	
  
It’s  a  Mindset  Switch
Instead	
  of	
  	
  
•  We’re	
  here	
  to	
  find	
  bugs	
  …	
  or	
  ensure	
  
requirements	
  are	
  met	
  …	
  or	
  break	
  the	
  sobware	
  
…	
  
7	
  
Think	
  
– How	
  do	
  we	
  “bake	
  quality	
  in”?	
  
– ..and	
  how	
  can	
  we	
  help	
  deliver	
  sobware	
  successfully?	
  
Testers	
  need	
  	
  
Technical	
  Awareness	
  !!	
  	
  
Agile	
  teams	
  already	
  have	
  coders,	
  but…	
  
Feature	
  
(with	
  
examples)	
   User	
  
Story	
  
High-­‐
Level	
  
AT	
  
Fix	
  
Defects	
  
Code,	
  test	
  &	
  automate	
  story	
  
ATDD
Acceptance  Test  Driven  Development
Accept	
  
Story	
  
Explore	
  
Examples	
  
This  means  learning…
•  TesJng	
  framework	
  your	
  team	
  selects	
  
•  and	
  the	
  DSL	
  (domain	
  specific	
  language)	
  
•  Common	
  language	
  with	
  programmers	
  
•  Common	
  language	
  with	
  customers	
  
•  Code	
  to	
  read	
  &	
  understand	
  	
  
•  Code	
  to	
  write?	
  –	
  can’t	
  hurt,	
  but	
  not	
  
absolutely	
  required	
  
Frameworks  /  languages  /  terminology
Example	
  of	
  BDD	
  format	
  
Given	
  the	
  user	
  has	
  no	
  exisJng	
  account	
  
When	
  she	
  requests	
  to	
  create	
  a	
  new	
  account	
  
And	
  she	
  enters	
  a	
  valid	
  user	
  name	
  and	
  valid	
  password	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
(rules	
  defined)	
  	
  
Then	
  the	
  informaJon	
  is	
  saved	
  upon	
  submilng.	
  
	
  
Understand  Programming  Concepts
Common	
  
vocabulary	
  
IDEs    (integrated  development  environment)
If you use same
tools as
teammates…

…they can more
easily help you
Maintain your own 

•  Linux/Unix

•  Windows

•  Mac

•  Deploys 


Maintain  Test  Environments
Examples:    Share  Stories
Workflows,	
  Journeys	
  
Know  Your  Domain
 	
  
Thinking  Skills
CollaboraRng,  CommunicaRng
•  Ubiquitous	
  language	
  
•  Examples	
  
•  QuesJon	
  
	
  
Delivering  InformaRon
•  Oben	
  bad	
  news!	
  
•  CollaboraJve	
  approach	
  –	
  “Show	
  me”	
  
1.  Form	
  groups	
  of	
  three	
  
2.  Who	
  has	
  the	
  most	
  unusual	
  hobby?	
  	
  
3.  Explain	
  it	
  to	
  the	
  other	
  two	
  in	
  one	
  minute.	
  	
  
SJcker	
  by	
  Brian	
  Marick	
  
Testers  add  unique  value
•  Delivery	
  teams	
  already	
  have	
  coders	
  
•  But	
  may	
  not	
  have	
  tesJng	
  skills	
  such	
  as:	
  
•  Exploratory	
  tesJng	
  
•  SpecialJes	
  such	
  as	
  security,	
  performance,	
  UX	
  
tesJng	
  
•  EliciJng	
  examples	
  from	
  customers,	
  turning	
  into	
  
tests	
  that	
  guide	
  coding	
  
MulJ-­‐	
  discipline	
  
skills	
  
Expert	
  	
  
Discipline	
  skills	
  
T-­‐Shaped  Skills
Breadth of Skills
DepthofSkills
Square-­‐shaped  Team
See	
  links	
  for	
  
more	
  by	
  Rob	
  
Lambert	
  and	
  
Adam	
  P.	
  Knight	
  
Cube-­‐shaped  Skills!
Idea	
  from	
  Marcelo	
  Leite	
  
Where  to  get  the  skills?
Experiment!	
  
•  Study	
  group,	
  book	
  club	
  
•  Community	
  of	
  PracJce	
  
•  Online	
  resources	
  
•  What	
  fits	
  your	
  learning	
  
style?	
  
•  Find	
  the	
  wonder!	
  
What  skill  do  you  need?
•  Get	
  back	
  with	
  your	
  group	
  of	
  
three	
  
•  IdenJfy	
  one	
  skill	
  that	
  would	
  
help	
  you	
  collaborate	
  with	
  team	
  
members	
  to	
  build	
  quality	
  in	
  
•  Think	
  of	
  an	
  experiment	
  that	
  
could	
  help	
  you	
  learn	
  the	
  skill	
  
So,  do  we  need  to  be  coders?
•  Dev	
  teams	
  already	
  have	
  
coders!	
  
•  Technical	
  awareness	
  is	
  a	
  must	
  
•  Thinking	
  skills	
  enable	
  our	
  
contribuJons	
  
•  Specialized	
  tesJng	
  skills	
  add	
  
huge	
  value	
  
There’s  not  one  right  way  
    
Find  ways  that  you  can  add  value  
to  your  team  
    
And  then  ….  keep  learning    
More  Learning
•  Adzic,	
  Gojko,	
  Specifica5on	
  by	
  Example:	
  How	
  Successful	
  Teams	
  Deliver	
  the	
  Right	
  
SoAware,	
  Manning,	
  2011	
  
•  Adzic,	
  Gojko,	
  Impact	
  Mapping:	
  Making	
  a	
  Big	
  Impact	
  with	
  SoAware	
  Products	
  
and	
  Projects,	
  2012a	
  hGp://impactmapping.org	
  
•  Gärtner,	
  Markus,	
  ATDD	
  By	
  Example:	
  A	
  Prac5cal	
  Guide	
  to	
  Acceptance	
  Test-­‐
Driven	
  Development,	
  Addison-­‐Wesley,	
  2012a	
  
•  Karten,	
  Naomi,	
  "Are	
  You	
  Listening?",	
  hGp://www.agileconnecJon.com/arJcle/
are-­‐you-­‐listening,	
  Agile	
  ConnecJon,	
  2009	
  
•  Keogh,	
  Liz,	
  hGp://lunivore.com	
  -­‐	
  look	
  for	
  her	
  posts	
  on	
  BDD,	
  Real	
  OpJons	
  
•  Knight,	
  Adam	
  P.,	
  "T-­‐shaped	
  Tester,	
  Square	
  Shaped	
  Team",	
  hGp://
thesocialtester.co.uk/t-­‐shaped-­‐tester-­‐square-­‐shaped-­‐team/,	
  2013	
  
•  Lambert,	
  Rob,	
  "T-­‐shaped	
  Testers	
  and	
  Their	
  Role	
  In	
  a	
  Team",	
  hGp://
thesocialtester.co.uk/t-­‐shaped-­‐testers-­‐and-­‐their-­‐role-­‐in-­‐a-­‐team/	
  ,	
  2012	
  
•  Levison,	
  Mark,	
  "The	
  Beginner's	
  Mind	
  -­‐	
  An	
  Approach	
  to	
  Listening",	
  hGp://
www.infoq.com/news/2008/08/beginners_mind,	
  InfoQ,	
  2008	
  
•  McMillan,	
  Darren,	
  "Mind	
  Mapping	
  101",	
  for	
  TesJng:	
  hGp://
www.beGertesJng.co.uk/content/?p=956,	
  2011	
  
•  PaGon,	
  Jeff,	
  User	
  Story	
  Mapping,	
  2014	
  
•  Wynne,	
  MaG	
  and	
  Aslak	
  Hellesoy,	
  The	
  Cucumber	
  Book:	
  Behavior-­‐Driven	
  
Development	
  for	
  Testers	
  and	
  Developers,	
  PragmaJc	
  Programmers,	
  2012	
  
Agile	
  Tes5ng:	
  A	
  Prac5cal	
  Guide	
  for	
  Testers	
  and	
  Agile	
  Teams	
  
More	
  Agile	
  Tes5ng:	
  Learning	
  Journeys	
  for	
  the	
  Whole	
  Team	
  
By	
  Janet	
  Gregory	
  and	
  Lisa	
  Crispin	
  	
  
www.agiletester.ca	
  
www.agiletester.com	
  
Contact	
  info	
  
www.janetgregory.ca	
  
Email:	
  janet@agiletester.ca	
  
TwiGer:	
  janetgregoryca	
  
32	
  
lisacrispin.com	
  
Email:	
  lisa@agiletester.ca	
  
TwiGer:	
  lisacrispin	
  
	
  

Do testers have to code... to be useful?

  • 1.
    Do  Testers  Have to  Code… Quality  in  Agile  Conference   Vancouver,  Canada  April  2015     Lisa  Crispin                                      Janet  Gregory   @lisacrispin                              @janetgregoryca   to  be  useful?
  • 2.
    A  li7le  about us Janet   First  agile  team:    2000   Currently  coaching,    training   TwiGer:    janetgregoryca   Email:  janet@agiletester.ca   Agile  TesJng;  2009   More  Agile  TesJng:  Oct  2014   Website:     www.agiletester.com     www.agiletester.ca   Lisa       First  agile  team  –  2000   Currently  tester  on  Pivotal  Tracker  team   TwiGer:    lisacrispin   Email:  lisa@agiletester.ca  
  • 3.
    We’ve  heard  it  since  the  dawn  of  “agile”…   Everyone on the team should be able to do everything, including writing production code
  • 4.
    We need toautomate everything! Let’s hire some SDETs! But shouldn’t we be trying to build quality in?
  • 5.
    Reality  Check… •  Many  (if  not  most)  job  ads  ask  for   programming  skills   •  Managers  think  test  automaJon  is  a  silver   bullet   •  Technical  skills  help  testers  communicate   with  devs,  ops,  others  
  • 6.
    Our  take •  TesJng  skills  such  as  exploratory  tesJng  are  a  must   •  Competencies  trump  roles   •  The  whole  team  must  take  responsibility  for  quality   •  TesJng  starts  at  the  beginning   •  Know  what  you  need  to  add  value   •  There  is  no  room  for  zombie  testers!  
  • 7.
    It’s  a  Mindset Switch Instead  of     •  We’re  here  to  find  bugs  …  or  ensure   requirements  are  met  …  or  break  the  sobware   …   7   Think   – How  do  we  “bake  quality  in”?   – ..and  how  can  we  help  deliver  sobware  successfully?  
  • 8.
    Testers  need     Technical  Awareness  !!     Agile  teams  already  have  coders,  but…  
  • 9.
    Feature   (with   examples)   User   Story   High-­‐ Level   AT   Fix   Defects   Code,  test  &  automate  story   ATDD Acceptance  Test  Driven  Development Accept   Story   Explore   Examples  
  • 10.
    This  means  learning… • TesJng  framework  your  team  selects   •  and  the  DSL  (domain  specific  language)   •  Common  language  with  programmers   •  Common  language  with  customers   •  Code  to  read  &  understand     •  Code  to  write?  –  can’t  hurt,  but  not   absolutely  required  
  • 11.
    Frameworks  /  languages /  terminology Example  of  BDD  format   Given  the  user  has  no  exisJng  account   When  she  requests  to  create  a  new  account   And  she  enters  a  valid  user  name  and  valid  password                       (rules  defined)     Then  the  informaJon  is  saved  upon  submilng.    
  • 12.
  • 13.
    IDEs    (integrated development  environment) If you use same tools as teammates… …they can more easily help you
  • 14.
    Maintain your own •  Linux/Unix •  Windows •  Mac •  Deploys Maintain  Test  Environments
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
    CollaboraRng,  CommunicaRng •  Ubiquitous  language   •  Examples   •  QuesJon    
  • 20.
    Delivering  InformaRon •  Oben  bad  news!   •  CollaboraJve  approach  –  “Show  me”  
  • 21.
    1.  Form  groups  of  three   2.  Who  has  the  most  unusual  hobby?     3.  Explain  it  to  the  other  two  in  one  minute.    
  • 22.
  • 23.
    Testers  add  unique value •  Delivery  teams  already  have  coders   •  But  may  not  have  tesJng  skills  such  as:   •  Exploratory  tesJng   •  SpecialJes  such  as  security,  performance,  UX   tesJng   •  EliciJng  examples  from  customers,  turning  into   tests  that  guide  coding  
  • 24.
    MulJ-­‐  discipline   skills   Expert     Discipline  skills   T-­‐Shaped  Skills
  • 25.
    Breadth of Skills DepthofSkills Square-­‐shaped Team See  links  for   more  by  Rob   Lambert  and   Adam  P.  Knight  
  • 26.
  • 27.
    Where  to  get the  skills? Experiment!   •  Study  group,  book  club   •  Community  of  PracJce   •  Online  resources   •  What  fits  your  learning   style?   •  Find  the  wonder!  
  • 28.
    What  skill  do you  need? •  Get  back  with  your  group  of   three   •  IdenJfy  one  skill  that  would   help  you  collaborate  with  team   members  to  build  quality  in   •  Think  of  an  experiment  that   could  help  you  learn  the  skill  
  • 29.
    So,  do  we need  to  be  coders? •  Dev  teams  already  have   coders!   •  Technical  awareness  is  a  must   •  Thinking  skills  enable  our   contribuJons   •  Specialized  tesJng  skills  add   huge  value  
  • 30.
    There’s  not  one right  way       Find  ways  that  you  can  add  value   to  your  team       And  then  ….  keep  learning    
  • 31.
    More  Learning •  Adzic,  Gojko,  Specifica5on  by  Example:  How  Successful  Teams  Deliver  the  Right   SoAware,  Manning,  2011   •  Adzic,  Gojko,  Impact  Mapping:  Making  a  Big  Impact  with  SoAware  Products   and  Projects,  2012a  hGp://impactmapping.org   •  Gärtner,  Markus,  ATDD  By  Example:  A  Prac5cal  Guide  to  Acceptance  Test-­‐ Driven  Development,  Addison-­‐Wesley,  2012a   •  Karten,  Naomi,  "Are  You  Listening?",  hGp://www.agileconnecJon.com/arJcle/ are-­‐you-­‐listening,  Agile  ConnecJon,  2009   •  Keogh,  Liz,  hGp://lunivore.com  -­‐  look  for  her  posts  on  BDD,  Real  OpJons   •  Knight,  Adam  P.,  "T-­‐shaped  Tester,  Square  Shaped  Team",  hGp:// thesocialtester.co.uk/t-­‐shaped-­‐tester-­‐square-­‐shaped-­‐team/,  2013   •  Lambert,  Rob,  "T-­‐shaped  Testers  and  Their  Role  In  a  Team",  hGp:// thesocialtester.co.uk/t-­‐shaped-­‐testers-­‐and-­‐their-­‐role-­‐in-­‐a-­‐team/  ,  2012   •  Levison,  Mark,  "The  Beginner's  Mind  -­‐  An  Approach  to  Listening",  hGp:// www.infoq.com/news/2008/08/beginners_mind,  InfoQ,  2008   •  McMillan,  Darren,  "Mind  Mapping  101",  for  TesJng:  hGp:// www.beGertesJng.co.uk/content/?p=956,  2011   •  PaGon,  Jeff,  User  Story  Mapping,  2014   •  Wynne,  MaG  and  Aslak  Hellesoy,  The  Cucumber  Book:  Behavior-­‐Driven   Development  for  Testers  and  Developers,  PragmaJc  Programmers,  2012  
  • 32.
    Agile  Tes5ng:  A  Prac5cal  Guide  for  Testers  and  Agile  Teams   More  Agile  Tes5ng:  Learning  Journeys  for  the  Whole  Team   By  Janet  Gregory  and  Lisa  Crispin     www.agiletester.ca   www.agiletester.com   Contact  info   www.janetgregory.ca   Email:  janet@agiletester.ca   TwiGer:  janetgregoryca   32   lisacrispin.com   Email:  lisa@agiletester.ca   TwiGer:  lisacrispin