SlideShare a Scribd company logo
1 of 64
AGILE TESTING
Testing From Day One
By Fadi Stephan
While we wait for the
session to start, meet your
neighbors and discuss …
AGILE TESTING @fadistephan | kaizenko.com
• Do you currently work on an Agile team?
• Does your team include testers?
• What testing challenges are you facing?
Technology Consultant and Certified Scrum Trainer
20 Years of Experience in Software Development
Co-organizer of the DC Scrum User Group (DCSUG)
Skier and Diver
www.kaizenko.com @KaizenkoLLC
@FadiStephan
FADI STEPHAN
AGILE TESTING @fadistephan | kaizenko.com
AGILE TESTING @fadistephan | kaizenko.com
Requirement Design Code Test
2 Weeks 2 Weeks 2 Weeks 2 Weeks
AGILE TESTING @fadistephan | kaizenko.com
4 Weeks
Requirement Design Coooooooooooooooooooooooooode
Test
AGILE TESTING @fadistephan | kaizenko.com
Code 1 Code 2
Test 1 Test 2
2 Weeks 2 Weeks 2 Weeks 2 Weeks
Code 3 Code 4
Test 3
AGILE TESTING @fadistephan | kaizenko.com
2 Weeks
Designed
Coded
And
Tested Story 1 Story 1
Story 3
Story 4
Story 6
Story 2
Story 1
Story 2
Story 3
Story 5
Story
Story 4
Story 1
Story 2
Story 3
Story 5
Story 4
Story 1
Story 2
Story 3
Story 5
Story 6
Story 7
Day 1 Day 3 Day 6 Day 7 Day 10
AGILE TESTING @fadistephan | kaizenko.com
Requirements
Design
Development
Test
DeployWATERFALL
APPROACH
AGILE TESTING @fadistephan | kaizenko.com
Requirements
Design
Development
Test
Deploy
ITERATIVE &
INCREMENTAL
APPROACH TO
WATERFALL
AGILE TESTING @fadistephan | kaizenko.com
“Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software.”
“Deliver working software frequently,
from a couple of weeks to a couple
of months, with a preference to the
shorter timescale.”
- First and third of the Twelve Principles behind the Agile Manifesto
A LEANER PMO IN THE FEDERAL GOVERNMENTAGILE TESTING @fadistephan | kaizenko.com
REQUIREMENTS
DESIGN
DEVELOPMENTTEST
DEPLOY
AGILE TESTING @fadistephan | kaizenko.com
Days
Not
Months or
Years
REQUIREMENTS
DESIGN
DEVELOPMENTTEST
DEPLOY
AGILE TESTING @fadistephan | kaizenko.com
WHAT KIND OF
TESTING?
AGILE TESTING @fadistephan | kaizenko.com
Brainstorm with your
neighbors …
AGILE TESTING @fadistephan | kaizenko.com
What are all the types of testing that
you currently do or should be doing?
Functional Tests
Acceptance Tests
Unit Tests
Integration Test
Component Tests
System Tests
Exploratory Tests
Usability Tests
Performance Tests
Load Tests
Stress Tests
Security Tests
Types of Testing
AGILE TESTING @fadistephan | kaizenko.com
Functional Tests
Acceptance Tests
Unit Tests
Integration Tests
Component Tests
System Tests
Exploratory Tests
Usability Tests
Performance Tests
Load Tests
Stress Tests
Security Tests
SupportProgramming
CritiqueProduct
Business Facing
Technology Facingfrom Brian Marick
Testing Quadrant
AGILE TESTING @fadistephan | kaizenko.com
WHICH TESTS DO WE
AUTOMATE?
AGILE TESTING @fadistephan | kaizenko.com
Functional Tests
Acceptance Tests
Unit Tests
Integration Tests
Component Tests
System Tests
Exploratory Tests
Usability Tests
Performance Tests
Load Tests
Stress Tests
Security Tests
SupportProgramming
CritiqueProduct
Business Facing
Technology Facingfrom Brian Marick
Automated
Automated
Automated
Manual
Testing Quadrant
AGILE TESTING @fadistephan | kaizenko.com
HOW MANY OF EACH
TYPE?
AGILE TESTING @fadistephan | kaizenko.com
AGILE TESTING @fadistephan | kaizenko.com
Business Layer
Web Layer
Browser
Data Layer
CodeCode
Code Code Code Code
Code CodeCodeCode
Code Code Code Code
Database
Unit
Integration
System
Acceptance
Test Coverage
Test Execution Time
Test Feedback
Test Maintenance
AGILE TESTING @fadistephan | kaizenko.com
Testing Pyramid
AGILE TESTING @fadistephan | kaizenko.com
Unit Tests
Integration/System
Tests
Functional
& AT Tests
UI
Tests
Manual
WHEN DO WE START
TESTING?
AGILE TESTING @fadistephan | kaizenko.com
Task Board
AGILE TESTING @fadistephan | kaizenko.com
To Do In Progress Testing Done
User
Story
User
Story
User
Story
Task Task Task
Task Task
Task Task
Task Task
TESTING IS NOT A
PHASE
AGILE TESTING @fadistephan | kaizenko.com
Task Board
AGILE TESTING @fadistephan | kaizenko.com
To Do In Progress Done
User
Story
User
Story
User
Story
Task Task Task
Task Task
Task Task
Task Task
WHO IS DOING THE
TESTING?
AGILE TESTING @fadistephan | kaizenko.com
TESTING IS
EVERYONE’S
RESPONSIBILITY
AGILE TESTING @fadistephan | kaizenko.com
Functional Tests
Acceptance Tests
Unit Tests
Integration Tests
Component Tests
System Tests
Exploratory Tests
Usability Tests
Performance Tests
Load Tests
Stress Tests
Security Tests
SupportProgramming
CritiqueProduct
Business Facing
Technology Facingfrom Brian Marick
Testing Quadrant
AGILE TESTING @fadistephan | kaizenko.com
AGILE TESTING @fadistephan | kaizenko.com
Think
Test
Code
Refactor
Test Driven Development (TDD)
HIGH CODE
COVERAGE IS NOT
THE GOAL WITH TDD
AGILE TESTING @fadistephan | kaizenko.com
Testing Pyramid
AGILE TESTING @fadistephan | kaizenko.com
Unit Tests
Integration/System
Tests
Functional
Tests
UI
Tests
Manual
Functional Tests
Acceptance Tests
Unit Tests
Integration Tests
Component Tests
System Tests
Exploratory Tests
Usability Tests
Performance Tests
Load Tests
Stress Tests
Security Tests
SupportProgramming
CritiqueProduct
Business Facing
Technology Facingfrom Brian Marick
Testing Quadrant
AGILE TESTING @fadistephan | kaizenko.com
DO NOT DO
FUNCTIONAL TESTING
VIA THE UI
AGILE TESTING @fadistephan | kaizenko.com
AGILE TESTING @fadistephan | kaizenko.com
As a customer I want to see a running total of
all items in a shopping cart So that I can stay
within my budget.
Running Total
AGILE TESTING @fadistephan | kaizenko.com
Business Layer
Web Layer
Browser
Data Layer
Code
Code
Code
Code
Database
Code
Code
Code
Code
Functional Tests
Acceptance Tests
Unit Tests
Integration Tests
Component Tests
System Tests
Exploratory Tests
Usability Tests
Performance Tests
Load Tests
Stress Tests
Security Tests
SupportProgramming
CritiqueProduct
Business Facing
Technology Facingfrom Brian Marick
Testing Quadrant
AGILE TESTING @fadistephan | kaizenko.com
EXECUTABLE
SPECIFICATION
AGILE TESTING @fadistephan | kaizenko.com
AGILE TESTING @fadistephan | kaizenko.com
As a customer I want to collect books in a shopping
cart So that I can order several books at once.
• Books can be added to the shopping basket
• Books can be removed from the shopping basket
• Shopping basket is initially empty
• The same book can be added multiple times to
the shopping basket
User Story
AGILE TESTING @fadistephan | kaizenko.com
• Requirements and tests are just two sides of
the same coin
– You can’t have a user story (requirement) without
acceptance criteria (test)
• Agile testing focuses on melding requirements
and tests into executable specifications
Executable Specifications
AGILE TESTING @fadistephan | kaizenko.com
As a customer I want to collect books in a shopping
cart So that I can order several books at once.
• Books can be added to the shopping basket
– Given my shopping basket is empty
– When I add the book “Harry Potter” to my shopping
basket
– Then my shopping basket should contain 1 copy of
“Harry Potter”
Specification by Example
AGILE TESTING @fadistephan | kaizenko.com
As a potential customer I want to collect books in a
shopping cart So that I can order several books at once.
• The same book can be added multiple times to the
shopping basket
– Given my shopping basket contains 1 copy of “Harry
Potter”
– When I add the book “Harry Potter” to my shopping
basket
– Then my shopping basket should contain 2 copies of
“Harry Potter”
Specification by Example
AGILE TESTING @fadistephan | kaizenko.com
Green Documents
• Use Specification by Example to create “green documents”
– Less Likely to rot
– Not write once documents
– Help people think and collaborate
– Communicate what the product really does
– Become automated acceptance tests
– Become part of regression test suite
AGILE TESTING @fadistephan | kaizenko.com
PASS
REFACTOR CODE
FAIL
FAIL
PASS
Automated Acceptance Test Automated Unit Test
User Story
Acceptance Criteria
Back
Acceptance Test Driven
Development (ATDD)
Functional Tests
Acceptance Tests
Unit Tests
Integration Tests
Component Tests
System Tests
Exploratory Tests
Usability Tests
Performance Tests
Load Tests
Stress Tests
Security Tests
SupportProgramming
CritiqueProduct
Business Facing
Technology Facingfrom Brian Marick
Testing Quadrant
AGILE TESTING @fadistephan | kaizenko.com
WHAT ABOUT
GREEN FIELD
vs.
LEGACY
AGILE TESTING @fadistephan | kaizenko.com
AGILE TESTING @fadistephan | kaizenko.com
Business Layer
Web Layer
Browser
Data Layer
Code
Code
Code
Code
Database
Code
Code
Code
Code Code
Functional Tests
Acceptance Tests
Unit Tests
Integration Tests
Component Tests
System Tests
Exploratory Tests
Usability Tests
Performance Tests
Load Tests
Stress Tests
Security Tests
SupportProgramming
CritiqueProduct
Business Facing
Technology Facingfrom Brian Marick
Testing Quadrant
AGILE TESTING @fadistephan | kaizenko.com
USABILITY TESTING
AGILE TESTING @fadistephan | kaizenko.com
AGILE TESTING @fadistephan | kaizenko.com
AGILE TESTING @fadistephan | kaizenko.com
AGILE TESTING @fadistephan | kaizenko.com
AGILE TESTING @fadistephan | kaizenko.com
Credit: John Bellomy
AGILE TESTING @fadistephan | kaizenko.com
Credit: John Bellomy
EXPLORATORY
TESTING
AGILE TESTING @fadistephan | kaizenko.com
EXPLORATORY
TESTING IS NOT
AD-HOC TESTING
AGILE TESTING @fadistephan | kaizenko.com
EXPLORATORY
TESTING IS NOT
EXHUASTIVE
TESTING
AGILE TESTING @fadistephan | kaizenko.com
AGILE TESTING @fadistephan | kaizenko.com
Exploratory Testing
• A sophisticated, thoughtful approach to
testing without a script
• Enables going beyond the obvious variations
that have already been tested
• Combines learning, test design and test
execution into one test approach
• Applies heuristics and techniques in a
disciplined way
AGILE TESTING @fadistephan | kaizenko.com
Session Based Testing
• Time-boxed and structured
• Mission/charter based
• Look for patterns that do not look right
• Divert from the mission if necessary
• Report on your results
Functional Tests
Acceptance Tests
Unit Tests
Integration Tests
Component Tests
System Tests
Exploratory Tests
Usability Tests
Performance Tests
Load Tests
Stress Tests
Security Tests
SupportProgramming
CritiqueProduct
Business Facing
Technology Facingfrom Brian Marick
Testing Quadrant
AGILE TESTING @fadistephan | kaizenko.com
SUMMARY
1. Testing in not a phase
2. Testing is everyone’s responsibility
3. Testing starts on day 1
4. Do automate all scripted tests
5. Developers are the one’s doing most of the
automation
6. Do use executable documentation
7. Do not automate functional testing via the UI
8. Save most manual testing for usability and
exploratory testing
AGILE TESTING @fadistephan | kaizenko.com
REFERENCES
AGILE TESTING @fadistephan | kaizenko.com
Technology Consultant and Certified Scrum Trainer
20 Years of Experience in Software Development
Co-organizer of the DC Scrum User Group (DCSUG)
Skier and Diver
www.kaizenko.com @KaizenkoLLC
@FadiStephan
FADI STEPHAN
AGILE TESTING @fadistephan | kaizenko.com

