SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
BEHAVIOR DRIVEN
DEVELOPMENT BDD
GUIDE TO AGILE PRACTICES
Presenter: Joshua Eastman
Director, Strategic Solutions
3
3
ABOUT THE SPEAKER
Josh has over seven years of experience as an
accomplished software testing and development
professional.
Josh Eastman
Director, Strategic Solutions
JEastman@kforce.com
GROUP EXERCISE
5
GROUP EXERCISE
• Imagine you are a QA manager
• You have 25 direct reports (QA Analysts)
• 6 Agile lines – 2 Run (Production Support) + 4 Build
• Business demand is expected to nearly double in the next year
• System defect rate = 5 defects / 1,000 release hours
• Production defect rate = 1.75 defects / 1,000 release hours
How can you possibly prepare for the increase in business demand
and try to lower your defect rates – or increase quality –
simultaneously?
6
SOLUTION
Business Demand Increases By 187% - 354,739 release hours compared to 190,008
release hours
System Defect Rate Decreased 1.43 defects/1000 release hours compared to 5
defects/1000 release hours
Production Defect Rate Decreased 1.3 defects/1000 release hours compared to 1.75
defects/1000 release hours
Direct Reports Increased Only by 7 – 32 compared to 25
Fortune 100 Company Year X Year X+1
Business Demand (Release Hours) 190,008 354,739
System Testing Defects 937 508
Production Defects 332 464
Testing Resources 25 32
Annual Savings
$1,191,360
$1,183,540
$1,365,900
TOTAL ANNUAL
BUSINESS VALUE ($)
$3,740,800
Employ a deliberate emphasis on quality – implementing
an industry best practice – Behavior Driven Development (BDD) –
with a determined focus on incorporating automation.
FOUNDATIONAL
UNDERSTANDING
8
MOST ORGANIZATIONS USE
SOME FORM OF AGILE
Agile emphasizes empirical feedback, team self management, and
striving to build properly tested product increments within short
iterations.
9
DIFFERENCES BETWEEN TDD,
BDD + ATDD
BDD
TDD
ATDD
Tests focused on what a Class or Method execution
results. What result should it return?
Tests focused on behavior of classes or
components. What behavior should it exhibit?
Code
Requirements
Internal External
Tests focused on requirements of applications.
What business functionality should it implement?
A story’s behavior is simply its acceptance criteria – if the system fulfills
all the acceptance criteria, it’s behaving correctly; if it doesn’t, it isn’t.
Acceptance Test Driven Development (ATDD) is a form of Behavior
Driven Development (BDD) that focuses on requirements specified in the
form of acceptance criteria. How are Testing and Requirements related?
10
WHAT IS BDD?
BDD promotes
requirements by example,
collaboration, lower cost in
resolving defects, and
automation in the form of
business value.
• Industry practice in which whole
team collaborates on system
testing and “definition of done”
• Developer focuses on making
system test(s) pass
• Automate tests while production
code is being developed
• Automation design completes
before or parallel to development
• Tests become part of build pipeline
and are run throughout the sprint
• Automated tests represent the true
business value and living
documentation
11
AUTOMATION STRATEGY OLD
• Often a one-tool approach
• Brittle automated tests
• Maintenance is high
• Defects escape easily
• Developer accountability low
• Cost of quality is high
More
Automated
Less
Automated
• Tools have not been plentiful
• Experience with open source low
These problems have caused automation to be expensive and
ineffective.
12
AUTOMATION STRATEGY NEW
• Use tools such as xUnit
• Find defects quickly
• Keep technical debt low
• Use tools such as Selenium, Watir
• Make UI tests maintainable
• Can increase UI tests with stability
• Use tools such as Cucumber
• Best use in regression tests
• Use plug-ins to extend to other tiers
More
Automated
Less
Automated
Unit Testing provides the most effective way in preventing defects –
increasing and maintaining quality.
VALUES
14
HOW DOES BDD INCREASE
QUALITY?
1. Process Encourages Collaboration
2. Requirements with Examples
3. Promotes Automation
4. Find Defects Earlier and Often
There are many other values to BDD but we’ll discuss these four values
specifically.
How Does BDD Increase Quality?
15
BDD VALUE #1
PROCESS ENCOURAGES COLLABORATION
• BDD requires discipline to ensure that the right people work together
to create the tests
• Customers must work with developers
 to prevent the developers from writing tests that are too low level
