SlideShare a Scribd company logo
1 of 70
Download to read offline
1
Microservices.
Test smarter, not harder.
Beth Skurrie (DiUS)
@bethesque
#VoxxedAus2019
A big problem
Problem:
Long time to market
Microservices!
Solved a problem!
New problem...
WHAT WE ARE KNOWN FOR
6
Microservices
Solved problems New problems
● E2E integration tests
○ Slow tests
○ Easy to break
○ Hard to fix
○ Scale badly
○ Lots of set up
○ Flakey tests ignored
○ Takes dev time away
from features
● Feature time to market
A STORY @bethesque
7
@bethesque
To E2E test, or not to E2E test?
A STORY
8
@bethesque
What if there was another way?
9
C P
mock
ANOTHER WAY @bethesque
Consumer tests Provider tests
Integration test
WHAT WE ARE KNOWN FOR
10
Test symmetry
Solved problems New problems
● Hard to keep both sides in
sync
● Fast feedback
● Few dependencies
● No dedicated environment
● Reliable
● Easy to debug
ANOTHER WAY @bethesque
11
C P
mock
ANOTHER WAY @bethesque
12
C P
mock
ANOTHER WAY @bethesque
PPCC
mock
contract
ANOTHER WAY @bethesque
Consumer tests Provider tests
Integration test
14
Message Contract
OTHER TOOLS
C P
contract
@bethesque
WHAT WE ARE KNOWN FOR
15
Contracts
Solved problems New problems
● ???● Keeping tests in sync
ANOTHER WAY @bethesque
How long between writing the
code and finding the bug?
Local
tests
Isolated CI
tests
Deploy E2E
tests
5 mins 15 mins 45 mins 1 hour +
Find
bug
here!
Not
here!
@bethesque
Find integration bugs
early and quickly
Contracts tests
ANOTHER WAY @bethesque
Know before you
commit
Contracts tests
ANOTHER WAY @bethesque
Make changes with
speed and confidence
Contracts tests
ANOTHER WAY @bethesque
Deploy independently
Contracts tests
ANOTHER WAY @bethesque
Better API design
(Consumer)
Contracts tests
ANOTHER WAY @bethesque
Are not functional tests
Contracts tests
ANOTHER WAY @bethesque
Are not an API
specification
Contracts tests
ANOTHER WAY @bethesque
Are not good for “public”
APIs (many, unknown
consumers)
(Consumer)
Contracts tests
ANOTHER WAY @bethesque
Are not a silver bullet!
Contracts tests
ANOTHER WAY @bethesque
27
@bethesque
Business value
Code correctness
28
@bethesque
The Testing Pyramid of Hell
29
@bethesque
WHAT WE ARE KNOWN FOR
30
Speed up your releases
Do less Do more
● Contract testing
● Aggregated logging
● Metrics
● Semantic monitoring
● Alerting
● Correlation IDs
● Integration testing
ANOTHER WAY @bethesque
My contract
testing journey
32
@bethesque
● Open source
● Multiple languages
○ JVM
○ .NET
○ Javascript
○ Python
○ Go
○ + more
pact.io
● HTTP contracts
● Message contracts
33
A B
mock
C P
contract
A CONTRACT TESTING JOURNEY @bethesque
34
A CONTRACT TESTING JOURNEY @bethesque
35
@bethesque
Too many microservices?
You need another microservice!
A CONTRACT TESTING JOURNEY
36
Pact Broker
A CONTRACT TESTING JOURNEY @bethesque
37
@bethesque
Problem 1: Contract exchange
Solution: Pact Broker
A CONTRACT TESTING JOURNEY
38
@bethesque
WHEN
the provider receives
<some request>
THEN
it will return
<some response>
A CONTRACT TESTING JOURNEY
39
@bethesque
WHEN
the provider receives
a GET request for /alligators/Mary
THEN
it will return
a 200 OK response
with a JSON body {“name”: “Mary”}
A CONTRACT TESTING JOURNEY
40
@bethesque
WHEN
the provider receives
a GET request for /alligators/Mary
THEN
it will return
a 404 Not Found
response
a 200 OK
response
A CONTRACT TESTING JOURNEY
41
@bethesque
GIVEN
<the provider is in a certain state>
WHEN
the provider receives
<some request>
THEN
it will return
<some response>
A CONTRACT TESTING JOURNEY
42
@bethesque
Problem 2: Data setup, code coverage
Solution: Provider states
A CONTRACT TESTING JOURNEY
A contract testing
journey
● Automate the contract exchange
● You still need to think about test
data
A CONTRACT TESTING JOURNEY @bethesque
44
@bethesque
Problem 3: brittle tests
A CONTRACT TESTING JOURNEY
45
@bethesque
Problem 3: brittle tests
Solution: flexible matching
A CONTRACT TESTING JOURNEY
A contract testing
journey
● Automate the contract exchange
● You still need to think about test data
● Contracts should focus on the
messages, not the technology
● Contracts should be as flexible as
possible - but no more
A CONTRACT TESTING JOURNEY @bethesque
47
@bethesque
Problem 4: Dealing with
contract changes
A CONTRACT TESTING JOURNEY
48
@bethesque
The other service needs to know when a
contract has changed
Contracts are not a substitute for good
communication between teams
A CONTRACT TESTING JOURNEY
49
@bethesque
Pact Broker webhooks
A CONTRACT TESTING JOURNEY
50
@bethesque
Contracts are STILL not a substitute for
good communication between teams
A CONTRACT TESTING JOURNEY
● Automate the contract exchange
● You still need to think about test data
● Contracts should focus on the
messages, not the technology
● Contracts should be as flexible as
possible - but no more
● The provider needs to know when a
contract has changed
● Remember: contracts are not a
substitute for good communication
between teams
A contract testing
journey
A CONTRACT TESTING JOURNEY @bethesque
52
A CONTRACT TESTING JOURNEY @bethesque
53
@bethesque
Problem 5: Communicating
verification results back to
consumer
A CONTRACT TESTING JOURNEY
54
@bethesque
Pact Broker verifications
A CONTRACT TESTING JOURNEY
55
@bethesqueA CONTRACT TESTING JOURNEY
56
@bethesqueA CONTRACT TESTING JOURNEY
57
@bethesque
If you can’t deploy your services
independently,
you don’t have microservices.
You have a distributed monolith.
A CONTRACT TESTING JOURNEY
Contract
tests
E2E
tests
58
@bethesque
If you can’t deploy your services
independently,
you don’t have microservices.
You have a distributed monolith.
A CONTRACT TESTING JOURNEY
59
@bethesque
If you can’t deploy your services
independently,
you don’t have microservices.
You have a distributed monolith.
A CONTRACT TESTING JOURNEY
Warning!
Do not build a
distributed monolith
60
Consumer
version
Provider
version
Verification
result
11 54 success
12 54 failure
12 55 success
13 56 success
13 57 failure
“The Matrix”
A CONTRACT TESTING JOURNEY @bethesque
61
Consumer
version
Provider
version
Verification
result
11 ✓ 54 PROD. success
12 54 failure
12 55 success
13 56 success
13 57 unknown
Can I deploy?
A CONTRACT TESTING JOURNEY @bethesque
62
A CONTRACT TESTING JOURNEY @bethesque
63
A CONTRACT TESTING JOURNEY @bethesque
64
@bethesque
What about Swagger/OAS?
OTHER TOOLS
65
Provider contracts
OTHER TOOLS @bethesque
66
Consumer contracts
OTHER TOOLS @bethesque
67
A B
mock/write
C P
pact swagger
verify
verify
Pact+Swagger
OTHER TOOLS @bethesque
● OAS support
● Improved Broker workflow
What are the next
problems to
solve for
Pact?
ANOTHER WAY @bethesque
WHAT WE ARE KNOWN FOR
69
Contracts
Solved problems New problems
● ???● Shipping code faster
@bethesque
70
pact.io
pactflow.io
slack.pact.io
@pact_up
Microservices.
Test smarter, not harder
Beth Skurrie (DiUS)
@bethesque
#VoxxedAus2019

