SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
What is Agile
Testing?
  key success factors
  & practices



      presented by:




    in partnership with:
Introduction



Andy Painter
 •   Agile Coach/Trainer/Practitioner
 •   CSM, CSP, CSD Instructor
 •   andy@davisbase.org
 •   (704) 835-0194




          http://www.linkedin.com/in/andypainter                                                         @_andy_painter




                    Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Testing in Your World

No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of
just documenting it!
There's always time for testing, because testing
happens first


                    Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
What is our Desired State?



 Let’s ask the practitioners
 that are ALREADY where
 you want to BE a simple
 question:


“Why do you love
Agile Testing?”
                                                               Source: http://www.infoq.com/news/2009/06/love_agile_testing

           Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Automation

No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first


                      Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Collaboration

No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first


                      Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Test Driven Development

No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first


                      Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Continuous Process

No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first


                      Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
One Team

No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first


                      Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Collective Ownership

No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first


                      Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Feedback

No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first


                      Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Supportive

No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first


                      Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Focus on Quality

No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
                                                                                             QUALITY
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first


                      Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Test First

No more manual test scripts!
Developers actually like me!
Now I can break features before they're written!
Automated test results appear many times a day
The atmosphere is very team oriented
Tester can fix the occasionally bug
Provides the opportunity to constantly review Test
Practices
I spend much, much less time debugging
The chance to actually impact quality instead of just
documenting it!
There's always time for testing, because testing
happens first


                      Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Top 10 Reasons to Love Agile Testing


1. No more manual test scripts!
2. Developers actually like me!
3. Now I can break features before they're written!
4. Automated test results appear many times a day
5. The atmosphere is very team oriented
6. Tester can fix the occasionally bug
7. Provides the opportunity to constantly review
   Test Practices
8. I spend much, much less time debugging
9. The chance to actually impact quality instead of
   just documenting it!
10. There's always time for testing, because testing
    happens first
                                                                        Source: http://www.infoq.com/news/2009/06/love_agile_testing

                    Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
10 Principles for the Agile Tester

Provide Continuous Feedback
Deliver Value to the customer
Enable face-to-face communication
Have courage
Keep it Simple
Practice continuous improvement
Respond to change
Self-organize
Focus on People
Enjoy
                    Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Agile Tester Qualities

Enjoy learning & challenges
Creative
Collaborative
Open-minded
Results-oriented
Willingness to take on any task
or role
View of the big picture
Focus on the customer
Passionate

                Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Traditional vs. Agile Testing


                                                                                                                   Traditional
Requirements   Specification                  Code                            Test                        Deploy    Phased
                                                                                                                   Gated


                                                              Time


                                                                                                   E           F   Iterative
                                                                           D                             D         Incremental
                                                                                                                   Integrated:
                                             C                             C                             C             Elaborate
                                                                                                                   •

                                                                                                                   •   Develop
                                                                                                                   •   Test
               A       B               A            B                A           B                 A           B

                          Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Agile Testing Quadrants




                                    Q2       Q3
                                    Q1       Q4




                                                             Source: Agile Testing by Lisa Crispin & Janet Gregory

    Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Mike Cohn’s Testing Pyramid


                                               Small in number
                                               Tools: Selenium, Watir, QTP




                                                             At least one per Story
                                                             Tools: FIT/Fitnesse, BDD



                                                                       At least one per class or module
                                                                       Tools: JUnit, xUnit




     Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Cost of Defects



                                                                                  20000
                                                                                                                                                           Catch Defects Early in the
                                                                                  15000
                                                                                                                                                             Lifecycle during design
                                                                                  10000                                                                      & development phases
                                                                                    5000                                                                     to lower TCO in short
                                                                                       0                                                                     term (current release)
                                                                                           Requirements   Development             Maintenance
                                                                                                                                                             and long term (future
                                                                                                                                                             releases)


                                                                                                               Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden




