SlideShare ist ein Scribd-Unternehmen logo
1 von 64
25 June 2015
Agile Mëtteg : Agile Testing
Objectives
This session will focus on a Agile Testing and provide
you with practical examples and techniques to help your
team understand what is behind this approach.
Agenda
Let’s get acquainted
What is agile testing?
Unit testing
Test Driven Development
Acceptance testing
Behavior Driven Development
Q&A
28 Feb. 2013 3
OBJECTIVES & AGENDA
Introduction to agile methods
LET’S GET ACQUAINTED
28 Feb. 2013 4Introduction to agile methods
28 Feb. 2013 Introduction to agile methods 5
Eric FERROT
Senior Software Developer
ME
6.
AGILE PARTNER
28 Feb. 2013 Introduction to agile methods 6
Software Development
Knowledge Transfer Innovation Support
Consulting
YOU
What about you?
What do you know about agility?
What are your expectations?
28 Feb. 2013 Introduction to agile methods 7
WHAT IS AGILE TESTING?
28 Feb. 2013 8Introduction to agile methods
WHAT IS TESTING?
28 Feb. 2013 9Introduction to agile methods
WHAT IS SOFTWARE TESTING?
Definition:
Software testing is an investigation conducted to
provide stakeholders with information about the
quality of the product or service under test.
(Wikipedia)
WHAT IS SOFTWARE TESTING?
Definition:
Software testing is a way to measure the quality of the
product using tests.
(me)
MEASURING QUALITY
Measuring quality using tests:
tests to find defects
functional / non-functional testing
Manual / automated tests
a LOT of kinds of tests
15 July 2010 12
SO WHAT IS AGILE TESTING ?
… AND WHY?
… AND HOW?
Traditional / Waterfall approach
Testing is done after the development
Requirements Analysis Design Development Test Release
WHAT IS AGILE TESTING?
15 July 2010 Agile Mëtteg - Agile testing 14
Agile approach
Testing is part of the development process
WHAT IS AGILE TESTING?
15 July 2010 Agile Mëtteg - Agile testing 15
Iteration 1 Iteration 2 Iteration n
No specific order
Traditional / Waterfall approach
Testing is done after the development
Clear separation of roles
WHAT IS AGILE TESTING?
15 July 2010 Agile Mëtteg - Agile testing 16
Programmer
Domain
Expert
Tester
Agile approach
Testing is part of the development process
A whole team
WHAT IS AGILE TESTING?
15 July 2010 Agile Mëtteg - Agile testing 17
Programmer
Domain
Expert
Tester
Programmer
Tester
Agile testing places an increased portion of the
testing in the hands of the developers
Wait… WHAT?!?!
I’m a programmer not a tester
It’s trivial I don’t need a test
I don’t have time for testing
My code is very difficult to test
WHAT IS AGILE TESTING?
WHY AGILE TESTING?
WHY should developers write tests?
Fear / Confidence
Do you dare to change the code?
 Tests = safety net
It places developers as users
 Better usability
It makes the code testable
 Better design
15 July 2010 Agile Mëtteg - Agile testing 19
WHY AGILE TESTING?
A better design
“How good the design is doesn't matter near as much as
whether the design is getting better or worse.
If it is getting better, day by day, I can live with it forever.
If it is getting worse, I will die.”
(Kent Beck )
AGILE TESTING… HOW?
Agile testing… HOW?
Unit testing
Test Driven Development
Acceptance testing
Behaviour Driven Development
BUT FIRST…
15 July 2010 22
A PAGE OF ADVERTISMENT!
15 July 2010 23
http://www.dinoeggsrebirth.com/
COMING THIS SUMMER
UNIT TESTING
UNIT TESTING
Definitions
Unit :
Smallest testable part of an application
Unit test :
A method to test a unit
UNIT TESTING
The „3A“ pattern
Arrange
Act
Assert
UNIT TESTING
F.I.R.S.T.
Fast
Independent
Repeatable
Self-Validating
Timely
[Clean Code – Robert C. Martin]
UNIT TESTING
DEMO
COLLISION DETECTION
COLLISION DETECTION
COLLISION DETECTION
COLLISION DETECTION
COLLISION DETECTION
COLLISION DETECTION
COLLISION DETECTION
TEST DRIVEN
DEVELOPMENT (TDD)
TEST DRIVEN DEVELOPMENT (TDD)
What is TDD?
Difference to unit testing
 Write the unit test
Unit TestCode
FIRST!
TEST DRIVEN DEVELOPMENT (TDD)
Red – Green – Refactor
Make it fail
write the test first
Make it work
write the simplest implementation
Make it better
refactor without changing the behavior
15 July 2010 Agile Mëtteg - Agile testing 44
Test
CodeRefactor
TEST DRIVEN DEVELOPMENT (TDD)
TDD is not only about testing
Also called Test Driven Design
TDD is a methodology that helps creating a
good design when developing code.
TEST DRIVEN DEVELOPMENT (TDD)
TDD is not only about testing
Also called Test Driven Design
TDD consequences
YAGNI
DRY
Law of Demeter
Single responsibility principle
Interface segregation principle
Inversion of control
GOODDESIGN!
TEST DRIVEN DEVELOPMENT (TDD)
DEMO
TEST DRIVEN DEVELOPMENT (TDD)
TEST DRIVEN DEVELOPMENT (TDD)
TEST DRIVEN DEVELOPMENT (TDD)
TEST DRIVEN DEVELOPMENT (TDD)
ACCEPTANCE TESTING
ACCEPTANCE TESTING
Unit testing tells us that the code is meeting
the programmer‘s expectations
Unit testing is essential but not sufficient
Acceptance tests are specifications for the
desired behaviour and functionality of a system.
Customer oriented
About the what and not the how
Usually black box system tests
Integration tests character
15 July 2010 Agile Mëtteg - Agile testing 53
ACCEPTANCE TESTING
Implementing acceptance tests
 means automation