More Related Content

What's hot

Observability for modern applications
Observability for modern applications  Observability for modern applications
Observability for modern applications MoovingON
 
Testing Microservices
Testing MicroservicesTesting Microservices
Testing MicroservicesNagarro
 
Microservices, DevOps & SRE
Microservices, DevOps & SREMicroservices, DevOps & SRE
Microservices, DevOps & SREAraf Karsh Hamid
 
Making the Transition from Manual to Automated Testing
Making the Transition from Manual to Automated TestingMaking the Transition from Manual to Automated Testing
Making the Transition from Manual to Automated TestingSauce Labs
 
Marlabs Services Capabilities Overview
Marlabs Services Capabilities OverviewMarlabs Services Capabilities Overview
Marlabs Services Capabilities OverviewMarlabs
 
Domain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) DistilledDomain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) DistilledNicola Costantino
 
Observability For Modern Applications
Observability For Modern ApplicationsObservability For Modern Applications
Observability For Modern ApplicationsAmazon Web Services
 
An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)Usersnap
 
Azure Devops Build Tools for Powerapps
Azure Devops Build Tools for PowerappsAzure Devops Build Tools for Powerapps
Azure Devops Build Tools for PowerappsJoost Veldhuis, MSc
 
Platform Engineering
Platform EngineeringPlatform Engineering
Platform EngineeringOpsta
 
