際際滷

際際滷Share a Scribd company logo
Break Up the Monolith: Testing
Microservices
February 22nd, 2019
What to take away
2
 Understand the phases of microservice
implementation
 Insight into the decisions being made
 Where you fit in (primarily as QA)
 Actions you can take during the various phases
 Your responsibility to the organd your users
@mmerrell
DECISIONS & PLANNING
What is my responsibility during planning?
4@mmerrell
 Sit in the meetings
 Be a part of the plan
 Understand the decisions
 Educate yourself about the stack
 Establish rapport with everyone
 (you should already be doing this, btw)
 How is testing different in a microservice?
 Data modeling/creation
 Mocking
 Performance
 Contracts
To rewrite, or
not to rewrite?
5@mmerrell
...the single worst strategic
mistake...
6https://bit.ly/2iF64Qm @mmerrell
Joel Spolsky
7https://bit.ly/2MFDQke @mmerrell
8
QUESTIONS
It is your responsibility...
10
 To ask questions
 To push for testability
 To think about system interactions
 To consider how to release
The org wont automatically know these things. You are
the experts, and the org is counting on you!
@mmerrell
Is it better as a microservice?
11@mmerrell
12
Arent Microservices Always Better?
Monolith
 Pros
 It was already working
 Unified tech stack
 Unified developer/tester
ergonomics
 Cons
 Harder to fix bugs
 Hard to make big changes
Microservices
 Pros
 Developers in different areas
can use the best tool for them
 Release independently
 Cons
 Hard to coordinate multi-system
releases
 Teams get disconnected
@mmerrell
Is it Testable?
13@mmerrell
Testability
14@mmerrell
 Can you test it? Are there hooks in the code for you?
 Do you have access to the code?
 Can endpoints be added for testability?
 How are the unit tests?
 Basic Authentication in lower environments?
 Are there 3rd party tools/vendors involved?
Is the contract published?
15@mmerrell
16@mmerrell
17@mmerrell
Are the
endpoints
versioned?
18@mmerrell
Versioned endpoints pin your
users to a version of the contract...
19
...allowing you to minimize
unintentional breakage
@mmerrell
Version
20@mmerrell
Your
21@mmerrell
Endpoints
22@mmerrell
http://yourdomain.io/v2/accounts/create
23@mmerrell
Are you using
feature flags?
24@mmerrell
Feature flags allow you to release to
production in an off state
25@mmerrell
Use
26@mmerrell
Feature
27@mmerrell
Flags
28@mmerrell
29
Are your processes
asynchronous?
30@mmerrell
Understand
31@mmerrell
Synchronicity
32@mmerrell
33
https://bit.ly/2K94FzF
@mmerrell
Hows that pyramid lookin? 34@mmerrell
What should it look like? 35@mmerrell
DEVELOPMENT
What is my responsibility during development?
37
 Hold Product/Eng accountable for the previous questions
 Identify risks as they arise
 Set expectations
 Identify in-flows/out-flows of data
 Mock API calls to other microservices
@mmerrell
What is my responsibility during development?
38
 Oh yeah, TEST!
 Test to the contracts
 Understand the unit/integration testing devs are doing
 Understand, assist with or create CI builds
 Ideally, automate tickets as you verify
 Always think about & communicate risks!
@mmerrell
Normal activities, different in Microservice-land
39
 Data generation
 Mocking
 Sharing with other teams
 Other teams depend on you and your dates
 Help them understand what can be done in parallel
@mmerrell
Test Data Generation & Mocking
40
 You will need to generate data for testing
 You should provide tooling for other teams to do the same
with your system
 Integration testing might require Mocking other services
 Mock based on Swagger docs
 Test against dedicated environments (ideally)
@mmerrell
DEPLOYMENT/RELEASE
What is my responsibility during release?
42
YOU ARE THE CRITICAL PATH
@mmerrell
What is my responsibility during release?
43
Specifically, though:
 Understand the upstream/downstream changes
 Ensure new contracts are published
 Communicate changes
 Understand/communicate feature flags to be flipped, in
