SlideShare a Scribd company logo
Agile Testing
Madhu Krishnappa
Brief Agile Introduction
Agile Testing Mindset
Purpose of Testing
Key Success Factors
Test First approach - TDD, BDD & ATDD
Agenda
A look at Traditional way…
Iron Triangle
Scope
Budget Time
Quality
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work 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.
Agile Manifesto
Agile vs Traditional Waterfall
Risk Adaptability
Business Value Visability
Agile
Traditional
Testing ≠ Testers.
• Testing is not a phase
• Quality is a Team Responsibility. Whole team approach
Build Quality in
• Defect prevention over finding defects
Fast feedback
• Shortening Feedback Loop
Tests are an Asset
• Tests represents expectations
Optimize value
• Quality is not just in the software, but also in the process
• Aware of Agile test matrix
Agile Testing Mindset
Build quality in
“Cease dependence on mass
inspection to achieve quality.
Improve the process and build
quality into the product in the
first place”
W. Edwards Deming
Agile Testing Matrix
Q4
Q3
Q1
Q2
Business-Facing
Technology-Facing
Supportingtheteam
Critiquetheproduct
Unit tests
Component tests
Examples
Functional tests
Story tests
Prototypes
Exploratory testing
Usability testing
User acceptance testing
Alpha/ Beta testing
Performance & Load testing
Security testing
“ility” testing
Automated
Manual
Tools
Automated &
Manual
Agile Testing Matrix - Q1 - Programmer Tests
Q4
Q3
Q1
Q2
Business-Facing
Technology-Facing
Supportingtheteam
Critiquetheproduct
Unit tests
Component tests
Examples
Functional tests
Story tests
Prototypes
Exploratory testing
Usability testing
User acceptance testing
Alpha/ Beta testing
Performance & Load testing
Security testing
“ility” testing
Automated
Agile Testing Matrix – Q2 - Story Tests
Q4
Q3
Q1
Q2
Business-Facing
Technology-Facing
Supportingtheteam
Critiquetheproduct
Unit tests
Component tests
Examples
Functional tests
Story tests
Prototypes
Exploratory testing
Usability testing
User acceptance testing
Alpha/ Beta testing
Performance & Load testing
Security testing
“ility” testing
Automated
Automated &
Manual
Agile Testing Matrix – Q3 - Business Tests
Q4
Q3
Q1
Q2
Business-Facing
Technology-Facing
Supportingtheteam
Critiquetheproduct
Unit tests
Component tests
Examples
Functional tests
Story tests
Prototypes
Exploratory testing
Usability testing
User acceptance testing
Alpha/ Beta testing
Performance & Load testing
Security testing
“ility” testing
Automated
Manual
Tools
Automated &
Manual
Agile Testing Matrix – Q4 - NFR Tests
Q4
Q3
Q1
Q2
Business-Facing
Technology-Facing
Supportingtheteam
Critiquetheproduct
Unit tests
Component tests
Examples
Functional tests
Story tests
Prototypes
Exploratory testing
Usability testing
User acceptance testing
Alpha/ Beta testing
Performance & Load testing
Security testing
“ility” testing
Automated
Manual
Tools
Automated &
Manual
How to use Agile Testing Matrix
Business-Facing
Technology-Facing
Supportingtheteam
Critiquetheproduct
Unit tests
Component tests
Examples
Functional tests
Story tests
Prototypes
Exploratory testing
Usability testing
User acceptance testing
Alpha/ Beta testing
Performance & Load testing
Security testing
“ility” testing
Automated
Manual
Tools
Automated &
Manual
Every Iteration?
(Several times?)
Agile Testing Pyramid
UI
Services
Unit
Low
High
Longer
Shorter
TestFrequency
TestDuration
Manual
Key Success Factors
• Be cathedral builders not stone cutters
• Collective ownership
Whole team approach
• Drop the “Quality Police”/ gatekeeper attitude
• Focus on team goals & customer value
Adopting Agile Testing
Mindset
• Automate tests wherever practical
• Need rapid feedback
Automate tests
• Balance against programmer focus on technical implementation
• Use agile testing matrix as guide
Look at the big picture
• Continuous Integration
Test environments
• Managing Technical debt
Build a foundation of
core practices
• Collaborate with customers and Team
• Power of three
Collaborate
• Provide and Obtain feedback
• Personal training: reading, blogs, meetups, etc.
Continuous
improvement
Test Driven Development
Behaviour Driven Development (BDD) is a variation of “Test Driven
Development”, with focus on the Business domain rather than on the
technology.
BDD specifies tests in terms of the desired behaviour
Desired behaviour should have (business) value !
Behaviour Driven Development
Borrows from User Story specification:
• Who is the stakeholder
• Which is desired effect
• What is derived business value
Expressed:
• Semi-formal natural language
• Gherkin
• Given a start situation
• When an action is performed
• Then expected result
BDD: how to specify desired behaviour
Acceptance-Test Driven Development
Demo
Discuss
Story
Distill
Feature
Scenario
Given
When
Then
Develop
DTAP
ATDD
Our highest priority is to satisfy
the customer through early and
continuous delivery of valuable
software.
Agile Testing
Agile Testing – A practical guide for testers and Agile teams
By Lisa Crispin and Janet Gregory
“What is Agile Testing?” discussion from Anand Bagmar
References
Thank you
m.Krishnappa@Prowareness.nl
Madhu Krishnappa
Agile Test Consultant

