SlideShare a Scribd company logo
1 of 27
Download to read offline
# L F M F 	
  
                          (and others
                                        who shall r
                          anonymous                 emain
                                       even if they
                          deserve it)!              don’t
                  Learn	
  from	
  My	
  Fail:	
  	
  
Tales	
  of	
  Test	
  Automa6on	
  Gone	
  Wrong	
  	
  

    (Plus	
  a	
  Li*le	
  Bit	
  about	
  How	
  to	
  Do	
  It	
  Right)	
  

                Elisabeth	
  Hendrickson	
  
               Quality	
  Tree	
  So7ware,	
  Inc.	
  
                    @testobsessed	
  
Fail	
  Pa;ern	
  #0:	
  	
  
“No	
  6me	
  to	
  automate”	
  




                                       Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
 No	
  automaFon	
  means	
  
  rapid	
  growth	
  in	
  the	
  
manual	
  tesFng	
  burden.	
  
 Or	
  untested	
  so7ware.	
  
Velocity!




Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
Fail	
  Pa;ern	
  #1:	
  	
  
Automa6on	
  for	
  the	
  sake	
  




                                                 Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
    of	
  automa6on	
  
 If	
  you	
  really	
  want	
  a	
  mess,	
  
 use	
  a	
  count	
  of	
  automated	
  
       tests	
  as	
  a	
  measure	
  of	
  
                 progress.	
  
Image	
  of	
  prinFng	
  office	
  from	
  hJp://www.shorpy.com/node/12652	
  




Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
Fail	
  Pa;ern	
  #2:	
  	
  
All	
  automa6on	
  is	
  end-­‐to-­‐




                                              Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
  end	
  through	
  the	
  GUI	
  
 End-­‐to-­‐end	
  tests	
  are	
  slow	
  
and	
  fragile.	
  Some	
  are	
  good.	
  
   More	
  are	
  not	
  beJer.	
  
Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
Flooded	
  basement	
  image	
  courtesy	
  of	
  carlpenergy	
  
Showerhead	
  image	
  courtesy	
  of	
  deusx	
  
Images	
  from	
  Flickr	
  licensed	
  through	
  CreaFve	
  Commons	
  AJribuFon	
  
Fail	
  Pa;ern	
  #3:	
  	
  
  Dispropor6onate	
  




                                         Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
Amount	
  of	
  Time	
  Spent	
  
 Fixing	
  Broken	
  Tests	
  
 Just	
  when	
  you	
  get	
  one	
  
 working	
  again,	
  another	
  
           breaks.	
  
Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
Image	
  courtesy	
  of	
  cdrussorusso	
  
From	
  hJp://www.flickr.com/photos/23516192@N08/2631474033/	
  	
  
Licensed	
  Under	
  CreaFve	
  Commons	
  AJribuFon	
  
Fail	
  Pa;ern	
  #4:	
  	
  
         Fragile	
  Tests	
  




                                              Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
  They	
  pass,	
  they	
  fail,	
  but	
  
    there	
  seems	
  to	
  be	
  no	
  
correlaFon	
  between	
  the	
  test	
  
   results	
  and	
  the	
  actual	
  
     so7ware	
  behavior.	
  
Hey, the
                                                                              build is red.!
                                                                               year.!
                                                                         full moon this
                                                                         Tuesday with a
                                                                        Yeah, it’s the 2nd




Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
Fail	
  Pa;ern	
  #5:	
  	
  
Inter-­‐dependent	
  Tests	
  




                                         Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
    When	
  one	
  fails,	
  	
  
  they	
  all	
  fail	
  together.	
  
Run #1!



                           Run #3!
                                                  Run #2!



       Run #4!




Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
Fail	
  Pa;ern	
  #6:	
  	
  
       Useless	
  Tests	
  




                                            Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
The	
  tests	
  can	
  never	
  fail,	
  
    so	
  they	
  yield	
  no	
  
        informaFon.	
  
Yes, I have
                 actually
…   seen this in




                            Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
                 tests.!
assert True
  But rare ly. More
… common: tes rets that
        ify the s oftwa
     ver
     does w  hat the
      softwar e does.!
Fail	
  Pa;ern	
  #7:	
  	
  
           Bad	
  Tests	
  




                                                Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
 Obfuscated	
  intent,	
  massive	
  