sequence, and when
@mmerrell
Definition of Done
44
 Give input into the Definition of Done
 Ideally this comes from Product
 If DoD isnt being written, YOU SHOULD WRITE IT
 Test plans feed directly into the DoD
 DoD defines user/product state, NOT dev state
@mmerrell
Definition of Done - Examples
45
Bad Example
At the end of this milestone, all tickets
will be in Pending Release, test plans
will be executed and passing, and
stakeholders will be alerted as to the
release date. No outstanding bugs at
Sev2 or above.
Good Example
At the end of this milestone, all users
will use the new security procedure for
login and password creation. Legacy
data will still be allowed to flow for older
OS versions until legacy traffic falls
below defined threshold of 0.5%.
@mmerrell
Definition of Done - Examples
46
Bad Example
At the end of this milestone, all tickets
will be in Pending Release, test plans
will be executed and passing, and
stakeholders will be alerted as to the
release date. No outstanding bugs at
Sev2 or above.
Good Example
At the end of this milestone, all users
will use the new security procedure for
login and password creation. Legacy
data will still be allowed to flow for older
OS versions until legacy traffic falls
below defined threshold of 0.5%.
@mmerrell
This is why QA is seen as a bottleneck
47
 Because we dont stay engaged from the beginning
 Because we wait for features to be handed to us
 Because management doesnt understand our value-
propthey just know it has to be tested
 What is taking so long??
 If were involved the whole time, theres no mystery
@mmerrell
Story time!
48
(but first, some terms)
@mmerrell
49
PII - Personally Identifiable Information
https://bit.ly/2KgjUpN @mmerrell
50
JWT - Javascript Web Token
https://jwt.io @mmerrell
51
GraphQL
https://graphql.org/ @mmerrell
52
And now, a Monolith
(Not to scale)
53
...Microserviced
54
In the before time
 We didnt store PII
 We didnt need super-strong security
 8-digit hashed tokens (e.g. user=8cba496e)
 Email Address only
 Pre-GDPR
@mmerrell
55
Introducing JWTs!
56
The initial plan
57
The screenplay
58
Milestone SequenceScene 1
@mmerrell
59
Milestone SequenceScene 2, DoD
@mmerrell
60
What did we learn?
Risk Mitigation
 Rollbacks for every step
 Figure out stopping points
 Consider external departments
 Get head nod from EVERYONE
 Test until its BORING
 Sunset plan for legacy services
 Measure, measure, measure
 Dont include development
timelines
 Have a meaningful retrospective
 Maybe have multiple
Assume Nothing
@mmerrell
61
So how did we do?
 13 services
 9 scheduled run-throughs
 8 teams
 Over 200,000 logins per day
 Zero reported defects during week of
release
@mmerrell
62
More conclusions
 I lobbied for this to be my full-time job
 I was told, we should never have to do
this again
 They were right about should
 But it kept happening
It will keep happening
@mmerrell
CONCLUSIONS
64
Conclusions
 This is a pendulum, not a gate
 Expect more changes to conventional wisdom
 It is possible, even likely, that your org will over-
do it
 You have a unique opportunity to guide this
conversation
@mmerrell
65
Conclusions
 As testers, we hold this transition in our hands
 QA is no longer a single-function discipline
(it never really was)
 This is where we become thought-leaders, not
just reactive test-bots
@mmerrell
QUESTIONS?
67
More links and resources
 https://martinfowler.com/articles/break-monolith-into-microservices.html
@mmerrell

More Related Content

Similar to Break up the Monolith: Testing Microservices (20)

