SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Agile Testing,
                   Uncertainty,
                   Risk, and
                   Why It All Works
                    Elisabeth Hendrickson
                    Quality Tree Software, Inc.
                    www.qualitytree.com
                    esh@qualitytree.com


                                              Last updated April 27, 2010
                               Copyright © 2010 Quality Tree Software, Inc.
This work is licensed under the Creative Commons Attribution 3.0 United States License.
View a copy of this license.
What Does Agile Really Mean?

Agile software teams…
…Deliver value in the form of
 releasable software at frequent
 regular intervals (at least
 monthly)…
…At a sustainable pace…
…While adapting to the changing
 needs of the business.
It’s Not Done Until It’s Tested

  We’re really                    But what if
behind. Let’s just                 it doesn’t
call it “done” and                   work?
     move on.




 It’s not releasable until it’s Done. (Really Done.)
    Done includes both implemented and tested.
     And tested means checked and explored.
Testing: Consider Certainty v. Time

“Traditional”
     Release


Single Sprint


   Sequence
   of Sprints
Illusion Buildup
Illusion




                Time
Four Big Sources of Technical Risk




 Ambiguity                 Dependencies




Assumptions                  Capacity
Eight Key Testing-Related Practices in Agile


                                      Exploratory
   ATDD                 TDD
                                        Testing



 Automated         Automated        Collective Test
System Tests       Unit Tests         Ownership



          Continuous            Rehearse
          Integration           Delivery
Practice: Acceptance-Test Driven Development (ATDD)
Principle: Tests Represent Expectations

I found a great bug!       Ummm…and what gave
  It won’t run on a          you the idea that
   Commodore 64!           should be a supported
                                 platform?




    Test Driven practices make expectations
     explicit and drive out ambiguity early.
Principle: Reduce Test Documentation Overhead




    ATDD provides leveraged documentation and
       results in executable requirements.
Practice: Automated System-Level Regression Tests

                   • Are business-facing,
                     written by various members
                     of the team in collaboration
                   • Express expectations about
                     externally verifiable
                     behavior
                   • Represent executable
                     requirements
Principle: Reduce Feedback Latency




           Latency
Practice: Test Driven Development (TDD)
Practice: Automated Unit Tests

         • Are code-facing, written by
           programmers to support
           the coding effort
         • Express expectations of the
           internal behavior of the
           code
         • Isolate element(s) under
           test
         • Execute quickly and often
Practice: Collective Test Ownership
Practice: Continuous Integration (CI)


       CI tools do
automated builds,
execute tests, and
report the results


                     Developers practicing CI
                     merge their changes
                     locally & execute tests
                     before checking in
Principle: Red Build Means Stop the Line


    We can just throw            But that will
   that bug on the pile       increase technical
     with the others.            debt & slow
                                   velocity.




                           Yuck.
If a previously passing expectation fails, there’s a
     bug. Bugs slow everything down. To keep
          sustainable pace, fix bugs fast.
Practice: Exploratory Testing

              Simultaneously…
              …learning about the software
              …designing tests
              …executing tests
              using feedback from the last
              test to inform the next



(See Jon and James Bach’s work on Session-Based ET)
Principle: Fail Early, Fail Fast


Failing late results in
 panic. Failing early
 gives us time to fix
    the problems.
Practice: Rehearse Delivery


 Until we ship or
 deploy, we don’t
know what will go
 wrong getting a
“Done” system out
    the door.
Agile Testing Practices Mitigate Risk


                                     Continuous
     ATDD                            Integration
                             Rehearse
     Ambiguity                   Dependencies
                              Delivery
           TDD              Automated Automated
                           System TestsUnit Tests


 Exploratory Continuous      Collective Test
    Rehearse Integration
   Testing                               Rehearse
                               Ownership
    Assumptions
     Delivery                             Delivery
                                    Capacity
 Automated Automated        Automated Automated
System Tests Unit Tests    System TestsUnit Tests

