SlideShare a Scribd company logo
1 of 29
Download to read offline
Testing in Agile
                                     Ari Tanninen
                                Agile Dinner Helsinki
                                 December 1st 2009




Wednesday, December 2, 2009
Agenda
                              Introductions
                                Motivation


Wednesday, December 2, 2009
Assumptions

                   • Understanding of software development
                   • Familiarity of agile
                   • Basic testing know-how


Wednesday, December 2, 2009
My Biases

                   • Java developer
                   • Object-orientation
                   • Consulting


Wednesday, December 2, 2009
Everything About
                                   Testing


Wednesday, December 2, 2009
Functional testing...
                   • Black box
                   • White box
                   • Grey box
                   • Regression
                   • Smoke
                   • User
Wednesday, December 2, 2009
Levels of testing...
                   • Unit
                   • Module
                   • Component
                   • Integration
                   • System
                   • System integration
Wednesday, December 2, 2009
More testing!
                   • Performance, scalability, stability, stress
                   • Destructive
                   • Usability
                   • Security
                   • Exploratory
                   • Monkey
Wednesday, December 2, 2009
Wednesday, December 2, 2009
Back to Basics



Wednesday, December 2, 2009
Purposes of Testing

                   • Product validation (the right product?)
                   • Support development (built right?)
                   • User / Technology
                   • System / Code

Wednesday, December 2, 2009
Wednesday, December 2, 2009




                              Source: Brian Marick, Mary Poppendieck, additions by me
                              http://www.exampler.com/old-blog/2003/08/21/#agile-testing-project-1
                              http://stopandfix.blogspot.com/2009/04/all-about-testing.html
Agile Needs from
                                    Testing


Wednesday, December 2, 2009
Waterfall


                  Planning    Analysis   Design   Coding   Testing   Deploying   Done!



                    Risk analysis
                   Test planning
                  Test case design


Wednesday, December 2, 2009
Risk analysis
                                                 Agile
      Test planning             Risk analysis
     Test case design           Test planning
                              Test case design



                  Planning    Analysis    Design   Coding     Testing   Deploying   Done!
                  Planning    Analysis    Design   Coding     Testing   Deploying   Done!
                  Planning    Analysis    Design   Coding     Testing   Deploying   Done!
                  Planning    Analysis    Design   Coding     Testing   Deploying   Done!

                    Risk analysis
                   Test planning
                  Test case design                          Definition of done: tested
Wednesday, December 2, 2009
Potentially shippable
                 functionality at the end
                    of every iteration?


Wednesday, December 2, 2009
Wednesday, December 2, 2009




                              Source: Brian Marick, Mary Poppendieck, additions by me
                              http://www.exampler.com/old-blog/2003/08/21/#agile-testing-project-1
                              http://stopandfix.blogspot.com/2009/04/all-about-testing.html
The Problem

                              Features to be tested




                                                      1   2       3   4

                                                          Iteration


Wednesday, December 2, 2009
Test Automation



Wednesday, December 2, 2009
Automated testing?




                          Automated test case execution!



                              Who designs and automates the test cases?



Wednesday, December 2, 2009
Agile Development
                               Up-front
                                           Design must
                                design
                                             evolve
                              impossible


    Iterative and                                                        Regression      Test
     incremental                                       Refactoring         testing    automation
    development


                              Features                                                  Test-first
                               added,       Changing                                  development
                              changed,      codebase
                              removed


                                                                     Tests, too!

Wednesday, December 2, 2009
The Key to Test
                                    Automation

                       Testing tools?


                                                            Software development



                          http://stopandfix.blogspot.com/2009/03/key-to-test-automation.html


Wednesday, December 2, 2009
Tests are software, too

                   • Evolution
                   • Architecture & design
                   • Iterative & incremental development
                   • Readability (➙DSL)

Wednesday, December 2, 2009
Why test-first?

                   • Efficient, least boring way to regression
                   • Minimalism (“do only what is needed”)
                   • “Done”
                   • Design
                   • Collaboration

Wednesday, December 2, 2009
Unit Test Driven Development

                              Acceptance Test Driven
                                  Development



Wednesday, December 2, 2009
Challenges to Testing

                   • Changing spec, code, and tests
                   • “Potentially shippable” after every iteration
                   • Usability & property testing
                   • Tester’s role