and tests use customer terminology is used
 to ensure that what is being tested is important (to the customer)
• Developers must work with testers
 testers will be looking for corner cases and good coverage
 developers can use their expertise to ensure
that the test cases are properly decomposed
• BA, Dev, and QA roles will balance each
other
 Collaboration is primary
 Consistent domain vocabulary is critical
 Getting automation right is important
16
BDD VALUE #2
REQUIREMENTS WITH EXAMPLES
• Uses concrete and specific examples
written in Gherkin which promotes:
 Conversation between the business,
analyst, developer, and tester
(3 Amigos)
 Prompts early questions around whether
the scenarios are accurate
 Captures the conversation, with the
benefit of providing testable functional
tests
• Focuses on thin slices of system behavior
that deliver business value which are
potentially automatable without translation
• Develops executable specifications
captured in live documentation that can
serves as requirements, manual tests,
automation scripts
17
WHAT IS GHERKIN?
Gherkin is a language/syntax that is a Business Readable,
Domain Specific Language created specifically for behavior
descriptions.
• It gives you the ability to remove logical details from behavior.
Gherkin serves as your project's documentation as well as your project's
automated tests.
• Test template in the form of Given When Then (GWT)
• Given some initial context (the givens)
• When an event occurs
• Then ensure some outcomes
Given a user navigates to the Kforce website
And the user fills in “automation engineer” for job title or skill
And the user fills in “43017” for city state zip
When the user clicks the search button
And the application navigates to the Search Jobs page
Then the page displays the save as a job alert button element
Then the page displays the reset search button element
Real World Example
18
WHAT IS CUCUMBER?
Cucumber is an open source software tool written in
Ruby and uses a plain text Domain Specific Language
(DSL) called Gherkin.
• Cucumber lines of text are processed by Ruby ‘step definitions’ which are code
blocks that execute the given, when, and then specifications against an
application. It runs automated acceptance tests written in a behavior driven
development (BDD) / acceptance test driven development (ATDD) style.
• Cucumber lets software development teams describe how software should
behave in plain text. The text is written in a business-readable “plain English”
type language and serves as documentation, automated tests and
development-aid - all rolled into one format.
• Cucumber works with Ruby, Java, .NET, Flex or web applications written
in any language. It has been translated to over 40 spoken languages.
Aslak Hellesoy created Cucumber to support BDD/ATDD.
He states: The idea was to combine automated tests, functional
requirements and software documentation into one format that would be
understandable by non-technical people as well as testing tools.
19
BDD VALUE #3
PROMOTES AUTOMATION
Requirements Traceability
Selective Testing
Execution Reports
Cross-Browser Testing Cross-Environment Testing
DEV  QA  STAGE
IT  ST  PT  UAT
Continuous Integration
20
BDD PROMOTES FULL SCOPE
AUTOMATION
21
BDD VALUE #4
FIND DEFECTS EARLIER + OFTEN
• Increases testing coverage – multiple browsers, database, services
• Increases testing frequency
• Increases testing efficiency - eliminate repetitive work, increase reusability
• Finds defects/bugs as they are introduced
• Promotes code quality/refactoring (instant feedback)
• Promotes continuous integration (CI/CD)
• Decrease test and production defects
• Decrease operational cost
AGILE WORKFLOW
23
AGILE WORKFLOW
QUESTIONS?
Josh Eastman
Director, Strategic Solutions
JEastman@kforce.com
www.linkedin.com/in/JoshuaEastman
www.kforce.com

Contenu connexe

Tendances

There's no time to test, can you just automate it? by Anna Heiermann
There's no time to test, can you just automate it? by Anna HeiermannThere's no time to test, can you just automate it? by Anna Heiermann
There's no time to test, can you just automate it? by Anna HeiermannQA or the Highway
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinQA or the Highway
 
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
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Agile India
 
How testers add value to the organization appium conf
How testers add value to the organization  appium confHow testers add value to the organization  appium conf
How testers add value to the organization appium confCorina Pip
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test AutomationNaveen Kumar Singh
 
