7 Deadly Sins of Agile Software Test Automation

Adrian Smith
Adrian SmithAgile Software Coach at Ennova
7 DEADLY SINS
    OF
    AUTOMATED
    TESTING
    Dr Adrian Smith
    September 2012
                            Engineering Innovation.
Thursday, 20 September 12
Adrian Smith
     • Background in Engineering
     • Software development using Agile and Lean
                                        Diverse Ex
                                        Diverse Ex
     • Technical and Organisational Coach
                                              Aerospace Engineering
     • Founded a startup product development and
                                              Commercial and military engineering
                                              Aerospace Engineering
                                              analysis and manufacturing experienc
       consulting business   Diverse Experienc
                                              Commercial and military engineering
                                              programs including A380 and F35.
                                              analysis and manufacturing experienc
                                              programs including A380 and F35.
                                             Agile Software Developm
                              Aerospace Engineering
                                             Software development, architecture a
                                             Agile Software Developm
                              Commercial and military engineering design,
                                               management for engineering CAE, au
                                               Software development, architecture a
                              analysis and manufacturing experience on major
                                               scientific and digital media.
                              programs including A380 and F35. engineering CAE, au
                                               management for
                                               scientific and digital media.
                                         Systems Integration
Thursday, 20 September 12
                              Agile Software Development
                                         Integration of logistics, financial, engi
Geeks hate repetition




Thursday, 20 September 12
Airbus A380 Wing




Thursday, 20 September 12
Thursday, 20 September 12
Envy
                            Flawed comparison
                             of manual testing
                              and automation




Thursday, 20 September 12
How management
                                 see testing




Thursday, 20 September 12
How management
 would like to see testing
Thursday, 20 September 12
Manual vs Automation
        • A flawed comparison
              • Assumes that automation can replace manual
                testing effort
              • Automation generally doesn’t find new defects


        • Testing is not merely a sequence of
          repeatable actions
        • Testing requires thought and learning


Thursday, 20 September 12
Ideal automation targets
        • Regression testing - assessing current state
        • Automation of test support activities
              • Data generation or sub-setting
              • Load generation
              • Non-functional testing

        • Deterministic problems
        • Big data problems


Thursday, 20 September 12
Common symptoms
        • Relying on automation as the basis
          for all testing activities
        • All tests are built by developers
        • Absence of code reviews
        • Absence of exploratory testing
        • Absence of user testing



Thursday, 20 September 12
Suggested approach
        • Avoid comparison between manual and
          automated testing - both are needed
        • Distinguish between the automation and the
          process that is being automated
        • Use automation to provide a baseline
        • Use automation in conjunction with manual
          techniques



Thursday, 20 September 12
GLUTTONY




                            Over indulging on commercial test tools
Thursday, 20 September 12
Promise of automation
                                 • Software vendors
                                   have sold automation
                                   as the capture-replay
                                   of manual testing
                                   processes




    • Miracle tools that solve
      all testing problems

Thursday, 20 September 12
License barrier
        • Commercial licenses restrict usage
        • Not everyone can run the tests
        • Typically, organisations create special
          groups or privileged individuals




Thursday, 20 September 12
Incompatible technology
        • Underlying technology of commercial tools is
          often not compatible with the development
          toolchain
              • Special file formats or databases
              • Lack of version control for tests
              • Tests cannot be versioned within the software
              • Continuous integration problems
              • Can’t be adapted or extended by the developers



Thursday, 20 September 12
Justifying the expense
        • Financial commitments
          distort judgement
        • Difficult to make objective
          decisions
        • Tendency to use the tool
          for every testing problem
        • People define their role by
          the tools they use


Thursday, 20 September 12
Common symptoms
        • A commercial tools form the basis
          of a testing strategy
        • Only certain teams or individuals can
          access a tool or run tests
        • Developers have not be consulted in the
          selection of a testing tools
        • “We always use <insert tool-name> for testing!”



Thursday, 20 September 12
Suggested approach
        • Use Open Source software tools where ever
          possible
        • Use tools that can easily be supported by the
          development team and play nicely with existing
          development tool chain


        • Ensure any commercial tools can be executed
          in a command-line mode


Thursday, 20 September 12
Lust
                            User interface forms the basis for all testing




Thursday, 20 September 12
Testing through the GUI
        • Non-technical testers often approach testing
          through the user interface
        • Ignores the underlying system and application
          architecture
        • Resulting tests are slow and brittle
        • Difficult to setup test context - resulting in
          sequence dependent scripts



