SlideShare une entreprise Scribd logo
1  sur  13
Télécharger pour lire hors ligne
T6
Choosing Test Approaches
10/19/2017 11:30:00 AM
Behavior Driven Development (BDD) -
A Guide to Agile Practices
Presented by:
Josh Eastman
Experis
Brought to you by:
350 Corporate Way, Suite 400, Orange Park, FL 32073
888-­‐268-­‐8770 ·∙ 904-­‐278-­‐0524 - info@techwell.com - https://www.techwell.com/
Josh Eastman
Experis
Josh Eastman is an Automation Architect for the Testing Practice of Experis IT
Development Solutions, a Global IT Services Company. Josh creates automation
solutions for Experis’ client portfolio and was a recent speaker at the Agile Testing and
Test Automation Summit in Seattle. Holding such roles as senior developer, test lead,
automation program Lead, and automation architect, Josh has designed and
implemented various automation frameworks that have proven to be effective in
testing web applications, mobile applications, mainframe systems, web services, and
databases. He has also successfully integrated many third-party tools and testing
software that are most relevant in the QA and testing industry today.
10/9/2017
1
Behavior DrivenBehavior Driven
Development (BDD)
Guide to Agile Practices
Monday, October 09, 2017
Presenter:
Joshua Eastman –
Automation Architect, Delivery Specialist
Behavior Driven Development (BDD)
Guide to Agile Practices
• Group ExerciseGroup Exercise
• Foundational Understandings
– Agile
– The DD’s
– What is BDD?
– Automation Strategies
Experis | Monday, October 09, 2017 2
• How Does BDD Increase Quality
• Agile Workflow
10/9/2017
2
Group Exercise
• Imagine you are a SQA manager
Y h 25 di t t (QA A l t )
Group Exercise
• You have 25 direct reports (QA Analysts)
• 6 Agile lines (2 Run, 4 Build)
• Business demand is expected to nearly double in the next year
Experis | Monday, October 09, 2017 4
• 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?
10/9/2017
3
Employ a deliberate emphasis on quality – implementing an industry best practice –
Behavior Driven Development (BDD) – with a determined focus incorporating automation
Solution
Business Demand increases by 187%
You decrease your system defect rate to 1.43
defects/1000 release hours
You decrease your production defect rate to
1.3 defects/1000 release hours
You increase your direct reports by only 7
190,008 hours to 354,739 hours
5 defects/1000 release hours to 1.43
defects/1000 release hours
1.75 defects/1000 release hours to 1.3
defects/1000 release hours
25 compared to 32
Experis | Monday, October 09, 2017 5
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
Foundational
Understanding
10/9/2017
4
Most Organizations Use Some Form of Agile
Experis | Monday, October 09, 2017 7
Agile emphasizes empirical feedback, team self management, and
striving to build properly tested product increments within short iterations.
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?
Differences Between TDD, BDD, ATDD
BDD
TDD
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
Tests foc sed on req irements of applications
Experis | Monday, October 09, 2017 8
ATDD
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.
10/9/2017
5
• Industry practice in which whole team
collaborates on system testing and
“definition of done”
What is BDD?
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
Experis | Monday, October 09, 2017 9
• Tests become part of build pipeline and are run throughout the sprint
• Automated tests represent the true business value and living documentation
BDD promotes requirements by example, collaboration, lower cost in resolving
defects, and automation in the form of business value.
Automation Strategy (Old)
• Often a one-tool approach
• Brittle automated tests
• Maintenance is high
More
Automated
• Tools have not been plentiful
• Experience with open source low
Experis | Monday, October 09, 2017 10
• Defects escape easily
• Developer accountability low
• Cost of quality is high Less
Automated
These problems have caused automation to be expensive and ineffective
10/9/2017
6
Automation Strategy (New)
More
Automated
• Use tools such as xUnit
• Find defects quickly
• Keep technical debt low
• Use tools such as Cucumber
• Best use in regression tests
• Use plug-ins to extend to other tiers
Experis | Monday, October 09, 2017 11
Less
Automated
• Use tools such as Selenium, Watir
• Make UI tests maintainable
• Can increase UI tests with stability
Values
10/9/2017
7
1. Process Encourages Collaboration
2. Requirements with Examples
How Does BDD Increase Quality?
3. Promotes Automation
4. Find Defects Earlier and Often
Experis | Monday, October 09, 2017 13
There are many other values to BDD but we’ll discuss these four values
specifically.
• BDD requires discipline to ensure that the right people work together to
create the tests
• Customers must work with developers
BDD Value #1: Process Encourages Collaboration
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
Experis | Monday, October 09, 2017 14
• BA, Dev, and QA roles will balance each other
 Collaboration is primary
 Consistent domain vocabulary is critical
 Getting automation right is important