Based	
  on	
  a	
  2003	
  Capers	
  Jones	
  Study	
  of	
  over	
  4000	
  so7ware	
  projects
TDD Red, Green, Refactor

                                         Test Driven Development (TDD)
 Create a Test                           •       Test cases, testing harnesses, testing
                       Pass
                                                 scripts are written before any coding
                                                 begins.
  Run a Test

           Fail
                                         •       Refactoring and development of code until
                                                 testing scripts run “all green.”
Make a Change
                                         •       Requires developers to think of the larger
                                                 solution and approach to be developed
 Run the Test                                    before coding begins.
              Pass
                                         •       Benefits include more testing integrated
   Refactor                                      into development efforts, higher quality
                                                 code delivered, decrease amounts of code
                                                 rework later in project cycle.
                       Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Acceptance Test Driven Development
                                                                   (ATDD)
                                                    Discuss                                                                                           Distill




                                                             Demo                                                                                Develop
                                                                                                                                                              Test




                                                                                                                                              Refactor                Code


                                                   ATDD Cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elizabeth Hendrickson



                                                                            Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden




The ATDD Cycle

Discuss: work with the business stakeholders to understand their real needs and concerns. In traditional environments, this is usually called
“requirements elicitation.” In the context of Agile development, the purpose of this discussion is not to gather a huge list of requirements but
rather to understand what the business stakeholder needs from one particular feature. During these discussions, ask questions designed to
uncover assumptions, understand expectations around non-functional needs such as stability, reliability, security, etc., and explore the full scope
of work the business stakeholder is requesting.

Distill: collaborate with the business stakeholders to distill their stated needs into a set of acceptance tests, or examples, that define “done.”
These tests should focus on externally detectable behavior and will be expressed in tables or keywords.

Develop: write the code to implement the requested feature using test- driven development (TDD).

Demonstrate: show the business stakeholder the new feature in the emerging system and request feedback.
Automate, Automate, Automate

‣   Understand how you work
    individually and collectively
‣   Automate anything you do
    more than once within a
    task, test, story, process
‣   Automation is essential to
    shorten feedback loops
    and maintain flow state


                 Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Automate Early & Often


‣   Steep drop off in
    benefits of Automation
‣   Get the benefits when
    you need it most
‣   Cost will prohibit
    adoption later as
    benefits are not easy                                           Source: Succeeding with Agile: Software Development using Scrum, Mike Cohn

    seen


               Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Continuous Integration Defined
A process that supports teams in making
  small, working incremental changes to
  software. Continuous Integration is an
  automated process that provides feedback
  and supports:

   •   Transparency

   •   Consistency

   •   Continuous Builds

   •   Continuous Inspections

   •   Continuous Testing


                Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Challenges & Constraints

‣   Organizational Culture
‣   Existing Processes &
    Models
‣   Knowledge, Training,
    Understanding
‣   Organization Size
‣   Roles & Identities
‣   Past Experiences &
    Attitudes
              Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Iterating to Testing Agility

‣   Keep a Backlog & Prioritize
    Regularly
‣   Realize Constraints
‣   Keep Moving Forward
‣   Automate
    ‣   Automate
        ‣   Automate


                    Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Improvement Backlog


Start!                                                          Example:
                                                              •      Increase Test Automation
Keep a Improvement                                            •      Enable teams to use Continuous
Backlog                                                              Integration
                                                              •      Adopt TDD
Track Progress                                                •      Increase Code Coverage
toward Goals                                                  •      Continuous Deployment




         Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Top 5 Key Contributors to Success

‣   People                                                            ‣     Test Continuously
‣   Test First                                                        ‣     Collaborate in
                                                                            response to Feedback
‣   Automate




                 Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Suggested Reading




Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Your Questions, My Answers
Note: For those questions we do not have time to answer during the
webinar, I will be providing a written response.




                   Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
How to Claim Your PDU

‣   Go to ccrs.pmi.org
‣   Search for ASPE as a Registered Education Provider.
    Our number is 2161.
