SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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'
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

Último (20)

Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
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
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
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
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
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
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
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
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
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
 
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
 
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
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 

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