SlideShare a Scribd company logo
Behaviour Driven Development (BDD)
Oltre i limiti del possibile
Anna-Maria Lukina, Marketing Director
23.01.2019
EXACTPROExactpro History at a Glance
• A specialist firm focused on functional and non functional testing of exchanges, clearing
houses, depositories and other market infrastructures
• Incorporated in 2009 with 10 people, our company has
experienced significant growth as satisfied clients require
more services; now employing 550 specialists.
• Part of London Stock Exchange Group (LSEG) from May 2015 till January 2018.
Exactpro management buyout from LSEG in January 2018. Headquartered in UK, with
operations in US, Georgia and Russia.
• We provide software testing services for mission critical technology
that underpins global financial markets. Our clients are regulated by
FCA, Bank of England and their counterparts from other countries.
We have a global software Quality Assurance
client network
• Exactpro serves as the final line of defence before Go-Live for many mission-critical systems
• We evaluate the system readiness prior to deployment into external environments
• We review relevant defects and risks with our clients
• System Types:
- Major Exchanges
- Huge Post-Trade Infrastructures
- Market Data Dissemination systems
- Clearing and Settlement systems
We are 100% Focused on Testing Market
Infrastructures
We have developed a Test Automation Framework for
Distributed Ledger Technology projects
Woodpecker - ClearTH Extension:
● Highly customizable (data
source, data types, load, time,
interface)
● Easy to transfer to different
environments due to its ability
to extract data right from the
system under test
● Testing scenarios created
without humans cover a vast
majority of diverse
conditions/data combinations
● A productive intersection of
functional and non-functional
testing approaches
ClearTH - an innovative way to test
Clearing, Settlement and Back-Office
systems. It is a unique Exactpro tool
able to simultaneously execute multiple
end-to-end test scenarios in batches.
ClearTH easily detects abnormal
behavior in the system under test and
effectively predicts potential issues. It
offers many built-in actions to cover the
majority of activities in post-trade
systems.
● Verifies each stage of the DLC
● Has an integrated schedule
● Automatically runs test scripts
● Creates multiple-day test scenarios
● Performs multiple concurrent tests
● Has integrated simulators
● Supports SWIFT ISO protocol
Behavior driven development
A software development method
• Unit tests should be specified based on the unit’s desired behavior
• The desired behavior should be specified in the form of user story specifications written in
natural human language
• Developers, Business Analysts and QA should collaborate on specifying the behavior in user
stories
Collaboration – “Specification by example”
#QAFFUSA
A collaborative approach to define requirements and business-oriented tests.
Capture and illustrate requirements using realistic
examples rather than abstract statements
Advantages:
• Humans understand concrete examples and derive
concepts from that
• Less feedback loops, less re-work, higher quality,
faster turnaround, better alignment of roles on a project.
SBE was coined in 2004 by Martin Fowler:
https://martinfowler.com/bliki/SpecificationByExample.html
One of the authors of the Agile Manifesto
1.Start with the wide end of the tie on the right and the small end on the left. The tip of the small end should
rest slightly above your belly-button (this will vary depending on your height and the length & thickness of
your tie). Only move the active (wide) end.
2.Wide end over the small end to the left.
3.Up into the neck loop from underneath.
4.Down to the left.
5.Around the back of the small end to the right.
6.Up to the center, towards neck loop.
7.Through the neck loop and down to the right.
8.Across the front to the left.
9.Up into the neck loop from underneath.
10.Down through the loop you've just created in the front.
11.Tighten the knot by pulling down on the wide end. Slide the knot up & adjust. ”
“How to tie a simple necktie knot”
“How to tie a simple knot”
In Specification By Example format:
1 2 4 6
3 5
The rule of THREE
1. Clear, explicit title
1. As a <role/who>
I want <feature/what>
So that <value/why>
3. Acceptance criteria
Given – a set of preconditions
When – an event occurs
Then – an outcome is achieved
Developer QABA
Project example - Risk Engine
Car insurance premium calculator
??? Requirements
??? Requirements Examples
Car insurance premium calculator
Project example
Executable specification
???
Examples System
???
Examples System
???
Examples System
Start of the project
???
Examples
$100
Version 0.2
Next version
$100
Examples Version 1.0
It’s working
Examples Working
software
Examples
A Method That Creates Working Software
Working
software
Examples
Machine Learning
BDD Limitations from our Experience
QA
Rather than putting the essence of BDD as a method to
good use on a project to enjoy its full potential, let’s
instead issue a requirement that QA use Gherkin. That
way we can say that we have implemented BDD and are
in good shape.
1. Misusing a good thing one way…
Or, instead of creating a meaningful User Story that’s
understood by everyone, let’s make it a requirement to
mainly focus on the format (Given, When, Then) and not
so much on the essence. As long as we have the right
format, we are good.
As a User Story producer
I want to implement various requirements
So that we fully meet all requirements
2. Senseless User story
Trading system
Trading system
The Fourth Amigo
Developer QABA Production
Logs
3. Not Using Production Logs
BDD limitations for testing trading systems
Given – a set of preconditions
• The complexity of settings and static data
4. Hard to use for dynamic distributed
systems with undetermined results
You are in a cockpit
Given – a set of preconditions
•The complexity of settings and static data
When – an event occurs
•High load and asynchronous message processing
BDD limitations for testing trading systems
Given – a set of preconditions
•The complexity of settings and static data
When – when an event occurs
•High load and asynchronous message processing
Then – outcome is achieved
•Undetermined result
•Many details
•May need a model
BDD limitations for testing trading systems
Some testers believe that disclosing all test scenarios to a
developer would be cheating.
Some developers and agile gurus object saying that it’s silly.
Can you imagine what a valid reason could be for hiding test
scenarios from the developer?
5. Should they know all scenarios?
QA
It is sometimes useful to not know the
test scenarios QA is going to use as
this can stimulate thought process to
create a more reliable system.
DeveloperBA
Thought process
This way?
No, this way:
I.e. “a product with just enough features to satisfy early customers, and
to provide feedback for future product development”
Building a minimum viable product
Specification by Example
Test library applicable to test the minimum viable
product may not be entirely applicable to test its
current version
6. BDD test library limitations
To summarize a few that we see:
1.Misuse of BDD Instruments
2.Senseless User Story - focus on format rather than the meaning;
3.Not using production logs - using imagination instead of real information of how the
system actually work;
4.Hard to use for dynamic distributed systems with undetermined results, e.g. trading or
post-trade systems;
5.It is sometimes better to not know all scenarios in advance;
6.Test library applicable to test the end product may not applicable to test current
version.
BDD limitations from our experience
Model-based testing
EXTENT VIII - 17 September 2019, London
A forum for specialists working in the
global financial markets industry
to share innovative trading technology ideas,
expertise and education.
www.extentconf.com