duplicaFon,	
  and	
  Fght	
  coupling	
  
between	
  the	
  interface	
  and	
  the	
  
      tests	
  makes	
  for	
  an	
  
    unmaintainable	
  mess.	
  
Test Login
  Input Text first_name fred




                                     Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
  Input Text last_name  flintstone
  Input Text user_name  fflint
  Input Text password   p@ssw0rd
  Click Submit
  Click Logout
  Click Login
  Input Text username fflint

    WAT?!?!
  Input Text password badpassword
  Click Submit
  Input Text ...
Fail	
  Pa;ern	
  #8:	
  	
  
            Bad	
  Code	
  




                                                 Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
Smelly	
  test	
  automaFon	
  code	
  
    that	
  violates	
  SOLID	
  
 principles	
  is	
  as	
  much	
  of	
  a	
  
     problem	
  as	
  smelly	
  
     producFon	
  code.	
  
Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
Fail	
  Pa;ern	
  #9:	
  	
  
     Only	
  specialists	
  




                                         Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
        automate	
  
 They	
  might	
  be	
  good	
  at	
  
automaFon,	
  but	
  they’re	
  
fighFng	
  an	
  uphill	
  baJle.	
  
Fail	
  Pa;ern	
  #10:	
  	
  
    Forcing	
  devout	
  non-­‐




                                                     Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
       coders	
  to	
  write	
  
         automa6on	
  
If	
  they	
  lack	
  either	
  interest	
  or	
  
  apFtude	
  to	
  automate,	
  the	
  
         results	
  will	
  be	
  bad.	
  
Fail	
  Pa;ern	
  #11:	
  	
  
Tests	
  That	
  Don’t	
  Get	
  Run	
  




                                             Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
 Someone	
  writes	
  them,	
  no	
  
  one	
  runs	
  them.	
  So	
  when	
  
 they	
  suffer	
  bitrot,	
  no	
  one	
  
   can	
  hear	
  them	
  scream.	
  
Unrun !
                                                           tests!




                                                                  Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
                                                           become !
                                                           creaky,!
                                                           dusty,!
                                                           sad.!
Photo	
  by	
  crabchick	
  
hJp://www.flickr.com/photos/crabchick/2627370039/	
  
Licensed	
  under	
  CreaFve	
  Commons	
  AJribuFon	
  
Fail	
  Pa;ern	
  #12:	
  	
  
Failing	
  Tests	
  Ignored	
  




                                   Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
       They	
  run.	
  	
  
        They	
  fail.	
  	
  
      No	
  one	
  cares.	
  
Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
Image	
  of	
  the	
  1906	
  San	
  Francisco	
  Earthquake	
  a7ermath	
  from	
  hJp://www.shorpy.com/node/9866	
  
#LFMF	
  




                                         Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  
Automate important expectations!
Treat test code with the same level of
care as production code!

Run all the automated tests in the CI
build (no manual kickoff)!
Fix failing tests immediately!
Foster a “whole team tests” culture!
Teema Frisk!
                          @hackyourtv!
                         Juha Rantanen!
                         Jyrki Pulliainen!
                         Jarkko Kailanto!
                        Many thanks to …!




Copyright	
  ©	
  2012	
  Elisabeth	
  Hendrickson,	
  Quality	
  Tree	
  So7ware,	
  Inc.	
  

More Related Content

What's hot

2012 Velocity London: DevOps Patterns Distilled
2012 Velocity London: DevOps Patterns Distilled2012 Velocity London: DevOps Patterns Distilled
2012 Velocity London: DevOps Patterns DistilledGene Kim
 
PuppetConf2012GeneKim
PuppetConf2012GeneKimPuppetConf2012GeneKim
PuppetConf2012GeneKimGene Kim
 
Kim IT Pro Forum Eugene: IT at Ludicrous Speeds - rugged dev ops
Kim IT Pro Forum Eugene: IT at Ludicrous Speeds - rugged dev opsKim IT Pro Forum Eugene: IT at Ludicrous Speeds - rugged dev ops
Kim IT Pro Forum Eugene: IT at Ludicrous Speeds - rugged dev opsGene Kim
 
Root cause analysis
Root cause analysisRoot cause analysis
Root cause analysisSimmy Sharma
 
Marlin Powerpoint Presentation
Marlin Powerpoint PresentationMarlin Powerpoint Presentation
Marlin Powerpoint Presentationilysejohnson
 