More Related Content

What's hot

Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing ProcessIntetics
 
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 8a34sharm
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with AgileKen McCorkell
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentationCarl Bruiners
 
Smoke Testing
Smoke TestingSmoke Testing
Smoke TestingKanoah
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterDeclan Whelan
 
How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy Impetus Technologies
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projectssriks7
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing MethodologyGaya1985
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsKMS Technology
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Lars Thorup
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing IntroductionHai Tran Son
 
Test Automation
Test AutomationTest Automation
Test Automationrockoder
 
Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testingsriks7
 

What's hot (20)

Agile Testing Process
Agile Testing ProcessAgile Testing Process
Agile Testing Process
 
Test Automation in Agile
Test Automation in AgileTest Automation in Agile
Test Automation in Agile
 
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
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
Agile testing
Agile testingAgile testing
Agile testing
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
Agile QA presentation
Agile QA presentationAgile QA presentation
Agile QA presentation
 
Smoke Testing
Smoke TestingSmoke Testing
Smoke Testing
 
Agile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile TesterAgile Testing: The Role Of The Agile Tester
Agile Testing: The Role Of The Agile Tester
 
How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy How to Design a Successful Test Automation Strategy
How to Design a Successful Test Automation Strategy
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
Software Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing TrendsSoftware Testing Process, Testing Automation and Software Testing Trends
Software Testing Process, Testing Automation and Software Testing Trends
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)Test and Behaviour Driven Development (TDD/BDD)
Test and Behaviour Driven Development (TDD/BDD)
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
Test automation process
Test automation processTest automation process
Test automation process
 