More Related Content

ODP
Introduction to BDD
PPTX
Quality Jam: BDD, TDD and ATDD for the Enterprise
PPT
Behavior Driven Development Pros and Cons
PPTX
Scrum + Behavior Driven Development (BDD) - Colombo
PDF
An introduction to Behavior-Driven Development (BDD)
PDF
Introduction to TDD and BDD
PPTX
Agile tour ncr test360_degree - agile testing on steroids
PDF
What is Agile Testing?
Introduction to BDD
Quality Jam: BDD, TDD and ATDD for the Enterprise
Behavior Driven Development Pros and Cons
Scrum + Behavior Driven Development (BDD) - Colombo
An introduction to Behavior-Driven Development (BDD)
Introduction to TDD and BDD
Agile tour ncr test360_degree - agile testing on steroids
What is Agile Testing?

What's hot (20)

PDF
Behavior Driven Development (BDD)
PPTX
Automated agile testing using Cucumber
PPTX
Testing in agile
PPTX
Quality Assurance to Test Engineering – Insights From our Journey by Oksana S...
PPTX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
PDF
Agile Metrics to Boost Software Quality improvement
PPT
Software Testing with Agile Requirements Practices
PPTX
Acceptance Test Driven Development
PPTX
Agile Testing by Example
PPTX
Running Automated Acceptance Tests On Rancher
PDF
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
ODP
Automating good coding practices
PPTX
Test Driven Development presentation delhi meetup
PPTX
Journey of atdd
PPTX
Introduction to Agile Testing
PDF
BDD in Action - building software that matters
PPTX
Runing JMeter Tests On Rancher
PPTX
Agile test tools
PDF
Sanitized tb swstmppp1516july
PDF
TDD vs. ATDD - What, Why, Which, When & Where
Behavior Driven Development (BDD)
Automated agile testing using Cucumber
Testing in agile
Quality Assurance to Test Engineering – Insights From our Journey by Oksana S...
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Agile Metrics to Boost Software Quality improvement
Software Testing with Agile Requirements Practices
Acceptance Test Driven Development
Agile Testing by Example
Running Automated Acceptance Tests On Rancher
Emily Bache - Readable, Executable Requirements: Hands-On - EuroSTAR 2013
Automating good coding practices
Test Driven Development presentation delhi meetup
Journey of atdd
Introduction to Agile Testing
BDD in Action - building software that matters
Runing JMeter Tests On Rancher
Agile test tools
Sanitized tb swstmppp1516july
TDD vs. ATDD - What, Why, Which, When & Where
Ad

