SlideShare a Scribd company logo
1 of 91
Download to read offline
Licensed Under Creative Commons by Naresh Jain
Agile Testing
Embrace Uncertainty
Naresh Jain
naresh@agilefaqs.com
1
Licensed Under Creative Commons by Naresh Jain
Objective
Introduce Agile Testing Concepts
Some background about Agile
Compare with Traditional Testing practices
Highlight the fundamental shift in Thought Process
Discuss some tools and techniques used
Some pointers to help you try some of these techniques
2
Licensed Under Creative Commons by Naresh Jain
Traditional Software Development
With great optimism and the best of intentions, The Project Plan is announced
Analyze Design Code Test/Bug Fix
Requirements
Handed off to Dev
Completed Code
handed off toTest
Source Agile/QA Testing - Elisabeth Hendrickson
3
Licensed Under Creative Commons by Naresh Jain
Traditional Software Development
With great optimism and the best of intentions, The Project Plan is announced
Analyze Design Code Test/Bug Fix
Requirements
Handed off to Dev
Completed Code
handed off toTest
Release
Source Agile/QA Testing - Elisabeth Hendrickson
3
Licensed Under Creative Commons by Naresh Jain
Reality
Analyze, Design and Code Test/Bug Fix
Completed Code
handed off toTest
Inevitably, the project plan is revised
Source Agile/QA Testing - Elisabeth Hendrickson
4
Licensed Under Creative Commons by Naresh Jain
Reality
Analyze, Design and Code Test/Bug Fix
Completed Code
handed off toTest Release
Inevitably, the project plan is revised
Source Agile/QA Testing - Elisabeth Hendrickson
4
Licensed Under Creative Commons by Naresh Jain
Controlling the Chaos
Source Agile/QA Testing - Elisabeth Hendrickson
5
Licensed Under Creative Commons by Naresh Jain
Controlling the Chaos
Traditional testing practices attempt to manage the chaos (or at least
avoid the blame):
Source Agile/QA Testing - Elisabeth Hendrickson
5
Licensed Under Creative Commons by Naresh Jain
Controlling the Chaos
Traditional testing practices attempt to manage the chaos (or at least
avoid the blame):
“Last Defender of Quality” stance
Source Agile/QA Testing - Elisabeth Hendrickson
5
Licensed Under Creative Commons by Naresh Jain
Controlling the Chaos
Traditional testing practices attempt to manage the chaos (or at least
avoid the blame):
“Last Defender of Quality” stance
Strict change management
Source Agile/QA Testing - Elisabeth Hendrickson
5
Licensed Under Creative Commons by Naresh Jain
Controlling the Chaos
Traditional testing practices attempt to manage the chaos (or at least
avoid the blame):
“Last Defender of Quality” stance
Strict change management
Detailed preparation and up front planning
Source Agile/QA Testing - Elisabeth Hendrickson
5
Licensed Under Creative Commons by Naresh Jain
Controlling the Chaos
Traditional testing practices attempt to manage the chaos (or at least
avoid the blame):
“Last Defender of Quality” stance
Strict change management
Detailed preparation and up front planning
Heavyweight documentation
Source Agile/QA Testing - Elisabeth Hendrickson
5
Licensed Under Creative Commons by Naresh Jain
Controlling the Chaos
Traditional testing practices attempt to manage the chaos (or at least
avoid the blame):
“Last Defender of Quality” stance
Strict change management
Detailed preparation and up front planning
Heavyweight documentation
Strict entrance and exit criteria with sign-offs
Source Agile/QA Testing - Elisabeth Hendrickson
5
Licensed Under Creative Commons by Naresh Jain
Controlling the Chaos
Traditional testing practices attempt to manage the chaos (or at least
avoid the blame):
“Last Defender of Quality” stance
Strict change management
Detailed preparation and up front planning
Heavyweight documentation
Strict entrance and exit criteria with sign-offs
Heavyweight test automation focused on regression
Source Agile/QA Testing - Elisabeth Hendrickson
5
Licensed Under Creative Commons by Naresh Jain
Controlling the Chaos
Traditional testing practices attempt to manage the chaos (or at least
avoid the blame):
“Last Defender of Quality” stance
Strict change management
Detailed preparation and up front planning
Heavyweight documentation
Strict entrance and exit criteria with sign-offs
Heavyweight test automation focused on regression
Attempts at process enforcement
Source Agile/QA Testing - Elisabeth Hendrickson
5
Licensed Under Creative Commons by Naresh Jain
Project Management Triangle
6
Licensed Under Creative Commons by Naresh Jain
Project Management Triangle
Quality
??
Cost/Resource
Time
Scope
6
Licensed Under Creative Commons by Naresh Jain
Traditional cost profile
Lower cost of change through
higher quality software
7
Licensed Under Creative Commons by Naresh Jain
Traditional cost profile
Time spent:
• Finding defects
• Fixing Defects
• Regression Testing
• Deploying
Lower cost of change through
higher quality software
7
Licensed Under Creative Commons by Naresh Jain
Agile system cost profile
Traditional cost profile
Time spent:
• Finding defects
• Fixing Defects
• Regression Testing
• Deploying
More defects
found
& corrected –
causes lower
cost of defect
correction
Lower cost of change through
higher quality software
7
Licensed Under Creative Commons by Naresh Jain
Building Quality into the Process
8
Licensed Under Creative Commons by Naresh Jain
Building Quality into the Process
Toyoda Loom
8
Licensed Under Creative Commons by Naresh Jain
Source: Beyond Agile Software Development Becoming Lean, Mary Poppendieck, Poppendieck.llc
Utilization (%)
Lessons from Queuing theory
9
Licensed Under Creative Commons by Naresh Jain
Traditional Software Development
10
Licensed Under Creative Commons by Naresh Jain
Traditional Software Development
10
Licensed Under Creative Commons by Naresh Jain
50 %
done?
Traditional Software Development
10
Licensed Under Creative Commons by Naresh Jain
A better way of doing the same
Applying Lean Principles to
Software Development ...
11
Licensed Under Creative Commons by Naresh Jain
End-to-End
small slices
of work
A better way of doing the same
Applying Lean Principles to
Software Development ...
11
Licensed Under Creative Commons by Naresh Jain
End-to-End
small slices
of work
A better way of doing the same
20 % done = 100 % usable
Applying Lean Principles to
Software Development ...
11
Licensed Under Creative Commons by Naresh Jain
Fix / Integrate $
Test
Code
Design
Specifications
Use Cases /
Functional Specs
Requirements Gathering
Project Plan/Estimation
$
Inception
$
$
$
Traditional vs Agile
12
Licensed Under Creative Commons by Naresh Jain
Agile = Continuous Stream ofValue
iteration
1
iteration
2
iteration
3
iteration
4
iteration
5
iteration
6
iteration
7
Completed Working Features
Designed, Coded and Tested
Release 1 Release 2
Source Agile/QA Testing - Elisabeth Hendrickson
13
Licensed Under Creative Commons by Naresh Jain
Agile = Continuous Stream ofValue
iteration
1
iteration
2
iteration
3
iteration
4
iteration
5
iteration
6
iteration
7
Completed Working Features
Designed, Coded and Tested
Release 1 Release 2
Source Agile/QA Testing - Elisabeth Hendrickson
13
Licensed Under Creative Commons by Naresh Jain
Becoming Agile : DeliveringValue
Increase the rate of
delivery
(usually with
smaller increments)
Source Agile/QA Testing - Elisabeth Hendrickson
14
Licensed Under Creative Commons by Naresh Jain
Becoming Agile : Increasing Feedback
Increase the rate
and quality
of feedback
Source Agile/QA Testing - Elisabeth Hendrickson
15
Licensed Under Creative Commons by Naresh Jain
Becoming Agile : Reducing Waste
Reduce waste
Source Agile/QA Testing - Elisabeth Hendrickson
16
Licensed Under Creative Commons by Naresh Jain
Agile Umbrella
Agile
XP
Pragmatic
DSDM
Crystal Lean
Adaptive
Scrum
FDD
17
Licensed Under Creative Commons by Naresh Jain
A typical XP Project
18
Licensed Under Creative Commons by Naresh Jain
Project 1 year
A typical XP Project
18
Licensed Under Creative Commons by Naresh Jain
Project 1 year
Releases 3 months
A typical XP Project
18
Licensed Under Creative Commons by Naresh Jain
Project 1 year
Iterations 2 weeks
Releases 3 months
A typical XP Project
18
Licensed Under Creative Commons by Naresh Jain
Project 1 year
Iterations 2 weeks
Days 1 day
Releases 3 months
A typical XP Project
18
Licensed Under Creative Commons by Naresh Jain
Project 1 year
Iterations 2 weeks
Days 1 day
Tasks 2 hrs
Releases 3 months
A typical XP Project
18
Licensed Under Creative Commons by Naresh Jain
Project 1 year
Iterations 2 weeks
Days 1 day
Tasks 2 hrs
Test-Code-Refactor Cycles 15 min
Releases 3 months
A typical XP Project
18
Licensed Under Creative Commons by Naresh Jain
Source : http://www.extremeprogramming.org
19
Licensed Under Creative Commons by Naresh Jain
Key Questions
Are we building the right product?
Are we building the product right?
Business Facing
Technology Facing
20
Licensed Under Creative Commons by Naresh Jain
Brian Marick’s Test Categorization
Business Facing
Technology Facing
SupportsProgramming
Critiqueproduct
21
Licensed Under Creative Commons by Naresh Jain
Brian Marick’s Test Categorization
Business Facing
Technology Facing
Acceptance Testing
Low-fi prototypes
Unit Testing
Exploratory Testing
UI and Usability Testing
Performance Testing
SupportsProgramming
Critiqueproduct
22
Licensed Under Creative Commons by Naresh Jain
Acceptance Test Driven Development
23
Licensed Under Creative Commons by Naresh Jain
Acceptance Test Driven Development
Story
23
Licensed Under Creative Commons by Naresh Jain
Acceptance Test Driven Development
Story
Acceptance
Criteria
23
Licensed Under Creative Commons by Naresh Jain
Acceptance Test Driven Development
Iteration
Story
Acceptance
Criteria
23
Licensed Under Creative Commons by Naresh Jain
Acceptance Test Driven Development
Iteration
Automated
Acceptance
Tests
Story
Acceptance
Criteria
23
Licensed Under Creative Commons by Naresh Jain
Acceptance Test Driven Development
Iteration
Automated
Acceptance
Tests
Story
Acceptance
Criteria
Automated
Unit Test
23
Licensed Under Creative Commons by Naresh Jain
Acceptance Test Driven Development
Iteration
Automated
Acceptance
Tests
Automated
Acceptance
Tests
Story
Acceptance
Criteria
Automated
Unit Test
23
Licensed Under Creative Commons by Naresh Jain
Acceptance Test Driven Development
Iteration
Automated
Acceptance
Tests
Automated
Acceptance
Tests
Story
Acceptance
Criteria
Exploratory
Testing
Automated
Unit Test
23
Licensed Under Creative Commons by Naresh Jain
Acceptance Test Driven Development
Iteration
Automated
Acceptance
Tests
Automated
Acceptance
Tests
Story
Acceptance
Criteria
Acceptance
Criteria
Exploratory
Testing
Automated
Unit Test
23
Licensed Under Creative Commons by Naresh Jain
Acceptance Test Driven Development
Iteration
Automated
Acceptance
Tests
Automated
Acceptance
Tests
Story
Acceptance
Criteria
Acceptance
Criteria
Exploratory
Testing
Automated
UI Tests
Automated
Unit Test
23
Licensed Under Creative Commons by Naresh Jain
Acceptance Test Driven Development
Iteration
Automated
Acceptance
Tests
Automated
Acceptance
Tests
Story
Acceptance
Criteria
Acceptance
Criteria
Exploratory
Testing
Automated
UI Tests
T
E
S
T
S
P
E
R
F
O
R
M
E
N
C
E
Automated
Unit Test
23
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Add a Test
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the
Test
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the
Test
Pass
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the
Test
Fail
Pass
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the
Test
Make a
little change
Fail
Pass
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the
Test
Make a
little change
Run the Test
Fail
Pass
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the
Test
Make a
little change
Run the Test
Fail
Fail
Pass
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the
Test
Make a
little change
Run the Test
Fail
Pass
Fail
Pass
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the
Test
Make a
little change
Run the Test
Refactor
Fail
Pass
Fail
Pass
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the
Test
Make a
little change
Run the Test
Refactor
Fail
Pass
Fail
Pass
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the
Test
Make a
little change
Run the Test
Refactor
Fail
Pass
Fail
Pass
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
TDD Rhythm - Test, Code, Refactor
Add a Test
Run the
Test
Make a
little change
Run the Test
Refactor
Fail
Pass
Fail
Pass
Test Driven Development
24
Licensed Under Creative Commons by Naresh Jain
Mike Cohn’s Testing Pyramid
25
Licensed Under Creative Commons by Naresh Jain
Mike Cohn’s Testing Pyramid
GUI
Tests
25
Licensed Under Creative Commons by Naresh Jain
Mike Cohn’s Testing Pyramid
GUI
Tests
Small in Number
Tools: Selenium, Sahi,Watir, Abbot, Frankenstein
25
Licensed Under Creative Commons by Naresh Jain
Mike Cohn’s Testing Pyramid
Acceptance
Tests
GUI
Tests
Small in Number
Tools: Selenium, Sahi,Watir, Abbot, Frankenstein
25
Licensed Under Creative Commons by Naresh Jain
Mike Cohn’s Testing Pyramid
Acceptance
Tests
GUI
Tests
Small in Number
Tools: Selenium, Sahi,Watir, Abbot, Frankenstein
At least one per story
Tools: Fit, FitNesse, RSpec, JBehave
25
Licensed Under Creative Commons by Naresh Jain
Mike Cohn’s Testing Pyramid
Unit Tests
Acceptance
Tests
GUI
Tests
Small in Number
Tools: Selenium, Sahi,Watir, Abbot, Frankenstein
At least one per story
Tools: Fit, FitNesse, RSpec, JBehave
25
Licensed Under Creative Commons by Naresh Jain
Mike Cohn’s Testing Pyramid
Unit Tests
Acceptance
Tests
GUI
Tests
Small in Number
Tools: Selenium, Sahi,Watir, Abbot, Frankenstein
At least one per story
Tools: Fit, FitNesse, RSpec, JBehave
At least one per class or module
Tools: xUnit,TestNG
25
Licensed Under Creative Commons by Naresh Jain
FitNesse and Selenium Demo
26
Licensed Under Creative Commons by Naresh Jain
What is the Role of a Tester on
Agile Projects?
27
Licensed Under Creative Commons by Naresh Jain
What is the Role of a Tester on
Agile Projects?
Testers are part of the team
27
Licensed Under Creative Commons by Naresh Jain
What is the Role of a Tester on
Agile Projects?
Testers are part of the team
Works closely with customers to define acceptance tests for each
story
27
Licensed Under Creative Commons by Naresh Jain
What is the Role of a Tester on
Agile Projects?
Testers are part of the team
Works closely with customers to define acceptance tests for each
story
Tests each story as it is complete
27
Licensed Under Creative Commons by Naresh Jain
What is the Role of a Tester on
Agile Projects?
Testers are part of the team
Works closely with customers to define acceptance tests for each
story
Tests each story as it is complete
Practices pair testing
27
Licensed Under Creative Commons by Naresh Jain
What is the Role of a Tester on
Agile Projects?
Testers are part of the team
Works closely with customers to define acceptance tests for each
story
Tests each story as it is complete
Practices pair testing
Provides continuous feedback to the team
27
Licensed Under Creative Commons by Naresh Jain
What is the Role of a Tester on
Agile Projects?
Testers are part of the team
Works closely with customers to define acceptance tests for each
story
Tests each story as it is complete
Practices pair testing
Provides continuous feedback to the team
Works closely with developers to do performance and other types
of testing
27
Licensed Under Creative Commons by Naresh Jain
Challenges
28
Licensed Under Creative Commons by Naresh Jain
Challenges
Technical
Requirements are changing
Bringing Testing Forward
Moving from Manual Testing to Automation
28
Licensed Under Creative Commons by Naresh Jain
Challenges
Technical
Requirements are changing
Bringing Testing Forward
Moving from Manual Testing to Automation
Organizational
Tester/Developer roles are blurred
Dev/Test Teams might be separate
Everyone has not bought into agile practices
28
Licensed Under Creative Commons by Naresh Jain
Challenges
Technical
Requirements are changing
Bringing Testing Forward
Moving from Manual Testing to Automation
Organizational
Tester/Developer roles are blurred
Dev/Test Teams might be separate
Everyone has not bought into agile practices
People
28
Licensed Under Creative Commons by Naresh Jain
Agile/QA Testing - Elisabeth Hendrickson
"Agile Testing Directions" - Brian Marick
Beck, K. (1999). Extreme Programming Explained: Embrace Change.
Addison-Wesley.
Cockburn, A. (2004). Crystal Clear: A Human- Powered Methodology for
Small Teams.
Crispin, L., & House, T. (2002). Testing Extreme Programming. Addison-
Wesley.
Poppendieck, M. & Poppendieck, T. (2003). Lean Software Development.
Addison-Wesley.
Schwaber, K. & Beedle, M. (2001). Agile Software Development with
SCRUM. Prentice Hall.
http://www.extremeprogramming.org
References
29