Examples of automation tools:
Framework for Integrated Test (Fit) is an open-
source tool for automated acceptance test
Fitnesse is a webserver, a wiki and an
automated testing tool based on Fit
15 July 2010 Agile Mëtteg - Agile testing 54
ACCEPTANCE TESTING
DEMO
BEHAVIOUR DRIVEN
DEVELOPMENT (BDD)
15 July 2010 Agile Mëtteg - Agile testing 56
BEHAVIOUR DRIVEN DEVELOPMENT
Behaviour Driven Development (BDD)
Evolution of TDD introduced by Dan North
Using terminology focused on the behavioural
aspects of the system rather than testing
 Unit ≠ behaviour
 Focus on why the code should be created
 Business value > Code
 Specification > Test
15 July 2010 Agile Mëtteg - Agile testing 57
BEHAVIOUR DRIVEN DEVELOPMENT
Outside-in methodology
 from the known to the unknown
Helps the developer to think YAGNI
 Leads to better design
 BDD = Behaviour Driven Design
Don‘t forget about the roots (TDD)
 Red – Green – Refactor
15 July 2010 Agile Mëtteg - Agile testing 58
BEHAVIOUR DRIVEN DEVELOPMENT
Ubiquitous language
based on the business domain
Common vocabulary between participants
Minimizes translation
Avoids miscommunication
Makes it easier to validate early
15 July 2010 Agile Mëtteg - Agile testing 59
Domain
Expert
Programmer
Tester
BEHAVIOUR DRIVEN DEVELOPMENT
Story framework
Each feature is captured in a „story“, which defines
the scope of the feature along with its acceptance
criteria
Feature
Feature: Title
As a [role]
I want [feature]
So that [benefit] Feature: End of Agile Mëtteg session
As a speaker
I want to end the session in a beautiful way
So that the audience is very impressed
BEHAVIOUR DRIVEN DEVELOPMENT
Scenario / Acceptance criteria
Scenario: Title
Given some initial context,
And some additional context,
When an event occurs,
Then ensure some outcomes
Scenario 1: Tim saves some dino eggs
Given Tim is on screen
And Tim is holding 3 eggs,
When Tim warps out,
Then the eggs disappear
And player‘s score is increased by 6 points
Scenario 2: Tim collects a red lock
Given Tim is on screen
And a red lock is on screen,
When Tim touches the red lock,
Then the red lock disappears
And a nice message is shown
And a wonderful music is played
BEHAVIOUR DRIVEN DEVELOPMENT
Several existing tools for automation
JBehave, NBehave, JSpec, NSpec, CppSpec,
PHPSpec, SpecFlow, RSpec, Cucumber, …
 Executable specification
 Quick feedback and regression testing
 Requirements are tests
 Tests are documentation
15 July 2010 Agile Mëtteg - Agile testing 62
BEHAVIOUR DRIVEN DEVELOPMENT
DEMO
15 July 2010 Agile Mëtteg - Agile testing 63
SUMMARY
15 July 2010 Agile Mëtteg - Agile testing 64
SUMMARY
Some things to remember about Agile Testing:
Testing is part of the development process
Whole-team approach: roles are not strictly
separated like in a traditional approach
Building a testable architecture leads to a
better design
Unit tests and acceptance tests are
complementary
Use agile practices: TDD, BDD, Continuous
Integration
QUESTIONS & ANSWERS
28 Feb. 2013 Introduction to agile methods 66
YOUR FEEDBACK
28 Feb. 2013 67Introduction to agile methods
R.O.T.I for this SESSION
28 Feb. 2013 Introduction to agile methods 68
Source: www.qualitystreet.fr
THANK
YOU
28 Feb. 2013 72Introduction to agile methods
Retrouvez nous sur :
Agile Partner: www.agilepartner.net & http://blog.agilepartner.net

Weitere ähnliche Inhalte

Was ist angesagt?

HOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYAHOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYADivya Tadi
 
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2Thanh Nguyen
 
Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotDerek Huether
 
Agile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft ViewAgile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft ViewMichael Sahota
 
Agile project kick off from the trenches
Agile project kick off from the trenchesAgile project kick off from the trenches
Agile project kick off from the trenchesGeorge Stamos
 
About Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
About Agile & PMI Agile Certified Practitioner (PMI-ACP) OverviewAbout Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
About Agile & PMI Agile Certified Practitioner (PMI-ACP) OverviewAleem Khan
 
Scaling agile Principles and Practices
Scaling agile Principles and PracticesScaling agile Principles and Practices
Scaling agile Principles and PracticesJosef Scherer
 
