SlideShare a Scribd company logo
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

More Related Content

PPTX
Entaggle: an Agile Software Development Case Study
PDF
The Thinking Tester, Evolved
PDF
Exploratory Testing in an Agile Context
PDF
Exploratory Testing in Practice
PPTX
Test-Driven Development In Action
PDF
The WHY behind TDD/BDD and the HOW with RSpec
PDF
Getting started with Test Driven Development
PDF
A Not-So-Serious Introduction to Test Driven Development (TDD)
Entaggle: an Agile Software Development Case Study
The Thinking Tester, Evolved
Exploratory Testing in an Agile Context
Exploratory Testing in Practice
Test-Driven Development In Action
The WHY behind TDD/BDD and the HOW with RSpec
Getting started with Test Driven Development
A Not-So-Serious Introduction to Test Driven Development (TDD)

What's hot (19)

PPTX
2016 10-04: tdd++: tdd made easier
PPTX
A Brief Introduction to Test-Driven Development
PDF
Rapid software testing
PDF
Common Challenges & Best Practices for TDD on iOS
PDF
Test Driven Development
PPT
Test driven-development
PPTX
Test-driven development & Behavior-driven development basics
PPTX
Test Driven Development (C#)
PPT
Test Driven Development
PPT
Test Driven Development
PDF
Rapid Software Testing
PPT
Unit Testing, TDD and the Walking Skeleton
PDF
Test Drive Development
PDF
Agile and test driven development
PDF
Dependency Injection in iOS
PPTX
TDD Basics with Angular.js and Jasmine
PPTX
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
PDF
Setting up Continuous Delivery Culture for a Large Scale Mobile App
PDF
5-Ways-to-Revolutionize-Your-Software-Testing
2016 10-04: tdd++: tdd made easier
A Brief Introduction to Test-Driven Development
Rapid software testing
Common Challenges & Best Practices for TDD on iOS
Test Driven Development
Test driven-development
Test-driven development & Behavior-driven development basics
Test Driven Development (C#)
Test Driven Development
Test Driven Development
Rapid Software Testing
Unit Testing, TDD and the Walking Skeleton
Test Drive Development
Agile and test driven development
Dependency Injection in iOS
TDD Basics with Angular.js and Jasmine
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
Setting up Continuous Delivery Culture for a Large Scale Mobile App
5-Ways-to-Revolutionize-Your-Software-Testing
Ad

Viewers also liked (20)

PDF
Agile Quality and Risk Management
PDF
Introduction to Acceptance Test Driven Development
PDF
#LFMF: Tales of Test Automation Gone Wrong
PDF
Agile: Get Real
PDF
AGILEEE Friday 17:15 Talk
PDF
Wclessons atd-sm
PDF
On the Care and Feeding of Feedback Cycles
PDF
Agile Testing, Uncertainty, Risk, and Why It All Works
PDF
Agile testing quadrants discussion
PPT
Agiles Testen
PPT
'The Real Agile Testing Quadrants' with Michael Bolton
PPT
Scrum In 15 Minutes
PPTX
CD Project January 2011
 
PDF
100624 tube 1 surf me a letter (jan van dommelen)
PPTX
Parent engagement 2
 
PPTX
Day 3 21 cc workshop cd focus entire day slideshare
 
PDF
“Divine Providence In The Life of Todays Christian"
PPTX
Healthy City Webinar_Getting Started with HealthyCity.org
PPT
Axure rp 6.5 教育訓練 day1
PPT
Axure rp 6.5 教育訓練 day2
Agile Quality and Risk Management
Introduction to Acceptance Test Driven Development
#LFMF: Tales of Test Automation Gone Wrong
Agile: Get Real
AGILEEE Friday 17:15 Talk
Wclessons atd-sm
On the Care and Feeding of Feedback Cycles
Agile Testing, Uncertainty, Risk, and Why It All Works
Agile testing quadrants discussion
Agiles Testen
'The Real Agile Testing Quadrants' with Michael Bolton
Scrum In 15 Minutes
CD Project January 2011
 
100624 tube 1 surf me a letter (jan van dommelen)
Parent engagement 2
 
Day 3 21 cc workshop cd focus entire day slideshare
 
“Divine Providence In The Life of Todays Christian"
Healthy City Webinar_Getting Started with HealthyCity.org
Axure rp 6.5 教育訓練 day1
Axure rp 6.5 教育訓練 day2
Ad

Similar to Agile Testing Overview (20)

PPT
Agile Testing. Risks, Uncertainty and Why It All Works
PPTX
Testing Sap: Modern Methodology
PPTX
Distributed agile testing_for_enterprises
KEY
Essential practices and thinking tools for Agile Adoption
PPT
UNIT IV.ppt
PDF
Agile process
PDF
Tester Challenges in Agile ?
PPTX
Service engineering
PDF
Automate your way to agility
PDF
Agile testing practice
PDF
High Performance Software Engineering Teams
PDF
Test driven development
PDF
Testing in Agile Development
PDF
What is Agile Software Testing_ How to Perform it_.pdf
PPTX
Agile Testing: The Role Of The Agile Tester
PPTX
Unit Testing and TDD 2017
PDF
Engaging IV&V Testing Services for Agile Projects
PDF
test
PDF
test
PDF
Building Quality In in SAFe – The Testing Organization’s Perspective
Agile Testing. Risks, Uncertainty and Why It All Works
Testing Sap: Modern Methodology
Distributed agile testing_for_enterprises
Essential practices and thinking tools for Agile Adoption
UNIT IV.ppt
Agile process
Tester Challenges in Agile ?
Service engineering
Automate your way to agility
Agile testing practice
High Performance Software Engineering Teams
Test driven development
Testing in Agile Development
What is Agile Software Testing_ How to Perform it_.pdf
Agile Testing: The Role Of The Agile Tester
Unit Testing and TDD 2017
Engaging IV&V Testing Services for Agile Projects
test
test
Building Quality In in SAFe – The Testing Organization’s Perspective

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PDF
Advanced Soft Computing BINUS July 2025.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Approach and Philosophy of On baking technology
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Advanced IT Governance
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
Big Data Technologies - Introduction.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Modernizing your data center with Dell and AMD
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Teaching material agriculture food technology
Advanced Soft Computing BINUS July 2025.pdf
MYSQL Presentation for SQL database connectivity
Approach and Philosophy of On baking technology
NewMind AI Weekly Chronicles - August'25 Week I
Dropbox Q2 2025 Financial Results & Investor Presentation
GamePlan Trading System Review: Professional Trader's Honest Take
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Empathic Computing: Creating Shared Understanding
Diabetes mellitus diagnosis method based random forest with bat algorithm
Advanced IT Governance
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Review of recent advances in non-invasive hemoglobin estimation
Big Data Technologies - Introduction.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Modernizing your data center with Dell and AMD
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....

Agile Testing Overview

  • 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