More Related Content

What's hot

Agile Portfolio Based Release Trains by Ralph Jocham
Agile Portfolio Based Release Trains by Ralph JochamAgile Portfolio Based Release Trains by Ralph Jocham
Agile Portfolio Based Release Trains by Ralph JochamGeorge Psistakis
 
ISTQB Agile Extension
ISTQB Agile ExtensionISTQB Agile Extension
ISTQB Agile ExtensionDavis Thomas
 
Agile Methods to Develop Tangible Products Quickly
Agile Methods to Develop Tangible Products QuicklyAgile Methods to Develop Tangible Products Quickly
Agile Methods to Develop Tangible Products QuicklyJohn Carter
 
Using agile testing to drive product innovation
Using agile testing to drive product innovationUsing agile testing to drive product innovation
Using agile testing to drive product innovationStephen Graves
 
DevOps Kaizen: Find and Fix What is Really Behind Your Problems
DevOps Kaizen: Find and Fix What is Really Behind Your ProblemsDevOps Kaizen: Find and Fix What is Really Behind Your Problems
DevOps Kaizen: Find and Fix What is Really Behind Your Problemsdev2ops
 
Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...
Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...
Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...QASymphony
 
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Directi Group
 
Test management in scrum
Test management in scrumTest management in scrum
Test management in scrumQA Club Kiev
 