Agile Software Development, Overview
Agile Software Development, OverviewAgile Software Development, Overview
Agile Software Development, OverviewBayard Randel
 
The Agile BA (Business Analyst)
The Agile BA (Business Analyst)The Agile BA (Business Analyst)
The Agile BA (Business Analyst)Bill Gaiennie
 
Essential SAFe and Launching your first Agile Release Train
Essential SAFe and Launching your first Agile Release TrainEssential SAFe and Launching your first Agile Release Train
Essential SAFe and Launching your first Agile Release TrainCprime
 
Scaling Agile and Scrum (cPrime/Angela Johnson)
Scaling Agile and Scrum (cPrime/Angela Johnson)Scaling Agile and Scrum (cPrime/Angela Johnson)
Scaling Agile and Scrum (cPrime/Angela Johnson)Cprime
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resourcesAnwar Sadat
 

Was ist angesagt? (20)

HOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYAHOT TOPIC REPORT DIVYA
HOT TOPIC REPORT DIVYA
 
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
PMI-ACP Lesson 12 Knowledge and Skills Nugget 2
 
Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is Not
 
QA in an Agile Environment
QA in an Agile EnvironmentQA in an Agile Environment
QA in an Agile Environment
 
Business Value Driven Portfolio Management
Business Value Driven Portfolio ManagementBusiness Value Driven Portfolio Management
Business Value Driven Portfolio Management
 
Conducting Agile Retrospectives
Conducting Agile Retrospectives Conducting Agile Retrospectives
Conducting Agile Retrospectives
 
Agile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft ViewAgile Executive Briefing - Situational Assessment + 50k Ft View
Agile Executive Briefing - Situational Assessment + 50k Ft View
 
Agile project kick off from the trenches
Agile project kick off from the trenchesAgile project kick off from the trenches
Agile project kick off from the trenches
 
The Challenges of Agile Adoption
The Challenges of Agile AdoptionThe Challenges of Agile Adoption
The Challenges of Agile Adoption
 
About Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
About Agile & PMI Agile Certified Practitioner (PMI-ACP) OverviewAbout Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
About Agile & PMI Agile Certified Practitioner (PMI-ACP) Overview
 
Scaling agile Principles and Practices
Scaling agile Principles and PracticesScaling agile Principles and Practices
Scaling agile Principles and Practices
 
Agile vs Len Methodology
Agile vs Len MethodologyAgile vs Len Methodology
Agile vs Len Methodology
 
Intelliware's Agile Adoption Checklist
Intelliware's Agile Adoption ChecklistIntelliware's Agile Adoption Checklist
Intelliware's Agile Adoption Checklist
 
Agile Testing
Agile Testing  Agile Testing
Agile Testing
 
An Agile Journey
An Agile JourneyAn Agile Journey
An Agile Journey
 
Agile Software Development, Overview
Agile Software Development, OverviewAgile Software Development, Overview
Agile Software Development, Overview
 
The Agile BA (Business Analyst)
The Agile BA (Business Analyst)The Agile BA (Business Analyst)
The Agile BA (Business Analyst)
 
Essential SAFe and Launching your first Agile Release Train
Essential SAFe and Launching your first Agile Release TrainEssential SAFe and Launching your first Agile Release Train
Essential SAFe and Launching your first Agile Release Train
 
Scaling Agile and Scrum (cPrime/Angela Johnson)
Scaling Agile and Scrum (cPrime/Angela Johnson)Scaling Agile and Scrum (cPrime/Angela Johnson)
Scaling Agile and Scrum (cPrime/Angela Johnson)
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
 

Ähnlich wie Agile Mëtteg #5: Agile Testing

Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012TEST Huddle
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversionAshish Kumar
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven DevelopmentMichael Denomy
 
Quality Assurance - The Other Side of the Fence
Quality Assurance - The Other Side of the FenceQuality Assurance - The Other Side of the Fence
Quality Assurance - The Other Side of the FenceTom Oketch
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentLim Chanmann
 
Sprinkle on Just Enough Process
Sprinkle on Just Enough ProcessSprinkle on Just Enough Process
Sprinkle on Just Enough ProcessTechWell
 
Agile Testing Methodology- Principles of Agile Testing Methodolgy
Agile Testing Methodology- Principles of Agile Testing Methodolgy  Agile Testing Methodology- Principles of Agile Testing Methodolgy
Agile Testing Methodology- Principles of Agile Testing Methodolgy Mobcoder
 
Acceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDDAcceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDDLaurent PY
 
Session on Testing Activities in Continuous Integration and Delivery as an Ex...
Session on Testing Activities in Continuous Integration and Delivery as an Ex...Session on Testing Activities in Continuous Integration and Delivery as an Ex...
Session on Testing Activities in Continuous Integration and Delivery as an Ex...Agile Testing Alliance
 
Tech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDDTech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDDDUONG Trong Tan
 
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
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsNitin Bhide
 
Testing activities in continuous integration and continuous delivery as an ex...
Testing activities in continuous integration and continuous delivery as an ex...Testing activities in continuous integration and continuous delivery as an ex...
Testing activities in continuous integration and continuous delivery as an ex...Srinivas Kadiyala
 
Testing activities in CI/CD as exploratory tester
Testing activities in CI/CD as exploratory testerTesting activities in CI/CD as exploratory tester
Testing activities in CI/CD as exploratory testerSrinivas Kadiyala
 