More Related Content

Agile testing - Madhu Krishnappa

  • 2. Brief Agile Introduction Agile Testing Mindset Purpose of Testing Key Success Factors Test First approach - TDD, BDD & ATDD Agenda
  • 3. A look at Traditional way…
  • 5. We are uncovering better ways of developing software by doing it and helping others do it. Through this work 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. Agile Manifesto
  • 6. Agile vs Traditional Waterfall Risk Adaptability Business Value Visability Agile Traditional
  • 7. Testing ≠ Testers. • Testing is not a phase • Quality is a Team Responsibility. Whole team approach Build Quality in • Defect prevention over finding defects Fast feedback • Shortening Feedback Loop Tests are an Asset • Tests represents expectations Optimize value • Quality is not just in the software, but also in the process • Aware of Agile test matrix Agile Testing Mindset
  • 8. Build quality in “Cease dependence on mass inspection to achieve quality. Improve the process and build quality into the product in the first place” W. Edwards Deming
  • 9. Agile Testing Matrix Q4 Q3 Q1 Q2 Business-Facing Technology-Facing Supportingtheteam Critiquetheproduct Unit tests Component tests Examples Functional tests Story tests Prototypes Exploratory testing Usability testing User acceptance testing Alpha/ Beta testing Performance & Load testing Security testing “ility” testing Automated Manual Tools Automated & Manual
  • 10. Agile Testing Matrix - Q1 - Programmer Tests Q4 Q3 Q1 Q2 Business-Facing Technology-Facing Supportingtheteam Critiquetheproduct Unit tests Component tests Examples Functional tests Story tests Prototypes Exploratory testing Usability testing User acceptance testing Alpha/ Beta testing Performance & Load testing Security testing “ility” testing Automated
  • 11. Agile Testing Matrix – Q2 - Story Tests Q4 Q3 Q1 Q2 Business-Facing Technology-Facing Supportingtheteam Critiquetheproduct Unit tests Component tests Examples Functional tests Story tests Prototypes Exploratory testing Usability testing User acceptance testing Alpha/ Beta testing Performance & Load testing Security testing “ility” testing Automated Automated & Manual
  • 12. Agile Testing Matrix – Q3 - Business Tests Q4 Q3 Q1 Q2 Business-Facing Technology-Facing Supportingtheteam Critiquetheproduct Unit tests Component tests Examples Functional tests Story tests Prototypes Exploratory testing Usability testing User acceptance testing Alpha/ Beta testing Performance & Load testing Security testing “ility” testing Automated Manual Tools Automated & Manual
  • 13. Agile Testing Matrix – Q4 - NFR Tests Q4 Q3 Q1 Q2 Business-Facing Technology-Facing Supportingtheteam Critiquetheproduct Unit tests Component tests Examples Functional tests Story tests Prototypes Exploratory testing Usability testing User acceptance testing Alpha/ Beta testing Performance & Load testing Security testing “ility” testing Automated Manual Tools Automated & Manual
  • 14. How to use Agile Testing Matrix Business-Facing Technology-Facing Supportingtheteam Critiquetheproduct Unit tests Component tests Examples Functional tests Story tests Prototypes Exploratory testing Usability testing User acceptance testing Alpha/ Beta testing Performance & Load testing Security testing “ility” testing Automated Manual Tools Automated & Manual Every Iteration? (Several times?)
  • 16. Key Success Factors • Be cathedral builders not stone cutters • Collective ownership Whole team approach • Drop the “Quality Police”/ gatekeeper attitude • Focus on team goals & customer value Adopting Agile Testing Mindset • Automate tests wherever practical • Need rapid feedback Automate tests • Balance against programmer focus on technical implementation • Use agile testing matrix as guide Look at the big picture • Continuous Integration Test environments • Managing Technical debt Build a foundation of core practices • Collaborate with customers and Team • Power of three Collaborate • Provide and Obtain feedback • Personal training: reading, blogs, meetups, etc. Continuous improvement
  • 18. Behaviour Driven Development (BDD) is a variation of “Test Driven Development”, with focus on the Business domain rather than on the technology. BDD specifies tests in terms of the desired behaviour Desired behaviour should have (business) value ! Behaviour Driven Development
  • 19. Borrows from User Story specification: • Who is the stakeholder • Which is desired effect • What is derived business value Expressed: • Semi-formal natural language • Gherkin • Given a start situation • When an action is performed • Then expected result BDD: how to specify desired behaviour
  • 21. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Agile Testing
  • 22. Agile Testing – A practical guide for testers and Agile teams By Lisa Crispin and Janet Gregory “What is Agile Testing?” discussion from Anand Bagmar References