SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Growing	
  Manual	
  Testers	
  	
  
into	
  Automators	
  
Camille	
  Bell	
  
cbell@CamilleBellConsul0ng.com	
  
Twi5er	
  @agilecamille	
  
Agile	
  DC	
  2015	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  October	
  26,	
  2015	
  
Obvious	
  Limits	
  of	
  Manual	
  Tes6ng	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  2	
  
Itera6ons	
  
Time	
  	
  
Time	
  Needed	
  
Time	
  Available	
  
New	
  Features	
   Regression	
  
Simplifica)on:	
  	
  	
  	
  	
  e.g.	
  Doesn't	
  include	
  
interac)on	
  of	
  new	
  &	
  exis)ng	
  features	
  
Delay	
  in	
  Tes6ng	
  
(both	
  manual	
  &	
  capture/playback)	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  3	
  
Dev.	
   Months	
   Test	
  
Dev.	
   Test	
  
Dev.	
   Test	
  
Dev.	
   Test	
  
Days	
  
Weeks	
  
Even	
  in	
  the	
  best	
  case	
  tes)ng	
  is	
  a@er	
  development	
  coding.	
  
•  Keystroke,	
  mouse	
  capture	
  
•  Test	
  briLle	
  (trivial	
  UI	
  changes	
  
break	
  tests)	
  
•  Hard	
  coded	
  test	
  data	
  
•  Lots	
  of	
  duplica6on	
  
•  Test	
  modifica6on	
  near	
  
impossible	
  (spagheP	
  code	
  
when	
  accessible)	
  
•  No	
  control	
  mechanisms	
  (for	
  
looping,	
  etc.)	
  
•  Doesn't	
  scale	
  
•  Over	
  6me	
  degrades	
  so	
  much	
  
as	
  to	
  become	
  throw	
  away	
  
•  Etc.	
  
•  Tests	
  wriLen	
  aSer	
  
implementa6on	
  
•  Not	
  in	
  business	
  language	
  
•  Doesn't	
  facilitate	
  collabora6on	
  
•  Doesn't	
  drive	
  developer	
  progress	
  
(not	
  executable	
  un6l	
  aSer	
  
development)	
  
•  Encourages	
  finger	
  poin6ng	
  
•  Not	
  an	
  executable	
  specifica6on	
  
•  Etc.	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  4	
  
Capture/Playback	
  Tes6ng	
  Fails	
  Because:	
  
These	
  Are	
  All	
  The	
  Same	
  Thing	
  
•  Acceptance	
  Test	
  Driven	
  Development	
  	
  (ATDD)	
  
•  Behavior	
  Driven	
  Development	
  (BDD)	
  
•  Story	
  Driven	
  Development	
  
•  Specifica6on	
  by	
  Example	
  
–  Minor	
  subtle	
  difference	
  don't	
  maLer	
  for	
  most	
  purposes	
  
–  Collaborate	
  to	
  define	
  detailed	
  acceptance	
  criteria	
  before	
  developing	
  
applica6on	
  code,	
  turn	
  those	
  into	
  executable	
  acceptance	
  tests	
  (before	
  
developing	
  applica6on	
  code),	
  watch	
  them	
  fail	
  (no	
  app)	
  and	
  later	
  
pass,	
  when	
  app	
  func6onality	
  implemented	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  5	
  
Collabora6vely	
  (Spec	
  it/define	
  tests)	
  
•  Some6mes	
  called	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
the	
  3	
  Amigos	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
(test,	
  dev,	
  business)	
  
•  Conversa6on	
  based	
  
•  Focus	
  on	
  value	
  
•  Specific	
  examples	
  
•  Concrete	
  data	
  
•  Outside	
  in	
  (business	
  focus	
  
drives	
  development)	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  6	
  
Three	
  Parts	
  of	
  Wri6ng	
  any	
  Test	
  
Cucumber	
   3	
  As	
  
Ruby	
  
3	
  As	
  
Java	
  
Formal	
  Testers	
   What	
  it	
  is	
  
Given	
   Assemble	
   Arrange	
  	
   Precondi6on	
   All	
  the	
  setup	
  and	
  
dependencies	
  for	
  the	
  
test	
  
When	
   Ac6vate	
   Act	
   Ac6on/Event	
   Something	
  that	
  
happens	
  that	
  will	
  
make	
  the	
  outcome	
  
different	
  than	
  if	
  it	
  
hadn’t	
  happened	
  
Then	
   Assert	
   Assert	
   Expected	
  
Results	
  or	
  
Postcondi6on	
  
What	
  is	
  expected	
  to	
  
happen	
  and	
  any	
  side	
  
effects	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  7	
  
Test	
  Automa6on	
  Has	
  2	
  Sides	
  
Business	
  Facing	
  
•  Simple	
  English	
  
•  In	
  business	
  terms	
  
•  Promotes	
  collabora6on	
  
•  Uses	
  examples	
  
•  Uses	
  concrete	
  data	
  
•  Proves	
  business	
  needs	
  met	
  
•  Executable	
  specifica6on	
  
•  Modifiable	
  &	
  reusable	
  
Technology	
  Facing	
  
•  Exercises	
  underlying	
  SW	
  
•  Connects	
  to	
  browsers,	
  
networks,	
  databases,	
  
frameworks,	
  etc,	
  
•  Object	
  Oriented	
  
•  Extensive	
  test	
  libraries	
  
•  Modifiable	
  &	
  reusable	
  
•  Learnable	
  programming	
  
language	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  8	
  
Business	
  Facing	
  
•  User	
  Stories,	
  especially	
  those	
  created	
  though	
  story	
  mapping,	
  
are	
  a	
  good	
  place	
  to	
  start	
  talking	
  about	
  acceptance	
  criteria	
  
•  That	
  can	
  lead	
  to	
  thinking	
  about	
  categories	
  of	
  test	
  scenarios	
  
(test	
  6tles)	
  
•  Given,	
  When,	
  Then	
  	
  comes	
  next	
  
•  Make	
  sure	
  there	
  is	
  concrete	
  test	
  data	
  
•  Let's	
  see	
  how	
  it	
  works	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  9	
  
Acceptance	
  Criteria	
  will	
  become	
  our	
  specs	
  	
  
when	
  they	
  have	
  details	
  	
  
Feature: Cash Withdrawal
In order to get money when the
bank is closed
As a bank customer
I want to withdraw cash at the ATM
• 	
  Successful	
  Withdrawal	
  
• 	
  	
  Less	
  than	
  balance	
  
• 	
  	
  Equal	
  to	
  balance	
  
• 	
  Withdrawal	
  Failed	
  Due	
  to	
  
Insufficient	
  Funds	
  
• 	
  Withdrawal	
  Failed	
  Because	
  
Cash	
  Dispenser	
  Doesn’t	
  