‣   At the bottom of our details page, select
    “See Provider’s Activities”
‣   Find the activity and code stated by the ASPE
    moderator during the seminar
‣   The seminars are typically a Category 3 for one PDU
                                          Webinar Code:


                 Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
Meeting Close



‣   Thank you.
‣   Andy Painter, Davisbase Consulting
‣   andy@davisbase.org
‣   http://www.davisbase.org
‣   (704) 835-0194



                  Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
About Davisbase Consulting

‣   A leading, national provider of Agile training and coaching
    services.
    ‣   Since 2007, over 300 classes taught to over 5000 people nationwide.
    ‣   Training, coaching, and consulting work for over 50 Fortune 500 Clients.

‣   Experienced. “In the trenches” doing what we teach
    ‣   Extensive experience with all aspects of software development and project
        lifecycle across multiple industries and verticals.
    ‣   Every title and role from Developer, QA, Project Manager through Sr.
        Leadership.
    ‣   Average of 15+ years of applied IT Leadership experience.

                        Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden

Contenu connexe

Similaire à What is agile_testing

Scrum and-xp-from-the-trenches 06 testing
Scrum and-xp-from-the-trenches 06 testingScrum and-xp-from-the-trenches 06 testing
Scrum and-xp-from-the-trenches 06 testing
Hossam Hassan
 
Acceptance testfurureinmind
Acceptance testfurureinmindAcceptance testfurureinmind
Acceptance testfurureinmind
LeanDog
 
Automated testing vs manual testing
Automated testing vs manual testingAutomated testing vs manual testing
Automated testing vs manual testing
Neha Polke
 
What i learned adopting agile practices
What i learned adopting agile practicesWhat i learned adopting agile practices
What i learned adopting agile practices
Vijay Narayanan
 
Lessons learned in agile romania
Lessons learned in agile romaniaLessons learned in agile romania
Lessons learned in agile romania
OpenAgile Romania
 

Similaire à What is agile_testing (20)

