SlideShare a Scribd company logo
1 of 92
Download to read offline
@TheMattBrunt
BEHAVIOUR DRIVEN
DEVELOPMENT & BEHAT
TELLING STORIES THROUGH CODE
@TheMattBrunt
Senior Software Engineer
Viva IT
@TheMattBrunt
@PHPem
@TheMattBrunt
BEFORE WE TALK
ABOUT BDD
@TheMattBrunt
LET’S QUICKLY TALK
ABOUT TESTING
@TheMattBrunt
TDD VS BDD
@TheMattBrunt
BDD IS TDD ‘DONE RIGHT’
IT’S OFTEN SAID THAT…
@TheMattBrunt
TDD IS BUILDING
THE THING RIGHT
@TheMattBrunt
BDD IS BUILDING
THE RIGHT THING
@TheMattBrunt
BEHAVIOUR DRIVEN
DEVELOPMENT
@TheMattBrunt
WE’LL BE LOOKING
AT SCENARIO BDD
@TheMattBrunt
BDD IS A SECOND-GENERATION, OUTSIDE-IN, PULL-
BASED, MULTIPLE-STAKEHOLDER, MULTIPLE-
SCALE, HIGH-AUTOMATION, AGILE METHODOLOGY.
DAN NORTH
http://dannorth.net/whats-in-a-story/
@TheMattBrunt
SECOND-GENERATION
BREAK DOWN
@TheMattBrunt
MULTIPLE-STAKEHOLDER
BREAK DOWN
@TheMattBrunt
AGILE METHODOLOGY
BREAK DOWN
@TheMattBrunt
MULTIPLE
STAKEHOLDERS
@TheMattBrunt
CONVERSATIONS
ARE KEY
@TheMattBrunt
HAVING
CONVERSATIONS >
CAPTURING
CONVERSATIONS
AUTOMATING
CONVERSATIONS>
@TheMattBrunt
HAVE CONVERSATIONS
BEFORE YOU START
WRITING CODE
@TheMattBrunt
CAPTURE THE CONVERSATIONS
SO YOU CAN USE THEM TO
DRIVE DEVELOPMENT
@TheMattBrunt
BDD IS THE ART OF USING EXAMPLES IN
CONVERSATIONS TO ILLUSTRATE BEHAVIOUR
LIZ KEOGH
@TheMattBrunt
EXAMPLES ARE
ESSENTIAL
@TheMattBrunt
SO, HOW DO WE
WORK WITH THIS?
@TheMattBrunthttps://github.com/cucumber/cucumber/wiki/Gherkin
GHERKIN DSL
@TheMattBrunt
HUMAN READABLE
GHERKIN IS…
@TheMattBrunt
MULTI-LINGUAL SUPPORT
TOOLS CAN INCLUDE…
@TheMattBrunt
EN-PIRATE
INCLUDING
https://github.com/Behat/Gherkin/blob/master/i18n.php#L313
@TheMattBrunt
KEYWORD BASED
GHERKIN IS…
@TheMattBrunt
LINE ORIENTED
GHERKIN IS…
@TheMattBrunt
DOCUMENTATION
GHERKIN IS…
@TheMattBrunt
AUTOMATION
GHERKIN ALLOWS…
@TheMattBrunt
DEVELOPERS LOVE
AUTOMATION
@TheMattBrunt
WRITING
STORIES
@TheMattBrunt
BE DESCRIPTIVE
@TheMattBrunt
FEATURES ARE
STORIES
@TheMattBrunt
SINGLE FEATURE
PER FILE
@TheMattBrunt
Feature:
As a [role]
I want [feature]
So that [benefit]
@TheMattBrunt
Feature:
In order to [achieve value]
As a [role]
I want [feature]
https://lizkeogh.com/2008/05/14/rip-as-a-i-want-so-that/
@TheMattBrunt
SCENARIOS
@TheMattBrunt
SCENARIOS ARE
EXAMPLES
@TheMattBrunt
EXAMPLES ARE
ESSENTIAL
@TheMattBrunt
MULTIPLE SCENARIOS
FEATURES CAN HAVE
@TheMattBrunt
STEPS
@TheMattBrunt
MULTIPLE STEPS
SCENARIOS HAVE…
@TheMattBrunt
KEYWORDS
@TheMattBrunt
GIVEN
PUTS THE SYSTEM IN A KNOWN STATE
@TheMattBrunt
WHEN
DESCRIBE A KEY ACTION
@TheMattBrunt
THEN
DESCRIBE AN OBSERVABLE OUTCOME
@TheMattBrunt
Given I have a “Large T-Shirt” product
When I add a “Large T-Shirt” to my basket
Then I should have a “Large T-Shirt” in my basket
@TheMattBrunt
AND
THERE’S ALSO…
@TheMattBrunt
BUT
THERE’S ALSO…
@TheMattBrunt
Given I have a “Large T-Shirt” product that costs £9.99
And I have an empty basket
And I am a tax-exempt customer
When I add a “Large T-Shirt” to my basket
Then I should have a “Large T-Shirt” in my basket
And the basket total should be £9.99
But I should not have tax applied to my order
@TheMattBrunt
STORY STRUCTURE:
THE MAKEUP OF A FEATURE
FILE
@TheMattBrunt
Feature: As a customer
I want to be able to add products to my basket
So that I can have a gift for my partner
Scenario: I can add a product to the basket
Given I have a "Large T-Shirt" product
When I add a “Large T-Shirt” to my basket
Then I should have a “Large T-Shirt” in my basket
FEATURE
@TheMattBrunt
SCENARIO
Feature: As a customer
I want to be able to add products to my basket
So that I can have a gift for my partner
Scenario: I can add a product to the basket
Given I have a "Large T-Shirt" product
When I add a “Large T-Shirt” to my basket
Then I should have a “Large T-Shirt” in my basket
@TheMattBrunt
STEP
Feature: As a customer
I want to be able to add products to my basket
So that I can have a gift for my partner
Scenario: I can add a product to the basket
Given I have a "Large T-Shirt" product
When I add a “Large T-Shirt” to my basket
Then I should have a “Large T-Shirt” in my basket
@TheMattBrunt
THIS IS GREAT, BUT HOW DO
WE (DEVELOPERS) WORK
WITH IT?
@TheMattBrunt
STEP DEFINITIONS
@TheMattBrunt
Given I have a “Large T-Shirt” product
When I add that product to my basket
Then I should see that product in my basket
@TheMattBrunt
ARGUMENTS
@TheMattBrunt
@TheMattBrunt
TRANSFORMERS
@TheMattBrunt
@TheMattBrunt
@TheMattBrunt
TAGS
@TheMattBrunt
@TheMattBrunt
HOOKS
@TheMattBrunt
BEFORE & AFTER SUITES,
FEATURES, SCENARIOS, STEPS
HOOKS
@TheMattBrunt
@TheMattBrunt
SUITES &
PROFILES
@TheMattBrunt
TEST FEATURES WITH
DIFFERENT CONFIGURATIONS
SUITES ALLOW YOU TO…
@TheMattBrunt
THEY CAN USE THE SAME FEATURE FILES.
OR THEY CAN USE DIFFERENT FEATURE
FILES
FOR EXAMPLE:
@TheMattBrunt
YOU CAN USE THE SAME FEATURE FILE
TO TEST DIFFERENT IMPLEMENTATIONS
WITH SUITES AND TAGS…
@TheMattBrunt
@TheMattBrunt
@TheMattBrunt
YOU CAN HAVE A UI SUITE THAT USES
DIFFERENT STEP DEFINITIONS THAN A
SERVICE / DOMAIN / LOWER LEVEL SUITE
FOR EXAMPLE:
@TheMattBrunt
@TheMattBrunt
@TheMattBrunt
YOU CAN CHANGE IMPLEMENTATION
WITHOUT CHANGING YOUR
DOCUMENTED BUSINESS RULES
WITH SUITES AND TAGS…
@TheMattBrunt
THIS IS WHERE THE POWER
LIES
FOR ME…
@TheMattBrunt
IMPLEMENTATION CHANGES
MORE FREQUENTLY THAN
BUSINESS RULES
@TheMattBrunt
WRITING A GOOD
STORY
@TheMattBrunt
Scenario: I can add a product to my basket
Given I am on the “/product/1” page
When I press “Add to basket”
Then I should see “Playstation 4”
And I should see £250
BAD STORY
@TheMattBrunt
Scenario: I can add a single product to my basket
Given I have a “Playstation 4” that costs £250
When I add the “Playstation 4” to my basket
Then I should have 1 product in my basket
And the basket total should be £250
BETTER STORY
@TheMattBrunt
Scenario: I can add a product to my basket
Given I am on the “/product/1” page
When I press “Add to basket”
Then I should see “Playstation 4”
And I should see £250
WHAT HAPPENS WHEN THE UI CHANGES TO SAY “ADD TO CART”?
@TheMattBrunt
DON’T WRITE
IMPLEMENTATION IN
FEATURES
@TheMattBrunt
IN SUMMARY
@TheMattBrunt
CONVERSATIONS.
CONVERSATIONS.
CONVERSATIONS.
CONVERSATIONS.
CONVERSATIONS.
@TheMattBrunt
STORIES TOLD BY REAL WORLD EXAMPLES.
USER STORIES AS REQUIREMENTS.
INVOLVE MULTIPLE STAKEHOLDERS.
WRITE FEATURES BEFORE CODE.
WRITE FEATURES WITHOUT IMPLEMENTATION.
@TheMattBrunt
BEGINNING:
HAVE A CONVERSATION, CAPTURE THAT
CONVERSATION
MIDDLE:
AUTOMATE AND IMPLEMENT THAT CONVERSATION
END:
HAPPY STAKEHOLDERS AND WELL BUILT
SOFTWARE
@TheMattBrunt
LINKS & READING
https://cucumber.io/docs
https://adamcod.es/2014/05/15/test-doubles-mock-vs-stub.html
https://github.com/cucumber/cucumber/wiki/Gherkin
http://dannorth.net/whats-in-a-story/
http://dannorth.net/introducing-bdd/
http://lizkeogh.com/category/bdd/
http://lizkeogh.com/2014/01/22/using-bdd-with-legacy-systems/
http://inviqa.com/insights/bdd-guide
https://cucumber.io/blog/2015/03/24/single-source-of-truth
https://github.com/Behat/Gherkin/blob/master/i18n.php#L313
@TheMattBrunt
THANKS FOR
LISTENING
@TheMattBrunt
@TheMattBrunt
@PHPem
matt@mfyu.co.uk
https://joind.in/talk/7c94c