When IT Fails The Business Fails...
When IT Fails The Business Fails...When IT Fails The Business Fails...
When IT Fails The Business Fails...Gene Kim
 
ServiceNow ITIL at Ludicrous Speeds - Rugged DevOps
ServiceNow  ITIL at Ludicrous Speeds - Rugged DevOpsServiceNow  ITIL at Ludicrous Speeds - Rugged DevOps
ServiceNow ITIL at Ludicrous Speeds - Rugged DevOpsGene Kim
 
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!Gene Kim
 
SecureWorld - Communicating With Your CFO
SecureWorld - Communicating With Your CFOSecureWorld - Communicating With Your CFO
SecureWorld - Communicating With Your CFOGene Kim
 
Infosec at Ludicrous Speeds - Rugged DevOps
Infosec at Ludicrous Speeds - Rugged DevOps Infosec at Ludicrous Speeds - Rugged DevOps
Infosec at Ludicrous Speeds - Rugged DevOps Gene Kim
 
Leading A DevOps Transformation: Lessons Learned
Leading A DevOps Transformation: Lessons LearnedLeading A DevOps Transformation: Lessons Learned
Leading A DevOps Transformation: Lessons LearnedGene Kim
 
The Rationale for Continuous Delivery
The Rationale for Continuous DeliveryThe Rationale for Continuous Delivery
The Rationale for Continuous DeliveryPerforce
 
Jesse Robbins Keynote - Hacking Culture @ Cloud Expo Europe 2013
Jesse Robbins Keynote - Hacking Culture @ Cloud Expo Europe 2013Jesse Robbins Keynote - Hacking Culture @ Cloud Expo Europe 2013
Jesse Robbins Keynote - Hacking Culture @ Cloud Expo Europe 2013Jesse Robbins
 

What's hot (13)

2012 Velocity London: DevOps Patterns Distilled
2012 Velocity London: DevOps Patterns Distilled2012 Velocity London: DevOps Patterns Distilled
2012 Velocity London: DevOps Patterns Distilled
 
PuppetConf2012GeneKim
PuppetConf2012GeneKimPuppetConf2012GeneKim
PuppetConf2012GeneKim
 
Kim IT Pro Forum Eugene: IT at Ludicrous Speeds - rugged dev ops
Kim IT Pro Forum Eugene: IT at Ludicrous Speeds - rugged dev opsKim IT Pro Forum Eugene: IT at Ludicrous Speeds - rugged dev ops
Kim IT Pro Forum Eugene: IT at Ludicrous Speeds - rugged dev ops
 
Root cause analysis
Root cause analysisRoot cause analysis
Root cause analysis
 
Marlin Powerpoint Presentation
Marlin Powerpoint PresentationMarlin Powerpoint Presentation
Marlin Powerpoint Presentation
 
When IT Fails The Business Fails...
When IT Fails The Business Fails...When IT Fails The Business Fails...
When IT Fails The Business Fails...
 
ServiceNow ITIL at Ludicrous Speeds - Rugged DevOps
ServiceNow  ITIL at Ludicrous Speeds - Rugged DevOpsServiceNow  ITIL at Ludicrous Speeds - Rugged DevOps
ServiceNow ITIL at Ludicrous Speeds - Rugged DevOps
 
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
2013 Velocity DevOps Metrics -- It's Not Just For WebOps Any More!
 
SecureWorld - Communicating With Your CFO
SecureWorld - Communicating With Your CFOSecureWorld - Communicating With Your CFO
SecureWorld - Communicating With Your CFO
 
Infosec at Ludicrous Speeds - Rugged DevOps
Infosec at Ludicrous Speeds - Rugged DevOps Infosec at Ludicrous Speeds - Rugged DevOps
Infosec at Ludicrous Speeds - Rugged DevOps
 
Leading A DevOps Transformation: Lessons Learned
Leading A DevOps Transformation: Lessons LearnedLeading A DevOps Transformation: Lessons Learned
Leading A DevOps Transformation: Lessons Learned
 
The Rationale for Continuous Delivery
The Rationale for Continuous DeliveryThe Rationale for Continuous Delivery
The Rationale for Continuous Delivery
 