Quality for DevOps teams - Quality engineering in the DevOps culture
Quality for DevOps teams - Quality engineering in the DevOps cultureQuality for DevOps teams - Quality engineering in the DevOps culture
Quality for DevOps teams - Quality engineering in the DevOps cultureRik Marselis
 
Agille Testing Meetup 1
Agille Testing Meetup 1Agille Testing Meetup 1
Agille Testing Meetup 1Nathan Bain
 

Ähnlich wie Agile Mëtteg #5: Agile Testing (20)

Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
Campbell & Readman - TDD It's Not Tester Driven Development - EuroSTAR 2012
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversion
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 
TDD - Agile
TDD - Agile TDD - Agile
TDD - Agile
 
Quality Assurance - The Other Side of the Fence
Quality Assurance - The Other Side of the FenceQuality Assurance - The Other Side of the Fence
Quality Assurance - The Other Side of the Fence
 
Agile Testing - What is it?
Agile Testing - What is it?Agile Testing - What is it?
Agile Testing - What is it?
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Sprinkle on Just Enough Process
Sprinkle on Just Enough ProcessSprinkle on Just Enough Process
Sprinkle on Just Enough Process
 
Tdd
TddTdd
Tdd
 
Agile Testing Methodology- Principles of Agile Testing Methodolgy
Agile Testing Methodology- Principles of Agile Testing Methodolgy  Agile Testing Methodology- Principles of Agile Testing Methodolgy
Agile Testing Methodology- Principles of Agile Testing Methodolgy
 
Acceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDDAcceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDD
 
Session on Testing Activities in Continuous Integration and Delivery as an Ex...
Session on Testing Activities in Continuous Integration and Delivery as an Ex...Session on Testing Activities in Continuous Integration and Delivery as an Ex...
Session on Testing Activities in Continuous Integration and Delivery as an Ex...
 
Tech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDDTech talks #1- Unit testing and TDD
Tech talks #1- Unit testing and TDD
 
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
 
TDD in Agile
TDD in AgileTDD in Agile
TDD in Agile
 
DevOps - Understanding Core Concepts
DevOps - Understanding Core ConceptsDevOps - Understanding Core Concepts
DevOps - Understanding Core Concepts
 
Testing activities in continuous integration and continuous delivery as an ex...
Testing activities in continuous integration and continuous delivery as an ex...Testing activities in continuous integration and continuous delivery as an ex...
Testing activities in continuous integration and continuous delivery as an ex...
 
Testing activities in CI/CD as exploratory tester
Testing activities in CI/CD as exploratory testerTesting activities in CI/CD as exploratory tester
Testing activities in CI/CD as exploratory tester
 
Quality for DevOps teams - Quality engineering in the DevOps culture
Quality for DevOps teams - Quality engineering in the DevOps cultureQuality for DevOps teams - Quality engineering in the DevOps culture
Quality for DevOps teams - Quality engineering in the DevOps culture
 
Agille Testing Meetup 1
Agille Testing Meetup 1Agille Testing Meetup 1
Agille Testing Meetup 1
 

Mehr von Agile Partner S.A.

Domain-Driven Design: From strategic business goals to software implementation
Domain-Driven Design: From strategic business goals to software implementationDomain-Driven Design: From strategic business goals to software implementation
Domain-Driven Design: From strategic business goals to software implementationAgile Partner S.A.
 
Devops: la réunion des co-propriétaires
Devops: la réunion des co-propriétairesDevops: la réunion des co-propriétaires
Devops: la réunion des co-propriétairesAgile Partner S.A.
 
Comment intégrer au plus tôt l’utilisateur dans le développement d’une applic...
Comment intégrer au plus tôt l’utilisateur dans le développement d’une applic...Comment intégrer au plus tôt l’utilisateur dans le développement d’une applic...
Comment intégrer au plus tôt l’utilisateur dans le développement d’une applic...Agile Partner S.A.
 
Agilité : la voix de la collaboration
Agilité : la voix de la collaborationAgilité : la voix de la collaboration
Agilité : la voix de la collaborationAgile Partner S.A.
 
Market validation (by Sylvain Chery)
Market validation (by Sylvain Chery)Market validation (by Sylvain Chery)
Market validation (by Sylvain Chery)Agile Partner S.A.
 
ALM and DevOps in the health industry
ALM and DevOps in the health industryALM and DevOps in the health industry
ALM and DevOps in the health industryAgile Partner S.A.
 
Agile Brown Bag: Gouvernance SharePoint
Agile Brown Bag: Gouvernance SharePointAgile Brown Bag: Gouvernance SharePoint
Agile Brown Bag: Gouvernance SharePointAgile Partner S.A.
 
Agile Mëtteg Septembre 2015: Introduction à DevOps
Agile Mëtteg Septembre 2015: Introduction à DevOpsAgile Mëtteg Septembre 2015: Introduction à DevOps
Agile Mëtteg Septembre 2015: Introduction à DevOpsAgile Partner S.A.
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Partner S.A.
 
Retour d expérience_sur_l_agilité
Retour d expérience_sur_l_agilitéRetour d expérience_sur_l_agilité
Retour d expérience_sur_l_agilitéAgile Partner S.A.
 