Thursday, 20 September 12
Investment profile

                              Manual
                            Exploratory

                                      Interface




                                                                            Confidence



                                                                                        Speed / Feedback
   Collaboratively
     built around
  system behaviour                Acceptance

      Exercises
   components and                  Integration
      systems

                             Unit/Component

                                                  Investment / Importance
                       Developer built
                      optimised for fast
                          feedback


Thursday, 20 September 12
Architecture
      • Understanding
        application and
        system architecture
        improves test design
      • Creates opportunities
        to verify functionality
        at the right level




Thursday, 20 September 12
Test design
                            Test Intent
                      (Clearly identifies what the       Test Data
                         test is trying to verify)




                             Test
                        Implementation                System Under
                     (Implementation of the test           Test
                    including usage of test data)




Thursday, 20 September 12
F.I.R.S.T. class tests

                        F       Fast

                            I   Independent

                        R       Reliable

                        S       Small

                        T       Transparent


Thursday, 20 September 12
Common symptoms
        • Testers cannot draw the
          application or system architecture
        • Large proportion of tests are
          being run through the user interface
        • Testers have limited technical skills
        • No collaboration with developers
        • Intent of tests is unclear


Thursday, 20 September 12
Suggested approach
        • Limit the investment in automated tests that are
          executed through the user interface
        • Collaborate with developers
        • Focus investment in automation at lowest
          possible level with clear test intent
        • Ensure automation give fast feedback




Thursday, 20 September 12
Pride
                              Too proud to
                            collaborate when
                             creating tests




Thursday, 20 September 12
Poor collaboration
        • Organisations often create
          specialisations of roles
          and skills
        • Layers of management and
          control then develop
        • Collaboration becomes difficult
        • Poor collaboration = poor tests



Thursday, 20 September 12
Automating too much
        • Delegating test automation to a special group
          inhibits collaboration
        • Poor collaboration can results in duplicate test
          cases / coverage
        • Duplication wastes effort and creates
          maintenance issues
        • Setting performance goals based around test-
          cases automated leads to problems


Thursday, 20 September 12
No definition of quality
        • Automated testing effort should match the
          desired system quality
        • Risk that too-much, too-little or not the right
          things will be tested
        • Defining quality creates a shared
          understanding and can only be achieved
          through collaboration




Thursday, 20 September 12
Good collaboration
    • Cross-functional
                                                                    Acceptance
      teams built                                                     Criteria

      better software                            Analyst

    • Collaboration          Specification and
      improves                 Elaboration
                                                   Collaboration   Tester
      definition and
      verification                              Developer
                                                                     Automation




Thursday, 20 September 12
Specification by Example
    • Recognises the value of
      collaboration in testing
    • More general than
      ATDD and/or BDD
    • Based around building a
      suite of Living Documentation
      that can be executed




Thursday, 20 September 12
Common symptoms
        • Automated tests are being built
          in isolation from team
        • Intent of tests is unclear
          or not matched to quality
        • Poor automation design (abstraction,
          encapsulation, ...)
        • Maintainability or compatibility issues



Thursday, 20 September 12
Suggested approach
        • Collaborate to create good tests and avoid
          duplication
        • Limit the investment in UI based automated
          tests
        • Collaborate with developers to ensure good
          technical practices (encapsulation, abstraction,
          reuse, ... )
        • Test code = Production code


Thursday, 20 September 12
SLOTH
    Too lazy to properly
    maintain automated tests




                               Engineering Innovation.

Thursday, 20 September 12
Automated Test Failures
         • Many potential causes of failure
         • Unless maintained - value is slowly eroded

                              System        Reference
                            Interface            Data
                             Change          Changes


                                                        Time
             New                          OS
           Feature                      Patch



Thursday, 20 September 12
Importance of maintenance

                     Manual test execution                 Value of
                                                         Unmaintained
                     Maintained automation              Automated Test
                                                            Suite
                     Unmaintained automation
    Cost / Effort




                                                         Potential
                                                    Value of Maintained
                                                      Automated Test
                                                           Suite




                                             Time
Thursday, 20 September 12
Continuous integration




Thursday, 20 September 12
Common symptoms
        • Test suite has not been recently
          run - state is unknown
        • Continuous Integration history
          shows consistent failures following
          development changes / release
        • Test suite requires manual intervention
        • Duplication within automation code
        • Small changes triggers a cascade of failures

Thursday, 20 September 12
Suggested Approach
        • Ensure automated tests are executed
          using a Continuous Integration
          environment
        • Ensure test are always running - even if
          system in not being actively developed
        • Make test results visible - create
          transparency of system health
        • Ensure collaboration between developers
          and testers