Dispense	
  One	
  Dollar	
  Bills	
  
• 	
  Withdrawal	
  Failed	
  Because	
  
Account	
  Closed	
  
First	
  Cut	
  Acceptance	
  Criteria	
  for	
  several	
  tests	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  10	
  
• 	
  Successful	
  Withdrawal	
  
(less	
  than	
  balance)	
  
Given my account has
starting balance of $1000
When I withdraw $200
Then $200 should be
dispensed
And the ending balance of
my account should be $800
Given,	
  When,	
  Then	
  format	
  –	
  	
  
Business	
  language	
  with	
  unambiguous	
  detail	
  	
  
Detailed	
  Acceptance	
  Criteria	
  
These	
  detailed	
  acceptance	
  criteria	
  are	
  
acceptance	
  tests	
  that	
  are	
  executable	
  specs	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  11	
  
•  Though	
  users	
  only	
  sees	
  the	
  UI,	
  Acceptance	
  Tests	
  exercise	
  
behavior	
  of	
  	
  the	
  en6re	
  applica6on	
  stack	
  (network,	
  DB,	
  etc.).	
  	
  
•  However	
  since	
  capture	
  playback	
  causes	
  so	
  many	
  problems,	
  we	
  
needed	
  a	
  beLer	
  way	
  to	
  automate,	
  including:	
  
–  Modeling	
  behavior,	
  so	
  it	
  is	
  easier	
  to	
  modify	
  
–  Working	
  in	
  non-­‐proprietary	
  programming	
  language	
  testers	
  can	
  
learn	
  
–  Having	
  good	
  test	
  architecture	
  and	
  design	
  
–  Exercising	
  good	
  programming	
  prac6ces	
  (D.R.Y.,	
  meaningful	
  
variable	
  names,	
  etc.)	
  
–  Following	
  good	
  code	
  management	
  (frequent	
  check-­‐ins,	
  simple	
  
branch	
  structure,	
  frequent	
  merging	
  with	
  trunk/main,	
  etc.)	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  12	
  
Technology	
  Facing	
  
Features	
  
Scenarios	
  
Automa6on	
  Libraries	
  
(e.g.	
  rspec,	
  page-­‐object,	
  
wa6r-­‐webdriver,	
  etc.)	
  
Support	
  Code	
  
(e.g.	
  env.rb,	
  hooks.rb,	
  Gemfile,	
  
your	
  custom	
  page	
  objects)	
  
Business	
  
Facing	
  
Technology	
  
Facing	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  13	
  
Step	
  Defini6ons	
  
Cucumber/PageObject	
  Technology	
  Stack	
  
Gherkin	
  
(English-­‐like	
  
business	
  
language)	
  	
  
Built-­‐in	
  Ruby	
  
Libraries	
  for	
  
Tes6ng	
  	
  	
  
Ruby	
  	
  
(oSen	
  modified	
  
templates)	
  
Steps	
  wriLen	
  in	
  
Ruby	
  
Steps	
  
•  Cucumber	
  can	
  be	
  used	
  with	
  other	
  programming	
  languages	
  
•  But	
  the	
  Ruby	
  implementa6on	
  comes	
  with	
  much	
  more	
  out	
  of	
  
the	
  box	
  than	
  any	
  other	
  implementa6on	
  
•  For	
  example	
  Ruby	
  libraries	
  already	
  exist	
  to	
  model	
  	
  
–  web	
  pages	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  PageObject	
  
–  iPhone	
  screens	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ScreenObject	
  
–  3270	
  green	
  screens	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  TE3270	
  	
  
–  XML	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Nokogiri	
  
–  etc.	
  
•  In	
  other	
  languages	
  testers	
  have	
  to	
  write	
  a	
  lot	
  of	
  complicated	
  
code	
  that's	
  included	
  with	
  Ruby	
  
•  And	
  Ruby	
  is	
  easiest	
  for	
  testers	
  to	
  learn	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  14	
  
Why	
  Ruby?	
  
•  Yes,	
  assuming	
  we're	
  tes6ng	
  a	
  web	
  app	
  
•  The	
  stack	
  includes	
  wa6r-­‐webdriver,	
  which	
  is	
  a	
  combina6on	
  
of	
  Selenium	
  and	
  Wa6r	
  
–  Which	
  is	
  fully	
  programmable	
  
–  Can	
  be	
  accessed	
  though	
  PageObject	
  
–  And	
  is	
  good	
  
•  NOT	
  the	
  Selenium	
  IDE	
  
–  Which	
  is	
  capture/playback	
  
–  And	
  is	
  bad	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  15	
  
Don't	
  We	
  Also	
  Need	
  a	
  Web	
  Interface?	
  
Tester	
  Behavior	
  &	
  System	
  Access	
  	
  
•  Testers	
  no	
  longer	
  just	
  use	
  a	
  test	
  tool	
  -­‐	
  they	
  develop	
  test	
  code	
  
•  Testers	
  now	
  will	
  oSen	
  behave	
  like	
  devs.	
  Testers	
  will	
  
–  Write	
  code	
  
–  Run	
  code	
  
–  Lookup	
  error	
  messages	
  and	
  technical	
  info	
  on	
  the	
  web	
  
–  Check-­‐in	
  code	
  
–  Update	
  gems	
  and	
  other	
  SW	
  
–  Install	
  new	
  browsers	
  &	
  other	
  tools	
  
–  Etc.	
  
•  So	
  they	
  need	
  the	
  same	
  rights	
  and	
  privileges	
  as	
  devs.	
  For	
  most	
  
shops	
  this	
  means:	
  
–  Admin	
  rights	
  
–  Unrestricted	
  web	
  access	
  
–  Working	
  with	
  a	
  dev,	
  sys	
  admin	
  or	
  dev-­‐op	
  helps	
  for	
  beginning	
  installs	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  16	
  
Tools	
  and	
  Infrastructure	
  
•  Installa6on	
  details	
  for	
  Windows,	
  Mac	
  and	
  Linux	
  differ	
  
(documented	
  in	
  Cucumber	
  and	
  Cheese)	
  	
  
•  Testers	
  need	
  mul6ple	
  browsers	
  installed	
  (Firefox	
  and	
  
Chrome	
  plus	
  IE,	
  Safari	
  or	
  whatever	
  is	
  standard)	
  
•  Select	
  and	
  install	
  an	
  editor	
  or	
  IDE	
  {consider	
  Sublime	
  Text	
  
(text	
  editor)	
  or	
  RubyMine	
  (IDE)}	
  
•  Test	
  code	
  needs	
  to	
  be	
  under	
  source	
  control,	
  so	
  connect	
  to	
  
Git	
  (modern	
  choice)	
  or	
  other	
  Source	
  Control	
  