Continuous innovation with Lean Startup
Continuous innovation with Lean StartupContinuous innovation with Lean Startup
Continuous innovation with Lean StartupAgile Partner S.A.
 
Maîtriser et controler vos projets Agile
Maîtriser et controler vos projets AgileMaîtriser et controler vos projets Agile
Maîtriser et controler vos projets AgileAgile Partner S.A.
 
Kanban: going Lean/Agile for your IT dev. & support team
Kanban: going Lean/Agile for your IT dev. & support teamKanban: going Lean/Agile for your IT dev. & support team
Kanban: going Lean/Agile for your IT dev. & support teamAgile Partner S.A.
 
Agility, a mature approach, the fruit of more than 30 years research
Agility, a mature approach, the fruit of more than 30 years researchAgility, a mature approach, the fruit of more than 30 years research
Agility, a mature approach, the fruit of more than 30 years researchAgile Partner S.A.
 

Mehr von Agile Partner S.A. (20)

Domain-Driven Design: From strategic business goals to software implementation
Domain-Driven Design: From strategic business goals to software implementationDomain-Driven Design: From strategic business goals to software implementation
Domain-Driven Design: From strategic business goals to software implementation
 
Devops: la réunion des co-propriétaires
Devops: la réunion des co-propriétairesDevops: la réunion des co-propriétaires
Devops: la réunion des co-propriétaires
 
Découverte de l'esprit agile
Découverte de l'esprit agileDécouverte de l'esprit agile
Découverte de l'esprit agile
 
Comment intégrer au plus tôt l’utilisateur dans le développement d’une applic...
Comment intégrer au plus tôt l’utilisateur dans le développement d’une applic...Comment intégrer au plus tôt l’utilisateur dans le développement d’une applic...
Comment intégrer au plus tôt l’utilisateur dans le développement d’une applic...
 
Agilité : la voix de la collaboration
Agilité : la voix de la collaborationAgilité : la voix de la collaboration
Agilité : la voix de la collaboration
 
Market validation (by Sylvain Chery)
Market validation (by Sylvain Chery)Market validation (by Sylvain Chery)
Market validation (by Sylvain Chery)
 
ALM and DevOps in the health industry
ALM and DevOps in the health industryALM and DevOps in the health industry
ALM and DevOps in the health industry
 
Agile Brown Bag: Gouvernance SharePoint
Agile Brown Bag: Gouvernance SharePointAgile Brown Bag: Gouvernance SharePoint
Agile Brown Bag: Gouvernance SharePoint
 
Agile Mëtteg Septembre 2015: Introduction à DevOps
Agile Mëtteg Septembre 2015: Introduction à DevOpsAgile Mëtteg Septembre 2015: Introduction à DevOps
Agile Mëtteg Septembre 2015: Introduction à DevOps
 
Agile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: IntroductionAgile Brown Bag - Vagrant & Docker: Introduction
Agile Brown Bag - Vagrant & Docker: Introduction
 
Introduction to agile methods
Introduction to agile methodsIntroduction to agile methods
Introduction to agile methods
 
Retour d expérience_sur_l_agilité
Retour d expérience_sur_l_agilitéRetour d expérience_sur_l_agilité
Retour d expérience_sur_l_agilité
 
Continuous innovation with Lean Startup
Continuous innovation with Lean StartupContinuous innovation with Lean Startup
Continuous innovation with Lean Startup
 
Agile testing games
Agile testing gamesAgile testing games
Agile testing games
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Lkfr12 - De Scrum à Kanban
Lkfr12 - De Scrum à KanbanLkfr12 - De Scrum à Kanban
Lkfr12 - De Scrum à Kanban
 
Maîtriser et controler vos projets Agile
Maîtriser et controler vos projets AgileMaîtriser et controler vos projets Agile
Maîtriser et controler vos projets Agile
 
Kanban: going Lean/Agile for your IT dev. & support team
Kanban: going Lean/Agile for your IT dev. & support teamKanban: going Lean/Agile for your IT dev. & support team
Kanban: going Lean/Agile for your IT dev. & support team
 
It job day Henam 2011-06-20
It job day Henam 2011-06-20It job day Henam 2011-06-20
It job day Henam 2011-06-20
 
Agility, a mature approach, the fruit of more than 30 years research
Agility, a mature approach, the fruit of more than 30 years researchAgility, a mature approach, the fruit of more than 30 years research
Agility, a mature approach, the fruit of more than 30 years research
 

Kürzlich hochgeladen

Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024eCommerce Institute
 
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfCTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfhenrik385807
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Kayode Fayemi
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxNikitaBankoti2
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyPooja Nehwal
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Salam Al-Karadaghi
 
Motivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfMotivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfakankshagupta7348026
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Hasting Chen
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...NETWAYS
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024eCommerce Institute
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Delhi Call girls
 
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )Pooja Nehwal
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AITatiana Gurgel
 
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfOpen Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfhenrik385807
 
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkataanamikaraghav4
 
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝soniya singh
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptssuser319dad
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxFamilyWorshipCenterD
 
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...henrik385807
 
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrSaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrsaastr
 

Kürzlich hochgeladen (20)

Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
Andrés Ramírez Gossler, Facundo Schinnea - eCommerce Day Chile 2024
 
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdfCTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
CTAC 2024 Valencia - Henrik Hanke - Reduce to the max - slideshare.pdf
 
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
 
Motivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdfMotivation and Theory Maslow and Murray pdf
Motivation and Theory Maslow and Murray pdf
 
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
Re-membering the Bard: Revisiting The Compleat Wrks of Wllm Shkspr (Abridged)...
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
 
George Lever - eCommerce Day Chile 2024
George Lever -  eCommerce Day Chile 2024George Lever -  eCommerce Day Chile 2024
George Lever - eCommerce Day Chile 2024
 
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
Night 7k Call Girls Noida Sector 128 Call Me: 8448380779
 
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
WhatsApp 📞 9892124323 ✅Call Girls In Juhu ( Mumbai )
 
Microsoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AIMicrosoft Copilot AI for Everyone - created by AI
Microsoft Copilot AI for Everyone - created by AI
 
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfOpen Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
 
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls KolkataRussian Call Girls in Kolkata Vaishnavi 🤌  8250192130 🚀 Vip Call Girls Kolkata
Russian Call Girls in Kolkata Vaishnavi 🤌 8250192130 🚀 Vip Call Girls Kolkata
 
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
Call Girls in Sarojini Nagar Market Delhi 💯 Call Us 🔝8264348440🔝
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.ppt
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
 
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
CTAC 2024 Valencia - Sven Zoelle - Most Crucial Invest to Digitalisation_slid...
 
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStrSaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
SaaStr Workshop Wednesday w: Jason Lemkin, SaaStr
 