Similar to Behaviour Driven Development: Oltre i limiti del possibile (20)

PDF
Expo qa from user stories to automated acceptance tests with bdd
PDF
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
PDF
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
PPTX
Topic tdd-and-bdd b4usolution
PPTX
Bdd. Automate your requirements
PPTX
Introduction to BDD
PPT
Bdd with m spec
PPTX
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
PPTX
Behaviour Driven Development V 0.1
PDF
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
PPTX
Gateway to Agile: XP and BDD
PPTX
Руслан Плахута - Внедрение BDD в распределенные команды
PDF
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
KEY
Bahaviour Driven Development
PPTX
Bdd masterclass
PPTX
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
PDF
BDD in Action – principles, practices and real-world application
PPTX
Behaviour driven development aka bdd
PPTX
Tech breakfast at Lab49
Expo qa from user stories to automated acceptance tests with bdd
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Scrum Bangalore 13th meet up 13 june 2015 - behaviour driven development - vi...
Topic tdd-and-bdd b4usolution
Bdd. Automate your requirements
Introduction to BDD
Bdd with m spec
Building In Quality: The Beauty Of Behavior Driven Development (BDD)
Behaviour Driven Development V 0.1
Mastering BDD - Eran Kinsbruner Workshop Quest 2018
Gateway to Agile: XP and BDD
Руслан Плахута - Внедрение BDD в распределенные команды
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Bahaviour Driven Development
Bdd masterclass
Not Your Grandfather's Requirements-Based Testing Webinar – Robin Goldsmith, ...
BDD in Action – principles, practices and real-world application
Behaviour driven development aka bdd
Tech breakfast at Lab49
Ad

More from Iosif Itkin (20)