10/9/2017
8
• Gherkin is a language/syntax that is a Business Readable,
Domain Specific Language created specifically for behavior
descriptions.
What is Gherkin?
• 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.
Real World Example
Experis | Monday, October 09, 2017 15
Given a user navigates to the Experis website
And the user clicks enter as a job seeker
And the user clicks the go button
When the application navigates to the Experis Jobs page
And the user clicks the experis continued support
Then the text for experis continued support is displayed
Real World Example
Requirements Traceability
Selective Testing
BDD Value #3: Promotes Automation
Selective Testing
Execution Reports
Experis | Monday, October 09, 2017 16
Cross-Browser Testing Continuous IntegrationCross-Environment Testing
TEST  QA  STAGE
IT  ST  PT  UAT
10/9/2017
9
• 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
What is Cucumber?
p y y p
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.
Experis | Monday, October 09, 2017 17
• Cucumber works with Ruby, Java, .NET, Flex or web applications written
in any language. It has been translated to over 40 spoken languages. www.cukes.info
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.
BDD Promotes Full Scope Automation
Experis | Monday, October 09, 2017 18
10/9/2017
10
• Increases testing coverage – multiple browsers, database, services
• Increases testing frequency
I t ti ffi i li i t titi k i
BDD Value #4: Find Defects Earlier & Often
• 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
Experis | Monday, October 09, 2017 19
• Decrease operational cost
Agile Workflow
10/9/2017
11
Agile Workflow
Experis | Monday, October 09, 2017 21
Questions?
Josh Eastman
QA Automation Architect
joshua.eastman@experis.com
www.linkedin.com/in/JoshuaEastman

Contenu connexe

Tendances

Agile engineering practices – a short overview
Agile engineering practices – a short overviewAgile engineering practices – a short overview
Agile engineering practices – a short overview
Serhiy Yevtushenko
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
Naresh Jain
 
Teaching Kids Programming
Teaching Kids ProgrammingTeaching Kids Programming
Teaching Kids Programming
Lynn Langit
 
Building a DevOps Team that isn't Evil
Building a DevOps Team that isn't EvilBuilding a DevOps Team that isn't Evil
Building a DevOps Team that isn't Evil
IBM UrbanCode Products
 

Tendances (20)

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
 
Agile engineering practices – a short overview
Agile engineering practices – a short overviewAgile engineering practices – a short overview
Agile engineering practices – a short overview
 
Improving the Quality of Incoming Code
Improving the Quality of Incoming CodeImproving the Quality of Incoming Code
Improving the Quality of Incoming Code
 
Dietmar Strasser - Traditional QA meets Agile Development
Dietmar Strasser -  Traditional QA meets Agile DevelopmentDietmar Strasser -  Traditional QA meets Agile Development
Dietmar Strasser - Traditional QA meets Agile Development
 
The 10 commandments of an agile tester in a legacy world
The 10 commandments of an agile tester in a legacy worldThe 10 commandments of an agile tester in a legacy world
The 10 commandments of an agile tester in a legacy world
 
ScrumOps - Featuring Dave West & Jayne Groll
ScrumOps - Featuring Dave West & Jayne GrollScrumOps - Featuring Dave West & Jayne Groll
ScrumOps - Featuring Dave West & Jayne Groll
 
Developer Testing
Developer TestingDeveloper Testing
Developer Testing
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
 
Design System Proposal
Design System ProposalDesign System Proposal
Design System Proposal
 
DevOps the Big Picture for Testers by Joseph Ours
DevOps the Big Picture for Testers by Joseph OursDevOps the Big Picture for Testers by Joseph Ours
DevOps the Big Picture for Testers by Joseph Ours
 
FiSTB - agile testing
FiSTB - agile testingFiSTB - agile testing
FiSTB - agile testing
 
Test Driven Development (TDD) on Force.com projects
Test Driven Development (TDD) on Force.com projectsTest Driven Development (TDD) on Force.com projects
Test Driven Development (TDD) on Force.com projects
 
Devops ppt
Devops pptDevops ppt
Devops ppt
 
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
 
Teaching Kids Programming
Teaching Kids ProgrammingTeaching Kids Programming
Teaching Kids Programming
 
Testing in a DevOps team
Testing in a DevOps teamTesting in a DevOps team
Testing in a DevOps team
 