More Related Content

What's hot

The Search Engine Experience
The Search Engine ExperienceThe Search Engine Experience
The Search Engine Experience
Clark T. Bell
 
SearchLove Boston 2013_Annie Cushing_Take Credit where Credit's Due
SearchLove Boston 2013_Annie Cushing_Take Credit where Credit's DueSearchLove Boston 2013_Annie Cushing_Take Credit where Credit's Due
SearchLove Boston 2013_Annie Cushing_Take Credit where Credit's Due
Distilled
 

What's hot (20)

BrightonSEO - A Technical Solution To Content Duplication
BrightonSEO - A Technical Solution To Content DuplicationBrightonSEO - A Technical Solution To Content Duplication
BrightonSEO - A Technical Solution To Content Duplication
 
Amazon and Google: The State of the Algorithms (2017)
Amazon and Google: The State of the Algorithms (2017)Amazon and Google: The State of the Algorithms (2017)
Amazon and Google: The State of the Algorithms (2017)
 
Doing More with Less: Automated, High-Quality Content Generation
Doing More with Less: Automated, High-Quality Content GenerationDoing More with Less: Automated, High-Quality Content Generation
Doing More with Less: Automated, High-Quality Content Generation
 
The Python Cheat Sheet for the Busy Marketer
The Python Cheat Sheet for the Busy MarketerThe Python Cheat Sheet for the Busy Marketer
The Python Cheat Sheet for the Busy Marketer
 