Jesse Robbins Keynote - Hacking Culture @ Cloud Expo Europe 2013
Jesse Robbins Keynote - Hacking Culture @ Cloud Expo Europe 2013Jesse Robbins Keynote - Hacking Culture @ Cloud Expo Europe 2013
Jesse Robbins Keynote - Hacking Culture @ Cloud Expo Europe 2013
 

Viewers also liked

Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014WebcsonsultsEU
 
Agile testing quadrants discussion
Agile testing quadrants discussionAgile testing quadrants discussion
Agile testing quadrants discussionMary Jiang
 
StarWest 2012 - Agile Defect Management: Focus On Prevention
StarWest 2012 - Agile Defect Management: Focus On PreventionStarWest 2012 - Agile Defect Management: Focus On Prevention
StarWest 2012 - Agile Defect Management: Focus On PreventionDavid Jellison
 
Medical Device Agile Quality Demo
Medical Device Agile Quality DemoMedical Device Agile Quality Demo
Medical Device Agile Quality DemoZero Wait-State
 
Metrics In An Agile World
Metrics In An Agile WorldMetrics In An Agile World
Metrics In An Agile WorldRob Myers
 
Agiles Testen
Agiles TestenAgiles Testen
Agiles Testenoose
 
'The Real Agile Testing Quadrants' with Michael Bolton
'The Real Agile Testing Quadrants' with Michael Bolton'The Real Agile Testing Quadrants' with Michael Bolton
'The Real Agile Testing Quadrants' with Michael BoltonTEST Huddle
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumLemi Orhan Ergin
 
Day 3 21 cc workshop cd focus entire day slideshare
Day 3 21 cc workshop cd focus entire day slideshareDay 3 21 cc workshop cd focus entire day slideshare
Day 3 21 cc workshop cd focus entire day slideshareV
 
Varias listas ordenadas genis chiquillo 1b
Varias listas ordenadas genis chiquillo 1bVarias listas ordenadas genis chiquillo 1b
Varias listas ordenadas genis chiquillo 1bgenischiquillo
 
Integration of Cloud and Grid Middleware at DGRZR
Integration of Cloud and Grid Middleware at DGRZRIntegration of Cloud and Grid Middleware at DGRZR
Integration of Cloud and Grid Middleware at DGRZRStefan Freitag
 
Fraction project scan file
Fraction project scan fileFraction project scan file
Fraction project scan fileclaire9831
 
Claves para la implementacion de tendencias y enfoques carmen sofia prada
Claves para la implementacion de tendencias y enfoques  carmen sofia pradaClaves para la implementacion de tendencias y enfoques  carmen sofia prada
Claves para la implementacion de tendencias y enfoques carmen sofia pradaSANDRA SILVA
 
04금진현페차쿠차
04금진현페차쿠차04금진현페차쿠차
04금진현페차쿠차Jin Hyun
 
Maklum balas, peneguhan & motivasi ekstrinsik
Maklum balas, peneguhan & motivasi ekstrinsikMaklum balas, peneguhan & motivasi ekstrinsik
Maklum balas, peneguhan & motivasi ekstrinsikAinku Nurul Ain
 

Viewers also liked (20)

Agile Quality and Risk Management
Agile Quality and Risk ManagementAgile Quality and Risk Management
Agile Quality and Risk Management
 
Agile Testing Overview
Agile Testing OverviewAgile Testing Overview
Agile Testing Overview
 
Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014Der Agile Qualitätsbaukasten - PHP Unconference 2014
Der Agile Qualitätsbaukasten - PHP Unconference 2014
 
Agile testing quadrants discussion
Agile testing quadrants discussionAgile testing quadrants discussion
Agile testing quadrants discussion
 
StarWest 2012 - Agile Defect Management: Focus On Prevention
StarWest 2012 - Agile Defect Management: Focus On PreventionStarWest 2012 - Agile Defect Management: Focus On Prevention
StarWest 2012 - Agile Defect Management: Focus On Prevention
 
Medical Device Agile Quality Demo
Medical Device Agile Quality DemoMedical Device Agile Quality Demo
Medical Device Agile Quality Demo
 
Metrics In An Agile World
Metrics In An Agile WorldMetrics In An Agile World
Metrics In An Agile World
 
Agiles Testen
Agiles TestenAgiles Testen
Agiles Testen
 