Qa role in agile teams
Qa role in agile teamsQa role in agile teams
Qa role in agile teamsAnwar Sadat
 
Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team Services
Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team ServicesDevconf - Moving 65000 Microsofties to DevOps with Visual Studio Team Services
Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team ServicesWilly-Peter Schaub
 
Agile Embedded Software
Agile Embedded SoftwareAgile Embedded Software
Agile Embedded SoftwareJames Grenning
 
Knowing Where to Tap
Knowing Where to TapKnowing Where to Tap
Knowing Where to TapQASymphony
 
Support and Initiate a DevOps Transformation
Support and Initiate a DevOps TransformationSupport and Initiate a DevOps Transformation
Support and Initiate a DevOps Transformationdev2ops
 
Software Development Graveyard
Software Development GraveyardSoftware Development Graveyard
Software Development GraveyardErika Barron
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOpsTechWell
 
Agile and DevOps Transformations in Large Organizations
Agile and DevOps Transformations in Large OrganizationsAgile and DevOps Transformations in Large Organizations
Agile and DevOps Transformations in Large OrganizationsTechWell
 

What's hot (20)

Agile Portfolio Based Release Trains by Ralph Jocham
Agile Portfolio Based Release Trains by Ralph JochamAgile Portfolio Based Release Trains by Ralph Jocham
Agile Portfolio Based Release Trains by Ralph Jocham
 