The Search Engine Experience
The Search Engine ExperienceThe Search Engine Experience
The Search Engine Experience
 
The Future of Search - Will Critchlow's presentation at FODM 2013
The Future of Search - Will Critchlow's presentation at FODM 2013The Future of Search - Will Critchlow's presentation at FODM 2013
The Future of Search - Will Critchlow's presentation at FODM 2013
 
SearchLove Boston 2013_Annie Cushing_Take Credit where Credit's Due
SearchLove Boston 2013_Annie Cushing_Take Credit where Credit's DueSearchLove Boston 2013_Annie Cushing_Take Credit where Credit's Due
SearchLove Boston 2013_Annie Cushing_Take Credit where Credit's Due
 
[UserTesting Webinar] Tackling the top 10 mobile commerce design challenges -...
[UserTesting Webinar] Tackling the top 10 mobile commerce design challenges -...[UserTesting Webinar] Tackling the top 10 mobile commerce design challenges -...
[UserTesting Webinar] Tackling the top 10 mobile commerce design challenges -...
 
5 Emerging Trends in Search
5 Emerging Trends in Search5 Emerging Trends in Search
5 Emerging Trends in Search
 
Building a Content Promotion Strategy | Pubcon Vegas 2015
Building a Content Promotion Strategy | Pubcon Vegas 2015Building a Content Promotion Strategy | Pubcon Vegas 2015
Building a Content Promotion Strategy | Pubcon Vegas 2015
 