Agile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsVipul Gupta
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsdpaulmerrill
 
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019Agile India
 
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarRisk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarQASymphony
 
Agile and test driven development
Agile and test driven developmentAgile and test driven development
Agile and test driven developmentAhmed El-Deeb
 
A Concise QA Process
A Concise QA Process A Concise QA Process
A Concise QA Process Arslan Ali
 
CWIN17 New-York / Drive continuous delivery with continous testing
CWIN17 New-York / Drive continuous delivery with continous testingCWIN17 New-York / Drive continuous delivery with continous testing
CWIN17 New-York / Drive continuous delivery with continous testingCapgemini
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...TEST Huddle
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersTEST Huddle
 
Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)Fatkul Amri
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projectssriks7
 
Agile Tester - Crash Slides
Agile Tester - Crash SlidesAgile Tester - Crash Slides
Agile Tester - Crash SlidesSamer Desouky
 

Tendances (20)

There's no time to test, can you just automate it? by Anna Heiermann
There's no time to test, can you just automate it? by Anna HeiermannThere's no time to test, can you just automate it? by Anna Heiermann
There's no time to test, can you just automate it? by Anna Heiermann
 
Test Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew EakinTest Strategy-The real silver bullet in testing by Matthew Eakin
Test Strategy-The real silver bullet in testing by Matthew Eakin
 
How to get Automated Testing "Done"
How to get Automated Testing "Done"How to get Automated Testing "Done"
How to get Automated Testing "Done"
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...
 
How testers add value to the organization appium conf
How testers add value to the organization  appium confHow testers add value to the organization  appium conf
How testers add value to the organization appium conf
 
New model
New modelNew model
New model
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
What is Agile Testing?
What is Agile Testing? What is Agile Testing?
What is Agile Testing?
 
Agile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroidsAgile tour ncr test360_degree - agile testing on steroids
Agile tour ncr test360_degree - agile testing on steroids
 
Why Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOpsWhy Automated Testing Matters To DevOps
Why Automated Testing Matters To DevOps
 
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
 
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony WebinarRisk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
Risk Mitigation Using Exploratory and Technical Testing | QASymphony Webinar
 
Agile and test driven development
Agile and test driven developmentAgile and test driven development
Agile and test driven development
 
A Concise QA Process
A Concise QA Process A Concise QA Process
A Concise QA Process
 
CWIN17 New-York / Drive continuous delivery with continous testing
CWIN17 New-York / Drive continuous delivery with continous testingCWIN17 New-York / Drive continuous delivery with continous testing
CWIN17 New-York / Drive continuous delivery with continous testing
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)Test Driven Development (TDD) & Continuous Integration (CI)
Test Driven Development (TDD) & Continuous Integration (CI)
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
Agile Tester - Crash Slides
Agile Tester - Crash SlidesAgile Tester - Crash Slides
Agile Tester - Crash Slides
 

Similaire à Behavior Driven Development—A Guide to Agile Practices by Josh Eastman

Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentRaj Indugula
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CDRoger Turnau
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopJim Plush
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWDVikas Sarin
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentnikhil sreeni
 
Behavior Driven Development—A Guide to Agile Practices
Behavior Driven Development—A Guide to Agile PracticesBehavior Driven Development—A Guide to Agile Practices
Behavior Driven Development—A Guide to Agile PracticesTechWell
 
Acceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDDAcceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDDLaurent PY
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015Raghu Karnati
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011TEST Huddle
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile DeveloperBSGAfrica
 
A Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityA Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityJeff Bramwell
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development ProcessSoftware Park Thailand
 
Critical Capabilities to Shifting Left the Right Way
Critical Capabilities to Shifting Left the Right WayCritical Capabilities to Shifting Left the Right Way
Critical Capabilities to Shifting Left the Right WaySmartBear
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 

Similaire à Behavior Driven Development—A Guide to Agile Practices by Josh Eastman (20)

Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile Environment
 
Agile testing
Agile testingAgile testing
Agile testing
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
 
Test Policy and Practices
Test Policy and PracticesTest Policy and Practices
Test Policy and Practices
 