ISTQB Agile Extension
ISTQB Agile ExtensionISTQB Agile Extension
ISTQB Agile Extension
 
Agile Methods to Develop Tangible Products Quickly
Agile Methods to Develop Tangible Products QuicklyAgile Methods to Develop Tangible Products Quickly
Agile Methods to Develop Tangible Products Quickly
 
Kanban 101
Kanban 101Kanban 101
Kanban 101
 
Using agile testing to drive product innovation
Using agile testing to drive product innovationUsing agile testing to drive product innovation
Using agile testing to drive product innovation
 
Introducing illuminate
Introducing illuminateIntroducing illuminate
Introducing illuminate
 
DevOps Kaizen: Find and Fix What is Really Behind Your Problems
DevOps Kaizen: Find and Fix What is Really Behind Your ProblemsDevOps Kaizen: Find and Fix What is Really Behind Your Problems
DevOps Kaizen: Find and Fix What is Really Behind Your Problems
 
Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...
Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...
Quality Jam 2017: Jesse Reed & Kyle McMeekin "Test Case Management & Explorat...
 
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
Our Journey Down the Yellow Brick Road (Agile Adoption @ Directi)
 
Test management in scrum
Test management in scrumTest management in scrum
Test management in scrum
 
Qa role in agile teams
Qa role in agile teamsQa role in agile teams
Qa role in agile teams
 
Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team Services
Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team ServicesDevconf - Moving 65000 Microsofties to DevOps with Visual Studio Team Services
Devconf - Moving 65000 Microsofties to DevOps with Visual Studio Team Services
 
Agile Embedded Software
Agile Embedded SoftwareAgile Embedded Software
Agile Embedded Software
 
The Eclipse Way
The Eclipse WayThe Eclipse Way
The Eclipse Way
 
Knowing Where to Tap
Knowing Where to TapKnowing Where to Tap
Knowing Where to Tap
 
Support and Initiate a DevOps Transformation
Support and Initiate a DevOps TransformationSupport and Initiate a DevOps Transformation
Support and Initiate a DevOps Transformation
 