Wednesday, December 2, 2009
Tester’s Role Redefined

                   • Acceptance tests, user view of system
                   • Business value focus, PO liaison
                   • Exploratory testing & the difficult stuff
                   • Thinking, contributing team member
                   • Learn programming, train developers

Wednesday, December 2, 2009
Keys to Agile Testing

                   • Developer testing
                   • Evolving testing tools ➙ programming
                   • Lazy & adaptive mindset
                   • Collaboration

Wednesday, December 2, 2009
Beer.



Wednesday, December 2, 2009

More Related Content

Similar to Testing In Agile

Scaling with Postgres
Scaling with PostgresScaling with Postgres
Scaling with Postgres
elliando dias
 

Similar to Testing In Agile (20)

Plugin Testing
Plugin TestingPlugin Testing
Plugin Testing
 
DDD Part3 Retrospective
DDD Part3 RetrospectiveDDD Part3 Retrospective
DDD Part3 Retrospective
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for Dummies
 
UE Agile and Lean
UE Agile and LeanUE Agile and Lean
UE Agile and Lean
 
Escaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year LaterEscaping Automated Test Hell - One Year Later
Escaping Automated Test Hell - One Year Later
 
Agile Product Development Workshop
Agile Product Development WorkshopAgile Product Development Workshop
Agile Product Development Workshop
 
Using The Page Object Pattern
Using The Page Object PatternUsing The Page Object Pattern
Using The Page Object Pattern
 
Extreme Programming Deployed
Extreme Programming DeployedExtreme Programming Deployed
Extreme Programming Deployed
 
Resume
ResumeResume
Resume
 
Plone Testing Tools And Techniques
Plone Testing Tools And TechniquesPlone Testing Tools And Techniques
Plone Testing Tools And Techniques
 
Scrum wall images by tobias mayer
Scrum wall images by tobias mayerScrum wall images by tobias mayer
Scrum wall images by tobias mayer
 
Lightweight introduction to Scrum
Lightweight introduction to ScrumLightweight introduction to Scrum
Lightweight introduction to Scrum
 
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
 
Scaling with Postgres
Scaling with PostgresScaling with Postgres
Scaling with Postgres
 
Business Analysis meet Test Analysis
Business Analysis meet Test AnalysisBusiness Analysis meet Test Analysis
Business Analysis meet Test Analysis
 
My Presentation
My PresentationMy Presentation
My Presentation
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Franck Mignet - How Exploratory Testing Helps get Structured Testing Started
Franck Mignet -  How Exploratory Testing Helps get Structured Testing StartedFranck Mignet -  How Exploratory Testing Helps get Structured Testing Started
Franck Mignet - How Exploratory Testing Helps get Structured Testing Started
 
Cheap& Quick Internal user testing
Cheap& Quick Internal user testingCheap& Quick Internal user testing
Cheap& Quick Internal user testing
 
Game Design Process
Game Design ProcessGame Design Process
Game Design Process
 

More from Ari Tanninen

More from Ari Tanninen (11)

Responsibility - from drama to results
Responsibility - from drama to resultsResponsibility - from drama to results
Responsibility - from drama to results
 
Leadership begins with responsibility - Riga
Leadership begins with responsibility - RigaLeadership begins with responsibility - Riga
Leadership begins with responsibility - Riga
 
Leadership begins with responsibility
Leadership begins with responsibilityLeadership begins with responsibility
Leadership begins with responsibility
 
Kaiken lähtökohtana on vastuu
Kaiken lähtökohtana on vastuuKaiken lähtökohtana on vastuu
Kaiken lähtökohtana on vastuu
 
Introduction to the responsibility process
Introduction to the responsibility processIntroduction to the responsibility process
Introduction to the responsibility process
 
Design up front is back! v2
Design up front is back! v2Design up front is back! v2
Design up front is back! v2
 
Design up front is back!
Design up front is back!Design up front is back!
Design up front is back!
 
Prototyyppien arviointi
Prototyyppien arviointiPrototyyppien arviointi
Prototyyppien arviointi
 
4K
4K4K
4K
 