PDF
Foundations of Software Testing Lecture 4
PPTX
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
PDF
Exactpro FinTech Webinar - Global Exchanges Test Oracles
PDF
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
PDF
Operational Resilience in Financial Market Infrastructures
PDF
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
PDF
Testing the Intelligence of your AI
PDF
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
PDF
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
PPTX
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
PDF
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
PDF
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
PPTX
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
PDF
QA Community Saratov: Past, Present, Future (2019-02-08)
PDF
Machine Learning and RoboCop Testing
PDF
2018 - Exactpro Year in Review
PPTX
Exactpro Discussion about Joy and Strategy
PPTX
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
PDF
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
PPTX
Sibos 2017: Disruptive functional testing - the next frontier in post-trade s...
Foundations of Software Testing Lecture 4
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Operational Resilience in Financial Market Infrastructures
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
Testing the Intelligence of your AI
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QA Community Saratov: Past, Present, Future (2019-02-08)
Machine Learning and RoboCop Testing
2018 - Exactpro Year in Review
Exactpro Discussion about Joy and Strategy
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
Sibos 2017: Disruptive functional testing - the next frontier in post-trade s...

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PPTX
Cloud computing and distributed systems.
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
A Presentation on Artificial Intelligence
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Modernizing your data center with Dell and AMD
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Spectral efficient network and resource selection model in 5G networks
CIFDAQ's Market Insight: SEC Turns Pro Crypto
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Per capita expenditure prediction using model stacking based on satellite ima...
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Cloud computing and distributed systems.
The Rise and Fall of 3GPP – Time for a Sabbatical?
Chapter 3 Spatial Domain Image Processing.pdf
Encapsulation theory and applications.pdf
Approach and Philosophy of On baking technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
A Presentation on Artificial Intelligence
NewMind AI Monthly Chronicles - July 2025
Encapsulation_ Review paper, used for researhc scholars
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Modernizing your data center with Dell and AMD
Unlocking AI with Model Context Protocol (MCP)
“AI and Expert System Decision Support & Business Intelligence Systems”
Machine learning based COVID-19 study performance prediction
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