ASCEND Multichannel Marketing Power Tools
ASCEND Multichannel Marketing Power ToolsASCEND Multichannel Marketing Power Tools
ASCEND Multichannel Marketing Power Tools
 
MOZCON 2017 WINNING WITH CHOICE & INFORMATION SYSTEMS FOR BOTH CRAWLERS & CON...
MOZCON 2017 WINNING WITH CHOICE & INFORMATION SYSTEMS FOR BOTH CRAWLERS & CON...MOZCON 2017 WINNING WITH CHOICE & INFORMATION SYSTEMS FOR BOTH CRAWLERS & CON...
MOZCON 2017 WINNING WITH CHOICE & INFORMATION SYSTEMS FOR BOTH CRAWLERS & CON...
 
Understanding & Facilitating Semantic Search - #SearchFest 2016
Understanding & Facilitating Semantic Search - #SearchFest 2016Understanding & Facilitating Semantic Search - #SearchFest 2016
Understanding & Facilitating Semantic Search - #SearchFest 2016
 
Emerging Trends in Online Search
Emerging Trends in Online SearchEmerging Trends in Online Search
Emerging Trends in Online Search
 
BrightonSEO 2018 - Practical Insights into Winning Epic Featured Snippets
BrightonSEO 2018 - Practical Insights into Winning Epic Featured SnippetsBrightonSEO 2018 - Practical Insights into Winning Epic Featured Snippets
BrightonSEO 2018 - Practical Insights into Winning Epic Featured Snippets
 
Strategies for Mobile Teaching & Learning
Strategies for Mobile Teaching & LearningStrategies for Mobile Teaching & Learning
Strategies for Mobile Teaching & Learning
 
Steve barbarich's seo school 101 backlink variation
Steve barbarich's seo school 101   backlink variationSteve barbarich's seo school 101   backlink variation
Steve barbarich's seo school 101 backlink variation
 
NAP: The One Most Important Thing that Will Set Your Local Business Apart Fro...
NAP: The One Most Important Thing that Will Set Your Local Business Apart Fro...NAP: The One Most Important Thing that Will Set Your Local Business Apart Fro...
NAP: The One Most Important Thing that Will Set Your Local Business Apart Fro...
 
Duplicate Content Myths Types and Ways To Make It Work For You
Duplicate Content Myths Types and Ways To Make It Work For YouDuplicate Content Myths Types and Ways To Make It Work For You
Duplicate Content Myths Types and Ways To Make It Work For You
 