Contenu connexe

Tendances

Test driven development
Test driven developmentTest driven development
Test driven development
Shalabh Saxena
 
Devops culture in customer systems
Devops culture in customer systemsDevops culture in customer systems
Devops culture in customer systems
Matthew Jones
 
11 best practices_for_peer_code_review
11 best practices_for_peer_code_review11 best practices_for_peer_code_review
11 best practices_for_peer_code_review
SmartBear Software
 
Agile2012 soccer witha_basketballteam
Agile2012 soccer witha_basketballteamAgile2012 soccer witha_basketballteam
Agile2012 soccer witha_basketballteam
drewz lin
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
ThoughtWorks
 

Tendances (20)

Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...
 
Agile and test driven development
Agile and test driven developmentAgile and test driven development
Agile and test driven development
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOps
 
Dependency Injection in iOS
Dependency Injection in iOSDependency Injection in iOS
Dependency Injection in iOS
 
Architecture In An Agile World
Architecture In An Agile WorldArchitecture In An Agile World
Architecture In An Agile World
 
DevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroDevOps - Boldly Go for Distro
DevOps - Boldly Go for Distro
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
TDD That Was Easy!
TDD   That Was Easy!TDD   That Was Easy!
TDD That Was Easy!
 
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to ProdTowards FutureOps: Stable, Repeatable environments from Dev to Prod
Towards FutureOps: Stable, Repeatable environments from Dev to Prod
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Devops culture in customer systems
Devops culture in customer systemsDevops culture in customer systems
Devops culture in customer systems
 
11 best practices_for_peer_code_review
11 best practices_for_peer_code_review11 best practices_for_peer_code_review
11 best practices_for_peer_code_review
 
TDD vs. ATDD - What, Why, Which, When & Where
TDD vs. ATDD - What, Why, Which, When & WhereTDD vs. ATDD - What, Why, Which, When & Where
TDD vs. ATDD - What, Why, Which, When & Where
 
Chapter 3 Reducing Risks Using CI
Chapter 3 Reducing Risks Using CIChapter 3 Reducing Risks Using CI
Chapter 3 Reducing Risks Using CI
 
Agile2012 soccer witha_basketballteam
Agile2012 soccer witha_basketballteamAgile2012 soccer witha_basketballteam
Agile2012 soccer witha_basketballteam
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
 
ATDD in Practice
ATDD in PracticeATDD in Practice
ATDD in Practice
 
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
 
Agile Programming Systems # TDD intro
Agile Programming Systems # TDD introAgile Programming Systems # TDD intro
Agile Programming Systems # TDD intro
 

En vedette

Exploratory Testing in an Agile Context
Exploratory Testing in an Agile ContextExploratory Testing in an Agile Context
Exploratory Testing in an Agile Context
Elisabeth Hendrickson
 
P&msp2010 07 risk-and-change-management
P&msp2010 07 risk-and-change-managementP&msp2010 07 risk-and-change-management
P&msp2010 07 risk-and-change-management
Emanuele Della Valle
 
Chapter 12 - Operational risk management
Chapter 12 - Operational risk managementChapter 12 - Operational risk management
Chapter 12 - Operational risk management
Quan Risk
 
Measuring operational risk
Measuring operational riskMeasuring operational risk
Measuring operational risk
Ujjwal 'Shanu'
 

En vedette (20)

Agile Quality and Risk Management
Agile Quality and Risk ManagementAgile Quality and Risk Management
Agile Quality and Risk Management
 
AGILEEE Friday 17:15 Talk
AGILEEE Friday 17:15 TalkAGILEEE Friday 17:15 Talk
AGILEEE Friday 17:15 Talk
 
Wclessons atd-sm
Wclessons atd-smWclessons atd-sm
Wclessons atd-sm
 
Agile: Get Real
Agile: Get RealAgile: Get Real
Agile: Get Real
 
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
 