Behaviour Driven Development: Oltre i limiti del possibile

  • 1. Behaviour Driven Development (BDD) Oltre i limiti del possibile Anna-Maria Lukina, Marketing Director 23.01.2019
  • 2. EXACTPROExactpro History at a Glance • A specialist firm focused on functional and non functional testing of exchanges, clearing houses, depositories and other market infrastructures • Incorporated in 2009 with 10 people, our company has experienced significant growth as satisfied clients require more services; now employing 550 specialists. • Part of London Stock Exchange Group (LSEG) from May 2015 till January 2018. Exactpro management buyout from LSEG in January 2018. Headquartered in UK, with operations in US, Georgia and Russia. • We provide software testing services for mission critical technology that underpins global financial markets. Our clients are regulated by FCA, Bank of England and their counterparts from other countries.
  • 3. We have a global software Quality Assurance client network
  • 4. • Exactpro serves as the final line of defence before Go-Live for many mission-critical systems • We evaluate the system readiness prior to deployment into external environments • We review relevant defects and risks with our clients • System Types: - Major Exchanges - Huge Post-Trade Infrastructures - Market Data Dissemination systems - Clearing and Settlement systems We are 100% Focused on Testing Market Infrastructures
  • 5. We have developed a Test Automation Framework for Distributed Ledger Technology projects Woodpecker - ClearTH Extension: ● Highly customizable (data source, data types, load, time, interface) ● Easy to transfer to different environments due to its ability to extract data right from the system under test ● Testing scenarios created without humans cover a vast majority of diverse conditions/data combinations ● A productive intersection of functional and non-functional testing approaches ClearTH - an innovative way to test Clearing, Settlement and Back-Office systems. It is a unique Exactpro tool able to simultaneously execute multiple end-to-end test scenarios in batches. ClearTH easily detects abnormal behavior in the system under test and effectively predicts potential issues. It offers many built-in actions to cover the majority of activities in post-trade systems. ● Verifies each stage of the DLC ● Has an integrated schedule ● Automatically runs test scripts ● Creates multiple-day test scenarios ● Performs multiple concurrent tests ● Has integrated simulators ● Supports SWIFT ISO protocol
  • 6. Behavior driven development A software development method • Unit tests should be specified based on the unit’s desired behavior • The desired behavior should be specified in the form of user story specifications written in natural human language • Developers, Business Analysts and QA should collaborate on specifying the behavior in user stories
  • 7. Collaboration – “Specification by example” #QAFFUSA A collaborative approach to define requirements and business-oriented tests. Capture and illustrate requirements using realistic examples rather than abstract statements Advantages: • Humans understand concrete examples and derive concepts from that • Less feedback loops, less re-work, higher quality, faster turnaround, better alignment of roles on a project. SBE was coined in 2004 by Martin Fowler: https://martinfowler.com/bliki/SpecificationByExample.html One of the authors of the Agile Manifesto
  • 8. 1.Start with the wide end of the tie on the right and the small end on the left. The tip of the small end should rest slightly above your belly-button (this will vary depending on your height and the length & thickness of your tie). Only move the active (wide) end. 2.Wide end over the small end to the left. 3.Up into the neck loop from underneath. 4.Down to the left. 5.Around the back of the small end to the right. 6.Up to the center, towards neck loop. 7.Through the neck loop and down to the right. 8.Across the front to the left. 9.Up into the neck loop from underneath. 10.Down through the loop you've just created in the front. 11.Tighten the knot by pulling down on the wide end. Slide the knot up & adjust. ” “How to tie a simple necktie knot”
  • 9. “How to tie a simple knot” In Specification By Example format: 1 2 4 6 3 5
  • 10. The rule of THREE 1. Clear, explicit title 1. As a <role/who> I want <feature/what> So that <value/why> 3. Acceptance criteria Given – a set of preconditions When – an event occurs Then – an outcome is achieved Developer QABA
  • 11. Project example - Risk Engine Car insurance premium calculator ??? Requirements
  • 12. ??? Requirements Examples Car insurance premium calculator Project example
  • 17. Examples Working software Examples A Method That Creates Working Software
  • 19. BDD Limitations from our Experience
  • 20. QA Rather than putting the essence of BDD as a method to good use on a project to enjoy its full potential, let’s instead issue a requirement that QA use Gherkin. That way we can say that we have implemented BDD and are in good shape. 1. Misusing a good thing one way…
  • 21. Or, instead of creating a meaningful User Story that’s understood by everyone, let’s make it a requirement to mainly focus on the format (Given, When, Then) and not so much on the essence. As long as we have the right format, we are good. As a User Story producer I want to implement various requirements So that we fully meet all requirements 2. Senseless User story
  • 24. The Fourth Amigo Developer QABA Production Logs 3. Not Using Production Logs
  • 25. BDD limitations for testing trading systems Given – a set of preconditions • The complexity of settings and static data 4. Hard to use for dynamic distributed systems with undetermined results
  • 26. You are in a cockpit
  • 27. Given – a set of preconditions •The complexity of settings and static data When – an event occurs •High load and asynchronous message processing BDD limitations for testing trading systems
  • 28. Given – a set of preconditions •The complexity of settings and static data When – when an event occurs •High load and asynchronous message processing Then – outcome is achieved •Undetermined result •Many details •May need a model BDD limitations for testing trading systems
  • 29. Some testers believe that disclosing all test scenarios to a developer would be cheating. Some developers and agile gurus object saying that it’s silly. Can you imagine what a valid reason could be for hiding test scenarios from the developer? 5. Should they know all scenarios?
  • 30. QA It is sometimes useful to not know the test scenarios QA is going to use as this can stimulate thought process to create a more reliable system. DeveloperBA Thought process
  • 31. This way? No, this way: I.e. “a product with just enough features to satisfy early customers, and to provide feedback for future product development” Building a minimum viable product
  • 33. Test library applicable to test the minimum viable product may not be entirely applicable to test its current version 6. BDD test library limitations
  • 34. To summarize a few that we see: 1.Misuse of BDD Instruments 2.Senseless User Story - focus on format rather than the meaning; 3.Not using production logs - using imagination instead of real information of how the system actually work; 4.Hard to use for dynamic distributed systems with undetermined results, e.g. trading or post-trade systems; 5.It is sometimes better to not know all scenarios in advance; 6.Test library applicable to test the end product may not applicable to test current version. BDD limitations from our experience
  • 36. EXTENT VIII - 17 September 2019, London A forum for specialists working in the global financial markets industry to share innovative trading technology ideas, expertise and education. www.extentconf.com