SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Agile Testing
What is it? Can it work?
bret@pettichord.com
www.pettichord.com
Copyright © 2002 Bret Pettichord. All rights reserved.
October 2002
The Agile Alliance Values
“We have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more."
www.agilemanifesto.org
What is Agile Testing?
1. Testing practice that follows the agile
manifesto, treating development as the
customer of testing
! In this light the context-driven manifesto provides
a set of principles for agile testing.
2. Testing practice for projects using agile
methodologies.
! What is the role of the tester on an agile project?
Context-Driven Principles
1. The value of any practice depends on its context.
2. There are good practices in context, but there are no best
practices.
3. People, working together, are the most important part of any
project’s context.
4. Projects unfold over time in ways that are often not
predictable.
5. The product is a solution. If the problem isn’t solved, the
product doesn’t work.
6. Good software testing is a challenging intellectual process.
7. Only through judgment and skill, exercised cooperatively
throughout the entire project, are we able to do the right
things at the right times to effectively test our products.
www.context-driven-testing.com
Agile Development Methodologies
Extreme Programming (XP)
Crystal
Adaptive Software Development (ASD)
Scrum
Feature Driven Development (FDD)
Dynamic Systems Development Method
(DSDM)
XBreed
XP Practices
Test-First Programming
Pair Programming
Short Iterations & Releases
Refactoring
“User Stories"
Acceptance Testing
The Role of Testing
Testing is the headlights of the project
! Where are you now? Where do you headed?
Testing provides information to the team
! This allows the team to make informed decisions
A “bug” is anything that could bug a user
! Testers don’t make the final call
Testing does not assure quality
! The team does (or doesn’t)
Testing is not a game of “gotcha”
! Find ways to set goals, rather than focus on
mistakes
Test-First Programming
Developers write unit tests before coding.
! Motivates coding
! Improves design (reducing coupling and improving
cohesion)
! Supports refactoring
Many open-source test tools have been
developed to support this
! xUnit
Refactoring: Improving the
Design of Existing Code
“Changing a software system in such a way that
it does not alter the external behavior of the
code yet improves its internal structure”
Make the simplest design that will work.
Add complexity only when needed.
Refactor as necessary.
Refactoring requires unit tests to ensure that
design changes (refactorings) don’t break
existing code.
Acceptance Testing
User stories are short descriptions of
features that need to be coded.
Acceptance tests verify the completion
of user stories.
Ideally they are written before coding.
Should Testers Go Along with This?
Some say that XP is an invitation to poor
quality and an excuse for hacking.
I think that XP is exciting and will improve the
practice of testing in the industry.
! XP developers are writing unit tests and unit
testing tools
! Kent Beck’s next book is Test-Driven Development
! XP projects are finding new ways to build in
testability and support automated tests.
Testers Should Embrace Agile Programming
http://www.io.com/~wazmo/papers/embrace_agile_programming.html
A Practice for Agile Testing
Conversational Test Creation
Coaching Tests
Providing Test Interfaces
Exploratory Learning
Conversational Test Creation
Who should write tests?
! Customers are often too busy.
Defining tests is a key activity that
should include programmers and
customer representatives.
Don't do it alone.
Coaching Tests
A way of thinking about Acceptance Tests.
Turn user stories into tests.
Tests provide:
! Goals and guidance
! Instant feedback
! Progress measurement
Tests are specified in a format:
! That is clear enough that users/customers can
understand
! That is specific enough that it can be executed
Specification by Example
Providing Test Interfaces
Developers are responsible for providing
the fixtures that automate coaching tests
In most cases XP teams are adding test
interfaces to their products, rather than
using external test tools
Test Interaction Model
Human
Testers
Software
Product
Automation
Fixtures
Manual
Testing
Test
Descriptions
Test
Interface
Exploratory Learning
Plan to explore the product with each
iteration.
Look for bugs, missing features and
opportunities for improvement.
We don’t understand software until we
have used it.
Further Study
Lessons Learned in Software Testing
! www.testinglessons.com
Ward Cunningham’s acceptance testing
framework
! fit.c2.com
Agile Testing Papers
! www.testing.com/agile
! www.pettichord.com

Mais conteúdo relacionado

Mais procurados

Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
Naresh Jain
 
How testers add value to the organization appium conf
How testers add value to the organization  appium confHow testers add value to the organization  appium conf
How testers add value to the organization appium conf
Corina Pip
 