•  For	
  Ruby	
  Gem	
  security	
  and	
  other	
  updates	
  'github.org'	
  and	
  
'rubygems.org'	
  both	
  testers	
  and	
  the	
  CI	
  server	
  should	
  update	
  
their	
  Gemfile	
  regularly	
  
•  The	
  CI	
  needs	
  full	
  test	
  stack.	
  If	
  OSs	
  differ	
  (e.g.	
  Windows	
  vs.	
  
Linux)	
  some	
  gems	
  may	
  differ.	
  Jenkins	
  is	
  popular	
  CI	
  server.	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  17	
  
•  My	
  style:	
  
–  Ensure	
  all	
  infrastructure	
  for	
  every	
  trainee	
  
is	
  in	
  place	
  
–  First	
  teach	
  small	
  bit	
  of	
  Ruby	
  intro	
  for	
  non-­‐
programmers	
  
–  3	
  day	
  formal	
  class	
  on	
  ATDD/BDD	
  with	
  
Cucumber	
  with	
  lots	
  of	
  hands-­‐on	
  exercises	
  
–  Start	
  with	
  teaching	
  students	
  how	
  to	
  test	
  
exis6ng	
  web	
  pages	
  
–  Evolve	
  to	
  teaching	
  how	
  to	
  define	
  web	
  
pages	
  that	
  don't	
  exist	
  yet	
  
•  Resources	
  at	
  end	
  of	
  slides	
  
•  Don't	
  just	
  throw	
  a	
  book	
  or	
  web	
  site	
  at	
  
testers,	
  teach	
  them	
  &	
  guide	
  them	
  
Training	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  18	
  
Coaching	
  &	
  Daily	
  Prac6ce	
  
•  DON'T	
  JUST	
  TRAIN	
  -­‐	
  PRACTICE	
  
•  Technical	
  skills	
  take	
  6me	
  to	
  learn	
  
•  Requires	
  reinforcement	
  
•  Professional	
  coaches	
  really	
  help	
  
•  Pairing	
  with	
  devs	
  may	
  help	
  ease	
  
technical	
  learning	
  
•  Later	
  advanced	
  testers	
  could	
  
become	
  internal	
  coaches	
  
•  Prac6ce	
  3	
  amigos	
  
•  Mob	
  Programming	
  really	
  helps	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  19	
  
Two	
  co-­‐workers	
  pair	
  programming	
  
Mob	
  Programming	
  
•  Whole	
  team	
  works	
  together	
  
•  On	
  the	
  same	
  thing	
  
•  At	
  the	
  same	
  6me	
  
•  In	
  the	
  same	
  space	
  
•  Using	
  the	
  same	
  computer	
  
•  Driver	
  rotates	
  
•  Everyone	
  par6cipates	
  
•  Great	
  for	
  training	
  &	
  prac6ce	
  
•  Great	
  for	
  collabora6on	
  
•  Everyone	
  up	
  to	
  speed	
  faster	
  
•  Some	
  teams	
  mob	
  always	
  
•  Others	
  mob	
  frequently	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  20	
  
Demo	
  
Resources	
  
and	
  
References	
  
Resources	
  –	
  Free	
  Ruby	
  Info	
  
Ruby	
  101	
  –	
  the	
  basics:	
  (Learn	
  Ruby	
  
2.x	
  not	
  Ruby	
  1.9)	
  
•  On-­‐line	
  tutorials	
  –	
  my	
  favorite	
  is	
  
Ruby	
  Monk	
  	
  hLps://rubymonk.com	
  
Learn	
  to	
  navigate	
  the	
  documenta0on:	
  
•  Ruby's	
  built-­‐in	
  classes	
  and	
  methods	
  
are	
  very	
  rich.	
  
•  Testers	
  should	
  learn	
  to	
  check	
  if	
  the	
  
needed	
  func6onality	
  already	
  exists	
  
•  Ruby	
  docs	
  are	
  found	
  at	
  
hLp://ruby-­‐doc.org/	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  23	
  
ALL	
  
SOME	
  
Resources	
  –	
  Free	
  PageObject	
  Info	
  