Code coverage & tools
Code coverage & toolsCode coverage & tools
Code coverage & toolsRajesh Kumar
 
Designing APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven DesignDesigning APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven DesignLaunchAny
 
Test Cases Maintaining & Documenting
Test Cases Maintaining & DocumentingTest Cases Maintaining & Documenting
Test Cases Maintaining & DocumentingSeyed Ali Marjaie
 

What's hot (20)

Observability for modern applications
Observability for modern applications  Observability for modern applications
Observability for modern applications
 
Getting Ready for UAT
Getting Ready for UATGetting Ready for UAT
Getting Ready for UAT
 
Testing Microservices
Testing MicroservicesTesting Microservices
Testing Microservices
 
Microservices, DevOps & SRE
Microservices, DevOps & SREMicroservices, DevOps & SRE
Microservices, DevOps & SRE
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 
Making the Transition from Manual to Automated Testing
Making the Transition from Manual to Automated TestingMaking the Transition from Manual to Automated Testing
Making the Transition from Manual to Automated Testing
 
Marlabs Services Capabilities Overview
Marlabs Services Capabilities OverviewMarlabs Services Capabilities Overview
Marlabs Services Capabilities Overview
 
QA in Agile World
QA in Agile WorldQA in Agile World
QA in Agile World
 
Domain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) DistilledDomain Driven Design (Ultra) Distilled
Domain Driven Design (Ultra) Distilled
 
Observability For Modern Applications
Observability For Modern ApplicationsObservability For Modern Applications
Observability For Modern Applications
 
Azure Pipelines
Azure PipelinesAzure Pipelines
Azure Pipelines
 
An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)An Overview of User Acceptance Testing (UAT)
An Overview of User Acceptance Testing (UAT)
 
Azure Devops Build Tools for Powerapps
Azure Devops Build Tools for PowerappsAzure Devops Build Tools for Powerapps
Azure Devops Build Tools for Powerapps
 
Platform Engineering
Platform EngineeringPlatform Engineering
Platform Engineering
 
Jira overview
Jira overviewJira overview
Jira overview
 
Software development life cycle (sdlc) overview
Software development life cycle (sdlc) overviewSoftware development life cycle (sdlc) overview
Software development life cycle (sdlc) overview
 
Code coverage & tools
Code coverage & toolsCode coverage & tools
Code coverage & tools
 
Designing APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven DesignDesigning APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven Design
 
Track code quality with SonarQube
Track code quality with SonarQubeTrack code quality with SonarQube
Track code quality with SonarQube
 
Test Cases Maintaining & Documenting
Test Cases Maintaining & DocumentingTest Cases Maintaining & Documenting
Test Cases Maintaining & Documenting
 

Similar to Microservices. Test smarter, not harder. Voxxed Days 2019

Microservices: test smarter not harder (LAST Conference 2018)
Microservices: test smarter not harder (LAST Conference 2018)Microservices: test smarter not harder (LAST Conference 2018)
Microservices: test smarter not harder (LAST Conference 2018)Beth Skurrie
 
5 Steps to Detecting Issues Earlier in Your Release Cycles
 5 Steps to Detecting Issues Earlier in Your Release Cycles 5 Steps to Detecting Issues Earlier in Your Release Cycles
5 Steps to Detecting Issues Earlier in Your Release CyclesPerfecto by Perforce
 
Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentRaj Indugula
 
BoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & Engineering
BoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & EngineeringBoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & Engineering
BoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & EngineeringBusiness of Software Conference
 
Software quality - no more bugs!
Software quality - no more bugs!Software quality - no more bugs!
Software quality - no more bugs!Arnon Axelrod
 
Indy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-muleIndy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-muleikram_ahamed
 
Westrich spock-assets-gum
Westrich spock-assets-gumWestrich spock-assets-gum
Westrich spock-assets-gumBrian Westrich
 
Delivering react app with confidence: Testing Pyramid
Delivering react app with confidence: Testing PyramidDelivering react app with confidence: Testing Pyramid
Delivering react app with confidence: Testing PyramidSeven Peaks Speaks
 