Thursday, 20 September 12
Rage
                            Frustration with slow, brittle
                            or unreliable automated tests

Thursday, 20 September 12
Slow automation
        • Large datasets
        • Unnecessary integrations
        • Inadequate hardware/environments
        • Too many tests
        • Reliance on GUI based tests
        • Manual intervention
        • ... many others

Thursday, 20 September 12
Fast Feedback




Thursday, 20 September 12
Brittle Tests
                               • Contain time-bound data
                               • Have external dependencies
                               • Rely on UI layout/style
                               • Rely on sequence of
                                 execution
                               • Based on production data or
                                 environments


Thursday, 20 September 12
Frustration




Thursday, 20 September 12
Unreliable Tests
                                 • False positives
                                 • Wastes time investigating
                                 • Failures start being ignored
                                 • Creates uncertainty of
                                   system health
                                 • Workarounds and alternate
                                   tests are created


Thursday, 20 September 12
Suggested approach
        • Treat automated tests with the same
          importance as production code
        • Review, refactor, improve ...
        • Apply a “Stop the line” approach to test failure
        • Eliminate (quarantine) unreliable tests
        • Ensure collaboration with developers
        • Up-skill / pair testers

Thursday, 20 September 12
Avarice                Trying to cut
                            costs through
     (Greed)                automation




Thursday, 20 September 12
Lure of cheap testing
                              • Testing tool vendors
                                often try to calculate
                                ROI based on saving
                                labour




       • Analysis is unreliable and under values the
         importance of testing


Thursday, 20 September 12
Automation is not cheap
        • Adopting test automation tools and techniques
          requires significant investment
        • Investment in new ways of working
        • Investment in skills
        • Investment in collaboration
        • Ongoing investment in maintenance



Thursday, 20 September 12
Common symptoms
        • Investment in commercial tools
          using a business-case based on
          reducing headcount
        • Using a predicted ROI as a way of
          reducing budget for Testing
        • Consolidating automated testing
          within a special group




Thursday, 20 September 12
Suggested approach
        • Ensure the reasons for automation are
          clear and are NOT based purely on saving
          money/headcount
        • Ensure business case for automation
          includes costs for ongoing maintenance




Thursday, 20 September 12
7 Deadly Sins
     Envy                   Flawed comparison of manual testing and automation

     Gluttony Over indulging on commercial test tools

     Lust                   User interface forms the basis for all testing

     Pride                  Too proud to collaborate when creating tests

     Sloth                  Too lazy to maintain automated tests

     Rage                   Frustration with slow, brittle or unreliable tests

     Greed                  Trying to cut costs through automation

Thursday, 20 September 12
Why automate testing ?




Thursday, 20 September 12
How geeks really work




Thursday, 20 September 12
Thank you
    Dr Adrian Smith
    September 2012
                            Engineering Innovation.
Thursday, 20 September 12
1 of 57

Recommended

Test Automation Strategy by
Test Automation StrategyTest Automation Strategy
Test Automation StrategyMartin Ruddy
987 views23 slides
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge... by
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...Ho Chi Minh City Software Testing Club
11.6K views30 slides
Functional to Visual: AI-powered UI Testing from Testim and Applitools by
Functional to Visual: AI-powered UI Testing from Testim and ApplitoolsFunctional to Visual: AI-powered UI Testing from Testim and Applitools
Functional to Visual: AI-powered UI Testing from Testim and ApplitoolsApplitools
594 views14 slides
Guide to Agile testing by
Guide to Agile testingGuide to Agile testing
Guide to Agile testingSubrahmaniam S.R.V
3.2K views26 slides
Test Automation Strategies For Agile by
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For AgileNaresh Jain
54K views38 slides
Test Automation in Agile by
Test Automation in AgileTest Automation in Agile
Test Automation in AgileAgile Testing Alliance
6.2K views19 slides

More Related Content

What's hot

Robot Framework Dos And Don'ts by
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'tsPekka Klärck
131.2K views24 slides
Test Complete by
Test CompleteTest Complete
Test CompleteRomSoft SRL
17.9K views31 slides
Test Strategy by
Test StrategyTest Strategy
Test StrategyZbyszek Mockun
3.5K views30 slides
Software test automation by
Software test automationSoftware test automation
Software test automationOksana Demediuk
538 views10 slides
Agile Testing Framework - The Art of Automated Testing by
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
29.8K views32 slides
Test automation methodologies by
Test automation methodologiesTest automation methodologies
Test automation methodologiesMesut Günes
19.6K views4 slides