Agile Mëtteg #5: Agile Testing

  • 1.
  • 2. 25 June 2015 Agile Mëtteg : Agile Testing
  • 3. Objectives This session will focus on a Agile Testing and provide you with practical examples and techniques to help your team understand what is behind this approach. Agenda Let’s get acquainted What is agile testing? Unit testing Test Driven Development Acceptance testing Behavior Driven Development Q&A 28 Feb. 2013 3 OBJECTIVES & AGENDA Introduction to agile methods
  • 4. LET’S GET ACQUAINTED 28 Feb. 2013 4Introduction to agile methods
  • 5. 28 Feb. 2013 Introduction to agile methods 5 Eric FERROT Senior Software Developer ME
  • 6. 6. AGILE PARTNER 28 Feb. 2013 Introduction to agile methods 6 Software Development Knowledge Transfer Innovation Support Consulting
  • 7. YOU What about you? What do you know about agility? What are your expectations? 28 Feb. 2013 Introduction to agile methods 7
  • 8. WHAT IS AGILE TESTING? 28 Feb. 2013 8Introduction to agile methods
  • 9. WHAT IS TESTING? 28 Feb. 2013 9Introduction to agile methods
  • 10. WHAT IS SOFTWARE TESTING? Definition: Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. (Wikipedia)
  • 11. WHAT IS SOFTWARE TESTING? Definition: Software testing is a way to measure the quality of the product using tests. (me)
  • 12. MEASURING QUALITY Measuring quality using tests: tests to find defects functional / non-functional testing Manual / automated tests a LOT of kinds of tests 15 July 2010 12
  • 13. SO WHAT IS AGILE TESTING ? … AND WHY? … AND HOW?
  • 14. Traditional / Waterfall approach Testing is done after the development Requirements Analysis Design Development Test Release WHAT IS AGILE TESTING? 15 July 2010 Agile Mëtteg - Agile testing 14
  • 15. Agile approach Testing is part of the development process WHAT IS AGILE TESTING? 15 July 2010 Agile Mëtteg - Agile testing 15 Iteration 1 Iteration 2 Iteration n No specific order
  • 16. Traditional / Waterfall approach Testing is done after the development Clear separation of roles WHAT IS AGILE TESTING? 15 July 2010 Agile Mëtteg - Agile testing 16 Programmer Domain Expert Tester
  • 17. Agile approach Testing is part of the development process A whole team WHAT IS AGILE TESTING? 15 July 2010 Agile Mëtteg - Agile testing 17 Programmer Domain Expert Tester Programmer Tester
  • 18. Agile testing places an increased portion of the testing in the hands of the developers Wait… WHAT?!?! I’m a programmer not a tester It’s trivial I don’t need a test I don’t have time for testing My code is very difficult to test WHAT IS AGILE TESTING?
  • 19. WHY AGILE TESTING? WHY should developers write tests? Fear / Confidence Do you dare to change the code?  Tests = safety net It places developers as users  Better usability It makes the code testable  Better design 15 July 2010 Agile Mëtteg - Agile testing 19
  • 20. WHY AGILE TESTING? A better design “How good the design is doesn't matter near as much as whether the design is getting better or worse. If it is getting better, day by day, I can live with it forever. If it is getting worse, I will die.” (Kent Beck )
  • 21. AGILE TESTING… HOW? Agile testing… HOW? Unit testing Test Driven Development Acceptance testing Behaviour Driven Development
  • 23. A PAGE OF ADVERTISMENT! 15 July 2010 23
  • 26. UNIT TESTING Definitions Unit : Smallest testable part of an application Unit test : A method to test a unit
  • 27. UNIT TESTING The „3A“ pattern Arrange Act Assert
  • 38. TEST DRIVEN DEVELOPMENT (TDD) What is TDD? Difference to unit testing  Write the unit test Unit TestCode FIRST!
  • 39. TEST DRIVEN DEVELOPMENT (TDD) Red – Green – Refactor Make it fail write the test first Make it work write the simplest implementation Make it better refactor without changing the behavior 15 July 2010 Agile Mëtteg - Agile testing 44 Test CodeRefactor
  • 40. TEST DRIVEN DEVELOPMENT (TDD) TDD is not only about testing Also called Test Driven Design TDD is a methodology that helps creating a good design when developing code.
  • 41. TEST DRIVEN DEVELOPMENT (TDD) TDD is not only about testing Also called Test Driven Design TDD consequences YAGNI DRY Law of Demeter Single responsibility principle Interface segregation principle Inversion of control GOODDESIGN!
  • 48. ACCEPTANCE TESTING Unit testing tells us that the code is meeting the programmer‘s expectations Unit testing is essential but not sufficient Acceptance tests are specifications for the desired behaviour and functionality of a system. Customer oriented About the what and not the how Usually black box system tests Integration tests character 15 July 2010 Agile Mëtteg - Agile testing 53
  • 49. ACCEPTANCE TESTING Implementing acceptance tests  means automation Examples of automation tools: Framework for Integrated Test (Fit) is an open- source tool for automated acceptance test Fitnesse is a webserver, a wiki and an automated testing tool based on Fit 15 July 2010 Agile Mëtteg - Agile testing 54
  • 51. BEHAVIOUR DRIVEN DEVELOPMENT (BDD) 15 July 2010 Agile Mëtteg - Agile testing 56
  • 52. BEHAVIOUR DRIVEN DEVELOPMENT Behaviour Driven Development (BDD) Evolution of TDD introduced by Dan North Using terminology focused on the behavioural aspects of the system rather than testing  Unit ≠ behaviour  Focus on why the code should be created  Business value > Code  Specification > Test 15 July 2010 Agile Mëtteg - Agile testing 57
  • 53. BEHAVIOUR DRIVEN DEVELOPMENT Outside-in methodology  from the known to the unknown Helps the developer to think YAGNI  Leads to better design  BDD = Behaviour Driven Design Don‘t forget about the roots (TDD)  Red – Green – Refactor 15 July 2010 Agile Mëtteg - Agile testing 58
  • 54. BEHAVIOUR DRIVEN DEVELOPMENT Ubiquitous language based on the business domain Common vocabulary between participants Minimizes translation Avoids miscommunication Makes it easier to validate early 15 July 2010 Agile Mëtteg - Agile testing 59 Domain Expert Programmer Tester
  • 55. BEHAVIOUR DRIVEN DEVELOPMENT Story framework Each feature is captured in a „story“, which defines the scope of the feature along with its acceptance criteria Feature Feature: Title As a [role] I want [feature] So that [benefit] Feature: End of Agile Mëtteg session As a speaker I want to end the session in a beautiful way So that the audience is very impressed
  • 56. BEHAVIOUR DRIVEN DEVELOPMENT Scenario / Acceptance criteria Scenario: Title Given some initial context, And some additional context, When an event occurs, Then ensure some outcomes Scenario 1: Tim saves some dino eggs Given Tim is on screen And Tim is holding 3 eggs, When Tim warps out, Then the eggs disappear And player‘s score is increased by 6 points Scenario 2: Tim collects a red lock Given Tim is on screen And a red lock is on screen, When Tim touches the red lock, Then the red lock disappears And a nice message is shown And a wonderful music is played
  • 57. BEHAVIOUR DRIVEN DEVELOPMENT Several existing tools for automation JBehave, NBehave, JSpec, NSpec, CppSpec, PHPSpec, SpecFlow, RSpec, Cucumber, …  Executable specification  Quick feedback and regression testing  Requirements are tests  Tests are documentation 15 July 2010 Agile Mëtteg - Agile testing 62
  • 58. BEHAVIOUR DRIVEN DEVELOPMENT DEMO 15 July 2010 Agile Mëtteg - Agile testing 63
  • 59. SUMMARY 15 July 2010 Agile Mëtteg - Agile testing 64
  • 60. SUMMARY Some things to remember about Agile Testing: Testing is part of the development process Whole-team approach: roles are not strictly separated like in a traditional approach Building a testable architecture leads to a better design Unit tests and acceptance tests are complementary Use agile practices: TDD, BDD, Continuous Integration
  • 61. QUESTIONS & ANSWERS 28 Feb. 2013 Introduction to agile methods 66
  • 62. YOUR FEEDBACK 28 Feb. 2013 67Introduction to agile methods
  • 63. R.O.T.I for this SESSION 28 Feb. 2013 Introduction to agile methods 68 Source: www.qualitystreet.fr
  • 64. THANK YOU 28 Feb. 2013 72Introduction to agile methods Retrouvez nous sur : Agile Partner: www.agilepartner.net & http://blog.agilepartner.net