ASCEND Content Marketing Power Tools
ASCEND Content Marketing Power ToolsASCEND Content Marketing Power Tools
ASCEND Content Marketing Power Tools
 

Viewers also liked

BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world application
John Ferguson Smart Limited
 

Viewers also liked (6)

BDD: Telling stories through code [For TechNotts]
BDD: Telling stories through code [For TechNotts]BDD: Telling stories through code [For TechNotts]
BDD: Telling stories through code [For TechNotts]
 
Content Security Policies: Let's Break Stuff
Content Security Policies: Let's Break StuffContent Security Policies: Let's Break Stuff
Content Security Policies: Let's Break Stuff
 
BDD & Behat for Srijan Technologies
BDD & Behat for Srijan TechnologiesBDD & Behat for Srijan Technologies
BDD & Behat for Srijan Technologies
 
CSP - What? Why? How? PHPNW16
CSP - What? Why? How? PHPNW16CSP - What? Why? How? PHPNW16
CSP - What? Why? How? PHPNW16
 
Intro to Gulp
Intro to GulpIntro to Gulp
Intro to Gulp
 
BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world application
 

Similar to PHPNW16 Matt Brunt - BDD & Behat

Similar to PHPNW16 Matt Brunt - BDD & Behat (20)

BDD & Behat for PHPNE
BDD & Behat for PHPNEBDD & Behat for PHPNE
BDD & Behat for PHPNE
 
BDD & Behat for PHPUK
BDD & Behat for PHPUKBDD & Behat for PHPUK
BDD & Behat for PHPUK
 
Becoming Technical: Overcome Your Fear of Coding and Supercharge Your Career
Becoming Technical: Overcome Your Fear of Coding and Supercharge Your CareerBecoming Technical: Overcome Your Fear of Coding and Supercharge Your Career
Becoming Technical: Overcome Your Fear of Coding and Supercharge Your Career
 
Show me the data. Where big data meets PR #PRshow13
Show me the data. Where big data meets PR #PRshow13Show me the data. Where big data meets PR #PRshow13
Show me the data. Where big data meets PR #PRshow13
 
AgileMidwest2018-Goulet-KeynoteCommunicationCodeStrategistsTechnicians
AgileMidwest2018-Goulet-KeynoteCommunicationCodeStrategistsTechniciansAgileMidwest2018-Goulet-KeynoteCommunicationCodeStrategistsTechnicians
AgileMidwest2018-Goulet-KeynoteCommunicationCodeStrategistsTechnicians
 
Question the Status Quo - Martin Eriksson at How to Web
Question the Status Quo - Martin Eriksson at How to WebQuestion the Status Quo - Martin Eriksson at How to Web
Question the Status Quo - Martin Eriksson at How to Web
 
Buyer vs User Personas @ Better Software 2014
Buyer vs User Personas @ Better Software 2014Buyer vs User Personas @ Better Software 2014
Buyer vs User Personas @ Better Software 2014
 
Was Nate Silver Wrong?
Was Nate Silver Wrong? Was Nate Silver Wrong?
Was Nate Silver Wrong?
 
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
Keynote: Sam Newman, Building Microservices | The Tyranny Of Data | Kafka Sum...
 
P Dms Multiscope Amsterdam
P Dms Multiscope AmsterdamP Dms Multiscope Amsterdam
P Dms Multiscope Amsterdam
 
Building Awesome Product Teams
Building Awesome Product TeamsBuilding Awesome Product Teams
Building Awesome Product Teams
 
Empathy through evil thinking - World Interaction Design Day 2018 - Leeds
Empathy through evil thinking - World Interaction Design Day 2018 - LeedsEmpathy through evil thinking - World Interaction Design Day 2018 - Leeds
Empathy through evil thinking - World Interaction Design Day 2018 - Leeds
 
Charlotte's top analytics tips!
Charlotte's top analytics tips!Charlotte's top analytics tips!
Charlotte's top analytics tips!
 