What's hot(20)

Robot Framework Dos And Don'ts by Pekka Klärck
Robot Framework Dos And Don'tsRobot Framework Dos And Don'ts
Robot Framework Dos And Don'ts
Pekka Klärck131.2K views
Test Complete by RomSoft SRL
Test CompleteTest Complete
Test Complete
RomSoft SRL17.9K views
Agile Testing Framework - The Art of Automated Testing by Dimitri Ponomareff
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
Dimitri Ponomareff29.8K views
Test automation methodologies by Mesut Günes
Test automation methodologiesTest automation methodologies
Test automation methodologies
Mesut Günes19.6K views
Top 20 best automation testing tools by QACraft
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing tools
QACraft139 views
6 Traits of a Successful Test Automation Architecture by Erdem YILDIRIM
6 Traits of a Successful Test Automation Architecture6 Traits of a Successful Test Automation Architecture
6 Traits of a Successful Test Automation Architecture
Erdem YILDIRIM835 views
Mobile Testing with Appium by Knoldus Inc.
Mobile Testing with AppiumMobile Testing with Appium
Mobile Testing with Appium
Knoldus Inc.234 views
Test Automation Frameworks: Assumptions, Concepts & Tools by Amit Rawat
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
Amit Rawat2K views
Test Automation by nikatmalik
Test AutomationTest Automation
Test Automation
nikatmalik962 views
Automatisation des tests - objectifs et concepts - partie 2 by Christophe Rochefolle
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2 by Mesut Günes
Test Mühendisliğine Giriş Eğitimi - Bölüm 2Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Mesut Günes21.1K views
Software Testing Interview Questions & Answers | Edureka by Edureka!
Software Testing Interview Questions & Answers | EdurekaSoftware Testing Interview Questions & Answers | Edureka
Software Testing Interview Questions & Answers | Edureka
Edureka!841 views
ISTQB - CTFL Summary v1.0 by Samer Desouky
ISTQB - CTFL Summary v1.0ISTQB - CTFL Summary v1.0
ISTQB - CTFL Summary v1.0
Samer Desouky3.1K views
Automated Testing vs Manual Testing by Directi Group
Automated Testing vs Manual TestingAutomated Testing vs Manual Testing
Automated Testing vs Manual Testing
Directi Group33.4K views

Viewers also liked

O impacto das novas tecnologias na educação superior: um novo modelo de ensin... by
O impacto das novas tecnologias na educação superior: um novo modelo de ensin...O impacto das novas tecnologias na educação superior: um novo modelo de ensin...
O impacto das novas tecnologias na educação superior: um novo modelo de ensin...Desafios da Educação
4.5K views64 slides
MANET by
MANETMANET
MANEThafize
1K views44 slides
Agile Introduction by
Agile IntroductionAgile Introduction
Agile IntroductionAdrian Smith
3.1K views39 slides
Telecom italia oss transformation roadmap marco daccò venice 2010 by
Telecom italia  oss transformation roadmap   marco daccò venice 2010Telecom italia  oss transformation roadmap   marco daccò venice 2010
Telecom italia oss transformation roadmap marco daccò venice 2010Marco Daccò
1.1K views14 slides
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)" by
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"Daniel Bryant
30.1K views44 slides
7 deadly sins by
7 deadly sins7 deadly sins
7 deadly sinsHope1224
22.4K views27 slides

Viewers also liked(14)