[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
[Webinar] Test First, Fail Fast - Simplifying the Tester's Transition to DevOps
 
Unit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking SkeletonUnit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking Skeleton
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomation
 
Automated tests
Automated testsAutomated tests
Automated tests
 
Scrum and-xp-from-the-trenches 06 testing
Scrum and-xp-from-the-trenches 06 testingScrum and-xp-from-the-trenches 06 testing
Scrum and-xp-from-the-trenches 06 testing
 
Test Driven Development with Laravel
Test Driven Development with LaravelTest Driven Development with Laravel
Test Driven Development with Laravel
 
Browser based testing
Browser based testingBrowser based testing
Browser based testing
 
Don't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous deliveryDon't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous delivery
 
Acceptance testfurureinmind
Acceptance testfurureinmindAcceptance testfurureinmind
Acceptance testfurureinmind
 
Let's test!
Let's test!Let's test!
Let's test!
 
Testing the way it should be
Testing the way it should beTesting the way it should be
Testing the way it should be
 
Ui qa tools
Ui qa toolsUi qa tools
Ui qa tools
 
Open source bridge testing antipatterns presentation
Open source bridge testing antipatterns presentationOpen source bridge testing antipatterns presentation
Open source bridge testing antipatterns presentation
 
Automated Testing for Websites With Selenium IDE
Automated Testing for Websites With Selenium IDEAutomated Testing for Websites With Selenium IDE
Automated Testing for Websites With Selenium IDE
 
Graceful Failure with Selenium and Continuous Integration
Graceful Failure with Selenium and Continuous IntegrationGraceful Failure with Selenium and Continuous Integration
Graceful Failure with Selenium and Continuous Integration
 
Automated testing vs manual testing
Automated testing vs manual testingAutomated testing vs manual testing
Automated testing vs manual testing
 
What i learned adopting agile practices
What i learned adopting agile practicesWhat i learned adopting agile practices
What i learned adopting agile practices
 
Test Driven Development: More Development Than Ever
Test Driven Development: More Development Than EverTest Driven Development: More Development Than Ever
Test Driven Development: More Development Than Ever
 
Lessons learned in agile romania
Lessons learned in agile romaniaLessons learned in agile romania
Lessons learned in agile romania
 
Completely Test-Driven
Completely Test-DrivenCompletely Test-Driven
Completely Test-Driven
 

Plus de subhash85

Dynamic routing under_sec
Dynamic routing under_secDynamic routing under_sec
Dynamic routing under_sec
subhash85
 
Flash as3 programming
Flash as3 programmingFlash as3 programming
Flash as3 programming
subhash85
 
West walk plans
West walk plansWest walk plans
West walk plans
subhash85
 

Plus de subhash85 (6)

Dynamic routing under_sec
Dynamic routing under_secDynamic routing under_sec
Dynamic routing under_sec
 
Flash as3 programming
Flash as3 programmingFlash as3 programming
Flash as3 programming
 
Toc
TocToc
Toc
 
Toc
TocToc
Toc
 
West walk plans
West walk plansWest walk plans
West walk plans
 
poster
posterposter
poster
 

Dernier

Dernier (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 

What is agile_testing

  • 1. What is Agile Testing? key success factors & practices presented by: in partnership with:
  • 2. Introduction Andy Painter • Agile Coach/Trainer/Practitioner • CSM, CSP, CSD Instructor • andy@davisbase.org • (704) 835-0194 http://www.linkedin.com/in/andypainter @_andy_painter Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 3. Testing in Your World No more manual test scripts! Developers actually like me! Now I can break features before they're written! Automated test results appear many times a day The atmosphere is very team oriented Tester can fix the occasionally bug Provides the opportunity to constantly review Test Practices I spend much, much less time debugging The chance to actually impact quality instead of just documenting it! There's always time for testing, because testing happens first Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 4. What is our Desired State? Let’s ask the practitioners that are ALREADY where you want to BE a simple question: “Why do you love Agile Testing?” Source: http://www.infoq.com/news/2009/06/love_agile_testing Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 5. Automation No more manual test scripts! Developers actually like me! Now I can break features before they're written! Automated test results appear many times a day The atmosphere is very team oriented Tester can fix the occasionally bug Provides the opportunity to constantly review Test Practices I spend much, much less time debugging The chance to actually impact quality instead of just documenting it! There's always time for testing, because testing happens first Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 6. Collaboration No more manual test scripts! Developers actually like me! Now I can break features before they're written! Automated test results appear many times a day The atmosphere is very team oriented Tester can fix the occasionally bug Provides the opportunity to constantly review Test Practices I spend much, much less time debugging The chance to actually impact quality instead of just documenting it! There's always time for testing, because testing happens first Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 7. Test Driven Development No more manual test scripts! Developers actually like me! Now I can break features before they're written! Automated test results appear many times a day The atmosphere is very team oriented Tester can fix the occasionally bug Provides the opportunity to constantly review Test Practices I spend much, much less time debugging The chance to actually impact quality instead of just documenting it! There's always time for testing, because testing happens first Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 8. Continuous Process No more manual test scripts! Developers actually like me! Now I can break features before they're written! Automated test results appear many times a day The atmosphere is very team oriented Tester can fix the occasionally bug Provides the opportunity to constantly review Test Practices I spend much, much less time debugging The chance to actually impact quality instead of just documenting it! There's always time for testing, because testing happens first Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 9. One Team No more manual test scripts! Developers actually like me! Now I can break features before they're written! Automated test results appear many times a day The atmosphere is very team oriented Tester can fix the occasionally bug Provides the opportunity to constantly review Test Practices I spend much, much less time debugging The chance to actually impact quality instead of just documenting it! There's always time for testing, because testing happens first Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 10. Collective Ownership No more manual test scripts! Developers actually like me! Now I can break features before they're written! Automated test results appear many times a day The atmosphere is very team oriented Tester can fix the occasionally bug Provides the opportunity to constantly review Test Practices I spend much, much less time debugging The chance to actually impact quality instead of just documenting it! There's always time for testing, because testing happens first Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 11. Feedback No more manual test scripts! Developers actually like me! Now I can break features before they're written! Automated test results appear many times a day The atmosphere is very team oriented Tester can fix the occasionally bug Provides the opportunity to constantly review Test Practices I spend much, much less time debugging The chance to actually impact quality instead of just documenting it! There's always time for testing, because testing happens first Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 12. Supportive No more manual test scripts! Developers actually like me! Now I can break features before they're written! Automated test results appear many times a day The atmosphere is very team oriented Tester can fix the occasionally bug Provides the opportunity to constantly review Test Practices I spend much, much less time debugging The chance to actually impact quality instead of just documenting it! There's always time for testing, because testing happens first Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 13. Focus on Quality No more manual test scripts! Developers actually like me! Now I can break features before they're written! Automated test results appear many times a day The atmosphere is very team oriented QUALITY Tester can fix the occasionally bug Provides the opportunity to constantly review Test Practices I spend much, much less time debugging The chance to actually impact quality instead of just documenting it! There's always time for testing, because testing happens first Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 14. Test First No more manual test scripts! Developers actually like me! Now I can break features before they're written! Automated test results appear many times a day The atmosphere is very team oriented Tester can fix the occasionally bug Provides the opportunity to constantly review Test Practices I spend much, much less time debugging The chance to actually impact quality instead of just documenting it! There's always time for testing, because testing happens first Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 15. Top 10 Reasons to Love Agile Testing 1. No more manual test scripts! 2. Developers actually like me! 3. Now I can break features before they're written! 4. Automated test results appear many times a day 5. The atmosphere is very team oriented 6. Tester can fix the occasionally bug 7. Provides the opportunity to constantly review Test Practices 8. I spend much, much less time debugging 9. The chance to actually impact quality instead of just documenting it! 10. There's always time for testing, because testing happens first Source: http://www.infoq.com/news/2009/06/love_agile_testing Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 16. 10 Principles for the Agile Tester Provide Continuous Feedback Deliver Value to the customer Enable face-to-face communication Have courage Keep it Simple Practice continuous improvement Respond to change Self-organize Focus on People Enjoy Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 17. Agile Tester Qualities Enjoy learning & challenges Creative Collaborative Open-minded Results-oriented Willingness to take on any task or role View of the big picture Focus on the customer Passionate Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 18. Traditional vs. Agile Testing Traditional Requirements Specification Code Test Deploy Phased Gated Time E F Iterative D D Incremental Integrated: C C C Elaborate • • Develop • Test A B A B A B A B Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 19. Agile Testing Quadrants Q2 Q3 Q1 Q4 Source: Agile Testing by Lisa Crispin & Janet Gregory Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 20. Mike Cohn’s Testing Pyramid Small in number Tools: Selenium, Watir, QTP At least one per Story Tools: FIT/Fitnesse, BDD At least one per class or module Tools: JUnit, xUnit Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 21. Cost of Defects 20000 Catch Defects Early in the 15000 Lifecycle during design 10000 & development phases 5000 to lower TCO in short 0 term (current release) Requirements Development Maintenance and long term (future releases) Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden Based  on  a  2003  Capers  Jones  Study  of  over  4000  so7ware  projects
  • 22. TDD Red, Green, Refactor Test Driven Development (TDD) Create a Test • Test cases, testing harnesses, testing Pass scripts are written before any coding begins. Run a Test Fail • Refactoring and development of code until testing scripts run “all green.” Make a Change • Requires developers to think of the larger solution and approach to be developed Run the Test before coding begins. Pass • Benefits include more testing integrated Refactor into development efforts, higher quality code delivered, decrease amounts of code rework later in project cycle. Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 23. Acceptance Test Driven Development (ATDD) Discuss Distill Demo Develop Test Refactor Code ATDD Cycle model by Jim Shore with changes suggested by Grigori Melnick, Brian Marick, and Elizabeth Hendrickson Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden The ATDD Cycle Discuss: work with the business stakeholders to understand their real needs and concerns. In traditional environments, this is usually called “requirements elicitation.” In the context of Agile development, the purpose of this discussion is not to gather a huge list of requirements but rather to understand what the business stakeholder needs from one particular feature. During these discussions, ask questions designed to uncover assumptions, understand expectations around non-functional needs such as stability, reliability, security, etc., and explore the full scope of work the business stakeholder is requesting. Distill: collaborate with the business stakeholders to distill their stated needs into a set of acceptance tests, or examples, that define “done.” These tests should focus on externally detectable behavior and will be expressed in tables or keywords. Develop: write the code to implement the requested feature using test- driven development (TDD). Demonstrate: show the business stakeholder the new feature in the emerging system and request feedback.
  • 24. Automate, Automate, Automate ‣ Understand how you work individually and collectively ‣ Automate anything you do more than once within a task, test, story, process ‣ Automation is essential to shorten feedback loops and maintain flow state Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 25. Automate Early & Often ‣ Steep drop off in benefits of Automation ‣ Get the benefits when you need it most ‣ Cost will prohibit adoption later as benefits are not easy Source: Succeeding with Agile: Software Development using Scrum, Mike Cohn seen Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 26. Continuous Integration Defined A process that supports teams in making small, working incremental changes to software. Continuous Integration is an automated process that provides feedback and supports: • Transparency • Consistency • Continuous Builds • Continuous Inspections • Continuous Testing Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 27. Challenges & Constraints ‣ Organizational Culture ‣ Existing Processes & Models ‣ Knowledge, Training, Understanding ‣ Organization Size ‣ Roles & Identities ‣ Past Experiences & Attitudes Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 28. Iterating to Testing Agility ‣ Keep a Backlog & Prioritize Regularly ‣ Realize Constraints ‣ Keep Moving Forward ‣ Automate ‣ Automate ‣ Automate Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 29. Improvement Backlog Start! Example: • Increase Test Automation Keep a Improvement • Enable teams to use Continuous Backlog Integration • Adopt TDD Track Progress • Increase Code Coverage toward Goals • Continuous Deployment Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 30. Top 5 Key Contributors to Success ‣ People ‣ Test Continuously ‣ Test First ‣ Collaborate in response to Feedback ‣ Automate Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 31. Suggested Reading Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 32. Your Questions, My Answers Note: For those questions we do not have time to answer during the webinar, I will be providing a written response. Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 33. How to Claim Your PDU ‣ Go to ccrs.pmi.org ‣ Search for ASPE as a Registered Education Provider. Our number is 2161. ‣ At the bottom of our details page, select “See Provider’s Activities” ‣ Find the activity and code stated by the ASPE moderator during the seminar ‣ The seminars are typically a Category 3 for one PDU Webinar Code: Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 34. Meeting Close ‣ Thank you. ‣ Andy Painter, Davisbase Consulting ‣ andy@davisbase.org ‣ http://www.davisbase.org ‣ (704) 835-0194 Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden
  • 35. About Davisbase Consulting ‣ A leading, national provider of Agile training and coaching services. ‣ Since 2007, over 300 classes taught to over 5000 people nationwide. ‣ Training, coaching, and consulting work for over 50 Fortune 500 Clients. ‣ Experienced. “In the trenches” doing what we teach ‣ Extensive experience with all aspects of software development and project lifecycle across multiple industries and verticals. ‣ Every title and role from Developer, QA, Project Manager through Sr. Leadership. ‣ Average of 15+ years of applied IT Leadership experience. Copyright 2010 Davisbase LLC. Distribution without express permission is forbidden