Top Tips Every Notes Developer Needs To Know
Top Tips Every Notes Developer Needs To KnowTop Tips Every Notes Developer Needs To Know
Top Tips Every Notes Developer Needs To Know
Kathy Brown
Agile contract for working software
Agile contract for working softwareAgile contract for working software
Agile contract for working software
Joshua Lai
The working architecture of node js applications open tech week javascript ...
The working architecture of node js applications   open tech week javascript ...The working architecture of node js applications   open tech week javascript ...
The working architecture of node js applications open tech week javascript ...
Viktor Turskyi
The working architecture of NodeJS applications, 亳从仂 丐从亳亶
The working architecture of NodeJS applications, 亳从仂 丐从亳亶The working architecture of NodeJS applications, 亳从仂 丐从亳亶
The working architecture of NodeJS applications, 亳从仂 丐从亳亶
Sigma Software
How to be your Security Team's Best Friend
How to be your Security Team's Best FriendHow to be your Security Team's Best Friend
How to be your Security Team's Best Friend
EmilyGladstoneCole
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdfTomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
Tomasz Poszytek
QCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented DevelopmentQCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented Development
Ambassador Labs
Why more than half of ML models don't make it to production
Why more than half of ML models don't make it to productionWhy more than half of ML models don't make it to production
Why more than half of ML models don't make it to production
cnvrg.io AI OS - Hands-on ML Workshops
Working With Legacy Code
Working With Legacy CodeWorking With Legacy Code
Working With Legacy Code
Andrea Polci
Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"
Fwdays
Building A Machine Learning Platform At Quora (1)
Building A Machine Learning Platform At Quora (1)Building A Machine Learning Platform At Quora (1)
Building A Machine Learning Platform At Quora (1)
Nikhil Garg
Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016
Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016
Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016
MLconf
Sydney mule soft meetup 30 april 2020
Sydney mule soft meetup   30 april 2020Sydney mule soft meetup   30 april 2020
Sydney mule soft meetup 30 april 2020
Royston Lobo
Lessons Learned from Migrating Legacy Enterprise Applications to Microservices
Lessons Learned from Migrating Legacy Enterprise Applications to MicroservicesLessons Learned from Migrating Legacy Enterprise Applications to Microservices
Lessons Learned from Migrating Legacy Enterprise Applications to Microservices
VMware Tanzu
Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!
Puppet
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Marcin Grzejszczak
Creando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCreando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUG
C辿sar Hern叩ndez
DevSecCon Singapore 2018 - Remove developers shameful secrets or simply rem...
DevSecCon Singapore 2018 -  Remove developers shameful secrets or simply rem...DevSecCon Singapore 2018 -  Remove developers shameful secrets or simply rem...
DevSecCon Singapore 2018 - Remove developers shameful secrets or simply rem...
DevSecCon
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar
Applitools
A Tester's Life
A Tester's LifeA Tester's Life
A Tester's Life
Bertold Kolics
Top Tips Every Notes Developer Needs To Know
Top Tips Every Notes Developer Needs To KnowTop Tips Every Notes Developer Needs To Know
Top Tips Every Notes Developer Needs To Know
Kathy Brown
Agile contract for working software
Agile contract for working softwareAgile contract for working software
Agile contract for working software
Joshua Lai
The working architecture of node js applications open tech week javascript ...
The working architecture of node js applications   open tech week javascript ...The working architecture of node js applications   open tech week javascript ...
The working architecture of node js applications open tech week javascript ...
Viktor Turskyi
The working architecture of NodeJS applications, 亳从仂 丐从亳亶
The working architecture of NodeJS applications, 亳从仂 丐从亳亶The working architecture of NodeJS applications, 亳从仂 丐从亳亶
The working architecture of NodeJS applications, 亳从仂 丐从亳亶
Sigma Software
How to be your Security Team's Best Friend
How to be your Security Team's Best FriendHow to be your Security Team's Best Friend
How to be your Security Team's Best Friend
EmilyGladstoneCole
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdfTomaszPoszytek_ALM-Fundamentals_SS2023.pdf
TomaszPoszytek_ALM-Fundamentals_SS2023.pdf
Tomasz Poszytek
QCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented DevelopmentQCon SF 2017 - Microservices: Service-Oriented Development
QCon SF 2017 - Microservices: Service-Oriented Development
Ambassador Labs
Working With Legacy Code
Working With Legacy CodeWorking With Legacy Code
Working With Legacy Code
Andrea Polci
Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"Viktor Turskyi "Effective NodeJS Application Development"
Viktor Turskyi "Effective NodeJS Application Development"
Fwdays
Building A Machine Learning Platform At Quora (1)
Building A Machine Learning Platform At Quora (1)Building A Machine Learning Platform At Quora (1)
Building A Machine Learning Platform At Quora (1)
Nikhil Garg
Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016
Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016
Nikhil Garg, Engineering Manager, Quora at MLconf SF 2016
MLconf
Sydney mule soft meetup 30 april 2020
Sydney mule soft meetup   30 april 2020Sydney mule soft meetup   30 april 2020
Sydney mule soft meetup 30 april 2020
Royston Lobo
Lessons Learned from Migrating Legacy Enterprise Applications to Microservices
Lessons Learned from Migrating Legacy Enterprise Applications to MicroservicesLessons Learned from Migrating Legacy Enterprise Applications to Microservices
Lessons Learned from Migrating Legacy Enterprise Applications to Microservices
VMware Tanzu
Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!Stop Sucking at Building Stuff!
Stop Sucking at Building Stuff!
Puppet
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Continuous Deployment To The Cloud With Spring Cloud Pipelines @WarsawCloudNa...
Marcin Grzejszczak
Creando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUGCreando microservicios con Java y Microprofile - Nicaragua JUG
Creando microservicios con Java y Microprofile - Nicaragua JUG
C辿sar Hern叩ndez
DevSecCon Singapore 2018 - Remove developers shameful secrets or simply rem...
DevSecCon Singapore 2018 -  Remove developers shameful secrets or simply rem...DevSecCon Singapore 2018 -  Remove developers shameful secrets or simply rem...
DevSecCon Singapore 2018 - Remove developers shameful secrets or simply rem...
DevSecCon
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar
Applitools