QAAgility Trainings
QAAgility TrainingsQAAgility Trainings
QAAgility Trainings
 
Software Development Graveyard
Software Development GraveyardSoftware Development Graveyard
Software Development Graveyard
 
Continuous Testing in DevOps
Continuous Testing in DevOpsContinuous Testing in DevOps
Continuous Testing in DevOps
 
Agile and DevOps Transformations in Large Organizations
Agile and DevOps Transformations in Large OrganizationsAgile and DevOps Transformations in Large Organizations
Agile and DevOps Transformations in Large Organizations
 

Similar to Agile testing

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 2011TEST Huddle
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overviewguestb4c770
 
Intro to Scrum (shared) 05 2011
Intro to Scrum (shared) 05 2011Intro to Scrum (shared) 05 2011
Intro to Scrum (shared) 05 2011Designed Culture
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development OverviewMark Kovacevich
 
Agile Projects Estimations and Planning
Agile Projects Estimations and PlanningAgile Projects Estimations and Planning
Agile Projects Estimations and PlanningReturn on Intelligence
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development ProcessSoftware Park Thailand
 
Agility: A Land Boat to Arrive at Your Data Lake Faster
Agility: A Land Boat to Arrive at Your Data Lake FasterAgility: A Land Boat to Arrive at Your Data Lake Faster
Agility: A Land Boat to Arrive at Your Data Lake FasterCCG
 
Agile Methods: Fact or Fiction
Agile Methods: Fact or FictionAgile Methods: Fact or Fiction
Agile Methods: Fact or FictionMatt Ganis
 
Assessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentAssessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentMike Cohn
 
Benefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior ManagementBenefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior ManagementDavid Updike
 
Software life cycle ppt
Software life cycle pptSoftware life cycle ppt
Software life cycle pptArsalanAman
 
Software life cycle ppt
Software life cycle pptSoftware life cycle ppt
Software life cycle pptArsalanAman
 
Offshore Agile Maintenance
Offshore Agile MaintenanceOffshore Agile Maintenance
Offshore Agile MaintenanceNaresh Jain
 
Agile at enterprice level
Agile at enterprice levelAgile at enterprice level
Agile at enterprice levelJan De Baere
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandDavid O'Dowd
 

Similar to Agile testing (20)

Kim Carter (BinaryMist)
Kim Carter (BinaryMist)Kim Carter (BinaryMist)
Kim Carter (BinaryMist)
 
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
 
Agile Methodologies
Agile MethodologiesAgile Methodologies
Agile Methodologies
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overview
 
Intro to Scrum (shared) 05 2011
Intro to Scrum (shared) 05 2011Intro to Scrum (shared) 05 2011
Intro to Scrum (shared) 05 2011
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overview
 
Agile Projects Estimations and Planning
Agile Projects Estimations and PlanningAgile Projects Estimations and Planning
Agile Projects Estimations and Planning
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 
The Thinking Tester, Evolved
The Thinking Tester, EvolvedThe Thinking Tester, Evolved
The Thinking Tester, Evolved
 
Agility: A Land Boat to Arrive at Your Data Lake Faster
Agility: A Land Boat to Arrive at Your Data Lake FasterAgility: A Land Boat to Arrive at Your Data Lake Faster
Agility: A Land Boat to Arrive at Your Data Lake Faster
 
Agile Methods: Fact or Fiction
Agile Methods: Fact or FictionAgile Methods: Fact or Fiction
Agile Methods: Fact or Fiction
 
Assessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentAssessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility Assessment
 
Benefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior ManagementBenefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior Management
 
Software life cycle ppt
Software life cycle pptSoftware life cycle ppt
Software life cycle ppt
 
Software life cycle ppt
Software life cycle pptSoftware life cycle ppt
Software life cycle ppt
 
Offshore Agile Maintenance
Offshore Agile MaintenanceOffshore Agile Maintenance
Offshore Agile Maintenance
 
Agile at enterprice level
Agile at enterprice levelAgile at enterprice level
Agile at enterprice level
 
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest IrelandMarkus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
Markus Clermont - Surviving in an Agile Environment - Google - SoftTest Ireland
 
Agile Engineering Environment – 2017
Agile Engineering Environment – 2017Agile Engineering Environment – 2017
Agile Engineering Environment – 2017
 
Agile Engineering Environment – 2017
Agile Engineering Environment – 2017Agile Engineering Environment – 2017
Agile Engineering Environment – 2017
 

Recently uploaded

Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 

Recently uploaded (20)

Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 