Scrum And The Enterprise
Scrum And The EnterpriseScrum And The Enterprise
Scrum And The Enterprise
James Peckham
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
ThoughtWorks
 

Mais procurados (20)

Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
 
Testing is a team problem
Testing is a team problemTesting is a team problem
Testing is a team problem
 
Design Sprints
Design SprintsDesign Sprints
Design Sprints
 
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...
 
Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)
 
How testers add value to the organization appium conf
How testers add value to the organization  appium confHow testers add value to the organization  appium conf
How testers add value to the organization appium conf
 
New model
New modelNew model
New model
 
Holistic testing in DevOps
Holistic testing in DevOpsHolistic testing in DevOps
Holistic testing in DevOps
 
Agile and test driven development
Agile and test driven developmentAgile and test driven development
Agile and test driven development
 
Agile testing practice
Agile testing practiceAgile testing practice
Agile testing practice
 
Using your testing mindset to explore requirements
Using your testing mindset to explore requirementsUsing your testing mindset to explore requirements
Using your testing mindset to explore requirements
 
Scrum And The Enterprise
Scrum And The EnterpriseScrum And The Enterprise
Scrum And The Enterprise
 
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzieHey You Got Your TDD in my SQL DB by Jeff McKenzie
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
 
Bert Jagers - Preserving Our Future Through Customer Satisfaction
Bert Jagers - Preserving Our Future Through Customer SatisfactionBert Jagers - Preserving Our Future Through Customer Satisfaction
Bert Jagers - Preserving Our Future Through Customer Satisfaction
 
Pair Programming Presentation
Pair Programming PresentationPair Programming Presentation
Pair Programming Presentation
 
DevOps in Action: How Nedbank went from quarterly to weekly releases in no ti...
DevOps in Action: How Nedbank went from quarterly to weekly releases in no ti...DevOps in Action: How Nedbank went from quarterly to weekly releases in no ti...
DevOps in Action: How Nedbank went from quarterly to weekly releases in no ti...
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
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
 
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
The New Agile Testing Quadrants: Bringing Skilled Testers and Developers Toge...
 
Agile Test Driven Development
Agile Test Driven DevelopmentAgile Test Driven Development
Agile Test Driven Development
 

Destaque (6)

Value of an all year library april 2011
Value of an all year library april 2011Value of an all year library april 2011
Value of an all year library april 2011
 
Study in UK
Study in UKStudy in UK
Study in UK
 
Powerpoint
PowerpointPowerpoint
Powerpoint
 
Staying Positive Thinking
Staying  Positive  ThinkingStaying  Positive  Thinking
Staying Positive Thinking
 
MBTI 4 Study
MBTI 4 StudyMBTI 4 Study
MBTI 4 Study
 
Facebook社群經營秘笈0615
Facebook社群經營秘笈0615Facebook社群經營秘笈0615
Facebook社群經營秘笈0615
 

Semelhante a Agile testing

Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
Svetlin Nakov
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
a34sharm
 
Agile Engineering
Agile EngineeringAgile Engineering
Agile Engineering
John Lewis
 
Extreme Programming (XP) as A Popular Agile methodology.
Extreme Programming (XP) as A Popular Agile methodology.Extreme Programming (XP) as A Popular Agile methodology.
Extreme Programming (XP) as A Popular Agile methodology.
Ali Shaikh
 

Semelhante a Agile testing (20)

Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
 
Bridging the communication gap
Bridging the communication gapBridging the communication gap
Bridging the communication gap
 
Agile testing
Agile testingAgile testing
Agile testing
 
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 Engineering
Agile EngineeringAgile Engineering
Agile Engineering
 
Agile testing coach Agile Lean Ireland 2017
Agile testing coach   Agile Lean Ireland 2017Agile testing coach   Agile Lean Ireland 2017
Agile testing coach Agile Lean Ireland 2017
 
What is agile
What is agileWhat is agile
What is agile
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
 
Agile Testing: Best Practices and Methodology
Agile Testing: Best Practices and Methodology  Agile Testing: Best Practices and Methodology
Agile Testing: Best Practices and Methodology
 
Extreme Programming (XP) as A Popular Agile methodology.
Extreme Programming (XP) as A Popular Agile methodology.Extreme Programming (XP) as A Popular Agile methodology.
Extreme Programming (XP) as A Popular Agile methodology.
 