O impacto das novas tecnologias na educação superior: um novo modelo de ensin... by Desafios da Educação
O impacto das novas tecnologias na educação superior: um novo modelo de ensin...O impacto das novas tecnologias na educação superior: um novo modelo de ensin...
O impacto das novas tecnologias na educação superior: um novo modelo de ensin...
MANET by hafize
MANETMANET
MANET
hafize1K views
Agile Introduction by Adrian Smith
Agile IntroductionAgile Introduction
Agile Introduction
Adrian Smith3.1K views
Telecom italia oss transformation roadmap marco daccò venice 2010 by Marco Daccò
Telecom italia  oss transformation roadmap   marco daccò venice 2010Telecom italia  oss transformation roadmap   marco daccò venice 2010
Telecom italia oss transformation roadmap marco daccò venice 2010
Marco Daccò1.1K views
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)" by Daniel Bryant
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"
DevoxxUK 2015 "The Seven Deadly Sins of Microservices (Full Version)"
Daniel Bryant30.1K views
7 deadly sins by Hope1224
7 deadly sins7 deadly sins
7 deadly sins
Hope122422.4K views
How agile coaches help us win the agile coach role @ Spotify by Brendan Marsh
How agile coaches help us win   the agile coach role @ SpotifyHow agile coaches help us win   the agile coach role @ Spotify
How agile coaches help us win the agile coach role @ Spotify
Brendan Marsh10.2K views
5 Games for Effective Agile Coaching by Jovan Vidić
5 Games for Effective Agile Coaching5 Games for Effective Agile Coaching
5 Games for Effective Agile Coaching
Jovan Vidić5.4K views
Agile and Lean Games by Adrian Smith
Agile and Lean GamesAgile and Lean Games
Agile and Lean Games
Adrian Smith15.8K views
How To Grade Your Selenium Tests by Dave Haeffner - Sauce Labs Webinar by Sauce Labs
How To Grade Your Selenium Tests by Dave Haeffner - Sauce Labs WebinarHow To Grade Your Selenium Tests by Dave Haeffner - Sauce Labs Webinar
How To Grade Your Selenium Tests by Dave Haeffner - Sauce Labs Webinar
Sauce Labs3.4K views
Agile Coaching Workshop by Craig Smith
Agile Coaching WorkshopAgile Coaching Workshop
Agile Coaching Workshop
Craig Smith24.2K views
Business Driven Architecture for Strategic Transformation by David Baker
Business Driven Architecture for Strategic TransformationBusiness Driven Architecture for Strategic Transformation
Business Driven Architecture for Strategic Transformation
David Baker5.1K views
Agile tour ncr test360_degree - agile testing on steroids by Vipul Gupta
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroids
Vipul Gupta10.6K views
Agile Testing Strategy by tharindakasun
Agile Testing StrategyAgile Testing Strategy
Agile Testing Strategy
tharindakasun73.6K views

Similar to 7 Deadly Sins of Agile Software Test Automation

Behavior Driven Development by
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven DevelopmentAbhimanyu Singhal
740 views26 slides
How to bake in quality in agile scrum projects by
How to bake in quality in agile scrum projectsHow to bake in quality in agile scrum projects
How to bake in quality in agile scrum projectsSantanu Bhattacharya
1.8K views15 slides
An Introduction to Software Performance Engineering by
An Introduction to Software Performance EngineeringAn Introduction to Software Performance Engineering
An Introduction to Software Performance EngineeringCorrelsense
14K views45 slides
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman by
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanQA or the Highway
353 views23 slides
Agile Development in Aerospace and Defense by
Agile Development in Aerospace and DefenseAgile Development in Aerospace and Defense
Agile Development in Aerospace and DefenseJim Nickel
139 views43 slides
CookpadTechConf2018-(Mobile)TestAutomation by
CookpadTechConf2018-(Mobile)TestAutomationCookpadTechConf2018-(Mobile)TestAutomation
CookpadTechConf2018-(Mobile)TestAutomationKazuaki Matsuo
3.1K views102 slides

Similar to 7 Deadly Sins of Agile Software Test Automation(20)

An Introduction to Software Performance Engineering by Correlsense
An Introduction to Software Performance EngineeringAn Introduction to Software Performance Engineering
An Introduction to Software Performance Engineering
Correlsense14K views
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman by QA or the Highway
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
QA or the Highway353 views
Agile Development in Aerospace and Defense by Jim Nickel
Agile Development in Aerospace and DefenseAgile Development in Aerospace and Defense
Agile Development in Aerospace and Defense
Jim Nickel139 views
CookpadTechConf2018-(Mobile)TestAutomation by Kazuaki Matsuo
CookpadTechConf2018-(Mobile)TestAutomationCookpadTechConf2018-(Mobile)TestAutomation
CookpadTechConf2018-(Mobile)TestAutomation
Kazuaki Matsuo3.1K views
LeverX SAP DMS Webinar by Eric Stajda
LeverX SAP DMS WebinarLeverX SAP DMS Webinar
LeverX SAP DMS Webinar
Eric Stajda4.2K views
Ion Idea Testing Services Presentation Ver 1 0 by sambitgarnaik
Ion Idea Testing Services Presentation Ver 1 0Ion Idea Testing Services Presentation Ver 1 0
Ion Idea Testing Services Presentation Ver 1 0
sambitgarnaik479 views
Programming skills for test automation by Romania Testing
Programming skills for test automationProgramming skills for test automation
Programming skills for test automation
Romania Testing12.5K views
Mindtree test automation services. by Mindtree Ltd.
Mindtree test automation services.Mindtree test automation services.
Mindtree test automation services.
Mindtree Ltd. 739 views
Udvid din test portefølje med coded ui test og cloud load test by Peter Lindberg
Udvid din test portefølje med coded ui test og cloud load testUdvid din test portefølje med coded ui test og cloud load test
Udvid din test portefølje med coded ui test og cloud load test
Peter Lindberg1.5K views
Microsoft ALM Platform Overview by Steve Lange
Microsoft ALM Platform OverviewMicrosoft ALM Platform Overview
Microsoft ALM Platform Overview
Steve Lange9.5K views
Lights-Out Testing for Lights-On Business by Worksoft
Lights-Out Testing for Lights-On BusinessLights-Out Testing for Lights-On Business
Lights-Out Testing for Lights-On Business
Worksoft875 views
Agile Requirements by Agile Analysts by Kurt Solarte
Agile Requirements by Agile AnalystsAgile Requirements by Agile Analysts
Agile Requirements by Agile Analysts
Kurt Solarte770 views
Introductie Visual Studio ALM 2012 by Delta-N
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
Delta-N601 views
Cognizant's Zero Deviation Life Cycle - an Overview by Dr. Bippin Makoond
Cognizant's Zero Deviation Life Cycle - an OverviewCognizant's Zero Deviation Life Cycle - an Overview
Cognizant's Zero Deviation Life Cycle - an Overview
Dr. Bippin Makoond3.1K views
How BDD enables True CI/CD by Roger Turnau
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
Roger Turnau190 views