Hinweis der Redaktion

  1. ERF
  2. ERF
  3. ERF
  4. ERF
  5. ERF
  6. ERF
  7. ERF
  8. ERF
  9. ERF(+SZ)
  10. ERF
  11. ERF
  12. ERF
  13. ERF
  14. ERF
  15. ERF
  16. SZ
  17. SZ The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. Unit tests find problems early in the development cycle. A unit test provides a strict, written contract that the piece of code must satisfy. As a result, it affords several benefits.
  18. SZ
  19. SZ More confidence in the code Avoid regression: If tests are run frequently the developer can see when new code breaks old code. The tests themselves are documentation Encourages better software design: simpler, smaller methods; less coupling instead of strongly coupled code [Compare introduction, maybe too similar?]
  20. SZ Principles for unit tests It’s much easier to see: What is being set up and initialized in the arrange section What method is being executed in the act section What determines the outcome of the test in the assert section
  21. SZ
  22. SZ Originated in XP. Unit tests are essential parts of XP and other agile methods.
  23. SZ
  24. ERF
  25. ERF
  26. ERF
  27. ERF
  28. ERF
  29. ERF
  30. ERF
  31. ERF
  32. ERF
  33. ERF
  34. ERF
  35. ERF
  36. ERF
  37. ERF
  38. ERF
  39. ERF
  40. ERF
  41. ERF
  42. ERF
  43. SZ
  44. SZ Acceptance tests are specifications for the desired behavior and functionality of a system. WHY? Although acceptance testing traditionally takes place at the end of development or major milestones, in agile software development acceptance testing needs to be performed at the user story level. There are several reasons for why this is important: A passed test case becomes a measure of completeness of a user story; that is, a user story cannot be considered complete till it has passed all acceptance tests associated with it. Even though there is thorough unit testing performed, this is not enough. Unit tests, by their nature, test for a localized used case and are not concerned about the overall system. When we have iterations longer than a couple of weeks, it becomes easy to loose focus on initial agreements; acceptance test cases made for each story at the beginning of each iteration help the developers to keep things within the expectations. Acceptance test cases can serve as an excellent guide to developers to better interpret the requirements from a user story
  45. SZ Fit – the engine The customers' examples are formatted in tables and saved as HTML using ordinary business tools such as Microsoft Excel. When Fit checks the document, it creates a copy and colors the tables green, red, and yellow according to whether the software behaved as expected. Fitnesse – Also the wiki on top FitNesse allows users of a developed system to enter specially formatted input (its format is accessible to non-programmers). This input is interpreted and tests are created automatically. These tests are then executed by the system and output is returned back to the user. The advantage of this approach is very fast feedback from users. The developer of the system to be tested needs to provide some support (classes named "fixtures", conforming to certain conventions). fast user feedback ERF demo -> score computation dino legs
  46. ERF
  47. SZI
  48. SZ Behavior-driven development BDD aims to help focus on the delivery of prioritised, verifiable business value by providing a common vocabulary By using terminology focused on the behavioural aspects of the system rather than testing, BDD attempts to help direct developers towards a focus on the real value to be found in TDD at its most successful. "Behavior-driven development is what you are doing already, if you are doing Test-driven development well." (Dave Astels) Behavior Driven Development is more about interactions with the application than just unit testing. It forces the developer to understand the responsibility of the method he is about to write. Using good tools, the specs written to test the application can be used as specifications. Doing what comes naturally BDD isn't anything new or revolutionary. It's just an evolutionary offshoot of TDD in which the word "test" is replaced by the word "should." Semantics aside, many people find the concept of should a much more natural development driver than the concept of testing. Thinking in terms of behavior (shoulds) somehow paves the way into writing specification classes first, which, in turn, can be a very efficient implementation driver. For many developers, the shift from test-driven development to BDD is a smart move. With BDD, you don't have to think about tests, you can just pay attention to the requirements of your application and ensure that the application behavior does what it should to meet those requirements. Using BDD to drive development Behavior driven development (BDD) is an evolutionary result of test driven development (TDD) in the sense that rather than thinking in terms of tests (which have the tendency to make you think after the fact) you can more easily think in terms of a specification. By thinking about an application’s specification or behavior, it becomes easier to validate things early– in fact, when thinking in terms of a specification, it becomes quite easy to write things upfront.
  49. SZ
  50. SZ BDD relies on the use of a very specific (and small) vocabulary to minimize miscommunication and to ensure that everyone – the business, developers, testers, analysts and managers – are not only on the same page but using the same words. BDD provides a “ubiquitous language” for analysis Around this time, Eric Evans published his bestselling book Domain-Driven Design. In it, he describes the concept of modeling a system using a ubiquitous language based on the business domain, so that the business vocabulary permeates right into the codebase.
  51. SZI Structural templates Feature: As a [X] I want [Y] so that [Z] (In order) The template had to be loose enough that it wouldn’t feel artificial or constraining to analysts but structured enough that we could break the story into its constituent fragments and automate them. We started describing the acceptance criteria in terms of scenarios, which took the following form: Scenarios: Given some initial context (the givens), When an event occurs, then ensure some outcomes.
  52. SZI Structural templates Feature: As a [X] I want [Y] so that [Z] (In order) The template had to be loose enough that it wouldn’t feel artificial or constraining to analysts but structured enough that we could break the story into its constituent fragments and automate them. We started describing the acceptance criteria in terms of scenarios, which took the following form: Scenarios: Given some initial context (the givens), When an event occurs, then ensure some outcomes.
  53. SZI
  54. ERF
  55. SZI
  56. SZI