Agile testing
Agile testingAgile testing
Agile testing
 
Automatic for the People
Automatic for the PeopleAutomatic for the People
Automatic for the People
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP Shop
 
! Testing for agile teams
! Testing for agile teams! Testing for agile teams
! Testing for agile teams
 
Software presentation
Software presentationSoftware presentation
Software presentation
 

Agile testing

  • 1. Agile Testing What is it? Can it work? bret@pettichord.com www.pettichord.com Copyright © 2002 Bret Pettichord. All rights reserved. October 2002
  • 2. The Agile Alliance Values “We have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more." www.agilemanifesto.org
  • 3. What is Agile Testing? 1. Testing practice that follows the agile manifesto, treating development as the customer of testing ! In this light the context-driven manifesto provides a set of principles for agile testing. 2. Testing practice for projects using agile methodologies. ! What is the role of the tester on an agile project?
  • 4. Context-Driven Principles 1. The value of any practice depends on its context. 2. There are good practices in context, but there are no best practices. 3. People, working together, are the most important part of any project’s context. 4. Projects unfold over time in ways that are often not predictable. 5. The product is a solution. If the problem isn’t solved, the product doesn’t work. 6. Good software testing is a challenging intellectual process. 7. Only through judgment and skill, exercised cooperatively throughout the entire project, are we able to do the right things at the right times to effectively test our products. www.context-driven-testing.com
  • 5. Agile Development Methodologies Extreme Programming (XP) Crystal Adaptive Software Development (ASD) Scrum Feature Driven Development (FDD) Dynamic Systems Development Method (DSDM) XBreed
  • 6. XP Practices Test-First Programming Pair Programming Short Iterations & Releases Refactoring “User Stories" Acceptance Testing
  • 7. The Role of Testing Testing is the headlights of the project ! Where are you now? Where do you headed? Testing provides information to the team ! This allows the team to make informed decisions A “bug” is anything that could bug a user ! Testers don’t make the final call Testing does not assure quality ! The team does (or doesn’t) Testing is not a game of “gotcha” ! Find ways to set goals, rather than focus on mistakes
  • 8. Test-First Programming Developers write unit tests before coding. ! Motivates coding ! Improves design (reducing coupling and improving cohesion) ! Supports refactoring Many open-source test tools have been developed to support this ! xUnit
  • 9. Refactoring: Improving the Design of Existing Code “Changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure” Make the simplest design that will work. Add complexity only when needed. Refactor as necessary. Refactoring requires unit tests to ensure that design changes (refactorings) don’t break existing code.
  • 10. Acceptance Testing User stories are short descriptions of features that need to be coded. Acceptance tests verify the completion of user stories. Ideally they are written before coding.
  • 11. Should Testers Go Along with This? Some say that XP is an invitation to poor quality and an excuse for hacking. I think that XP is exciting and will improve the practice of testing in the industry. ! XP developers are writing unit tests and unit testing tools ! Kent Beck’s next book is Test-Driven Development ! XP projects are finding new ways to build in testability and support automated tests. Testers Should Embrace Agile Programming http://www.io.com/~wazmo/papers/embrace_agile_programming.html
  • 12. A Practice for Agile Testing Conversational Test Creation Coaching Tests Providing Test Interfaces Exploratory Learning
  • 13. Conversational Test Creation Who should write tests? ! Customers are often too busy. Defining tests is a key activity that should include programmers and customer representatives. Don't do it alone.
  • 14. Coaching Tests A way of thinking about Acceptance Tests. Turn user stories into tests. Tests provide: ! Goals and guidance ! Instant feedback ! Progress measurement Tests are specified in a format: ! That is clear enough that users/customers can understand ! That is specific enough that it can be executed Specification by Example
  • 15. Providing Test Interfaces Developers are responsible for providing the fixtures that automate coaching tests In most cases XP teams are adding test interfaces to their products, rather than using external test tools
  • 17. Exploratory Learning Plan to explore the product with each iteration. Look for bugs, missing features and opportunities for improvement. We don’t understand software until we have used it.
  • 18. Further Study Lessons Learned in Software Testing ! www.testinglessons.com Ward Cunningham’s acceptance testing framework ! fit.c2.com Agile Testing Papers ! www.testing.com/agile ! www.pettichord.com