Recently uploaded

ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
27 views49 slides
SUPPLIER SOURCING.pptx by
SUPPLIER SOURCING.pptxSUPPLIER SOURCING.pptx
SUPPLIER SOURCING.pptxangelicacueva6
20 views1 slide
Network Source of Truth and Infrastructure as Code revisited by
Network Source of Truth and Infrastructure as Code revisitedNetwork Source of Truth and Infrastructure as Code revisited
Network Source of Truth and Infrastructure as Code revisitedNetwork Automation Forum
32 views45 slides
virtual reality.pptx by
virtual reality.pptxvirtual reality.pptx
virtual reality.pptxG036GaikwadSnehal
18 views15 slides
Mini-Track: Challenges to Network Automation Adoption by
Mini-Track: Challenges to Network Automation AdoptionMini-Track: Challenges to Network Automation Adoption
Mini-Track: Challenges to Network Automation AdoptionNetwork Automation Forum
17 views27 slides
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...The Digital Insurer
24 views52 slides

Recently uploaded(20)

ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc72 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson126 views
Piloting & Scaling Successfully With Microsoft Viva by Richard Harbridge
Piloting & Scaling Successfully With Microsoft VivaPiloting & Scaling Successfully With Microsoft Viva
Piloting & Scaling Successfully With Microsoft Viva
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf by Dr. Jimmy Schwarzkopf
STKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdfSTKI Israeli Market Study 2023   corrected forecast 2023_24 v3.pdf
STKI Israeli Market Study 2023 corrected forecast 2023_24 v3.pdf
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe by Simone Puorto
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe
2024: A Travel Odyssey The Role of Generative AI in the Tourism Universe
Simone Puorto13 views
Unit 1_Lecture 2_Physical Design of IoT.pdf by StephenTec
Unit 1_Lecture 2_Physical Design of IoT.pdfUnit 1_Lecture 2_Physical Design of IoT.pdf
Unit 1_Lecture 2_Physical Design of IoT.pdf
StephenTec15 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
STPI OctaNE CoE Brochure.pdf by madhurjyapb
STPI OctaNE CoE Brochure.pdfSTPI OctaNE CoE Brochure.pdf
STPI OctaNE CoE Brochure.pdf
madhurjyapb14 views