'The Real Agile Testing Quadrants' with Michael Bolton
'The Real Agile Testing Quadrants' with Michael Bolton'The Real Agile Testing Quadrants' with Michael Bolton
'The Real Agile Testing Quadrants' with Michael Bolton
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and Scrum
 
Day 3 21 cc workshop cd focus entire day slideshare
Day 3 21 cc workshop cd focus entire day slideshareDay 3 21 cc workshop cd focus entire day slideshare
Day 3 21 cc workshop cd focus entire day slideshare
 
Wintertuin & Cantonspark
Wintertuin & CantonsparkWintertuin & Cantonspark
Wintertuin & Cantonspark
 
Varias listas ordenadas genis chiquillo 1b
Varias listas ordenadas genis chiquillo 1bVarias listas ordenadas genis chiquillo 1b
Varias listas ordenadas genis chiquillo 1b
 
Integration of Cloud and Grid Middleware at DGRZR
Integration of Cloud and Grid Middleware at DGRZRIntegration of Cloud and Grid Middleware at DGRZR
Integration of Cloud and Grid Middleware at DGRZR
 
Fraction project scan file
Fraction project scan fileFraction project scan file
Fraction project scan file
 
Claves para la implementacion de tendencias y enfoques carmen sofia prada
Claves para la implementacion de tendencias y enfoques  carmen sofia pradaClaves para la implementacion de tendencias y enfoques  carmen sofia prada
Claves para la implementacion de tendencias y enfoques carmen sofia prada
 
Carrera Dia Infancia
Carrera Dia InfanciaCarrera Dia Infancia
Carrera Dia Infancia
 
062214 ss
062214 ss062214 ss
062214 ss
 
04금진현페차쿠차
04금진현페차쿠차04금진현페차쿠차
04금진현페차쿠차
 
Maklum balas, peneguhan & motivasi ekstrinsik
Maklum balas, peneguhan & motivasi ekstrinsikMaklum balas, peneguhan & motivasi ekstrinsik
Maklum balas, peneguhan & motivasi ekstrinsik
 

More from Elisabeth Hendrickson

More from Elisabeth Hendrickson (10)

Influence > Authority
Influence > AuthorityInfluence > Authority
Influence > Authority
 
Agility for Data
Agility for DataAgility for Data
Agility for Data
 
On the Care and Feeding of Feedback Cycles
On the Care and Feeding of Feedback CyclesOn the Care and Feeding of Feedback Cycles
On the Care and Feeding of Feedback Cycles
 
The Thinking Tester, Evolved
The Thinking Tester, EvolvedThe Thinking Tester, Evolved
The Thinking Tester, Evolved
 
Exploratory Testing in Practice
Exploratory Testing in PracticeExploratory Testing in Practice
Exploratory Testing in Practice
 
Exploratory Testing in an Agile Context
Exploratory Testing in an Agile ContextExploratory Testing in an Agile Context
Exploratory Testing in an Agile Context
 
Entaggle: an Agile Software Development Case Study
Entaggle: an Agile Software Development Case StudyEntaggle: an Agile Software Development Case Study
Entaggle: an Agile Software Development Case Study
 
Wclessons atd-sm
Wclessons atd-smWclessons atd-sm
Wclessons atd-sm
 
Agile Testing, Uncertainty, Risk, and Why It All Works
Agile Testing, Uncertainty, Risk, and Why It All WorksAgile Testing, Uncertainty, Risk, and Why It All Works
Agile Testing, Uncertainty, Risk, and Why It All Works
 
Introduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentIntroduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven Development
 

Recently uploaded

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