Cheezy's	
  (Jeff	
  Morgan's)	
  Blog	
  
•  Other	
  Cheezy	
  blog	
  posts	
  are	
  also	
  
worthwhile	
  	
  
hLp://www.cheezyworld.com/
2011/07/29/introducing-­‐page-­‐
object-­‐gem/	
  
Official	
  documenta0on	
  
•  PageObject	
  is	
  a	
  gem.	
  
•  Like	
  most	
  gems,	
  it	
  and	
  its	
  
documenta6on	
  can	
  be	
  found	
  on	
  
GitHub	
  (scroll	
  down)	
  
hLps://github.com/cheezy/page-­‐
object	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  24	
  
Resources	
  –	
  Free	
  Detailed	
  Demo	
  
Cheezy's	
  Demo	
  Tes0ng	
  Puppies	
  Site	
  
•  Uses	
  RubyMine	
  IDE,	
  but	
  other	
  
editors	
  or	
  IDEs	
  work	
  fine	
  
•  Covers	
  a	
  later	
  example	
  from	
  
Cucumber	
  and	
  Cheese	
  book	
  resource	
  
•  1	
  hour	
  10	
  minute	
  YouTube	
  video	
  
hLps://www.youtube.com/watch?
v=zpt15XIjpas	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  25	
  
Resources	
  –	
  Free	
  Cucumber	
  Info	
  
Cucumber	
  Wikis	
  
•  Both	
  wikis	
  focus	
  on	
  headless	
  Cucumber	
  (not	
  in	
  browser	
  with	
  
PageObject),	
  but	
  provide	
  useful	
  info	
  on	
  Cucumber	
  and	
  Gherkin	
  
•  Older	
  Wiki	
  –	
  easy	
  to	
  explore	
  format,	
  contains	
  some	
  info	
  not	
  in	
  
new	
  wiki	
  hLps://github.com/cucumber/cucumber/wiki	
  
•  Newer	
  Wiki	
  –	
  contains	
  some	
  nice	
  blogs	
  and	
  plug	
  for	
  semi	
  
commercial	
  product	
  and	
  support	
  hLps://cucumber.io/	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  26	
  
Resources	
  –	
  Ruby	
  Books	
  
If	
  Ruby	
  Monk	
  is	
  too	
  challenging,	
  try	
  Learn	
  to	
  Program	
  
•  For	
  those	
  who	
  haven't	
  programmed	
  before	
  (most	
  manual	
  
testers)	
  
–  Learn	
  to	
  Program	
  -­‐	
  Second	
  Edi0on	
  by	
  Chris	
  Pine	
  
•  For	
  those	
  who	
  know	
  object-­‐oriented	
  programming	
  in	
  some	
  
other	
  language	
  (includes	
  more	
  Ruby	
  than	
  most	
  testers	
  will	
  
need)	
  
–  Programming	
  Ruby	
  1.9	
  &	
  2.0	
  by	
  Dave	
  Thomas	
  
•  For	
  a	
  problem-­‐based	
  approach	
  to	
  wri6ng	
  small	
  pieces	
  of	
  
Ruby	
  that	
  do	
  useful	
  things	
  
–  Everyday	
  Scrip0ng	
  with	
  Ruby	
  by	
  Brian	
  Marick	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  27	
  
Available	
  from	
  Amazon	
  or	
  the	
  Pragma6c	
  Bookstore	
  hLps://pragprog.com/	
  
Resources	
  –	
  Cheezy's	
  Book	
  
Cucumber	
  with	
  PageObject	
  
•  Covers	
  Cucumber,	
  Gherkin,	
  PageObject,	
  Wa6r,	
  Selenium,	
  etc.	
  
used	
  in	
  demo	
  
•  Step	
  by	
  step	
  tutorial	
  with	
  exercises	
  
•  SoScopy	
  only,	
  work	
  in	
  progress,	
  updated	
  periodically	
  
–  Cucumber	
  and	
  Cheese:	
  A	
  Testers	
  Workshop	
  by	
  Jeff	
  
Morgan	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  28	
  
	
  Available	
  only	
  from	
  Lean	
  Pub	
  hLps://leanpub.com/cucumber_and_cheese	
  	
  
Resources	
  –	
  Cucumber	
  Books	
  
Ignore	
  references	
  to	
  headless	
  Rails	
  tes0ng	
  unless	
  using	
  Rails	
  
•  Cucumber	
  with	
  Ruby	
  –	
  General	
  
–  The	
  Cucumber	
  Book:	
  Behavior-­‐Driven	
  Development	
  for	
  
Testers	
  and	
  Developers	
  by	
  MaL	
  Wynne	
  &	
  Aslak	
  Hellesoy	
  
•  Advanced	
  Cucumber	
  Topics	
  
–  The	
  Cucumber	
  Book:	
  Behavior-­‐Driven	
  Development	
  for	
  
Testers	
  and	
  Developers	
  by	
  Ian	
  Dees	
  and	
  MaL	
  Wynne	
  
cbell@CamilleBellConsul0ng.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  29	
  
Available	
  from	
  Amazon	
  or	
  the	
  Pragma6c	
  Bookstore	
  hLps://pragprog.com/	
  
Camille	
  Bell	
  
Agile	
  Technical	
  &	
  Process	
  Coaching	
  
Retrospec6ves	
  
Agile	
  Boot	
  Camps	
  	
  
Agile	
  Training	
  
Updated	
  Slides	
  
or	
  just	
  to	
  chat	
  about	
  things	
  agile	
  
cbell@CamilleBellConsul0ng.com	
  
Twi5er	
  @agilecamille	
  

Más contenido relacionado

La actualidad más candente

I Don't Test Often ...
I Don't Test Often ...I Don't Test Often ...
I Don't Test Often ...Gareth Bowles
 
Improving the Quality of Existing Software
Improving the Quality of Existing SoftwareImproving the Quality of Existing Software
Improving the Quality of Existing SoftwareSteven Smith
 
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzieHey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzieQA or the Highway
 
Promises in JavaScript with jQuery
Promises in JavaScript with jQueryPromises in JavaScript with jQuery
Promises in JavaScript with jQueryRyan Blunden
 
Test Driven Development with Laravel
Test Driven Development with LaravelTest Driven Development with Laravel
Test Driven Development with LaravelTyler Johnston
 
Westrich spock-assets-gum
Westrich spock-assets-gumWestrich spock-assets-gum
Westrich spock-assets-gumBrian Westrich
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Lars Thorup
 
Flexing your Agile Muscle - Agile Technical Concepts Explained
Flexing your Agile Muscle - Agile Technical Concepts ExplainedFlexing your Agile Muscle - Agile Technical Concepts Explained
Flexing your Agile Muscle - Agile Technical Concepts ExplainedSandy Mamoli
 
Living with acceptance tests: Beyond Write-Once (XP NYC)
Living with acceptance tests: Beyond Write-Once (XP NYC)Living with acceptance tests: Beyond Write-Once (XP NYC)
Living with acceptance tests: Beyond Write-Once (XP NYC)Daniel Wellman
 
Rspec and Capybara Intro Tutorial at RailsConf 2013
Rspec and Capybara Intro Tutorial at RailsConf 2013Rspec and Capybara Intro Tutorial at RailsConf 2013
Rspec and Capybara Intro Tutorial at RailsConf 2013Brian Sam-Bodden
 
Behavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shiftBehavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shiftAspire Systems
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsMike Brittain
 
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)Alvaro Sanchez-Mariscal
 
Selenium + Specflow
Selenium + SpecflowSelenium + Specflow
Selenium + Specflowcromwellryan
 
Automation testing in Agile project
Automation testing in Agile projectAutomation testing in Agile project
Automation testing in Agile projectHien Nguyen
 
Web based automation testing on Node.js environment
Web based automation testing on Node.js environmentWeb based automation testing on Node.js environment
Web based automation testing on Node.js environmentYu-Lin Huang
 
Producing Testable Requirements
Producing Testable RequirementsProducing Testable Requirements
Producing Testable RequirementsIntergen
 
Refactoring page objects The Screenplay Pattern
Refactoring page objects   The Screenplay Pattern Refactoring page objects   The Screenplay Pattern
Refactoring page objects The Screenplay Pattern RiverGlide
 

La actualidad más candente (20)

I Don't Test Often ...
I Don't Test Often ...I Don't Test Often ...
I Don't Test Often ...
 
Improving the Quality of Existing Software
Improving the Quality of Existing SoftwareImproving the Quality of Existing Software
Improving the Quality of Existing Software
 
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzieHey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
 
Promises in JavaScript with jQuery
Promises in JavaScript with jQueryPromises in JavaScript with jQuery
Promises in JavaScript with jQuery
 
Test Driven Development with Laravel
Test Driven Development with LaravelTest Driven Development with Laravel
Test Driven Development with Laravel
 
Westrich spock-assets-gum
Westrich spock-assets-gumWestrich spock-assets-gum
Westrich spock-assets-gum
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)
 
Flexing your Agile Muscle - Agile Technical Concepts Explained
Flexing your Agile Muscle - Agile Technical Concepts ExplainedFlexing your Agile Muscle - Agile Technical Concepts Explained
Flexing your Agile Muscle - Agile Technical Concepts Explained
 
Living with acceptance tests: Beyond Write-Once (XP NYC)
Living with acceptance tests: Beyond Write-Once (XP NYC)Living with acceptance tests: Beyond Write-Once (XP NYC)
Living with acceptance tests: Beyond Write-Once (XP NYC)
 