More from Marcus Merrell (6)

How, why, and the roi kcdc '21
How, why, and the roi  kcdc '21How, why, and the roi  kcdc '21
How, why, and the roi kcdc '21
Marcus Merrell
SeleniumCamp 2020 - Shift Right and Observability
SeleniumCamp 2020 - Shift Right and ObservabilitySeleniumCamp 2020 - Shift Right and Observability
SeleniumCamp 2020 - Shift Right and Observability
Marcus Merrell
Selenium 4 ukraine keynote slides
Selenium 4 ukraine keynote   slidesSelenium 4 ukraine keynote   slides
Selenium 4 ukraine keynote slides
Marcus Merrell
Grading the Quality of Selenium Tests
Grading the Quality of Selenium TestsGrading the Quality of Selenium Tests
Grading the Quality of Selenium Tests
Marcus Merrell
Selenium grid workshop london 2016
Selenium grid workshop london 2016Selenium grid workshop london 2016
Selenium grid workshop london 2016
Marcus Merrell
User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015
Marcus Merrell
How, why, and the roi kcdc '21
How, why, and the roi  kcdc '21How, why, and the roi  kcdc '21
How, why, and the roi kcdc '21
Marcus Merrell
SeleniumCamp 2020 - Shift Right and Observability
SeleniumCamp 2020 - Shift Right and ObservabilitySeleniumCamp 2020 - Shift Right and Observability
SeleniumCamp 2020 - Shift Right and Observability
Marcus Merrell
Selenium 4 ukraine keynote slides
Selenium 4 ukraine keynote   slidesSelenium 4 ukraine keynote   slides
Selenium 4 ukraine keynote slides
Marcus Merrell
Grading the Quality of Selenium Tests
Grading the Quality of Selenium TestsGrading the Quality of Selenium Tests
Grading the Quality of Selenium Tests
Marcus Merrell
Selenium grid workshop london 2016
Selenium grid workshop london 2016Selenium grid workshop london 2016
Selenium grid workshop london 2016
Marcus Merrell
User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015User Analytics Testing - SeleniumCamp 2015
User Analytics Testing - SeleniumCamp 2015
Marcus Merrell