Test Automation
Test AutomationTest Automation
Test Automation
 
Exploratory Testing
Exploratory TestingExploratory Testing
Exploratory Testing
 

Similar to Agile testing - Testing From Day 1

Agile Testing - Testing From Day 1
Agile Testing - Testing From Day 1Agile Testing - Testing From Day 1
Agile Testing - Testing From Day 1Fadi Stephan
 
Agile Testing - Testing from Day 1
Agile Testing - Testing from Day 1Agile Testing - Testing from Day 1
Agile Testing - Testing from Day 1Fadi Stephan
 
Build the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven TestingBuild the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven TestingTechWell
 
CookpadTechConf2018-(Mobile)TestAutomation
CookpadTechConf2018-(Mobile)TestAutomationCookpadTechConf2018-(Mobile)TestAutomation
CookpadTechConf2018-(Mobile)TestAutomationKazuaki Matsuo
 
How to get Automated Testing "Done"
How to get Automated Testing "Done"How to get Automated Testing "Done"
How to get Automated Testing "Done"TEST Huddle
 
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
 
Behavioral driven development the compelling story For Testers
Behavioral driven development    the compelling story For TestersBehavioral driven development    the compelling story For Testers
Behavioral driven development the compelling story For Testersmark sage
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev opsAgile Montréal
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanQA or the Highway
 