Developer Testing
Developer TestingDeveloper Testing
Developer Testing
 
Rspec and Capybara Intro Tutorial at RailsConf 2013
Rspec and Capybara Intro Tutorial at RailsConf 2013Rspec and Capybara Intro Tutorial at RailsConf 2013
Rspec and Capybara Intro Tutorial at RailsConf 2013
 
Behavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shiftBehavior Driven Testing - A paradigm shift
Behavior Driven Testing - A paradigm shift
 
Testable requirements
Testable requirementsTestable requirements
Testable requirements
 
Continuous Delivery: The Dirty Details
Continuous Delivery: The Dirty DetailsContinuous Delivery: The Dirty Details
Continuous Delivery: The Dirty Details
 
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
DevQA: make your testers happier with Groovy, Spock and Geb (Greach 2014)
 
Selenium + Specflow
Selenium + SpecflowSelenium + Specflow
Selenium + Specflow
 
Automation testing in Agile project
Automation testing in Agile projectAutomation testing in Agile project
Automation testing in Agile project
 
Web based automation testing on Node.js environment
Web based automation testing on Node.js environmentWeb based automation testing on Node.js environment
Web based automation testing on Node.js environment
 
Producing Testable Requirements
Producing Testable RequirementsProducing Testable Requirements
Producing Testable Requirements
 
Refactoring page objects The Screenplay Pattern
Refactoring page objects   The Screenplay Pattern Refactoring page objects   The Screenplay Pattern
Refactoring page objects The Screenplay Pattern
 

Destacado

Hazrat zia uddin madani by syed abdullah shah
Hazrat zia uddin madani by syed abdullah shahHazrat zia uddin madani by syed abdullah shah
Hazrat zia uddin madani by syed abdullah shahMuhammad Tariq
 
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceSoftwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceB1 Systems GmbH
 
Masaüstü sanallaştırması
Masaüstü sanallaştırmasıMasaüstü sanallaştırması
Masaüstü sanallaştırmasıÇözümPARK
 
Fundamentos de la redacción publicitaria
Fundamentos de la redacción publicitariaFundamentos de la redacción publicitaria
Fundamentos de la redacción publicitariaeme2525
 
Trabajo de etica de la diversidad
Trabajo de etica de la diversidadTrabajo de etica de la diversidad
Trabajo de etica de la diversidadbipJicxon
 
Resistance temperature detector
Resistance temperature detectorResistance temperature detector
Resistance temperature detectorWahyuni Bachtiar
 
Poslední středa - Copywriter versus klíčová slova (Lucie Štěrbová)
Poslední středa - Copywriter versus klíčová slova (Lucie Štěrbová)Poslední středa - Copywriter versus klíčová slova (Lucie Štěrbová)
Poslední středa - Copywriter versus klíčová slova (Lucie Štěrbová)H1.cz
 
Etica atención a la diversidad
Etica atención a la diversidadEtica atención a la diversidad
Etica atención a la diversidadMauricio Aguilar
 

Destacado (12)

TIK Bab 2 Kelas 9 Semester 1
TIK Bab 2 Kelas 9 Semester 1TIK Bab 2 Kelas 9 Semester 1
TIK Bab 2 Kelas 9 Semester 1
 
Hazrat zia uddin madani by syed abdullah shah
Hazrat zia uddin madani by syed abdullah shahHazrat zia uddin madani by syed abdullah shah
Hazrat zia uddin madani by syed abdullah shah
 
TIK Bab 6 Kelas 9 Semester 1
TIK Bab 6 Kelas 9 Semester 1TIK Bab 6 Kelas 9 Semester 1
TIK Bab 6 Kelas 9 Semester 1
 
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and SpaceSoftwarepaketierung und Continuous Integration bei Airbus Defence and Space
Softwarepaketierung und Continuous Integration bei Airbus Defence and Space
 
Masaüstü sanallaştırması
Masaüstü sanallaştırmasıMasaüstü sanallaştırması
Masaüstü sanallaştırması
 
Fundamentos de la redacción publicitaria
Fundamentos de la redacción publicitariaFundamentos de la redacción publicitaria
Fundamentos de la redacción publicitaria
 
Trabajo de etica de la diversidad
Trabajo de etica de la diversidadTrabajo de etica de la diversidad
Trabajo de etica de la diversidad
 
Norma e.030 2014 ds-003-2016-vivienda-rne
Norma e.030   2014 ds-003-2016-vivienda-rneNorma e.030   2014 ds-003-2016-vivienda-rne
Norma e.030 2014 ds-003-2016-vivienda-rne
 
Resistance temperature detector
Resistance temperature detectorResistance temperature detector
Resistance temperature detector
 
Ijmet 06 07_007
Ijmet 06 07_007Ijmet 06 07_007
Ijmet 06 07_007
 
Poslední středa - Copywriter versus klíčová slova (Lucie Štěrbová)
Poslední středa - Copywriter versus klíčová slova (Lucie Štěrbová)Poslední středa - Copywriter versus klíčová slova (Lucie Štěrbová)
Poslední středa - Copywriter versus klíčová slova (Lucie Štěrbová)
 
Etica atención a la diversidad
Etica atención a la diversidadEtica atención a la diversidad
Etica atención a la diversidad
 

Similar a Growing Manual Testers into Automators

QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams Synerzip
 
Testing in agile
Testing in agileTesting in agile
Testing in agilesachxn1
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA
 
Agile Work Quality: Test Driven Development and Unit Tests
Agile Work Quality:  Test Driven Development and Unit TestsAgile Work Quality:  Test Driven Development and Unit Tests
Agile Work Quality: Test Driven Development and Unit TestsDavid Pledger
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerRobbie Minshall
 
Reaching for Your Quality Stretch Goals: Testing at Realtor.com
Reaching for Your Quality Stretch Goals: Testing at Realtor.comReaching for Your Quality Stretch Goals: Testing at Realtor.com
Reaching for Your Quality Stretch Goals: Testing at Realtor.comKlaus Salchner
 
QA Role In Agile Teams - by Michael Hall
QA Role In Agile Teams - by Michael HallQA Role In Agile Teams - by Michael Hall
QA Role In Agile Teams - by Michael HallSynerzip
 
Mobile User Experience: Auto Drive through Performance Metrics
Mobile User Experience:Auto Drive through Performance MetricsMobile User Experience:Auto Drive through Performance Metrics
Mobile User Experience: Auto Drive through Performance MetricsAndreas Grabner
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeIndicThreads
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomationjeisner
 
Adopting Agile
Adopting AgileAdopting Agile
Adopting AgileCoverity
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentJoseph Beale
 