2019-01-8 - Consumer Driven Contracts at Codefreeze
2019-01-8 - Consumer Driven Contracts at Codefreeze2019-01-8 - Consumer Driven Contracts at Codefreeze
2019-01-8 - Consumer Driven Contracts at CodefreezeNelis Boucké
 
Consumer driven contracts
Consumer driven contractsConsumer driven contracts
Consumer driven contractsNelis Boucké
 
How to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsHow to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsDynatrace
 
Blockchain in enterprise - Challenges, Considerations and Designs
Blockchain in enterprise - Challenges, Considerations and DesignsBlockchain in enterprise - Challenges, Considerations and Designs
Blockchain in enterprise - Challenges, Considerations and DesignsMichael Chi
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven DevelopmentMichael Denomy
 
Magento Live 2014 Customer Expectation Presentation
Magento Live 2014 Customer Expectation PresentationMagento Live 2014 Customer Expectation Presentation
Magento Live 2014 Customer Expectation PresentationBrent W Peterson
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDDdevObjective
 
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationOrtus Solutions, Corp
 
Pull requests do's and don'ts
Pull requests do's and don'tsPull requests do's and don'ts
Pull requests do's and don'tsArie Bregman
 

Similar to Microservices. Test smarter, not harder. Voxxed Days 2019 (20)

Microservices: test smarter not harder (LAST Conference 2018)
Microservices: test smarter not harder (LAST Conference 2018)Microservices: test smarter not harder (LAST Conference 2018)
Microservices: test smarter not harder (LAST Conference 2018)
 
Ian Cooper webinar for DDD Iran: Kent beck style tdd seven years after
Ian Cooper webinar for DDD Iran: Kent beck style tdd   seven years afterIan Cooper webinar for DDD Iran: Kent beck style tdd   seven years after
Ian Cooper webinar for DDD Iran: Kent beck style tdd seven years after
 
5 Steps to Detecting Issues Earlier in Your Release Cycles
 5 Steps to Detecting Issues Earlier in Your Release Cycles 5 Steps to Detecting Issues Earlier in Your Release Cycles
5 Steps to Detecting Issues Earlier in Your Release Cycles
 
Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile Environment
 
BoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & Engineering
BoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & EngineeringBoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & Engineering
BoSUSA23 | Chris Spiek & Justin Dickow | Autobooks Product & Engineering
 
Software quality - no more bugs!
Software quality - no more bugs!Software quality - no more bugs!
Software quality - no more bugs!
 
Protractor: Tips & Tricks
Protractor: Tips & TricksProtractor: Tips & Tricks
Protractor: Tips & Tricks
 
Indy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-muleIndy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-mule
 
Westrich spock-assets-gum
Westrich spock-assets-gumWestrich spock-assets-gum
Westrich spock-assets-gum
 
Delivering react app with confidence: Testing Pyramid
Delivering react app with confidence: Testing PyramidDelivering react app with confidence: Testing Pyramid
Delivering react app with confidence: Testing Pyramid
 
2019-01-8 - Consumer Driven Contracts at Codefreeze
2019-01-8 - Consumer Driven Contracts at Codefreeze2019-01-8 - Consumer Driven Contracts at Codefreeze
2019-01-8 - Consumer Driven Contracts at Codefreeze
 
Consumer driven contracts
Consumer driven contractsConsumer driven contracts
Consumer driven contracts
 
How to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOpsHow to Better Manage Technical Debt While Innovating on DevOps
How to Better Manage Technical Debt While Innovating on DevOps
 
Blockchain in enterprise - Challenges, Considerations and Designs
Blockchain in enterprise - Challenges, Considerations and DesignsBlockchain in enterprise - Challenges, Considerations and Designs
Blockchain in enterprise - Challenges, Considerations and Designs
 
Introduction to Test Driven Development
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
 
Magento Live 2014 Customer Expectation Presentation
Magento Live 2014 Customer Expectation PresentationMagento Live 2014 Customer Expectation Presentation
Magento Live 2014 Customer Expectation Presentation
 
Intro to TDD & BDD
Intro to TDD & BDDIntro to TDD & BDD
Intro to TDD & BDD
 
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous IntegrationITB2015 - Behavior Driven Development, Automation and Continuous Integration
ITB2015 - Behavior Driven Development, Automation and Continuous Integration
 
2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd2015 in tothebox-introtddbdd
2015 in tothebox-introtddbdd
 
Pull requests do's and don'ts
Pull requests do's and don'tsPull requests do's and don'ts
Pull requests do's and don'ts
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

Microservices. Test smarter, not harder. Voxxed Days 2019