Individuals and interactions over processes and tools
Individuals and interactions over processes and toolsIndividuals and interactions over processes and tools
Individuals and interactions over processes and toolsPaul Ellarby
 
Best Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left CommitmentBest Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left CommitmentApplause
 
SoftwareTesting_Interview_Ques.pptx
SoftwareTesting_Interview_Ques.pptxSoftwareTesting_Interview_Ques.pptx
SoftwareTesting_Interview_Ques.pptxmahadev46
 
Agile Testing Dilemmas
Agile Testing DilemmasAgile Testing Dilemmas
Agile Testing DilemmasAman King
 
End-end tests as first class citizens - SeleniumConf 2020
End-end tests as first class citizens - SeleniumConf 2020End-end tests as first class citizens - SeleniumConf 2020
End-end tests as first class citizens - SeleniumConf 2020Abhijeet Vaikar
 
BJDsolutions.com agile process
BJDsolutions.com agile processBJDsolutions.com agile process
BJDsolutions.com agile processbjdsolutions
 
Perils of Page-Object Pattern
Perils of Page-Object PatternPerils of Page-Object Pattern
Perils of Page-Object PatternAnand Bagmar
 

Similar to Agile testing - Testing From Day 1 (20)

Agile Testing - Testing From Day 1
Agile Testing - Testing From Day 1Agile Testing - Testing From Day 1
Agile Testing - Testing From Day 1
 
Agile Testing - Testing from Day 1
Agile Testing - Testing from Day 1Agile Testing - Testing from Day 1
Agile Testing - Testing from Day 1
 
Build the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven TestingBuild the Right Regression Suite with Behavior-Driven Testing
Build the Right Regression Suite with Behavior-Driven Testing
 