Ericriesleanstartuppresentationforweb2
Ericriesleanstartuppresentationforweb2Ericriesleanstartuppresentationforweb2
Ericriesleanstartuppresentationforweb2Edmund FOng
 
Test Your Own Stuff - Scrum Atlanta 2015
Test Your Own Stuff - Scrum Atlanta 2015Test Your Own Stuff - Scrum Atlanta 2015
Test Your Own Stuff - Scrum Atlanta 2015Alex Kell
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)Mike Subelsky
 
Team wide testing
Team wide testingTeam wide testing
Team wide testingEthan Huang
 

Similar a Growing Manual Testers into Automators (20)

QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
 
Testing in agile
Testing in agileTesting in agile
Testing in agile
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
Agile Work Quality: Test Driven Development and Unit Tests
Agile Work Quality:  Test Driven Development and Unit TestsAgile Work Quality:  Test Driven Development and Unit Tests
Agile Work Quality: Test Driven Development and Unit Tests
 
AgileTesting_Ver1.0
AgileTesting_Ver1.0AgileTesting_Ver1.0
AgileTesting_Ver1.0
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
QA in an Agile Environment
QA in an Agile EnvironmentQA in an Agile Environment
QA in an Agile Environment
 
Reaching for Your Quality Stretch Goals: Testing at Realtor.com
Reaching for Your Quality Stretch Goals: Testing at Realtor.comReaching for Your Quality Stretch Goals: Testing at Realtor.com
Reaching for Your Quality Stretch Goals: Testing at Realtor.com
 
QA Role In Agile Teams - by Michael Hall
QA Role In Agile Teams - by Michael HallQA Role In Agile Teams - by Michael Hall
QA Role In Agile Teams - by Michael Hall
 
Agile testing
Agile testingAgile testing
Agile testing
 
Mobile User Experience: Auto Drive through Performance Metrics
Mobile User Experience:Auto Drive through Performance MetricsMobile User Experience:Auto Drive through Performance Metrics
Mobile User Experience: Auto Drive through Performance Metrics
 
Agile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil KaradeAgile testing principles and practices - Anil Karade
Agile testing principles and practices - Anil Karade
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomation
 
Adopting Agile
Adopting AgileAdopting Agile
Adopting Agile
 
Introducing QA Into an Agile Environment
Introducing QA Into an Agile EnvironmentIntroducing QA Into an Agile Environment
Introducing QA Into an Agile Environment
 
Ericriesleanstartuppresentationforweb2
Ericriesleanstartuppresentationforweb2Ericriesleanstartuppresentationforweb2
Ericriesleanstartuppresentationforweb2
 
Test Your Own Stuff - Scrum Atlanta 2015
Test Your Own Stuff - Scrum Atlanta 2015Test Your Own Stuff - Scrum Atlanta 2015
Test Your Own Stuff - Scrum Atlanta 2015
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)STAQ Development Manual (Redacted)
STAQ Development Manual (Redacted)
 
Team wide testing
Team wide testingTeam wide testing
Team wide testing
 

Más de Camille Bell

What CS Class Didn't Teach About Testing
What CS Class Didn't Teach About TestingWhat CS Class Didn't Teach About Testing
What CS Class Didn't Teach About TestingCamille Bell
 
Remote Mob Programming
Remote Mob ProgrammingRemote Mob Programming
Remote Mob ProgrammingCamille Bell
 
Kata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipKata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipCamille Bell
 
Software Craftsmanship Workshop
Software Craftsmanship WorkshopSoftware Craftsmanship Workshop
Software Craftsmanship WorkshopCamille Bell
 
What They Didn't Tell You in CSM Clas
What They Didn't Tell You in CSM ClasWhat They Didn't Tell You in CSM Clas
What They Didn't Tell You in CSM ClasCamille Bell
 
An Introduction to Kanban
An Introduction to KanbanAn Introduction to Kanban
An Introduction to KanbanCamille Bell
 
Promoting Agility with Running Tested Features - Paper
Promoting Agility with Running Tested Features - PaperPromoting Agility with Running Tested Features - Paper
Promoting Agility with Running Tested Features - PaperCamille Bell
 

Más de Camille Bell (7)

What CS Class Didn't Teach About Testing
What CS Class Didn't Teach About TestingWhat CS Class Didn't Teach About Testing
What CS Class Didn't Teach About Testing
 
Remote Mob Programming
Remote Mob ProgrammingRemote Mob Programming
Remote Mob Programming
 
Kata Your Way to SW Craftsmanship
Kata Your Way to SW CraftsmanshipKata Your Way to SW Craftsmanship
Kata Your Way to SW Craftsmanship
 
Software Craftsmanship Workshop
Software Craftsmanship WorkshopSoftware Craftsmanship Workshop
Software Craftsmanship Workshop
 
What They Didn't Tell You in CSM Clas
What They Didn't Tell You in CSM ClasWhat They Didn't Tell You in CSM Clas
What They Didn't Tell You in CSM Clas
 
An Introduction to Kanban
An Introduction to KanbanAn Introduction to Kanban
An Introduction to Kanban
 
Promoting Agility with Running Tested Features - Paper
Promoting Agility with Running Tested Features - PaperPromoting Agility with Running Tested Features - Paper
Promoting Agility with Running Tested Features - Paper
 

Último

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 

Último (20)

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 