Building a DevOps Team that isn't Evil
Building a DevOps Team that isn't EvilBuilding a DevOps Team that isn't Evil
Building a DevOps Team that isn't Evil
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
DOES14 - Stephen Elliot - IDC - Delivering DevOps Business Metrics that Matter
DOES14 - Stephen Elliot - IDC - Delivering DevOps Business Metrics that MatterDOES14 - Stephen Elliot - IDC - Delivering DevOps Business Metrics that Matter
DOES14 - Stephen Elliot - IDC - Delivering DevOps Business Metrics that Matter
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
 

Similaire à Behavior Driven Development—A Guide to Agile Practices

CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
Vikas Sarin
 

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

Agile testing
Agile testingAgile testing
Agile testing
 
Focus on Your Analysis, Not Your SQL Code
Focus on Your Analysis, Not Your SQL CodeFocus on Your Analysis, Not Your SQL Code
Focus on Your Analysis, Not Your SQL Code
 
Agile testing
Agile testingAgile testing
Agile testing
 
Consulting
ConsultingConsulting
Consulting
 
Test Automation for Data-Centric Applications
Test Automation for Data-Centric ApplicationsTest Automation for Data-Centric Applications
Test Automation for Data-Centric Applications
 
CucumberSeleniumWD
CucumberSeleniumWDCucumberSeleniumWD
CucumberSeleniumWD
 
Choosing right-automation-tool
Choosing right-automation-toolChoosing right-automation-tool
Choosing right-automation-tool
 
Agile And Open Development
Agile And Open DevelopmentAgile And Open Development
Agile And Open Development
 
Five XP Practices for Agile Development
Five XP Practices for Agile DevelopmentFive XP Practices for Agile Development
Five XP Practices for Agile Development
 
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
 
Scaling Test first for the Enterprise
Scaling Test first for the EnterpriseScaling Test first for the Enterprise
Scaling Test first for the Enterprise
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...
Red Hhat Summit 2017 : Love Containers, Love Devops, Love Openshift, Where's ...
 
Animesh Chatterjee
Animesh Chatterjee Animesh Chatterjee
Animesh Chatterjee
 
The Pothole of Automating Too Much
The Pothole of Automating Too MuchThe Pothole of Automating Too Much
The Pothole of Automating Too Much
 
Dev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference MelbourneDev ops in agile - 1st Conference Melbourne
Dev ops in agile - 1st Conference Melbourne
 
QA in Digitalized World Kari Kakkonen WCSQ
QA in Digitalized World Kari Kakkonen WCSQQA in Digitalized World Kari Kakkonen WCSQ
QA in Digitalized World Kari Kakkonen WCSQ
 
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
 
Jump Start Agile Testing with Acceptance Test Driven Development
Jump Start Agile Testing with Acceptance Test Driven DevelopmentJump Start Agile Testing with Acceptance Test Driven Development
Jump Start Agile Testing with Acceptance Test Driven Development
 
Data Science Salon: Applying Machine Learning to Modernize Business Processes
Data Science Salon: Applying Machine Learning to Modernize Business ProcessesData Science Salon: Applying Machine Learning to Modernize Business Processes
Data Science Salon: Applying Machine Learning to Modernize Business Processes
 

Plus de TechWell

Plus de TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Dernier

Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 

Dernier (20)

Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 