Agile testing MyBTEC
Agile testing MyBTECAgile testing MyBTEC
Agile testing MyBTEC
 
CookpadTechConf2018-(Mobile)TestAutomation
CookpadTechConf2018-(Mobile)TestAutomationCookpadTechConf2018-(Mobile)TestAutomation
CookpadTechConf2018-(Mobile)TestAutomation
 
How to get Automated Testing "Done"
How to get Automated Testing "Done"How to get Automated Testing "Done"
How to get Automated Testing "Done"
 
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
 
Behavioral driven development the compelling story For Testers
Behavioral driven development    the compelling story For TestersBehavioral driven development    the compelling story For Testers
Behavioral driven development the compelling story For Testers
 
Agile testing
Agile testingAgile testing
Agile testing
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
Tec314f
Tec314fTec314f
Tec314f
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
Individuals and interactions over processes and tools
Individuals and interactions over processes and toolsIndividuals and interactions over processes and tools
Individuals and interactions over processes and tools
 
Best Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left CommitmentBest Practices for a Repeatable Shift-Left Commitment
Best Practices for a Repeatable Shift-Left Commitment
 
SoftwareTesting_Interview_Ques.pptx
SoftwareTesting_Interview_Ques.pptxSoftwareTesting_Interview_Ques.pptx
SoftwareTesting_Interview_Ques.pptx
 
Agile Testing Dilemmas
Agile Testing DilemmasAgile Testing Dilemmas
Agile Testing Dilemmas
 
End-end tests as first class citizens - SeleniumConf 2020
End-end tests as first class citizens - SeleniumConf 2020End-end tests as first class citizens - SeleniumConf 2020
End-end tests as first class citizens - SeleniumConf 2020
 
BJDsolutions.com agile process
BJDsolutions.com agile processBJDsolutions.com agile process
BJDsolutions.com agile process
 
Perils of Page-Object Pattern
Perils of Page-Object PatternPerils of Page-Object Pattern
Perils of Page-Object Pattern
 
Testing in Agile Development
Testing in Agile DevelopmentTesting in Agile Development
Testing in Agile Development
 

More from Kaizenko

The Self Organizing Team Canvas.pdf
The Self Organizing Team Canvas.pdfThe Self Organizing Team Canvas.pdf
The Self Organizing Team Canvas.pdfKaizenko
 
Definition of Done Canvas.pptx
Definition of Done Canvas.pptxDefinition of Done Canvas.pptx
Definition of Done Canvas.pptxKaizenko
 
The Agile Dashboard
The Agile DashboardThe Agile Dashboard
The Agile DashboardKaizenko
 
Top 11 updates to the 2020 scrum guide
Top 11 updates to the 2020 scrum guideTop 11 updates to the 2020 scrum guide
Top 11 updates to the 2020 scrum guideKaizenko
 
Snowbird 2001 - A Behind the Scenes Look at the Writing of the Agile Manifesto
Snowbird 2001 - A Behind the Scenes Look at the Writing of the Agile ManifestoSnowbird 2001 - A Behind the Scenes Look at the Writing of the Agile Manifesto
Snowbird 2001 - A Behind the Scenes Look at the Writing of the Agile ManifestoKaizenko
 
TDD That Was Easy!
TDD   That Was Easy!TDD   That Was Easy!
TDD That Was Easy!Kaizenko
 
Fostering Self Organizaing Teams
Fostering Self Organizaing TeamsFostering Self Organizaing Teams
Fostering Self Organizaing TeamsKaizenko
 
Lean discovery, Agile Delivery, & a DevOps Mindset
Lean discovery, Agile Delivery, & a DevOps MindsetLean discovery, Agile Delivery, & a DevOps Mindset
Lean discovery, Agile Delivery, & a DevOps MindsetKaizenko
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical DebtKaizenko
 

More from Kaizenko (9)

The Self Organizing Team Canvas.pdf
The Self Organizing Team Canvas.pdfThe Self Organizing Team Canvas.pdf
The Self Organizing Team Canvas.pdf
 
Definition of Done Canvas.pptx
Definition of Done Canvas.pptxDefinition of Done Canvas.pptx
Definition of Done Canvas.pptx
 
The Agile Dashboard
The Agile DashboardThe Agile Dashboard
The Agile Dashboard
 