Recently uploaded (20)

Rise of the Phoenix: Lesson Learned Build an AI-powered Test Gen Engine
Rise of the Phoenix: Lesson Learned Build an AI-powered Test Gen EngineRise of the Phoenix: Lesson Learned Build an AI-powered Test Gen Engine
Rise of the Phoenix: Lesson Learned Build an AI-powered Test Gen Engine
stevebrudz1
Lecture-11-AutomatedTesting-software.pptx
Lecture-11-AutomatedTesting-software.pptxLecture-11-AutomatedTesting-software.pptx
Lecture-11-AutomatedTesting-software.pptx
ssuser39f59e
Online Software Testing Training Institute in Delhi Ncr
Online Software Testing Training Institute in Delhi NcrOnline Software Testing Training Institute in Delhi Ncr
Online Software Testing Training Institute in Delhi Ncr
Home
AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]
AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]
AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]
haroonsaeed605
Account Cash Flow Statement Report Generate in odoo
Account Cash Flow Statement Report Generate in odooAccount Cash Flow Statement Report Generate in odoo
Account Cash Flow Statement Report Generate in odoo
AxisTechnolabs
Cybersecurity & Innovation: The Future of Mobile App Development
Cybersecurity & Innovation: The Future of Mobile App DevelopmentCybersecurity & Innovation: The Future of Mobile App Development
Cybersecurity & Innovation: The Future of Mobile App Development
iProgrammer Solutions Private Limited
salesforce development services - Alt digital
salesforce development services - Alt digitalsalesforce development services - Alt digital
salesforce development services - Alt digital
Alt Digital Technologies
LDPlayer 9.1.20 Latest Crack Free Download
LDPlayer 9.1.20 Latest Crack Free DownloadLDPlayer 9.1.20 Latest Crack Free Download
LDPlayer 9.1.20 Latest Crack Free Download
5ls1bnl9iv
Advance Website Helpdesk Customer Support Ticket Management Odoo
Advance Website Helpdesk Customer Support Ticket Management OdooAdvance Website Helpdesk Customer Support Ticket Management Odoo
Advance Website Helpdesk Customer Support Ticket Management Odoo
Aagam infotech
iTop VPN Latest Version 2025 Crack Free Download
iTop VPN Latest Version 2025 Crack Free DownloadiTop VPN Latest Version 2025 Crack Free Download
iTop VPN Latest Version 2025 Crack Free Download
lr74xqnvuf
OutSystems User Group Utrecht February 2025.pdf
OutSystems User Group Utrecht February 2025.pdfOutSystems User Group Utrecht February 2025.pdf
OutSystems User Group Utrecht February 2025.pdf
mail496323
Wondershare Filmora Crack Free Download
Wondershare Filmora  Crack Free DownloadWondershare Filmora  Crack Free Download
Wondershare Filmora Crack Free Download
zqeevcqb3t
How John started to like TDD (instead of hating it) - TED talk
How John started to like TDD (instead of hating it) - TED talkHow John started to like TDD (instead of hating it) - TED talk
How John started to like TDD (instead of hating it) - TED talk
Nacho Cougil
Wondershare Filmora 14.3.2 Crack + License Key Free Download
Wondershare Filmora 14.3.2 Crack + License Key Free DownloadWondershare Filmora 14.3.2 Crack + License Key Free Download
Wondershare Filmora 14.3.2 Crack + License Key Free Download
arshadkhokher01
SE- Lecture 5 for software development.ppt
SE- Lecture 5 for software development.pptSE- Lecture 5 for software development.ppt
SE- Lecture 5 for software development.ppt
theworldimagine985
Why Every Cables and Wires Manufacturer Needs a Cloud-Based ERP Solutions
Why Every Cables and Wires Manufacturer Needs a Cloud-Based ERP SolutionsWhy Every Cables and Wires Manufacturer Needs a Cloud-Based ERP Solutions
Why Every Cables and Wires Manufacturer Needs a Cloud-Based ERP Solutions
Absolute ERP
AutoDesk Revit Crack | Revit Update 2025 free download
AutoDesk Revit Crack | Revit Update 2025 free downloadAutoDesk Revit Crack | Revit Update 2025 free download
AutoDesk Revit Crack | Revit Update 2025 free download
anamaslam971
A Brief Introduction About Raman Bhaumik
A Brief Introduction About Raman BhaumikA Brief Introduction About Raman Bhaumik
A Brief Introduction About Raman Bhaumik
Raman Bhaumik
Consequences and Principles of Software Quality v1.0
Consequences and Principles of Software Quality v1.0Consequences and Principles of Software Quality v1.0
Consequences and Principles of Software Quality v1.0
Yann-Ga谷l Gu辿h辿neuc
CorelDRAW Graphics Suite 2025 Crack free download
CorelDRAW Graphics Suite 2025 Crack free downloadCorelDRAW Graphics Suite 2025 Crack free download
CorelDRAW Graphics Suite 2025 Crack free download
fahadmustafa4202
Rise of the Phoenix: Lesson Learned Build an AI-powered Test Gen Engine
Rise of the Phoenix: Lesson Learned Build an AI-powered Test Gen EngineRise of the Phoenix: Lesson Learned Build an AI-powered Test Gen Engine
Rise of the Phoenix: Lesson Learned Build an AI-powered Test Gen Engine
stevebrudz1
Lecture-11-AutomatedTesting-software.pptx
Lecture-11-AutomatedTesting-software.pptxLecture-11-AutomatedTesting-software.pptx
Lecture-11-AutomatedTesting-software.pptx
ssuser39f59e
Online Software Testing Training Institute in Delhi Ncr
Online Software Testing Training Institute in Delhi NcrOnline Software Testing Training Institute in Delhi Ncr
Online Software Testing Training Institute in Delhi Ncr
Home
AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]
AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]
AnyDesk Pro 3.7.0 Crack License Key Free Download 2025 [Latest]
haroonsaeed605
Account Cash Flow Statement Report Generate in odoo
Account Cash Flow Statement Report Generate in odooAccount Cash Flow Statement Report Generate in odoo
Account Cash Flow Statement Report Generate in odoo
AxisTechnolabs
salesforce development services - Alt digital
salesforce development services - Alt digitalsalesforce development services - Alt digital
salesforce development services - Alt digital
Alt Digital Technologies
LDPlayer 9.1.20 Latest Crack Free Download
LDPlayer 9.1.20 Latest Crack Free DownloadLDPlayer 9.1.20 Latest Crack Free Download
LDPlayer 9.1.20 Latest Crack Free Download
5ls1bnl9iv
Advance Website Helpdesk Customer Support Ticket Management Odoo
Advance Website Helpdesk Customer Support Ticket Management OdooAdvance Website Helpdesk Customer Support Ticket Management Odoo
Advance Website Helpdesk Customer Support Ticket Management Odoo
Aagam infotech
iTop VPN Latest Version 2025 Crack Free Download
iTop VPN Latest Version 2025 Crack Free DownloadiTop VPN Latest Version 2025 Crack Free Download
iTop VPN Latest Version 2025 Crack Free Download
lr74xqnvuf
OutSystems User Group Utrecht February 2025.pdf
OutSystems User Group Utrecht February 2025.pdfOutSystems User Group Utrecht February 2025.pdf
OutSystems User Group Utrecht February 2025.pdf
mail496323
Wondershare Filmora Crack Free Download
Wondershare Filmora  Crack Free DownloadWondershare Filmora  Crack Free Download
Wondershare Filmora Crack Free Download
zqeevcqb3t
How John started to like TDD (instead of hating it) - TED talk
How John started to like TDD (instead of hating it) - TED talkHow John started to like TDD (instead of hating it) - TED talk
How John started to like TDD (instead of hating it) - TED talk
Nacho Cougil
Wondershare Filmora 14.3.2 Crack + License Key Free Download
Wondershare Filmora 14.3.2 Crack + License Key Free DownloadWondershare Filmora 14.3.2 Crack + License Key Free Download
Wondershare Filmora 14.3.2 Crack + License Key Free Download
arshadkhokher01
SE- Lecture 5 for software development.ppt
SE- Lecture 5 for software development.pptSE- Lecture 5 for software development.ppt
SE- Lecture 5 for software development.ppt
theworldimagine985
Why Every Cables and Wires Manufacturer Needs a Cloud-Based ERP Solutions
Why Every Cables and Wires Manufacturer Needs a Cloud-Based ERP SolutionsWhy Every Cables and Wires Manufacturer Needs a Cloud-Based ERP Solutions
Why Every Cables and Wires Manufacturer Needs a Cloud-Based ERP Solutions
Absolute ERP
AutoDesk Revit Crack | Revit Update 2025 free download
AutoDesk Revit Crack | Revit Update 2025 free downloadAutoDesk Revit Crack | Revit Update 2025 free download
AutoDesk Revit Crack | Revit Update 2025 free download
anamaslam971
A Brief Introduction About Raman Bhaumik
A Brief Introduction About Raman BhaumikA Brief Introduction About Raman Bhaumik
A Brief Introduction About Raman Bhaumik
Raman Bhaumik
Consequences and Principles of Software Quality v1.0
Consequences and Principles of Software Quality v1.0Consequences and Principles of Software Quality v1.0
Consequences and Principles of Software Quality v1.0
Yann-Ga谷l Gu辿h辿neuc
CorelDRAW Graphics Suite 2025 Crack free download
CorelDRAW Graphics Suite 2025 Crack free downloadCorelDRAW Graphics Suite 2025 Crack free download
CorelDRAW Graphics Suite 2025 Crack free download
fahadmustafa4202