Behavior Driven Development—A Guide to Agile Practices

  • 1. T6 Choosing Test Approaches 10/19/2017 11:30:00 AM Behavior Driven Development (BDD) - A Guide to Agile Practices Presented by: Josh Eastman Experis Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 888-­‐268-­‐8770 ·∙ 904-­‐278-­‐0524 - info@techwell.com - https://www.techwell.com/
  • 2. Josh Eastman Experis Josh Eastman is an Automation Architect for the Testing Practice of Experis IT Development Solutions, a Global IT Services Company. Josh creates automation solutions for Experis’ client portfolio and was a recent speaker at the Agile Testing and Test Automation Summit in Seattle. Holding such roles as senior developer, test lead, automation program Lead, and automation architect, Josh has designed and implemented various automation frameworks that have proven to be effective in testing web applications, mobile applications, mainframe systems, web services, and databases. He has also successfully integrated many third-party tools and testing software that are most relevant in the QA and testing industry today.
  • 3. 10/9/2017 1 Behavior DrivenBehavior Driven Development (BDD) Guide to Agile Practices Monday, October 09, 2017 Presenter: Joshua Eastman – Automation Architect, Delivery Specialist Behavior Driven Development (BDD) Guide to Agile Practices • Group ExerciseGroup Exercise • Foundational Understandings – Agile – The DD’s – What is BDD? – Automation Strategies Experis | Monday, October 09, 2017 2 • How Does BDD Increase Quality • Agile Workflow
  • 4. 10/9/2017 2 Group Exercise • Imagine you are a SQA manager Y h 25 di t t (QA A l t ) Group Exercise • You have 25 direct reports (QA Analysts) • 6 Agile lines (2 Run, 4 Build) • Business demand is expected to nearly double in the next year Experis | Monday, October 09, 2017 4 • 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. 10/9/2017 3 Employ a deliberate emphasis on quality – implementing an industry best practice – Behavior Driven Development (BDD) – with a determined focus incorporating automation Solution Business Demand increases by 187% You decrease your system defect rate to 1.43 defects/1000 release hours You decrease your production defect rate to 1.3 defects/1000 release hours You increase your direct reports by only 7 190,008 hours to 354,739 hours 5 defects/1000 release hours to 1.43 defects/1000 release hours 1.75 defects/1000 release hours to 1.3 defects/1000 release hours 25 compared to 32 Experis | Monday, October 09, 2017 5 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 Foundational Understanding
  • 6. 10/9/2017 4 Most Organizations Use Some Form of Agile Experis | Monday, October 09, 2017 7 Agile emphasizes empirical feedback, team self management, and striving to build properly tested product increments within short iterations. 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? Differences Between TDD, BDD, ATDD BDD TDD 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 Tests foc sed on req irements of applications Experis | Monday, October 09, 2017 8 ATDD 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.
  • 7. 10/9/2017 5 • Industry practice in which whole team collaborates on system testing and “definition of done” What is BDD? 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 Experis | Monday, October 09, 2017 9 • Tests become part of build pipeline and are run throughout the sprint • Automated tests represent the true business value and living documentation BDD promotes requirements by example, collaboration, lower cost in resolving defects, and automation in the form of business value. Automation Strategy (Old) • Often a one-tool approach • Brittle automated tests • Maintenance is high More Automated • Tools have not been plentiful • Experience with open source low Experis | Monday, October 09, 2017 10 • Defects escape easily • Developer accountability low • Cost of quality is high Less Automated These problems have caused automation to be expensive and ineffective
  • 8. 10/9/2017 6 Automation Strategy (New) More Automated • Use tools such as xUnit • Find defects quickly • Keep technical debt low • Use tools such as Cucumber • Best use in regression tests • Use plug-ins to extend to other tiers Experis | Monday, October 09, 2017 11 Less Automated • Use tools such as Selenium, Watir • Make UI tests maintainable • Can increase UI tests with stability Values
  • 9. 10/9/2017 7 1. Process Encourages Collaboration 2. Requirements with Examples How Does BDD Increase Quality? 3. Promotes Automation 4. Find Defects Earlier and Often Experis | Monday, October 09, 2017 13 There are many other values to BDD but we’ll discuss these four values specifically. • BDD requires discipline to ensure that the right people work together to create the tests • Customers must work with developers BDD Value #1: Process Encourages Collaboration 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 Experis | Monday, October 09, 2017 14 • BA, Dev, and QA roles will balance each other  Collaboration is primary  Consistent domain vocabulary is critical  Getting automation right is important
  • 10. 10/9/2017 8 • Gherkin is a language/syntax that is a Business Readable, Domain Specific Language created specifically for behavior descriptions. What is Gherkin? • 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. Real World Example Experis | Monday, October 09, 2017 15 Given a user navigates to the Experis website And the user clicks enter as a job seeker And the user clicks the go button When the application navigates to the Experis Jobs page And the user clicks the experis continued support Then the text for experis continued support is displayed Real World Example Requirements Traceability Selective Testing BDD Value #3: Promotes Automation Selective Testing Execution Reports Experis | Monday, October 09, 2017 16 Cross-Browser Testing Continuous IntegrationCross-Environment Testing TEST  QA  STAGE IT  ST  PT  UAT
  • 11. 10/9/2017 9 • 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 What is Cucumber? p y y p 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. Experis | Monday, October 09, 2017 17 • Cucumber works with Ruby, Java, .NET, Flex or web applications written in any language. It has been translated to over 40 spoken languages. www.cukes.info 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. BDD Promotes Full Scope Automation Experis | Monday, October 09, 2017 18
  • 12. 10/9/2017 10 • Increases testing coverage – multiple browsers, database, services • Increases testing frequency I t ti ffi i li i t titi k i BDD Value #4: Find Defects Earlier & Often • 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 Experis | Monday, October 09, 2017 19 • Decrease operational cost Agile Workflow
  • 13. 10/9/2017 11 Agile Workflow Experis | Monday, October 09, 2017 21 Questions? Josh Eastman QA Automation Architect joshua.eastman@experis.com www.linkedin.com/in/JoshuaEastman