How to run an Enterprise PHP Shop
How to run an Enterprise PHP ShopHow to run an Enterprise PHP Shop
How to run an Enterprise PHP Shop
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Behavior Driven Development—A Guide to Agile Practices
Behavior Driven Development—A Guide to Agile PracticesBehavior Driven Development—A Guide to Agile Practices
Behavior Driven Development—A Guide to Agile Practices
 
Acceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDDAcceptance Testing Driven Development, TDD
Acceptance Testing Driven Development, TDD
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
 
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
Ben Walters - Creating Customer Value With Agile Testing - EuroSTAR 2011
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
 
A Roadmap to Enterprise Quality
A Roadmap to Enterprise QualityA Roadmap to Enterprise Quality
A Roadmap to Enterprise Quality
 
Agile testing
Agile testingAgile testing
Agile testing
 
Agile testing
Agile testingAgile testing
Agile testing
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 
Critical Capabilities to Shifting Left the Right Way
Critical Capabilities to Shifting Left the Right WayCritical Capabilities to Shifting Left the Right Way
Critical Capabilities to Shifting Left the Right Way
 
Resume (1)
Resume (1)Resume (1)
Resume (1)
 
TestOps and Shift Left
TestOps and Shift LeftTestOps and Shift Left
TestOps and Shift Left
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 

Plus de QA or the Highway

KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfQA or the Highway
 
Ravi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptxRavi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptxQA or the Highway
 
Caleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptxCaleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptxQA or the Highway
 
Thomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfThomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfQA or the Highway
 
Thomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdfThomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdfQA or the Highway
 
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdfJoe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdfQA or the Highway
 
Sarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdfSarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdfQA or the Highway
 
Jeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfJeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfQA or the Highway
 
Leandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdfLeandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdfQA or the Highway
 
Rick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdfRick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdfQA or the Highway
 
Robert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptxRobert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptxQA or the Highway
 
Federico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdfFederico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdfQA or the Highway
 
Andrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptxAndrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptxQA or the Highway
 
Melissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdfMelissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdfQA or the Highway
 
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdfJeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdfQA or the Highway
 
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptxDesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptxQA or the Highway
 
Damian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdfDamian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdfQA or the Highway
 
Lee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdfLee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdfQA or the Highway
 
Jordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptxJordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptxQA or the Highway
 
Carlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptxCarlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptxQA or the Highway
 

Plus de QA or the Highway (20)

KrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdfKrishnaToolComparisionPPT.pdf
KrishnaToolComparisionPPT.pdf
 
Ravi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptxRavi Lakkavalli - World Quality Report.pptx
Ravi Lakkavalli - World Quality Report.pptx
 
Caleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptxCaleb Crandall - Testing Between the Buckets.pptx
Caleb Crandall - Testing Between the Buckets.pptx
 
Thomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfThomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdf
 
Thomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdfThomas Haver - Example Mapping.pdf
Thomas Haver - Example Mapping.pdf
 
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdfJoe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
Joe Colantonio - Actionable Automation Awesomeness in Testing Farm.pdf
 
Sarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdfSarah Geisinger - Continious Testing Metrics That Matter.pdf
Sarah Geisinger - Continious Testing Metrics That Matter.pdf
 
Jeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdfJeff Sing - Quarterly Service Delivery Reviews.pdf
Jeff Sing - Quarterly Service Delivery Reviews.pdf
 
Leandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdfLeandro Melendez - Chihuahua Load Tests.pdf
Leandro Melendez - Chihuahua Load Tests.pdf
 
Rick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdfRick Clymer - Incident Management.pdf
Rick Clymer - Incident Management.pdf
 
Robert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptxRobert Fornal - ChatGPT as a Testing Tool.pptx
Robert Fornal - ChatGPT as a Testing Tool.pptx
 
Federico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdfFederico Toledo - Extra-functional testing.pdf
Federico Toledo - Extra-functional testing.pdf
 
Andrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptxAndrew Knight - Managing the Test Data Nightmare.pptx
Andrew Knight - Managing the Test Data Nightmare.pptx
 
Melissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdfMelissa Tondi - Automation We_re Doing it Wrong.pdf
Melissa Tondi - Automation We_re Doing it Wrong.pdf
 
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdfJeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
Jeff Van Fleet and John Townsend - Transition from Testing to Leadership.pdf
 
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptxDesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
DesiradhaRam Gadde - Testers _ Testing in ChatGPT-AI world.pptx
 
Damian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdfDamian Synadinos - Word Smatter.pdf
Damian Synadinos - Word Smatter.pdf
 
Lee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdfLee Barnes - What Successful Test Automation is.pdf
Lee Barnes - What Successful Test Automation is.pdf
 
Jordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptxJordan Powell - API Testing with Cypress.pptx
Jordan Powell - API Testing with Cypress.pptx
 
Carlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptxCarlos Kidman - Exploring AI Applications in Testing.pptx
Carlos Kidman - Exploring AI Applications in Testing.pptx
 

Dernier

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

Behavior Driven Development—A Guide to Agile Practices by Josh Eastman

  • 1. BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES Presenter: Joshua Eastman Director, Strategic Solutions
  • 2. 3 3 ABOUT THE SPEAKER Josh has over seven years of experience as an accomplished software testing and development professional. Josh Eastman Director, Strategic Solutions JEastman@kforce.com
  • 4. 5 GROUP EXERCISE • Imagine you are a QA manager • You have 25 direct reports (QA Analysts) • 6 Agile lines – 2 Run (Production Support) + 4 Build • Business demand is expected to nearly double in the next year • System defect rate = 5 defects / 1,000 release hours • Production defect rate = 1.75 defects / 1,000 release hours How can you possibly prepare for the increase in business demand and try to lower your defect rates – or increase quality – simultaneously?
  • 5. 6 SOLUTION Business Demand Increases By 187% - 354,739 release hours compared to 190,008 release hours System Defect Rate Decreased 1.43 defects/1000 release hours compared to 5 defects/1000 release hours Production Defect Rate Decreased 1.3 defects/1000 release hours compared to 1.75 defects/1000 release hours Direct Reports Increased Only by 7 – 32 compared to 25 Fortune 100 Company Year X Year X+1 Business Demand (Release Hours) 190,008 354,739 System Testing Defects 937 508 Production Defects 332 464 Testing Resources 25 32 Annual Savings $1,191,360 $1,183,540 $1,365,900 TOTAL ANNUAL BUSINESS VALUE ($) $3,740,800 Employ a deliberate emphasis on quality – implementing an industry best practice – Behavior Driven Development (BDD) – with a determined focus on incorporating automation.
  • 7. 8 MOST ORGANIZATIONS USE SOME FORM OF AGILE Agile emphasizes empirical feedback, team self management, and striving to build properly tested product increments within short iterations.
  • 8. 9 DIFFERENCES BETWEEN TDD, BDD + ATDD BDD TDD ATDD Tests focused on what a Class or Method execution results. What result should it return? Tests focused on behavior of classes or components. What behavior should it exhibit? Code Requirements Internal External Tests focused on requirements of applications. What business functionality should it implement? A story’s behavior is simply its acceptance criteria – if the system fulfills all the acceptance criteria, it’s behaving correctly; if it doesn’t, it isn’t. Acceptance Test Driven Development (ATDD) is a form of Behavior Driven Development (BDD) that focuses on requirements specified in the form of acceptance criteria. How are Testing and Requirements related?
  • 9. 10 WHAT IS BDD? BDD promotes requirements by example, collaboration, lower cost in resolving defects, and automation in the form of business value. • Industry practice in which whole team collaborates on system testing and “definition of done” • Developer focuses on making system test(s) pass • Automate tests while production code is being developed • Automation design completes before or parallel to development • Tests become part of build pipeline and are run throughout the sprint • Automated tests represent the true business value and living documentation
  • 10. 11 AUTOMATION STRATEGY OLD • Often a one-tool approach • Brittle automated tests • Maintenance is high • Defects escape easily • Developer accountability low • Cost of quality is high More Automated Less Automated • Tools have not been plentiful • Experience with open source low These problems have caused automation to be expensive and ineffective.
  • 11. 12 AUTOMATION STRATEGY NEW • Use tools such as xUnit • Find defects quickly • Keep technical debt low • Use tools such as Selenium, Watir • Make UI tests maintainable • Can increase UI tests with stability • Use tools such as Cucumber • Best use in regression tests • Use plug-ins to extend to other tiers More Automated Less Automated Unit Testing provides the most effective way in preventing defects – increasing and maintaining quality.
  • 13. 14 HOW DOES BDD INCREASE QUALITY? 1. Process Encourages Collaboration 2. Requirements with Examples 3. Promotes Automation 4. Find Defects Earlier and Often There are many other values to BDD but we’ll discuss these four values specifically. How Does BDD Increase Quality?
  • 14. 15 BDD VALUE #1 PROCESS ENCOURAGES COLLABORATION • BDD requires discipline to ensure that the right people work together to create the tests • Customers must work with developers  to prevent the developers from writing tests that are too low level and tests use customer terminology is used  to ensure that what is being tested is important (to the customer) • Developers must work with testers  testers will be looking for corner cases and good coverage  developers can use their expertise to ensure that the test cases are properly decomposed • BA, Dev, and QA roles will balance each other  Collaboration is primary  Consistent domain vocabulary is critical  Getting automation right is important
  • 15. 16 BDD VALUE #2 REQUIREMENTS WITH EXAMPLES • Uses concrete and specific examples written in Gherkin which promotes:  Conversation between the business, analyst, developer, and tester (3 Amigos)  Prompts early questions around whether the scenarios are accurate  Captures the conversation, with the benefit of providing testable functional tests • Focuses on thin slices of system behavior that deliver business value which are potentially automatable without translation • Develops executable specifications captured in live documentation that can serves as requirements, manual tests, automation scripts
  • 16. 17 WHAT IS GHERKIN? Gherkin is a language/syntax that is a Business Readable, Domain Specific Language created specifically for behavior descriptions. • It gives you the ability to remove logical details from behavior. Gherkin serves as your project's documentation as well as your project's automated tests. • Test template in the form of Given When Then (GWT) • Given some initial context (the givens) • When an event occurs • Then ensure some outcomes Given a user navigates to the Kforce website And the user fills in “automation engineer” for job title or skill And the user fills in “43017” for city state zip When the user clicks the search button And the application navigates to the Search Jobs page Then the page displays the save as a job alert button element Then the page displays the reset search button element Real World Example
  • 17. 18 WHAT IS CUCUMBER? Cucumber is an open source software tool written in Ruby and uses a plain text Domain Specific Language (DSL) called Gherkin. • Cucumber lines of text are processed by Ruby ‘step definitions’ which are code blocks that execute the given, when, and then specifications against an application. It runs automated acceptance tests written in a behavior driven development (BDD) / acceptance test driven development (ATDD) style. • Cucumber lets software development teams describe how software should behave in plain text. The text is written in a business-readable “plain English” type language and serves as documentation, automated tests and development-aid - all rolled into one format. • Cucumber works with Ruby, Java, .NET, Flex or web applications written in any language. It has been translated to over 40 spoken languages. Aslak Hellesoy created Cucumber to support BDD/ATDD. He states: The idea was to combine automated tests, functional requirements and software documentation into one format that would be understandable by non-technical people as well as testing tools.
  • 18. 19 BDD VALUE #3 PROMOTES AUTOMATION Requirements Traceability Selective Testing Execution Reports Cross-Browser Testing Cross-Environment Testing DEV  QA  STAGE IT  ST  PT  UAT Continuous Integration
  • 19. 20 BDD PROMOTES FULL SCOPE AUTOMATION
  • 20. 21 BDD VALUE #4 FIND DEFECTS EARLIER + OFTEN • Increases testing coverage – multiple browsers, database, services • Increases testing frequency • Increases testing efficiency - eliminate repetitive work, increase reusability • Finds defects/bugs as they are introduced • Promotes code quality/refactoring (instant feedback) • Promotes continuous integration (CI/CD) • Decrease test and production defects • Decrease operational cost
  • 23. QUESTIONS? Josh Eastman Director, Strategic Solutions JEastman@kforce.com www.linkedin.com/in/JoshuaEastman www.kforce.com