Exploratory Testing in an Agile Context
Exploratory Testing in an Agile ContextExploratory Testing in an Agile Context
Exploratory Testing in an Agile Context
 
Exploratory Testing in Practice
Exploratory Testing in PracticeExploratory Testing in Practice
Exploratory Testing in Practice
 
Introduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentIntroduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven Development
 
Quality Risk Management
Quality Risk ManagementQuality Risk Management
Quality Risk Management
 
Agile quality management
Agile quality managementAgile quality management
Agile quality management
 
Quality risk management
Quality risk managementQuality risk management
Quality risk management
 
Risk Management and Reliable Forecasting using Un-reliable Data (magennis) - ...
Risk Management and Reliable Forecasting using Un-reliable Data (magennis) - ...Risk Management and Reliable Forecasting using Un-reliable Data (magennis) - ...
Risk Management and Reliable Forecasting using Un-reliable Data (magennis) - ...
 
P&msp2010 07 risk-and-change-management
P&msp2010 07 risk-and-change-managementP&msp2010 07 risk-and-change-management
P&msp2010 07 risk-and-change-management
 
Presenter Slides - E-Workshop: Agricultural risk management with FAO and ILO
Presenter Slides - E-Workshop: Agricultural risk management with FAO and ILOPresenter Slides - E-Workshop: Agricultural risk management with FAO and ILO
Presenter Slides - E-Workshop: Agricultural risk management with FAO and ILO
 
02 - Testing Management - Crash Slides
02 - Testing Management - Crash Slides02 - Testing Management - Crash Slides
02 - Testing Management - Crash Slides
 
Improving Financial Management
Improving Financial ManagementImproving Financial Management
Improving Financial Management
 
Outsourcing - Key management issues
Outsourcing - Key management issuesOutsourcing - Key management issues
Outsourcing - Key management issues
 
ICH Q9 Quality Risk Management
ICH Q9 Quality Risk ManagementICH Q9 Quality Risk Management
ICH Q9 Quality Risk Management
 
Chapter 12 - Operational risk management
Chapter 12 - Operational risk managementChapter 12 - Operational risk management
Chapter 12 - Operational risk management
 
Measuring operational risk
Measuring operational riskMeasuring operational risk
Measuring operational risk
 

Similaire à Agile Testing, Uncertainty, Risk, and Why It All Works

Agile Testing. Risks, Uncertainty and Why It All Works
Agile Testing. Risks, Uncertainty and Why It All WorksAgile Testing. Risks, Uncertainty and Why It All Works
Agile Testing. Risks, Uncertainty and Why It All Works
Agileee
 
Agile testing overview
Agile testing overviewAgile testing overview
Agile testing overview
raianup
 

Similaire à Agile Testing, Uncertainty, Risk, and Why It All Works (20)

Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile Adoption
 
Agile Testing. Risks, Uncertainty and Why It All Works
Agile Testing. Risks, Uncertainty and Why It All WorksAgile Testing. Risks, Uncertainty and Why It All Works
Agile Testing. Risks, Uncertainty and Why It All Works
 
Agile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai CultureAgile Software Development Process Practice in Thai Culture
Agile Software Development Process Practice in Thai Culture
 
Testing in java
Testing in javaTesting in java
Testing in java
 
Quality Assurance - The Other Side of the Fence
Quality Assurance - The Other Side of the FenceQuality Assurance - The Other Side of the Fence
Quality Assurance - The Other Side of the Fence
 
Agile testing overview
Agile testing overviewAgile testing overview
Agile testing overview
 
Agile testingoverview
Agile testingoverviewAgile testingoverview
Agile testingoverview
 
Agile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer PerspectiveAgile Software Development in Practice - A Developer Perspective
Agile Software Development in Practice - A Developer Perspective
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
 
Agile testing
Agile testingAgile testing
Agile testing
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases#DOAW16 - DevOps@work Roma 2016 - Testing your databases
#DOAW16 - DevOps@work Roma 2016 - Testing your databases
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3
 