#LFMF: Tales of Test Automation Gone Wrong

  • 1. # L F M F   (and others who shall r anonymous emain even if they deserve it)! don’t Learn  from  My  Fail:     Tales  of  Test  Automa6on  Gone  Wrong     (Plus  a  Li*le  Bit  about  How  to  Do  It  Right)   Elisabeth  Hendrickson   Quality  Tree  So7ware,  Inc.   @testobsessed  
  • 2. Fail  Pa;ern  #0:     “No  6me  to  automate”   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   No  automaFon  means   rapid  growth  in  the   manual  tesFng  burden.   Or  untested  so7ware.  
  • 3. Velocity! Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.  
  • 4. Fail  Pa;ern  #1:     Automa6on  for  the  sake   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   of  automa6on   If  you  really  want  a  mess,   use  a  count  of  automated   tests  as  a  measure  of   progress.  
  • 5. Image  of  prinFng  office  from  hJp://www.shorpy.com/node/12652   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.  
  • 6. Fail  Pa;ern  #2:     All  automa6on  is  end-­‐to-­‐ Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   end  through  the  GUI   End-­‐to-­‐end  tests  are  slow   and  fragile.  Some  are  good.   More  are  not  beJer.  
  • 7. Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   Flooded  basement  image  courtesy  of  carlpenergy   Showerhead  image  courtesy  of  deusx   Images  from  Flickr  licensed  through  CreaFve  Commons  AJribuFon  
  • 8. Fail  Pa;ern  #3:     Dispropor6onate   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   Amount  of  Time  Spent   Fixing  Broken  Tests   Just  when  you  get  one   working  again,  another   breaks.  
  • 9. Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   Image  courtesy  of  cdrussorusso   From  hJp://www.flickr.com/photos/23516192@N08/2631474033/     Licensed  Under  CreaFve  Commons  AJribuFon  
  • 10. Fail  Pa;ern  #4:     Fragile  Tests   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   They  pass,  they  fail,  but   there  seems  to  be  no   correlaFon  between  the  test   results  and  the  actual   so7ware  behavior.  
  • 11. Hey, the build is red.! year.! full moon this Tuesday with a Yeah, it’s the 2nd Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.  
  • 12. Fail  Pa;ern  #5:     Inter-­‐dependent  Tests   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   When  one  fails,     they  all  fail  together.  
  • 13. Run #1! Run #3! Run #2! Run #4! Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.  
  • 14. Fail  Pa;ern  #6:     Useless  Tests   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   The  tests  can  never  fail,   so  they  yield  no   informaFon.  
  • 15. Yes, I have actually … seen this in Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   tests.! assert True But rare ly. More … common: tes rets that ify the s oftwa ver does w hat the softwar e does.!
  • 16. Fail  Pa;ern  #7:     Bad  Tests   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   Obfuscated  intent,  massive   duplicaFon,  and  Fght  coupling   between  the  interface  and  the   tests  makes  for  an   unmaintainable  mess.  
  • 17. Test Login Input Text first_name fred Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   Input Text last_name flintstone Input Text user_name fflint Input Text password p@ssw0rd Click Submit Click Logout Click Login Input Text username fflint WAT?!?! Input Text password badpassword Click Submit Input Text ...
  • 18. Fail  Pa;ern  #8:     Bad  Code   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   Smelly  test  automaFon  code   that  violates  SOLID   principles  is  as  much  of  a   problem  as  smelly   producFon  code.  
  • 19. Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.  
  • 20. Fail  Pa;ern  #9:     Only  specialists   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   automate   They  might  be  good  at   automaFon,  but  they’re   fighFng  an  uphill  baJle.  
  • 21. Fail  Pa;ern  #10:     Forcing  devout  non-­‐ Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   coders  to  write   automa6on   If  they  lack  either  interest  or   apFtude  to  automate,  the   results  will  be  bad.  
  • 22. Fail  Pa;ern  #11:     Tests  That  Don’t  Get  Run   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   Someone  writes  them,  no   one  runs  them.  So  when   they  suffer  bitrot,  no  one   can  hear  them  scream.  
  • 23. Unrun ! tests! Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   become ! creaky,! dusty,! sad.! Photo  by  crabchick   hJp://www.flickr.com/photos/crabchick/2627370039/   Licensed  under  CreaFve  Commons  AJribuFon  
  • 24. Fail  Pa;ern  #12:     Failing  Tests  Ignored   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   They  run.     They  fail.     No  one  cares.  
  • 25. Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   Image  of  the  1906  San  Francisco  Earthquake  a7ermath  from  hJp://www.shorpy.com/node/9866  
  • 26. #LFMF   Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.   Automate important expectations! Treat test code with the same level of care as production code! Run all the automated tests in the CI build (no manual kickoff)! Fix failing tests immediately! Foster a “whole team tests” culture!
  • 27. Teema Frisk! @hackyourtv! Juha Rantanen! Jyrki Pulliainen! Jarkko Kailanto! Many thanks to …! Copyright  ©  2012  Elisabeth  Hendrickson,  Quality  Tree  So7ware,  Inc.