Agile testing

  • 1. Licensed Under Creative Commons by Naresh Jain Agile Testing Embrace Uncertainty Naresh Jain naresh@agilefaqs.com 1
  • 2. Licensed Under Creative Commons by Naresh Jain Objective Introduce Agile Testing Concepts Some background about Agile Compare with Traditional Testing practices Highlight the fundamental shift in Thought Process Discuss some tools and techniques used Some pointers to help you try some of these techniques 2
  • 3. Licensed Under Creative Commons by Naresh Jain Traditional Software Development With great optimism and the best of intentions, The Project Plan is announced Analyze Design Code Test/Bug Fix Requirements Handed off to Dev Completed Code handed off toTest Source Agile/QA Testing - Elisabeth Hendrickson 3
  • 4. Licensed Under Creative Commons by Naresh Jain Traditional Software Development With great optimism and the best of intentions, The Project Plan is announced Analyze Design Code Test/Bug Fix Requirements Handed off to Dev Completed Code handed off toTest Release Source Agile/QA Testing - Elisabeth Hendrickson 3
  • 5. Licensed Under Creative Commons by Naresh Jain Reality Analyze, Design and Code Test/Bug Fix Completed Code handed off toTest Inevitably, the project plan is revised Source Agile/QA Testing - Elisabeth Hendrickson 4
  • 6. Licensed Under Creative Commons by Naresh Jain Reality Analyze, Design and Code Test/Bug Fix Completed Code handed off toTest Release Inevitably, the project plan is revised Source Agile/QA Testing - Elisabeth Hendrickson 4
  • 7. Licensed Under Creative Commons by Naresh Jain Controlling the Chaos Source Agile/QA Testing - Elisabeth Hendrickson 5
  • 8. Licensed Under Creative Commons by Naresh Jain Controlling the Chaos Traditional testing practices attempt to manage the chaos (or at least avoid the blame): Source Agile/QA Testing - Elisabeth Hendrickson 5
  • 9. Licensed Under Creative Commons by Naresh Jain Controlling the Chaos Traditional testing practices attempt to manage the chaos (or at least avoid the blame): “Last Defender of Quality” stance Source Agile/QA Testing - Elisabeth Hendrickson 5
  • 10. Licensed Under Creative Commons by Naresh Jain Controlling the Chaos Traditional testing practices attempt to manage the chaos (or at least avoid the blame): “Last Defender of Quality” stance Strict change management Source Agile/QA Testing - Elisabeth Hendrickson 5
  • 11. Licensed Under Creative Commons by Naresh Jain Controlling the Chaos Traditional testing practices attempt to manage the chaos (or at least avoid the blame): “Last Defender of Quality” stance Strict change management Detailed preparation and up front planning Source Agile/QA Testing - Elisabeth Hendrickson 5
  • 12. Licensed Under Creative Commons by Naresh Jain Controlling the Chaos Traditional testing practices attempt to manage the chaos (or at least avoid the blame): “Last Defender of Quality” stance Strict change management Detailed preparation and up front planning Heavyweight documentation Source Agile/QA Testing - Elisabeth Hendrickson 5
  • 13. Licensed Under Creative Commons by Naresh Jain Controlling the Chaos Traditional testing practices attempt to manage the chaos (or at least avoid the blame): “Last Defender of Quality” stance Strict change management Detailed preparation and up front planning Heavyweight documentation Strict entrance and exit criteria with sign-offs Source Agile/QA Testing - Elisabeth Hendrickson 5
  • 14. Licensed Under Creative Commons by Naresh Jain Controlling the Chaos Traditional testing practices attempt to manage the chaos (or at least avoid the blame): “Last Defender of Quality” stance Strict change management Detailed preparation and up front planning Heavyweight documentation Strict entrance and exit criteria with sign-offs Heavyweight test automation focused on regression Source Agile/QA Testing - Elisabeth Hendrickson 5
  • 15. Licensed Under Creative Commons by Naresh Jain Controlling the Chaos Traditional testing practices attempt to manage the chaos (or at least avoid the blame): “Last Defender of Quality” stance Strict change management Detailed preparation and up front planning Heavyweight documentation Strict entrance and exit criteria with sign-offs Heavyweight test automation focused on regression Attempts at process enforcement Source Agile/QA Testing - Elisabeth Hendrickson 5
  • 16. Licensed Under Creative Commons by Naresh Jain Project Management Triangle 6
  • 17. Licensed Under Creative Commons by Naresh Jain Project Management Triangle Quality ?? Cost/Resource Time Scope 6
  • 18. Licensed Under Creative Commons by Naresh Jain Traditional cost profile Lower cost of change through higher quality software 7
  • 19. Licensed Under Creative Commons by Naresh Jain Traditional cost profile Time spent: • Finding defects • Fixing Defects • Regression Testing • Deploying Lower cost of change through higher quality software 7
  • 20. Licensed Under Creative Commons by Naresh Jain Agile system cost profile Traditional cost profile Time spent: • Finding defects • Fixing Defects • Regression Testing • Deploying More defects found & corrected – causes lower cost of defect correction Lower cost of change through higher quality software 7
  • 21. Licensed Under Creative Commons by Naresh Jain Building Quality into the Process 8
  • 22. Licensed Under Creative Commons by Naresh Jain Building Quality into the Process Toyoda Loom 8
  • 23. Licensed Under Creative Commons by Naresh Jain Source: Beyond Agile Software Development Becoming Lean, Mary Poppendieck, Poppendieck.llc Utilization (%) Lessons from Queuing theory 9
  • 24. Licensed Under Creative Commons by Naresh Jain Traditional Software Development 10
  • 25. Licensed Under Creative Commons by Naresh Jain Traditional Software Development 10
  • 26. Licensed Under Creative Commons by Naresh Jain 50 % done? Traditional Software Development 10
  • 27. Licensed Under Creative Commons by Naresh Jain A better way of doing the same Applying Lean Principles to Software Development ... 11
  • 28. Licensed Under Creative Commons by Naresh Jain End-to-End small slices of work A better way of doing the same Applying Lean Principles to Software Development ... 11
  • 29. Licensed Under Creative Commons by Naresh Jain End-to-End small slices of work A better way of doing the same 20 % done = 100 % usable Applying Lean Principles to Software Development ... 11
  • 30. Licensed Under Creative Commons by Naresh Jain Fix / Integrate $ Test Code Design Specifications Use Cases / Functional Specs Requirements Gathering Project Plan/Estimation $ Inception $ $ $ Traditional vs Agile 12
  • 31. Licensed Under Creative Commons by Naresh Jain Agile = Continuous Stream ofValue iteration 1 iteration 2 iteration 3 iteration 4 iteration 5 iteration 6 iteration 7 Completed Working Features Designed, Coded and Tested Release 1 Release 2 Source Agile/QA Testing - Elisabeth Hendrickson 13
  • 32. Licensed Under Creative Commons by Naresh Jain Agile = Continuous Stream ofValue iteration 1 iteration 2 iteration 3 iteration 4 iteration 5 iteration 6 iteration 7 Completed Working Features Designed, Coded and Tested Release 1 Release 2 Source Agile/QA Testing - Elisabeth Hendrickson 13
  • 33. Licensed Under Creative Commons by Naresh Jain Becoming Agile : DeliveringValue Increase the rate of delivery (usually with smaller increments) Source Agile/QA Testing - Elisabeth Hendrickson 14
  • 34. Licensed Under Creative Commons by Naresh Jain Becoming Agile : Increasing Feedback Increase the rate and quality of feedback Source Agile/QA Testing - Elisabeth Hendrickson 15
  • 35. Licensed Under Creative Commons by Naresh Jain Becoming Agile : Reducing Waste Reduce waste Source Agile/QA Testing - Elisabeth Hendrickson 16
  • 36. Licensed Under Creative Commons by Naresh Jain Agile Umbrella Agile XP Pragmatic DSDM Crystal Lean Adaptive Scrum FDD 17
  • 37. Licensed Under Creative Commons by Naresh Jain A typical XP Project 18
  • 38. Licensed Under Creative Commons by Naresh Jain Project 1 year A typical XP Project 18
  • 39. Licensed Under Creative Commons by Naresh Jain Project 1 year Releases 3 months A typical XP Project 18
  • 40. Licensed Under Creative Commons by Naresh Jain Project 1 year Iterations 2 weeks Releases 3 months A typical XP Project 18
  • 41. Licensed Under Creative Commons by Naresh Jain Project 1 year Iterations 2 weeks Days 1 day Releases 3 months A typical XP Project 18
  • 42. Licensed Under Creative Commons by Naresh Jain Project 1 year Iterations 2 weeks Days 1 day Tasks 2 hrs Releases 3 months A typical XP Project 18
  • 43. Licensed Under Creative Commons by Naresh Jain Project 1 year Iterations 2 weeks Days 1 day Tasks 2 hrs Test-Code-Refactor Cycles 15 min Releases 3 months A typical XP Project 18
  • 44. Licensed Under Creative Commons by Naresh Jain Source : http://www.extremeprogramming.org 19
  • 45. Licensed Under Creative Commons by Naresh Jain Key Questions Are we building the right product? Are we building the product right? Business Facing Technology Facing 20
  • 46. Licensed Under Creative Commons by Naresh Jain Brian Marick’s Test Categorization Business Facing Technology Facing SupportsProgramming Critiqueproduct 21
  • 47. Licensed Under Creative Commons by Naresh Jain Brian Marick’s Test Categorization Business Facing Technology Facing Acceptance Testing Low-fi prototypes Unit Testing Exploratory Testing UI and Usability Testing Performance Testing SupportsProgramming Critiqueproduct 22
  • 48. Licensed Under Creative Commons by Naresh Jain Acceptance Test Driven Development 23
  • 49. Licensed Under Creative Commons by Naresh Jain Acceptance Test Driven Development Story 23
  • 50. Licensed Under Creative Commons by Naresh Jain Acceptance Test Driven Development Story Acceptance Criteria 23
  • 51. Licensed Under Creative Commons by Naresh Jain Acceptance Test Driven Development Iteration Story Acceptance Criteria 23
  • 52. Licensed Under Creative Commons by Naresh Jain Acceptance Test Driven Development Iteration Automated Acceptance Tests Story Acceptance Criteria 23
  • 53. Licensed Under Creative Commons by Naresh Jain Acceptance Test Driven Development Iteration Automated Acceptance Tests Story Acceptance Criteria Automated Unit Test 23
  • 54. Licensed Under Creative Commons by Naresh Jain Acceptance Test Driven Development Iteration Automated Acceptance Tests Automated Acceptance Tests Story Acceptance Criteria Automated Unit Test 23
  • 55. Licensed Under Creative Commons by Naresh Jain Acceptance Test Driven Development Iteration Automated Acceptance Tests Automated Acceptance Tests Story Acceptance Criteria Exploratory Testing Automated Unit Test 23
  • 56. Licensed Under Creative Commons by Naresh Jain Acceptance Test Driven Development Iteration Automated Acceptance Tests Automated Acceptance Tests Story Acceptance Criteria Acceptance Criteria Exploratory Testing Automated Unit Test 23
  • 57. Licensed Under Creative Commons by Naresh Jain Acceptance Test Driven Development Iteration Automated Acceptance Tests Automated Acceptance Tests Story Acceptance Criteria Acceptance Criteria Exploratory Testing Automated UI Tests Automated Unit Test 23
  • 58. Licensed Under Creative Commons by Naresh Jain Acceptance Test Driven Development Iteration Automated Acceptance Tests Automated Acceptance Tests Story Acceptance Criteria Acceptance Criteria Exploratory Testing Automated UI Tests T E S T S P E R F O R M E N C E Automated Unit Test 23
  • 59. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Test Driven Development 24
  • 60. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Add a Test Test Driven Development 24
  • 61. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Add a Test Run the Test Test Driven Development 24
  • 62. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Add a Test Run the Test Pass Test Driven Development 24
  • 63. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Add a Test Run the Test Fail Pass Test Driven Development 24
  • 64. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Add a Test Run the Test Make a little change Fail Pass Test Driven Development 24
  • 65. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Add a Test Run the Test Make a little change Run the Test Fail Pass Test Driven Development 24
  • 66. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Add a Test Run the Test Make a little change Run the Test Fail Fail Pass Test Driven Development 24
  • 67. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Add a Test Run the Test Make a little change Run the Test Fail Pass Fail Pass Test Driven Development 24
  • 68. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Add a Test Run the Test Make a little change Run the Test Refactor Fail Pass Fail Pass Test Driven Development 24
  • 69. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Add a Test Run the Test Make a little change Run the Test Refactor Fail Pass Fail Pass Test Driven Development 24
  • 70. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Add a Test Run the Test Make a little change Run the Test Refactor Fail Pass Fail Pass Test Driven Development 24
  • 71. Licensed Under Creative Commons by Naresh Jain TDD Rhythm - Test, Code, Refactor Add a Test Run the Test Make a little change Run the Test Refactor Fail Pass Fail Pass Test Driven Development 24
  • 72. Licensed Under Creative Commons by Naresh Jain Mike Cohn’s Testing Pyramid 25
  • 73. Licensed Under Creative Commons by Naresh Jain Mike Cohn’s Testing Pyramid GUI Tests 25
  • 74. Licensed Under Creative Commons by Naresh Jain Mike Cohn’s Testing Pyramid GUI Tests Small in Number Tools: Selenium, Sahi,Watir, Abbot, Frankenstein 25
  • 75. Licensed Under Creative Commons by Naresh Jain Mike Cohn’s Testing Pyramid Acceptance Tests GUI Tests Small in Number Tools: Selenium, Sahi,Watir, Abbot, Frankenstein 25
  • 76. Licensed Under Creative Commons by Naresh Jain Mike Cohn’s Testing Pyramid Acceptance Tests GUI Tests Small in Number Tools: Selenium, Sahi,Watir, Abbot, Frankenstein At least one per story Tools: Fit, FitNesse, RSpec, JBehave 25
  • 77. Licensed Under Creative Commons by Naresh Jain Mike Cohn’s Testing Pyramid Unit Tests Acceptance Tests GUI Tests Small in Number Tools: Selenium, Sahi,Watir, Abbot, Frankenstein At least one per story Tools: Fit, FitNesse, RSpec, JBehave 25
  • 78. Licensed Under Creative Commons by Naresh Jain Mike Cohn’s Testing Pyramid Unit Tests Acceptance Tests GUI Tests Small in Number Tools: Selenium, Sahi,Watir, Abbot, Frankenstein At least one per story Tools: Fit, FitNesse, RSpec, JBehave At least one per class or module Tools: xUnit,TestNG 25
  • 79. Licensed Under Creative Commons by Naresh Jain FitNesse and Selenium Demo 26
  • 80. Licensed Under Creative Commons by Naresh Jain What is the Role of a Tester on Agile Projects? 27
  • 81. Licensed Under Creative Commons by Naresh Jain What is the Role of a Tester on Agile Projects? Testers are part of the team 27
  • 82. Licensed Under Creative Commons by Naresh Jain What is the Role of a Tester on Agile Projects? Testers are part of the team Works closely with customers to define acceptance tests for each story 27
  • 83. Licensed Under Creative Commons by Naresh Jain What is the Role of a Tester on Agile Projects? Testers are part of the team Works closely with customers to define acceptance tests for each story Tests each story as it is complete 27
  • 84. Licensed Under Creative Commons by Naresh Jain What is the Role of a Tester on Agile Projects? Testers are part of the team Works closely with customers to define acceptance tests for each story Tests each story as it is complete Practices pair testing 27
  • 85. Licensed Under Creative Commons by Naresh Jain What is the Role of a Tester on Agile Projects? Testers are part of the team Works closely with customers to define acceptance tests for each story Tests each story as it is complete Practices pair testing Provides continuous feedback to the team 27
  • 86. Licensed Under Creative Commons by Naresh Jain What is the Role of a Tester on Agile Projects? Testers are part of the team Works closely with customers to define acceptance tests for each story Tests each story as it is complete Practices pair testing Provides continuous feedback to the team Works closely with developers to do performance and other types of testing 27
  • 87. Licensed Under Creative Commons by Naresh Jain Challenges 28
  • 88. Licensed Under Creative Commons by Naresh Jain Challenges Technical Requirements are changing Bringing Testing Forward Moving from Manual Testing to Automation 28
  • 89. Licensed Under Creative Commons by Naresh Jain Challenges Technical Requirements are changing Bringing Testing Forward Moving from Manual Testing to Automation Organizational Tester/Developer roles are blurred Dev/Test Teams might be separate Everyone has not bought into agile practices 28
  • 90. Licensed Under Creative Commons by Naresh Jain Challenges Technical Requirements are changing Bringing Testing Forward Moving from Manual Testing to Automation Organizational Tester/Developer roles are blurred Dev/Test Teams might be separate Everyone has not bought into agile practices People 28
  • 91. Licensed Under Creative Commons by Naresh Jain Agile/QA Testing - Elisabeth Hendrickson "Agile Testing Directions" - Brian Marick Beck, K. (1999). Extreme Programming Explained: Embrace Change. Addison-Wesley. Cockburn, A. (2004). Crystal Clear: A Human- Powered Methodology for Small Teams. Crispin, L., & House, T. (2002). Testing Extreme Programming. Addison- Wesley. Poppendieck, M. & Poppendieck, T. (2003). Lean Software Development. Addison-Wesley. Schwaber, K. & Beedle, M. (2001). Agile Software Development with SCRUM. Prentice Hall. http://www.extremeprogramming.org References 29