Unit testing
Unit testingUnit testing
Unit testing
 
Continuous testing the new must have skill of tomorrow's tech leaders
Continuous testing  the new must have skill of tomorrow's tech leadersContinuous testing  the new must have skill of tomorrow's tech leaders
Continuous testing the new must have skill of tomorrow's tech leaders
 
test
testtest
test
 
test
testtest
test
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approach
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 

Dernier

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Dernier (20)

Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 

Agile Testing, Uncertainty, Risk, and Why It All Works

  • 1. Agile Testing, Uncertainty, Risk, and Why It All Works Elisabeth Hendrickson Quality Tree Software, Inc. www.qualitytree.com esh@qualitytree.com Last updated April 27, 2010 Copyright © 2010 Quality Tree Software, Inc. This work is licensed under the Creative Commons Attribution 3.0 United States License. View a copy of this license.
  • 2. What Does Agile Really Mean? Agile software teams… …Deliver value in the form of releasable software at frequent regular intervals (at least monthly)… …At a sustainable pace… …While adapting to the changing needs of the business.
  • 3. It’s Not Done Until It’s Tested We’re really But what if behind. Let’s just it doesn’t call it “done” and work? move on. It’s not releasable until it’s Done. (Really Done.) Done includes both implemented and tested. And tested means checked and explored.
  • 4. Testing: Consider Certainty v. Time “Traditional” Release Single Sprint Sequence of Sprints
  • 6. Four Big Sources of Technical Risk Ambiguity Dependencies Assumptions Capacity
  • 7. Eight Key Testing-Related Practices in Agile Exploratory ATDD TDD Testing Automated Automated Collective Test System Tests Unit Tests Ownership Continuous Rehearse Integration Delivery
  • 8. Practice: Acceptance-Test Driven Development (ATDD)
  • 9. Principle: Tests Represent Expectations I found a great bug! Ummm…and what gave It won’t run on a you the idea that Commodore 64! should be a supported platform? Test Driven practices make expectations explicit and drive out ambiguity early.
  • 10. Principle: Reduce Test Documentation Overhead ATDD provides leveraged documentation and results in executable requirements.
  • 11. Practice: Automated System-Level Regression Tests • Are business-facing, written by various members of the team in collaboration • Express expectations about externally verifiable behavior • Represent executable requirements
  • 12. Principle: Reduce Feedback Latency Latency
  • 13. Practice: Test Driven Development (TDD)
  • 14. Practice: Automated Unit Tests • Are code-facing, written by programmers to support the coding effort • Express expectations of the internal behavior of the code • Isolate element(s) under test • Execute quickly and often
  • 16. Practice: Continuous Integration (CI) CI tools do automated builds, execute tests, and report the results Developers practicing CI merge their changes locally & execute tests before checking in
  • 17. Principle: Red Build Means Stop the Line We can just throw But that will that bug on the pile increase technical with the others. debt & slow velocity. Yuck. If a previously passing expectation fails, there’s a bug. Bugs slow everything down. To keep sustainable pace, fix bugs fast.
  • 18. Practice: Exploratory Testing Simultaneously… …learning about the software …designing tests …executing tests using feedback from the last test to inform the next (See Jon and James Bach’s work on Session-Based ET)
  • 19. Principle: Fail Early, Fail Fast Failing late results in panic. Failing early gives us time to fix the problems.
  • 20. Practice: Rehearse Delivery Until we ship or deploy, we don’t know what will go wrong getting a “Done” system out the door.
  • 21. Agile Testing Practices Mitigate Risk Continuous ATDD Integration Rehearse Ambiguity Dependencies Delivery TDD Automated Automated System TestsUnit Tests Exploratory Continuous Collective Test Rehearse Integration Testing Rehearse Ownership Assumptions Delivery Delivery Capacity Automated Automated Automated Automated System Tests Unit Tests System TestsUnit Tests