Growing Manual Testers into Automators

  • 1. Growing  Manual  Testers     into  Automators   Camille  Bell   cbell@CamilleBellConsul0ng.com   Twi5er  @agilecamille   Agile  DC  2015                                                                                                                                                                                        October  26,  2015  
  • 2. Obvious  Limits  of  Manual  Tes6ng   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                      2   Itera6ons   Time     Time  Needed   Time  Available   New  Features   Regression   Simplifica)on:          e.g.  Doesn't  include   interac)on  of  new  &  exis)ng  features  
  • 3. Delay  in  Tes6ng   (both  manual  &  capture/playback)   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                      3   Dev.   Months   Test   Dev.   Test   Dev.   Test   Dev.   Test   Days   Weeks   Even  in  the  best  case  tes)ng  is  a@er  development  coding.  
  • 4. •  Keystroke,  mouse  capture   •  Test  briLle  (trivial  UI  changes   break  tests)   •  Hard  coded  test  data   •  Lots  of  duplica6on   •  Test  modifica6on  near   impossible  (spagheP  code   when  accessible)   •  No  control  mechanisms  (for   looping,  etc.)   •  Doesn't  scale   •  Over  6me  degrades  so  much   as  to  become  throw  away   •  Etc.   •  Tests  wriLen  aSer   implementa6on   •  Not  in  business  language   •  Doesn't  facilitate  collabora6on   •  Doesn't  drive  developer  progress   (not  executable  un6l  aSer   development)   •  Encourages  finger  poin6ng   •  Not  an  executable  specifica6on   •  Etc.   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  4   Capture/Playback  Tes6ng  Fails  Because:  
  • 5. These  Are  All  The  Same  Thing   •  Acceptance  Test  Driven  Development    (ATDD)   •  Behavior  Driven  Development  (BDD)   •  Story  Driven  Development   •  Specifica6on  by  Example   –  Minor  subtle  difference  don't  maLer  for  most  purposes   –  Collaborate  to  define  detailed  acceptance  criteria  before  developing   applica6on  code,  turn  those  into  executable  acceptance  tests  (before   developing  applica6on  code),  watch  them  fail  (no  app)  and  later   pass,  when  app  func6onality  implemented   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                      5  
  • 6. Collabora6vely  (Spec  it/define  tests)   •  Some6mes  called                                 the  3  Amigos                                           (test,  dev,  business)   •  Conversa6on  based   •  Focus  on  value   •  Specific  examples   •  Concrete  data   •  Outside  in  (business  focus   drives  development)   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                      6  
  • 7. Three  Parts  of  Wri6ng  any  Test   Cucumber   3  As   Ruby   3  As   Java   Formal  Testers   What  it  is   Given   Assemble   Arrange     Precondi6on   All  the  setup  and   dependencies  for  the   test   When   Ac6vate   Act   Ac6on/Event   Something  that   happens  that  will   make  the  outcome   different  than  if  it   hadn’t  happened   Then   Assert   Assert   Expected   Results  or   Postcondi6on   What  is  expected  to   happen  and  any  side   effects   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                      7  
  • 8. Test  Automa6on  Has  2  Sides   Business  Facing   •  Simple  English   •  In  business  terms   •  Promotes  collabora6on   •  Uses  examples   •  Uses  concrete  data   •  Proves  business  needs  met   •  Executable  specifica6on   •  Modifiable  &  reusable   Technology  Facing   •  Exercises  underlying  SW   •  Connects  to  browsers,   networks,  databases,   frameworks,  etc,   •  Object  Oriented   •  Extensive  test  libraries   •  Modifiable  &  reusable   •  Learnable  programming   language   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  8  
  • 9. Business  Facing   •  User  Stories,  especially  those  created  though  story  mapping,   are  a  good  place  to  start  talking  about  acceptance  criteria   •  That  can  lead  to  thinking  about  categories  of  test  scenarios   (test  6tles)   •  Given,  When,  Then    comes  next   •  Make  sure  there  is  concrete  test  data   •  Let's  see  how  it  works   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  9  
  • 10. Acceptance  Criteria  will  become  our  specs     when  they  have  details     Feature: Cash Withdrawal In order to get money when the bank is closed As a bank customer I want to withdraw cash at the ATM •   Successful  Withdrawal   •     Less  than  balance   •     Equal  to  balance   •   Withdrawal  Failed  Due  to   Insufficient  Funds   •   Withdrawal  Failed  Because   Cash  Dispenser  Doesn’t   Dispense  One  Dollar  Bills   •   Withdrawal  Failed  Because   Account  Closed   First  Cut  Acceptance  Criteria  for  several  tests   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  10  
  • 11. •   Successful  Withdrawal   (less  than  balance)   Given my account has starting balance of $1000 When I withdraw $200 Then $200 should be dispensed And the ending balance of my account should be $800 Given,  When,  Then  format  –     Business  language  with  unambiguous  detail     Detailed  Acceptance  Criteria   These  detailed  acceptance  criteria  are   acceptance  tests  that  are  executable  specs   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  11  
  • 12. •  Though  users  only  sees  the  UI,  Acceptance  Tests  exercise   behavior  of    the  en6re  applica6on  stack  (network,  DB,  etc.).     •  However  since  capture  playback  causes  so  many  problems,  we   needed  a  beLer  way  to  automate,  including:   –  Modeling  behavior,  so  it  is  easier  to  modify   –  Working  in  non-­‐proprietary  programming  language  testers  can   learn   –  Having  good  test  architecture  and  design   –  Exercising  good  programming  prac6ces  (D.R.Y.,  meaningful   variable  names,  etc.)   –  Following  good  code  management  (frequent  check-­‐ins,  simple   branch  structure,  frequent  merging  with  trunk/main,  etc.)   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  12   Technology  Facing  
  • 13. Features   Scenarios   Automa6on  Libraries   (e.g.  rspec,  page-­‐object,   wa6r-­‐webdriver,  etc.)   Support  Code   (e.g.  env.rb,  hooks.rb,  Gemfile,   your  custom  page  objects)   Business   Facing   Technology   Facing   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  13   Step  Defini6ons   Cucumber/PageObject  Technology  Stack   Gherkin   (English-­‐like   business   language)     Built-­‐in  Ruby   Libraries  for   Tes6ng       Ruby     (oSen  modified   templates)   Steps  wriLen  in   Ruby   Steps  
  • 14. •  Cucumber  can  be  used  with  other  programming  languages   •  But  the  Ruby  implementa6on  comes  with  much  more  out  of   the  box  than  any  other  implementa6on   •  For  example  Ruby  libraries  already  exist  to  model     –  web  pages                                                        PageObject   –  iPhone  screens                                        ScreenObject   –  3270  green  screens                        TE3270     –  XML                                                                              Nokogiri   –  etc.   •  In  other  languages  testers  have  to  write  a  lot  of  complicated   code  that's  included  with  Ruby   •  And  Ruby  is  easiest  for  testers  to  learn   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  14   Why  Ruby?  
  • 15. •  Yes,  assuming  we're  tes6ng  a  web  app   •  The  stack  includes  wa6r-­‐webdriver,  which  is  a  combina6on   of  Selenium  and  Wa6r   –  Which  is  fully  programmable   –  Can  be  accessed  though  PageObject   –  And  is  good   •  NOT  the  Selenium  IDE   –  Which  is  capture/playback   –  And  is  bad   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  15   Don't  We  Also  Need  a  Web  Interface?  
  • 16. Tester  Behavior  &  System  Access     •  Testers  no  longer  just  use  a  test  tool  -­‐  they  develop  test  code   •  Testers  now  will  oSen  behave  like  devs.  Testers  will   –  Write  code   –  Run  code   –  Lookup  error  messages  and  technical  info  on  the  web   –  Check-­‐in  code   –  Update  gems  and  other  SW   –  Install  new  browsers  &  other  tools   –  Etc.   •  So  they  need  the  same  rights  and  privileges  as  devs.  For  most   shops  this  means:   –  Admin  rights   –  Unrestricted  web  access   –  Working  with  a  dev,  sys  admin  or  dev-­‐op  helps  for  beginning  installs   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  16  
  • 17. Tools  and  Infrastructure   •  Installa6on  details  for  Windows,  Mac  and  Linux  differ   (documented  in  Cucumber  and  Cheese)     •  Testers  need  mul6ple  browsers  installed  (Firefox  and   Chrome  plus  IE,  Safari  or  whatever  is  standard)   •  Select  and  install  an  editor  or  IDE  {consider  Sublime  Text   (text  editor)  or  RubyMine  (IDE)}   •  Test  code  needs  to  be  under  source  control,  so  connect  to   Git  (modern  choice)  or  other  Source  Control   •  For  Ruby  Gem  security  and  other  updates  'github.org'  and   'rubygems.org'  both  testers  and  the  CI  server  should  update   their  Gemfile  regularly   •  The  CI  needs  full  test  stack.  If  OSs  differ  (e.g.  Windows  vs.   Linux)  some  gems  may  differ.  Jenkins  is  popular  CI  server.   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  17  
  • 18. •  My  style:   –  Ensure  all  infrastructure  for  every  trainee   is  in  place   –  First  teach  small  bit  of  Ruby  intro  for  non-­‐ programmers   –  3  day  formal  class  on  ATDD/BDD  with   Cucumber  with  lots  of  hands-­‐on  exercises   –  Start  with  teaching  students  how  to  test   exis6ng  web  pages   –  Evolve  to  teaching  how  to  define  web   pages  that  don't  exist  yet   •  Resources  at  end  of  slides   •  Don't  just  throw  a  book  or  web  site  at   testers,  teach  them  &  guide  them   Training   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  18  
  • 19. Coaching  &  Daily  Prac6ce   •  DON'T  JUST  TRAIN  -­‐  PRACTICE   •  Technical  skills  take  6me  to  learn   •  Requires  reinforcement   •  Professional  coaches  really  help   •  Pairing  with  devs  may  help  ease   technical  learning   •  Later  advanced  testers  could   become  internal  coaches   •  Prac6ce  3  amigos   •  Mob  Programming  really  helps   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  19   Two  co-­‐workers  pair  programming  
  • 20. Mob  Programming   •  Whole  team  works  together   •  On  the  same  thing   •  At  the  same  6me   •  In  the  same  space   •  Using  the  same  computer   •  Driver  rotates   •  Everyone  par6cipates   •  Great  for  training  &  prac6ce   •  Great  for  collabora6on   •  Everyone  up  to  speed  faster   •  Some  teams  mob  always   •  Others  mob  frequently   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  20  
  • 23. Resources  –  Free  Ruby  Info   Ruby  101  –  the  basics:  (Learn  Ruby   2.x  not  Ruby  1.9)   •  On-­‐line  tutorials  –  my  favorite  is   Ruby  Monk    hLps://rubymonk.com   Learn  to  navigate  the  documenta0on:   •  Ruby's  built-­‐in  classes  and  methods   are  very  rich.   •  Testers  should  learn  to  check  if  the   needed  func6onality  already  exists   •  Ruby  docs  are  found  at   hLp://ruby-­‐doc.org/   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  23   ALL   SOME  
  • 24. Resources  –  Free  PageObject  Info   Cheezy's  (Jeff  Morgan's)  Blog   •  Other  Cheezy  blog  posts  are  also   worthwhile     hLp://www.cheezyworld.com/ 2011/07/29/introducing-­‐page-­‐ object-­‐gem/   Official  documenta0on   •  PageObject  is  a  gem.   •  Like  most  gems,  it  and  its   documenta6on  can  be  found  on   GitHub  (scroll  down)   hLps://github.com/cheezy/page-­‐ object   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  24  
  • 25. Resources  –  Free  Detailed  Demo   Cheezy's  Demo  Tes0ng  Puppies  Site   •  Uses  RubyMine  IDE,  but  other   editors  or  IDEs  work  fine   •  Covers  a  later  example  from   Cucumber  and  Cheese  book  resource   •  1  hour  10  minute  YouTube  video   hLps://www.youtube.com/watch? v=zpt15XIjpas   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  25  
  • 26. Resources  –  Free  Cucumber  Info   Cucumber  Wikis   •  Both  wikis  focus  on  headless  Cucumber  (not  in  browser  with   PageObject),  but  provide  useful  info  on  Cucumber  and  Gherkin   •  Older  Wiki  –  easy  to  explore  format,  contains  some  info  not  in   new  wiki  hLps://github.com/cucumber/cucumber/wiki   •  Newer  Wiki  –  contains  some  nice  blogs  and  plug  for  semi   commercial  product  and  support  hLps://cucumber.io/   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  26  
  • 27. Resources  –  Ruby  Books   If  Ruby  Monk  is  too  challenging,  try  Learn  to  Program   •  For  those  who  haven't  programmed  before  (most  manual   testers)   –  Learn  to  Program  -­‐  Second  Edi0on  by  Chris  Pine   •  For  those  who  know  object-­‐oriented  programming  in  some   other  language  (includes  more  Ruby  than  most  testers  will   need)   –  Programming  Ruby  1.9  &  2.0  by  Dave  Thomas   •  For  a  problem-­‐based  approach  to  wri6ng  small  pieces  of   Ruby  that  do  useful  things   –  Everyday  Scrip0ng  with  Ruby  by  Brian  Marick   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  27   Available  from  Amazon  or  the  Pragma6c  Bookstore  hLps://pragprog.com/  
  • 28. Resources  –  Cheezy's  Book   Cucumber  with  PageObject   •  Covers  Cucumber,  Gherkin,  PageObject,  Wa6r,  Selenium,  etc.   used  in  demo   •  Step  by  step  tutorial  with  exercises   •  SoScopy  only,  work  in  progress,  updated  periodically   –  Cucumber  and  Cheese:  A  Testers  Workshop  by  Jeff   Morgan   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  28    Available  only  from  Lean  Pub  hLps://leanpub.com/cucumber_and_cheese    
  • 29. Resources  –  Cucumber  Books   Ignore  references  to  headless  Rails  tes0ng  unless  using  Rails   •  Cucumber  with  Ruby  –  General   –  The  Cucumber  Book:  Behavior-­‐Driven  Development  for   Testers  and  Developers  by  MaL  Wynne  &  Aslak  Hellesoy   •  Advanced  Cucumber  Topics   –  The  Cucumber  Book:  Behavior-­‐Driven  Development  for   Testers  and  Developers  by  Ian  Dees  and  MaL  Wynne   cbell@CamilleBellConsul0ng.com                                                                                                                                                                                                                                                                  29   Available  from  Amazon  or  the  Pragma6c  Bookstore  hLps://pragprog.com/  
  • 30. Camille  Bell   Agile  Technical  &  Process  Coaching   Retrospec6ves   Agile  Boot  Camps     Agile  Training   Updated  Slides   or  just  to  chat  about  things  agile   cbell@CamilleBellConsul0ng.com   Twi5er  @agilecamille