Break up the Monolith: Testing Microservices

  • 1. Break Up the Monolith: Testing Microservices February 22nd, 2019
  • 2. What to take away 2 Understand the phases of microservice implementation Insight into the decisions being made Where you fit in (primarily as QA) Actions you can take during the various phases Your responsibility to the organd your users @mmerrell
  • 4. What is my responsibility during planning? 4@mmerrell Sit in the meetings Be a part of the plan Understand the decisions Educate yourself about the stack Establish rapport with everyone (you should already be doing this, btw) How is testing different in a microservice? Data modeling/creation Mocking Performance Contracts
  • 5. To rewrite, or not to rewrite? 5@mmerrell
  • 6. ...the single worst strategic mistake... 6https://bit.ly/2iF64Qm @mmerrell Joel Spolsky
  • 8. 8
  • 10. It is your responsibility... 10 To ask questions To push for testability To think about system interactions To consider how to release The org wont automatically know these things. You are the experts, and the org is counting on you! @mmerrell
  • 11. Is it better as a microservice? 11@mmerrell
  • 12. 12 Arent Microservices Always Better? Monolith Pros It was already working Unified tech stack Unified developer/tester ergonomics Cons Harder to fix bugs Hard to make big changes Microservices Pros Developers in different areas can use the best tool for them Release independently Cons Hard to coordinate multi-system releases Teams get disconnected @mmerrell
  • 14. Testability 14@mmerrell Can you test it? Are there hooks in the code for you? Do you have access to the code? Can endpoints be added for testability? How are the unit tests? Basic Authentication in lower environments? Are there 3rd party tools/vendors involved?
  • 15. Is the contract published? 15@mmerrell
  • 19. Versioned endpoints pin your users to a version of the contract... 19 ...allowing you to minimize unintentional breakage @mmerrell
  • 24. Are you using feature flags? 24@mmerrell
  • 25. Feature flags allow you to release to production in an off state 25@mmerrell
  • 29. 29
  • 34. Hows that pyramid lookin? 34@mmerrell
  • 35. What should it look like? 35@mmerrell
  • 37. What is my responsibility during development? 37 Hold Product/Eng accountable for the previous questions Identify risks as they arise Set expectations Identify in-flows/out-flows of data Mock API calls to other microservices @mmerrell
  • 38. What is my responsibility during development? 38 Oh yeah, TEST! Test to the contracts Understand the unit/integration testing devs are doing Understand, assist with or create CI builds Ideally, automate tickets as you verify Always think about & communicate risks! @mmerrell
  • 39. Normal activities, different in Microservice-land 39 Data generation Mocking Sharing with other teams Other teams depend on you and your dates Help them understand what can be done in parallel @mmerrell
  • 40. Test Data Generation & Mocking 40 You will need to generate data for testing You should provide tooling for other teams to do the same with your system Integration testing might require Mocking other services Mock based on Swagger docs Test against dedicated environments (ideally) @mmerrell
  • 42. What is my responsibility during release? 42 YOU ARE THE CRITICAL PATH @mmerrell
  • 43. What is my responsibility during release? 43 Specifically, though: Understand the upstream/downstream changes Ensure new contracts are published Communicate changes Understand/communicate feature flags to be flipped, in sequence, and when @mmerrell
  • 44. Definition of Done 44 Give input into the Definition of Done Ideally this comes from Product If DoD isnt being written, YOU SHOULD WRITE IT Test plans feed directly into the DoD DoD defines user/product state, NOT dev state @mmerrell
  • 45. Definition of Done - Examples 45 Bad Example At the end of this milestone, all tickets will be in Pending Release, test plans will be executed and passing, and stakeholders will be alerted as to the release date. No outstanding bugs at Sev2 or above. Good Example At the end of this milestone, all users will use the new security procedure for login and password creation. Legacy data will still be allowed to flow for older OS versions until legacy traffic falls below defined threshold of 0.5%. @mmerrell
  • 46. Definition of Done - Examples 46 Bad Example At the end of this milestone, all tickets will be in Pending Release, test plans will be executed and passing, and stakeholders will be alerted as to the release date. No outstanding bugs at Sev2 or above. Good Example At the end of this milestone, all users will use the new security procedure for login and password creation. Legacy data will still be allowed to flow for older OS versions until legacy traffic falls below defined threshold of 0.5%. @mmerrell
  • 47. This is why QA is seen as a bottleneck 47 Because we dont stay engaged from the beginning Because we wait for features to be handed to us Because management doesnt understand our value- propthey just know it has to be tested What is taking so long?? If were involved the whole time, theres no mystery @mmerrell
  • 48. Story time! 48 (but first, some terms) @mmerrell
  • 49. 49 PII - Personally Identifiable Information https://bit.ly/2KgjUpN @mmerrell
  • 50. 50 JWT - Javascript Web Token https://jwt.io @mmerrell
  • 52. 52 And now, a Monolith (Not to scale)
  • 54. 54 In the before time We didnt store PII We didnt need super-strong security 8-digit hashed tokens (e.g. user=8cba496e) Email Address only Pre-GDPR @mmerrell
  • 60. 60 What did we learn? Risk Mitigation Rollbacks for every step Figure out stopping points Consider external departments Get head nod from EVERYONE Test until its BORING Sunset plan for legacy services Measure, measure, measure Dont include development timelines Have a meaningful retrospective Maybe have multiple Assume Nothing @mmerrell
  • 61. 61 So how did we do? 13 services 9 scheduled run-throughs 8 teams Over 200,000 logins per day Zero reported defects during week of release @mmerrell
  • 62. 62 More conclusions I lobbied for this to be my full-time job I was told, we should never have to do this again They were right about should But it kept happening It will keep happening @mmerrell
  • 64. 64 Conclusions This is a pendulum, not a gate Expect more changes to conventional wisdom It is possible, even likely, that your org will over- do it You have a unique opportunity to guide this conversation @mmerrell
  • 65. 65 Conclusions As testers, we hold this transition in our hands QA is no longer a single-function discipline (it never really was) This is where we become thought-leaders, not just reactive test-bots @mmerrell
  • 67. 67 More links and resources https://martinfowler.com/articles/break-monolith-into-microservices.html @mmerrell