SlideShare a Scribd company logo
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

More Related Content

What's hot (20)

PDF
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Agile India
 
PDF
Agile engineering practices – a short overview
Serhiy Yevtushenko
 
PDF
Improving the Quality of Incoming Code
Naresh Jain
 
PPT
Dietmar Strasser - Traditional QA meets Agile Development
TEST Huddle
 
PPTX
The 10 commandments of an agile tester in a legacy world
AgilePractitionersIL
 
PPTX
ScrumOps - Featuring Dave West & Jayne Groll
Taylor Puleri
 
PPTX
Developer Testing
Chris Wallace
 
PDF
Agile Testing 20021015
Raghu Karnati
 
PPTX
Design System Proposal
Charlie Weston
 
PDF
DevOps the Big Picture for Testers by Joseph Ours
QA or the Highway
 
PDF
FiSTB - agile testing
Kari Kakkonen
 
PDF
Test Driven Development (TDD) on Force.com projects
Aldo Fernandez
 
PPTX
Devops ppt
Sulekha IT Training
 
PPTX
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
Puppet
 
PPTX
Teaching Kids Programming
Lynn Langit
 
PPTX
Testing in a DevOps team
Laurent PY
 
PDF
Building a DevOps Team that isn't Evil
IBM UrbanCode Products
 
PDF
Test Driven Development
Hicham El Hammouchi
 
PDF
DOES14 - Stephen Elliot - IDC - Delivering DevOps Business Metrics that Matter
Gene Kim
 
PPTX
Unit testing for project managers
Zend by Rogue Wave Software
 
Acceptance Testing for Continuous Delivery by Dave Farley at #AgileIndia2019
Agile India
 
Agile engineering practices – a short overview
Serhiy Yevtushenko
 
Improving the Quality of Incoming Code
Naresh Jain
 
Dietmar Strasser - Traditional QA meets Agile Development
TEST Huddle
 
The 10 commandments of an agile tester in a legacy world
AgilePractitionersIL
 
ScrumOps - Featuring Dave West & Jayne Groll
Taylor Puleri
 
Developer Testing
Chris Wallace
 
Agile Testing 20021015
Raghu Karnati
 
Design System Proposal
Charlie Weston
 
DevOps the Big Picture for Testers by Joseph Ours
QA or the Highway
 
FiSTB - agile testing
Kari Kakkonen
 
Test Driven Development (TDD) on Force.com projects
Aldo Fernandez
 
Demystifying DevOps for Ops - Including Findings from the 2015 State of DevOp...
Puppet
 
Teaching Kids Programming
Lynn Langit
 
Testing in a DevOps team
Laurent PY
 
Building a DevOps Team that isn't Evil
IBM UrbanCode Products
 
Test Driven Development
Hicham El Hammouchi
 
DOES14 - Stephen Elliot - IDC - Delivering DevOps Business Metrics that Matter
Gene Kim
 
Unit testing for project managers
Zend by Rogue Wave Software
 

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

PPT
BDD along with Continuous Integration
Agile Testing Alliance
 
PPT
Stc 2015 regional-round-ppt-bdd along with ci
Archana Krushnan
 
PPTX
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
Agile Testing Alliance
 
PPTX
Design your tests to behave - An introduction To BDD!
Aparna A Gopalakrishnan
 
PDF
Whole team approach to agile testing bdd can help better pune 15th meetup
Agile Testing Alliance
 
PPTX
Topic tdd-and-bdd b4usolution
Hoa Le
 
PPTX
Lets cook cucumber !!
vodQA
 
PDF
Making the Move to Behavior-Driven Development
TechWell
 
PDF
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Perfecto Mobile
 
PPTX
BDD for APIs
Jason Harmon
 
PPTX
Making the Move to Behavior Driven Development
QASymphony
 
PDF
Contrasting test automation and BDD - 2020
Seb Rose
 
PDF
TLC2018 Thomas Haver: Transform with Enterprise Automation
Anna Royzman
 
PPT
BDD communication bridges - Expedia TED talk
Aliaksandr Ikhelis
 
PDF
An introduction to Behavior-Driven Development (BDD)
Suman Guha
 
PDF
BDD & Cucumber
Vladimir Arutin
 
ODP
Test Automation Framework using Cucumber BDD overview (part 1)
Mindfire Solutions
 
PPTX
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Synerzip
 
PDF
Expo qa from user stories to automated acceptance tests with bdd
Eduardo Riol
 
PDF
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
atSistemas
 
BDD along with Continuous Integration
Agile Testing Alliance
 
Stc 2015 regional-round-ppt-bdd along with ci
Archana Krushnan
 
Wednesday Webinar on "Strengthening your Agility with BDD - A demo using Cucu...
Agile Testing Alliance
 
Design your tests to behave - An introduction To BDD!
Aparna A Gopalakrishnan
 
Whole team approach to agile testing bdd can help better pune 15th meetup
Agile Testing Alliance
 
Topic tdd-and-bdd b4usolution
Hoa Le
 
Lets cook cucumber !!
vodQA
 
Making the Move to Behavior-Driven Development
TechWell
 
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Perfecto Mobile
 
BDD for APIs
Jason Harmon
 
Making the Move to Behavior Driven Development
QASymphony
 
Contrasting test automation and BDD - 2020
Seb Rose
 
TLC2018 Thomas Haver: Transform with Enterprise Automation
Anna Royzman
 
BDD communication bridges - Expedia TED talk
Aliaksandr Ikhelis
 
An introduction to Behavior-Driven Development (BDD)
Suman Guha
 
BDD & Cucumber
Vladimir Arutin
 
Test Automation Framework using Cucumber BDD overview (part 1)
Mindfire Solutions
 
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Synerzip
 
Expo qa from user stories to automated acceptance tests with bdd
Eduardo Riol
 
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
atSistemas
 
Ad

More from TechWell (20)

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

Recently uploaded (20)

PPTX
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
PPTX
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
PDF
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
PPTX
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPT
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
 
PDF
Executive Business Intelligence Dashboards
vandeslie24
 
PDF
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
 
PPTX
MailsDaddy Outlook OST to PST converter.pptx
abhishekdutt366
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PDF
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
PDF
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PPTX
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PPTX
3uTools Full Crack Free Version Download [Latest] 2025
muhammadgurbazkhan
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Platform for Enterprise Solution - Java EE5
abhishekoza1981
 
MiniTool Power Data Recovery Full Crack Latest 2025
muhammadgurbazkhan
 
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
Equipment Management Software BIS Safety UK.pptx
BIS Safety Software
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
MergeSortfbsjbjsfk sdfik k
RafishaikIT02044
 
Executive Business Intelligence Dashboards
vandeslie24
 
Capcut Pro Crack For PC Latest Version {Fully Unlocked} 2025
hashhshs786
 
MailsDaddy Outlook OST to PST converter.pptx
abhishekdutt366
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
3uTools Full Crack Free Version Download [Latest] 2025
muhammadgurbazkhan
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 

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 - [email protected] - 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 [email protected] www.linkedin.com/in/JoshuaEastman