SMX West 2020 - Leveraging Structured Data for Maximum Effect
SMX West  2020 - Leveraging Structured Data for Maximum EffectSMX West  2020 - Leveraging Structured Data for Maximum Effect
SMX West 2020 - Leveraging Structured Data for Maximum Effect
 
SearchLove San Diego 2017 | Rob Bucci | Snooping Into Google's Insights on Se...
SearchLove San Diego 2017 | Rob Bucci | Snooping Into Google's Insights on Se...SearchLove San Diego 2017 | Rob Bucci | Snooping Into Google's Insights on Se...
SearchLove San Diego 2017 | Rob Bucci | Snooping Into Google's Insights on Se...
 
Luminis Session - ML, TechCrunch, Hype, AI and no ironies
Luminis Session - ML, TechCrunch, Hype, AI and no ironiesLuminis Session - ML, TechCrunch, Hype, AI and no ironies
Luminis Session - ML, TechCrunch, Hype, AI and no ironies
 
SaaStr Annual 2017 - Learnings from B2B SaaS (SaaStr101)
SaaStr Annual 2017 - Learnings from B2B SaaS (SaaStr101)SaaStr Annual 2017 - Learnings from B2B SaaS (SaaStr101)
SaaStr Annual 2017 - Learnings from B2B SaaS (SaaStr101)
 
Martin Eriksson — You Are All Product Managers (Turing Fest 2018)
Martin Eriksson — You Are All Product Managers (Turing Fest 2018)Martin Eriksson — You Are All Product Managers (Turing Fest 2018)
Martin Eriksson — You Are All Product Managers (Turing Fest 2018)
 
3 Growth Hacks To Test In Less Than an Hour
3 Growth Hacks To Test In Less Than an Hour3 Growth Hacks To Test In Less Than an Hour
3 Growth Hacks To Test In Less Than an Hour
 
Snooping into Google’s Insights on Searcher Intent: How to Target the Right C...
Snooping into Google’s Insights on Searcher Intent: How to Target the Right C...Snooping into Google’s Insights on Searcher Intent: How to Target the Right C...
Snooping into Google’s Insights on Searcher Intent: How to Target the Right C...
 

More from Matt Brunt

More from Matt Brunt (6)

Content Security Policies: Let's Break Stuff for WordCamp London
Content Security Policies: Let's Break Stuff for WordCamp LondonContent Security Policies: Let's Break Stuff for WordCamp London
Content Security Policies: Let's Break Stuff for WordCamp London
 
CSPs: Let's Break Stuff for PHP Benelux
CSPs: Let's Break Stuff for PHP BeneluxCSPs: Let's Break Stuff for PHP Benelux
CSPs: Let's Break Stuff for PHP Benelux
 
Content Security Policies: Let's Break Stuff @ Scotland PHP
Content Security Policies: Let's Break Stuff @ Scotland PHPContent Security Policies: Let's Break Stuff @ Scotland PHP
Content Security Policies: Let's Break Stuff @ Scotland PHP
 
Content Security Policies: Let's Break Stuff for PHPSW at Bath Digital
Content Security Policies: Let's Break Stuff for PHPSW at Bath DigitalContent Security Policies: Let's Break Stuff for PHPSW at Bath Digital
Content Security Policies: Let's Break Stuff for PHPSW at Bath Digital
 
Content Security Policies: Let's Break Stuff @ PHP London, Sept 2017
Content Security Policies: Let's Break Stuff @ PHP London, Sept 2017Content Security Policies: Let's Break Stuff @ PHP London, Sept 2017
Content Security Policies: Let's Break Stuff @ PHP London, Sept 2017
 
Content Security Policies: Let's Break Stuff @ PHP South Coast 2017
Content Security Policies: Let's Break Stuff @ PHP South Coast 2017Content Security Policies: Let's Break Stuff @ PHP South Coast 2017
Content Security Policies: Let's Break Stuff @ PHP South Coast 2017
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 

Recently uploaded (20)

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
TEST BANK For Principles of Anatomy and Physiology, 16th Edition by Gerard J....
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 

PHPNW16 Matt Brunt - BDD & Behat