Top 11 updates to the 2020 scrum guide
Top 11 updates to the 2020 scrum guideTop 11 updates to the 2020 scrum guide
Top 11 updates to the 2020 scrum guide
 
Snowbird 2001 - A Behind the Scenes Look at the Writing of the Agile Manifesto
Snowbird 2001 - A Behind the Scenes Look at the Writing of the Agile ManifestoSnowbird 2001 - A Behind the Scenes Look at the Writing of the Agile Manifesto
Snowbird 2001 - A Behind the Scenes Look at the Writing of the Agile Manifesto
 
TDD That Was Easy!
TDD   That Was Easy!TDD   That Was Easy!
TDD That Was Easy!
 
Fostering Self Organizaing Teams
Fostering Self Organizaing TeamsFostering Self Organizaing Teams
Fostering Self Organizaing Teams
 
Lean discovery, Agile Delivery, & a DevOps Mindset
Lean discovery, Agile Delivery, & a DevOps MindsetLean discovery, Agile Delivery, & a DevOps Mindset
Lean discovery, Agile Delivery, & a DevOps Mindset
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 

Recently uploaded

Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 

Agile testing - Testing From Day 1

  • 1. AGILE TESTING Testing From Day One By Fadi Stephan
  • 2. While we wait for the session to start, meet your neighbors and discuss … AGILE TESTING @fadistephan | kaizenko.com • Do you currently work on an Agile team? • Does your team include testers? • What testing challenges are you facing?
  • 3. Technology Consultant and Certified Scrum Trainer 20 Years of Experience in Software Development Co-organizer of the DC Scrum User Group (DCSUG) Skier and Diver www.kaizenko.com @KaizenkoLLC @FadiStephan FADI STEPHAN AGILE TESTING @fadistephan | kaizenko.com
  • 4. AGILE TESTING @fadistephan | kaizenko.com Requirement Design Code Test 2 Weeks 2 Weeks 2 Weeks 2 Weeks
  • 5. AGILE TESTING @fadistephan | kaizenko.com 4 Weeks Requirement Design Coooooooooooooooooooooooooode Test
  • 6. AGILE TESTING @fadistephan | kaizenko.com Code 1 Code 2 Test 1 Test 2 2 Weeks 2 Weeks 2 Weeks 2 Weeks Code 3 Code 4 Test 3
  • 7. AGILE TESTING @fadistephan | kaizenko.com 2 Weeks Designed Coded And Tested Story 1 Story 1 Story 3 Story 4 Story 6 Story 2 Story 1 Story 2 Story 3 Story 5 Story Story 4 Story 1 Story 2 Story 3 Story 5 Story 4 Story 1 Story 2 Story 3 Story 5 Story 6 Story 7 Day 1 Day 3 Day 6 Day 7 Day 10
  • 8. AGILE TESTING @fadistephan | kaizenko.com
  • 11. “Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.” - First and third of the Twelve Principles behind the Agile Manifesto A LEANER PMO IN THE FEDERAL GOVERNMENTAGILE TESTING @fadistephan | kaizenko.com
  • 14. WHAT KIND OF TESTING? AGILE TESTING @fadistephan | kaizenko.com
  • 15. Brainstorm with your neighbors … AGILE TESTING @fadistephan | kaizenko.com What are all the types of testing that you currently do or should be doing?
  • 16. Functional Tests Acceptance Tests Unit Tests Integration Test Component Tests System Tests Exploratory Tests Usability Tests Performance Tests Load Tests Stress Tests Security Tests Types of Testing AGILE TESTING @fadistephan | kaizenko.com
  • 17. Functional Tests Acceptance Tests Unit Tests Integration Tests Component Tests System Tests Exploratory Tests Usability Tests Performance Tests Load Tests Stress Tests Security Tests SupportProgramming CritiqueProduct Business Facing Technology Facingfrom Brian Marick Testing Quadrant AGILE TESTING @fadistephan | kaizenko.com
  • 18. WHICH TESTS DO WE AUTOMATE? AGILE TESTING @fadistephan | kaizenko.com
  • 19. Functional Tests Acceptance Tests Unit Tests Integration Tests Component Tests System Tests Exploratory Tests Usability Tests Performance Tests Load Tests Stress Tests Security Tests SupportProgramming CritiqueProduct Business Facing Technology Facingfrom Brian Marick Automated Automated Automated Manual Testing Quadrant AGILE TESTING @fadistephan | kaizenko.com
  • 20. HOW MANY OF EACH TYPE? AGILE TESTING @fadistephan | kaizenko.com
  • 21. AGILE TESTING @fadistephan | kaizenko.com Business Layer Web Layer Browser Data Layer CodeCode Code Code Code Code Code CodeCodeCode Code Code Code Code Database Unit Integration System Acceptance
  • 22. Test Coverage Test Execution Time Test Feedback Test Maintenance AGILE TESTING @fadistephan | kaizenko.com
  • 23. Testing Pyramid AGILE TESTING @fadistephan | kaizenko.com Unit Tests Integration/System Tests Functional & AT Tests UI Tests Manual
  • 24. WHEN DO WE START TESTING? AGILE TESTING @fadistephan | kaizenko.com
  • 25. Task Board AGILE TESTING @fadistephan | kaizenko.com To Do In Progress Testing Done User Story User Story User Story Task Task Task Task Task Task Task Task Task
  • 26. TESTING IS NOT A PHASE AGILE TESTING @fadistephan | kaizenko.com
  • 27. Task Board AGILE TESTING @fadistephan | kaizenko.com To Do In Progress Done User Story User Story User Story Task Task Task Task Task Task Task Task Task
  • 28. WHO IS DOING THE TESTING? AGILE TESTING @fadistephan | kaizenko.com
  • 30. Functional Tests Acceptance Tests Unit Tests Integration Tests Component Tests System Tests Exploratory Tests Usability Tests Performance Tests Load Tests Stress Tests Security Tests SupportProgramming CritiqueProduct Business Facing Technology Facingfrom Brian Marick Testing Quadrant AGILE TESTING @fadistephan | kaizenko.com
  • 31. AGILE TESTING @fadistephan | kaizenko.com Think Test Code Refactor Test Driven Development (TDD)
  • 32. HIGH CODE COVERAGE IS NOT THE GOAL WITH TDD AGILE TESTING @fadistephan | kaizenko.com
  • 33. Testing Pyramid AGILE TESTING @fadistephan | kaizenko.com Unit Tests Integration/System Tests Functional Tests UI Tests Manual
  • 34. Functional Tests Acceptance Tests Unit Tests Integration Tests Component Tests System Tests Exploratory Tests Usability Tests Performance Tests Load Tests Stress Tests Security Tests SupportProgramming CritiqueProduct Business Facing Technology Facingfrom Brian Marick Testing Quadrant AGILE TESTING @fadistephan | kaizenko.com
  • 35. DO NOT DO FUNCTIONAL TESTING VIA THE UI AGILE TESTING @fadistephan | kaizenko.com
  • 36. AGILE TESTING @fadistephan | kaizenko.com As a customer I want to see a running total of all items in a shopping cart So that I can stay within my budget. Running Total
  • 37. AGILE TESTING @fadistephan | kaizenko.com Business Layer Web Layer Browser Data Layer Code Code Code Code Database Code Code Code Code
  • 38. Functional Tests Acceptance Tests Unit Tests Integration Tests Component Tests System Tests Exploratory Tests Usability Tests Performance Tests Load Tests Stress Tests Security Tests SupportProgramming CritiqueProduct Business Facing Technology Facingfrom Brian Marick Testing Quadrant AGILE TESTING @fadistephan | kaizenko.com
  • 40. AGILE TESTING @fadistephan | kaizenko.com As a customer I want to collect books in a shopping cart So that I can order several books at once. • Books can be added to the shopping basket • Books can be removed from the shopping basket • Shopping basket is initially empty • The same book can be added multiple times to the shopping basket User Story
  • 41. AGILE TESTING @fadistephan | kaizenko.com • Requirements and tests are just two sides of the same coin – You can’t have a user story (requirement) without acceptance criteria (test) • Agile testing focuses on melding requirements and tests into executable specifications Executable Specifications
  • 42. AGILE TESTING @fadistephan | kaizenko.com As a customer I want to collect books in a shopping cart So that I can order several books at once. • Books can be added to the shopping basket – Given my shopping basket is empty – When I add the book “Harry Potter” to my shopping basket – Then my shopping basket should contain 1 copy of “Harry Potter” Specification by Example
  • 43. AGILE TESTING @fadistephan | kaizenko.com As a potential customer I want to collect books in a shopping cart So that I can order several books at once. • The same book can be added multiple times to the shopping basket – Given my shopping basket contains 1 copy of “Harry Potter” – When I add the book “Harry Potter” to my shopping basket – Then my shopping basket should contain 2 copies of “Harry Potter” Specification by Example
  • 44. AGILE TESTING @fadistephan | kaizenko.com Green Documents • Use Specification by Example to create “green documents” – Less Likely to rot – Not write once documents – Help people think and collaborate – Communicate what the product really does – Become automated acceptance tests – Become part of regression test suite
  • 45. AGILE TESTING @fadistephan | kaizenko.com PASS REFACTOR CODE FAIL FAIL PASS Automated Acceptance Test Automated Unit Test User Story Acceptance Criteria Back Acceptance Test Driven Development (ATDD)
  • 46. Functional Tests Acceptance Tests Unit Tests Integration Tests Component Tests System Tests Exploratory Tests Usability Tests Performance Tests Load Tests Stress Tests Security Tests SupportProgramming CritiqueProduct Business Facing Technology Facingfrom Brian Marick Testing Quadrant AGILE TESTING @fadistephan | kaizenko.com
  • 47. WHAT ABOUT GREEN FIELD vs. LEGACY AGILE TESTING @fadistephan | kaizenko.com
  • 48. AGILE TESTING @fadistephan | kaizenko.com Business Layer Web Layer Browser Data Layer Code Code Code Code Database Code Code Code Code Code
  • 49. Functional Tests Acceptance Tests Unit Tests Integration Tests Component Tests System Tests Exploratory Tests Usability Tests Performance Tests Load Tests Stress Tests Security Tests SupportProgramming CritiqueProduct Business Facing Technology Facingfrom Brian Marick Testing Quadrant AGILE TESTING @fadistephan | kaizenko.com
  • 50. USABILITY TESTING AGILE TESTING @fadistephan | kaizenko.com
  • 51. AGILE TESTING @fadistephan | kaizenko.com
  • 52. AGILE TESTING @fadistephan | kaizenko.com
  • 53. AGILE TESTING @fadistephan | kaizenko.com
  • 54. AGILE TESTING @fadistephan | kaizenko.com Credit: John Bellomy
  • 55. AGILE TESTING @fadistephan | kaizenko.com Credit: John Bellomy
  • 57. EXPLORATORY TESTING IS NOT AD-HOC TESTING AGILE TESTING @fadistephan | kaizenko.com
  • 58. EXPLORATORY TESTING IS NOT EXHUASTIVE TESTING AGILE TESTING @fadistephan | kaizenko.com
  • 59. AGILE TESTING @fadistephan | kaizenko.com Exploratory Testing • A sophisticated, thoughtful approach to testing without a script • Enables going beyond the obvious variations that have already been tested • Combines learning, test design and test execution into one test approach • Applies heuristics and techniques in a disciplined way
  • 60. AGILE TESTING @fadistephan | kaizenko.com Session Based Testing • Time-boxed and structured • Mission/charter based • Look for patterns that do not look right • Divert from the mission if necessary • Report on your results
  • 61. Functional Tests Acceptance Tests Unit Tests Integration Tests Component Tests System Tests Exploratory Tests Usability Tests Performance Tests Load Tests Stress Tests Security Tests SupportProgramming CritiqueProduct Business Facing Technology Facingfrom Brian Marick Testing Quadrant AGILE TESTING @fadistephan | kaizenko.com
  • 62. SUMMARY 1. Testing in not a phase 2. Testing is everyone’s responsibility 3. Testing starts on day 1 4. Do automate all scripted tests 5. Developers are the one’s doing most of the automation 6. Do use executable documentation 7. Do not automate functional testing via the UI 8. Save most manual testing for usability and exploratory testing AGILE TESTING @fadistephan | kaizenko.com
  • 64. Technology Consultant and Certified Scrum Trainer 20 Years of Experience in Software Development Co-organizer of the DC Scrum User Group (DCSUG) Skier and Diver www.kaizenko.com @KaizenkoLLC @FadiStephan FADI STEPHAN AGILE TESTING @fadistephan | kaizenko.com

Editor's Notes

  1. TESTING IS NOT A PHASE TESTING IS EVERYONE’S RESPONSIBILITY TESTING STARTS ON DAY 1 DO AUTOMATE ALL SCRIPTED/FUNCTIONAL TESTS DO NOT RUN AUTOMATED FUNCTIONAL TESTS VIA THE UI DO MOST MANUAL TESTING IS FOR USABILITY and EXPLORATORY TESTING TEST THAT THE CODE WORKS AS INTENEDED TEST THAT THE PRODUCT WORKS AS EXPECTED