7 Deadly Sins of Agile Software Test Automation

  • 1. 7 DEADLY SINS OF AUTOMATED TESTING Dr Adrian Smith September 2012 Engineering Innovation. Thursday, 20 September 12
  • 2. Adrian Smith • Background in Engineering • Software development using Agile and Lean Diverse Ex Diverse Ex • Technical and Organisational Coach Aerospace Engineering • Founded a startup product development and Commercial and military engineering Aerospace Engineering analysis and manufacturing experienc consulting business Diverse Experienc Commercial and military engineering programs including A380 and F35. analysis and manufacturing experienc programs including A380 and F35. Agile Software Developm Aerospace Engineering Software development, architecture a Agile Software Developm Commercial and military engineering design, management for engineering CAE, au Software development, architecture a analysis and manufacturing experience on major scientific and digital media. programs including A380 and F35. engineering CAE, au management for scientific and digital media. Systems Integration Thursday, 20 September 12 Agile Software Development Integration of logistics, financial, engi
  • 4. Airbus A380 Wing Thursday, 20 September 12
  • 6. Envy Flawed comparison of manual testing and automation Thursday, 20 September 12
  • 7. How management see testing Thursday, 20 September 12
  • 8. How management would like to see testing Thursday, 20 September 12
  • 9. Manual vs Automation • A flawed comparison • Assumes that automation can replace manual testing effort • Automation generally doesn’t find new defects • Testing is not merely a sequence of repeatable actions • Testing requires thought and learning Thursday, 20 September 12
  • 10. Ideal automation targets • Regression testing - assessing current state • Automation of test support activities • Data generation or sub-setting • Load generation • Non-functional testing • Deterministic problems • Big data problems Thursday, 20 September 12
  • 11. Common symptoms • Relying on automation as the basis for all testing activities • All tests are built by developers • Absence of code reviews • Absence of exploratory testing • Absence of user testing Thursday, 20 September 12
  • 12. Suggested approach • Avoid comparison between manual and automated testing - both are needed • Distinguish between the automation and the process that is being automated • Use automation to provide a baseline • Use automation in conjunction with manual techniques Thursday, 20 September 12
  • 13. GLUTTONY Over indulging on commercial test tools Thursday, 20 September 12
  • 14. Promise of automation • Software vendors have sold automation as the capture-replay of manual testing processes • Miracle tools that solve all testing problems Thursday, 20 September 12
  • 15. License barrier • Commercial licenses restrict usage • Not everyone can run the tests • Typically, organisations create special groups or privileged individuals Thursday, 20 September 12
  • 16. Incompatible technology • Underlying technology of commercial tools is often not compatible with the development toolchain • Special file formats or databases • Lack of version control for tests • Tests cannot be versioned within the software • Continuous integration problems • Can’t be adapted or extended by the developers Thursday, 20 September 12
  • 17. Justifying the expense • Financial commitments distort judgement • Difficult to make objective decisions • Tendency to use the tool for every testing problem • People define their role by the tools they use Thursday, 20 September 12
  • 18. Common symptoms • A commercial tools form the basis of a testing strategy • Only certain teams or individuals can access a tool or run tests • Developers have not be consulted in the selection of a testing tools • “We always use <insert tool-name> for testing!” Thursday, 20 September 12
  • 19. Suggested approach • Use Open Source software tools where ever possible • Use tools that can easily be supported by the development team and play nicely with existing development tool chain • Ensure any commercial tools can be executed in a command-line mode Thursday, 20 September 12
  • 20. Lust User interface forms the basis for all testing Thursday, 20 September 12
  • 21. Testing through the GUI • Non-technical testers often approach testing through the user interface • Ignores the underlying system and application architecture • Resulting tests are slow and brittle • Difficult to setup test context - resulting in sequence dependent scripts Thursday, 20 September 12
  • 22. Investment profile Manual Exploratory Interface Confidence Speed / Feedback Collaboratively built around system behaviour Acceptance Exercises components and Integration systems Unit/Component Investment / Importance Developer built optimised for fast feedback Thursday, 20 September 12
  • 23. Architecture • Understanding application and system architecture improves test design • Creates opportunities to verify functionality at the right level Thursday, 20 September 12
  • 24. Test design Test Intent (Clearly identifies what the Test Data test is trying to verify) Test Implementation System Under (Implementation of the test Test including usage of test data) Thursday, 20 September 12
  • 25. F.I.R.S.T. class tests F Fast I Independent R Reliable S Small T Transparent Thursday, 20 September 12
  • 26. Common symptoms • Testers cannot draw the application or system architecture • Large proportion of tests are being run through the user interface • Testers have limited technical skills • No collaboration with developers • Intent of tests is unclear Thursday, 20 September 12
  • 27. Suggested approach • Limit the investment in automated tests that are executed through the user interface • Collaborate with developers • Focus investment in automation at lowest possible level with clear test intent • Ensure automation give fast feedback Thursday, 20 September 12
  • 28. Pride Too proud to collaborate when creating tests Thursday, 20 September 12
  • 29. Poor collaboration • Organisations often create specialisations of roles and skills • Layers of management and control then develop • Collaboration becomes difficult • Poor collaboration = poor tests Thursday, 20 September 12
  • 30. Automating too much • Delegating test automation to a special group inhibits collaboration • Poor collaboration can results in duplicate test cases / coverage • Duplication wastes effort and creates maintenance issues • Setting performance goals based around test- cases automated leads to problems Thursday, 20 September 12
  • 31. No definition of quality • Automated testing effort should match the desired system quality • Risk that too-much, too-little or not the right things will be tested • Defining quality creates a shared understanding and can only be achieved through collaboration Thursday, 20 September 12
  • 32. Good collaboration • Cross-functional Acceptance teams built Criteria better software Analyst • Collaboration Specification and improves Elaboration Collaboration Tester definition and verification Developer Automation Thursday, 20 September 12
  • 33. Specification by Example • Recognises the value of collaboration in testing • More general than ATDD and/or BDD • Based around building a suite of Living Documentation that can be executed Thursday, 20 September 12
  • 34. Common symptoms • Automated tests are being built in isolation from team • Intent of tests is unclear or not matched to quality • Poor automation design (abstraction, encapsulation, ...) • Maintainability or compatibility issues Thursday, 20 September 12
  • 35. Suggested approach • Collaborate to create good tests and avoid duplication • Limit the investment in UI based automated tests • Collaborate with developers to ensure good technical practices (encapsulation, abstraction, reuse, ... ) • Test code = Production code Thursday, 20 September 12
  • 36. SLOTH Too lazy to properly maintain automated tests Engineering Innovation. Thursday, 20 September 12
  • 37. Automated Test Failures • Many potential causes of failure • Unless maintained - value is slowly eroded System Reference Interface Data Change Changes Time New OS Feature Patch Thursday, 20 September 12
  • 38. Importance of maintenance Manual test execution Value of Unmaintained Maintained automation Automated Test Suite Unmaintained automation Cost / Effort Potential Value of Maintained Automated Test Suite Time Thursday, 20 September 12
  • 40. Common symptoms • Test suite has not been recently run - state is unknown • Continuous Integration history shows consistent failures following development changes / release • Test suite requires manual intervention • Duplication within automation code • Small changes triggers a cascade of failures Thursday, 20 September 12
  • 41. Suggested Approach • Ensure automated tests are executed using a Continuous Integration environment • Ensure test are always running - even if system in not being actively developed • Make test results visible - create transparency of system health • Ensure collaboration between developers and testers Thursday, 20 September 12
  • 42. Rage Frustration with slow, brittle or unreliable automated tests Thursday, 20 September 12
  • 43. Slow automation • Large datasets • Unnecessary integrations • Inadequate hardware/environments • Too many tests • Reliance on GUI based tests • Manual intervention • ... many others Thursday, 20 September 12
  • 45. Brittle Tests • Contain time-bound data • Have external dependencies • Rely on UI layout/style • Rely on sequence of execution • Based on production data or environments Thursday, 20 September 12
  • 47. Unreliable Tests • False positives • Wastes time investigating • Failures start being ignored • Creates uncertainty of system health • Workarounds and alternate tests are created Thursday, 20 September 12
  • 48. Suggested approach • Treat automated tests with the same importance as production code • Review, refactor, improve ... • Apply a “Stop the line” approach to test failure • Eliminate (quarantine) unreliable tests • Ensure collaboration with developers • Up-skill / pair testers Thursday, 20 September 12
  • 49. Avarice Trying to cut costs through (Greed) automation Thursday, 20 September 12
  • 50. Lure of cheap testing • Testing tool vendors often try to calculate ROI based on saving labour • Analysis is unreliable and under values the importance of testing Thursday, 20 September 12
  • 51. Automation is not cheap • Adopting test automation tools and techniques requires significant investment • Investment in new ways of working • Investment in skills • Investment in collaboration • Ongoing investment in maintenance Thursday, 20 September 12
  • 52. Common symptoms • Investment in commercial tools using a business-case based on reducing headcount • Using a predicted ROI as a way of reducing budget for Testing • Consolidating automated testing within a special group Thursday, 20 September 12
  • 53. Suggested approach • Ensure the reasons for automation are clear and are NOT based purely on saving money/headcount • Ensure business case for automation includes costs for ongoing maintenance Thursday, 20 September 12
  • 54. 7 Deadly Sins Envy Flawed comparison of manual testing and automation Gluttony Over indulging on commercial test tools Lust User interface forms the basis for all testing Pride Too proud to collaborate when creating tests Sloth Too lazy to maintain automated tests Rage Frustration with slow, brittle or unreliable tests Greed Trying to cut costs through automation Thursday, 20 September 12
  • 55. Why automate testing ? Thursday, 20 September 12
  • 56. How geeks really work Thursday, 20 September 12
  • 57. Thank you Dr Adrian Smith September 2012 Engineering Innovation. Thursday, 20 September 12