Scrum is not enough v2.0
Scrum is not enough v2.0Scrum is not enough v2.0
Scrum is not enough v2.0
 
Scrum Is Not Enough
Scrum Is Not EnoughScrum Is Not Enough
Scrum Is Not Enough
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
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
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
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...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 

Testing In Agile

  • 1. Testing in Agile Ari Tanninen Agile Dinner Helsinki December 1st 2009 Wednesday, December 2, 2009
  • 2. Agenda Introductions Motivation Wednesday, December 2, 2009
  • 3. Assumptions • Understanding of software development • Familiarity of agile • Basic testing know-how Wednesday, December 2, 2009
  • 4. My Biases • Java developer • Object-orientation • Consulting Wednesday, December 2, 2009
  • 5. Everything About Testing Wednesday, December 2, 2009
  • 6. Functional testing... • Black box • White box • Grey box • Regression • Smoke • User Wednesday, December 2, 2009
  • 7. Levels of testing... • Unit • Module • Component • Integration • System • System integration Wednesday, December 2, 2009
  • 8. More testing! • Performance, scalability, stability, stress • Destructive • Usability • Security • Exploratory • Monkey Wednesday, December 2, 2009
  • 10. Back to Basics Wednesday, December 2, 2009
  • 11. Purposes of Testing • Product validation (the right product?) • Support development (built right?) • User / Technology • System / Code Wednesday, December 2, 2009
  • 12. Wednesday, December 2, 2009 Source: Brian Marick, Mary Poppendieck, additions by me http://www.exampler.com/old-blog/2003/08/21/#agile-testing-project-1 http://stopandfix.blogspot.com/2009/04/all-about-testing.html
  • 13. Agile Needs from Testing Wednesday, December 2, 2009
  • 14. Waterfall Planning Analysis Design Coding Testing Deploying Done! Risk analysis Test planning Test case design Wednesday, December 2, 2009
  • 15. Risk analysis Agile Test planning Risk analysis Test case design Test planning Test case design Planning Analysis Design Coding Testing Deploying Done! Planning Analysis Design Coding Testing Deploying Done! Planning Analysis Design Coding Testing Deploying Done! Planning Analysis Design Coding Testing Deploying Done! Risk analysis Test planning Test case design Definition of done: tested Wednesday, December 2, 2009
  • 16. Potentially shippable functionality at the end of every iteration? Wednesday, December 2, 2009
  • 17. Wednesday, December 2, 2009 Source: Brian Marick, Mary Poppendieck, additions by me http://www.exampler.com/old-blog/2003/08/21/#agile-testing-project-1 http://stopandfix.blogspot.com/2009/04/all-about-testing.html
  • 18. The Problem Features to be tested 1 2 3 4 Iteration Wednesday, December 2, 2009
  • 20. Automated testing? Automated test case execution! Who designs and automates the test cases? Wednesday, December 2, 2009
  • 21. Agile Development Up-front Design must design evolve impossible Iterative and Regression Test incremental Refactoring testing automation development Features Test-first added, Changing development changed, codebase removed Tests, too! Wednesday, December 2, 2009
  • 22. The Key to Test Automation Testing tools? Software development http://stopandfix.blogspot.com/2009/03/key-to-test-automation.html Wednesday, December 2, 2009
  • 23. Tests are software, too • Evolution • Architecture & design • Iterative & incremental development • Readability (➙DSL) Wednesday, December 2, 2009
  • 24. Why test-first? • Efficient, least boring way to regression • Minimalism (“do only what is needed”) • “Done” • Design • Collaboration Wednesday, December 2, 2009
  • 25. Unit Test Driven Development Acceptance Test Driven Development Wednesday, December 2, 2009
  • 26. Challenges to Testing • Changing spec, code, and tests • “Potentially shippable” after every iteration • Usability & property testing • Tester’s role Wednesday, December 2, 2009
  • 27. Tester’s Role Redefined • Acceptance tests, user view of system • Business value focus, PO liaison • Exploratory testing & the difficult stuff • Thinking, contributing team member • Learn programming, train developers Wednesday, December 2, 2009
  • 28. Keys to Agile Testing • Developer testing • Evolving testing tools ➙ programming • Lazy & adaptive mindset • Collaboration Wednesday, December 2, 2009