Microservices Testing at Scale

VMware Tanzu
VMware TanzuVMware Tanzu
Testing Microservices at Scale
Discover Card Acquisitions
Kishore Kota, Sindhu Nair
Agenda
Paradigm Shift in Testing
Monolithic vs Micro Services
Test Pyramid
End-to-end Test Strategy
Q & A
E2E
UAT
Integration
DEV
E2E
Acceptance
Integration
DEV
Paradigm Shift in Testing
Paradigm Shift in Testing
Testing Monolithic vs Micro Service
● Heavy reliance on End-To-End testing
● Longer Testing Cycle
● Lots of moving pieces
● Smaller Test Surface Area
● More complex system integration
Testing Pyramid
Unit Testing
• Validate code in Isolation
• Make use of Mocking and
Stubbing
• Validate code behavior
• Fine grained test cases
Contract Testing
System Integration Testing
• Stub out API Dependencies locally
• Actual API when deployed to actual runtime
• Validation focus should be on your API
Backwards Compatibility Testing
• Can the old app work with new Database ?
• Does the blue – green install cause outage ?
• Can the release be backed out if needed ?
Performance Testing
• Create automation focusing on API boundaries
• Isolate test subject by decoupling from dependencies using virtualization
• Make sure test are run in short intervals and provide quick feedback
Vulnerability Testing
• Reuse Integration Test artifacts
• Execute System Integration Test for Contrast DSAT
• Pipeline to enforce governance
Disruptive Testing
• Simulate infra down to see app behavior
• Get to a known state with outage
• Identify gaps in design to address downtime
End to End User Journey Testing
• Daily execution of E2E user
journey test suite
• Dedicated test environment
• Refreshed from prod every
morning
• Changes are staged to test
environment before cut off
time
• Failed test cases are rerun
Browser Compatibility Testing
• Executed in parallel to end-to-end testing
• Use Selenium WebDriver
• Leverage Cross Browser Testing tool
Production Smoke Testing
• Staging space in Production to ensure Application are configured correctly and validate network
connection
• Validate JWT
• Validate Connectivity to dependent apis
• Check Certificates and Network Connection
Testing Stages and Testing Environments
Pipeline delivers code to
next stage after
successful completion of
previous stage of testing
C
o
n
t
i
n
u
o
u
s
I
n
t
e
g
r
a
t
i
o
n
,
C
o
n
t
i
n
u
o
u
s
D
e
l
i
v
e
r
y
How the Testing Pyramid is executed ?
Q & A
1 of 17

More Related Content

What's hot(20)

From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
Amazon Web Services6.2K views
Agile Integration eBook from 2018Agile Integration eBook from 2018
Agile Integration eBook from 2018
Kim Clark1.7K views
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
Amazon Web Services23K views
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
The Software House21.8K views
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
Robert Greiner4.8K views
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
Amazon Web Services1.7K views
Design Pattern - MVC, MVP and MVVMDesign Pattern - MVC, MVP and MVVM
Design Pattern - MVC, MVP and MVVM
Mudasir Qazi11.3K views
Amazon CognitoAmazon Cognito
Amazon Cognito
Amazon Web Services8K views
Docker 101: Introduction to DockerDocker 101: Introduction to Docker
Docker 101: Introduction to Docker
Docker, Inc.70.9K views
Getting Started on AWS Getting Started on AWS
Getting Started on AWS
Amazon Web Services4.6K views
CI/CD on AWSCI/CD on AWS
CI/CD on AWS
Amazon Web Services1.6K views
Microservices + Oracle: A Bright FutureMicroservices + Oracle: A Bright Future
Microservices + Oracle: A Bright Future
Kelly Goetsch74.7K views

Recently uploaded(20)

New Groundbreaking AI App.pdfNew Groundbreaking AI App.pdf
New Groundbreaking AI App.pdf
Anwar78Talukder7 views
WHMCS CUSTOM SERVICESWHMCS CUSTOM SERVICES
WHMCS CUSTOM SERVICES
WHMCS Smarters17 views
The Case Against Frameworks - JFall 2023The Case Against Frameworks - JFall 2023
The Case Against Frameworks - JFall 2023
Jan-Hendrik Kuperus14 views
Green Cloud - Measure cloud emissionsGreen Cloud - Measure cloud emissions
Green Cloud - Measure cloud emissions
Green Software Development28 views
Omni AIOmni AI
Omni AI
mdrahman2004008 views
Build and Modernize Intelligent Apps​Build and Modernize Intelligent Apps​
Build and Modernize Intelligent Apps​
Lorenzo Barbieri39 views

Microservices Testing at Scale

  • 1. Testing Microservices at Scale Discover Card Acquisitions Kishore Kota, Sindhu Nair
  • 2. Agenda Paradigm Shift in Testing Monolithic vs Micro Services Test Pyramid End-to-end Test Strategy Q & A
  • 3. E2E UAT Integration DEV E2E Acceptance Integration DEV Paradigm Shift in Testing Paradigm Shift in Testing
  • 4. Testing Monolithic vs Micro Service ● Heavy reliance on End-To-End testing ● Longer Testing Cycle ● Lots of moving pieces ● Smaller Test Surface Area ● More complex system integration
  • 5. Testing Pyramid
  • 6. Unit Testing • Validate code in Isolation • Make use of Mocking and Stubbing • Validate code behavior • Fine grained test cases
  • 7. Contract Testing
  • 8. System Integration Testing • Stub out API Dependencies locally • Actual API when deployed to actual runtime • Validation focus should be on your API
  • 9. Backwards Compatibility Testing • Can the old app work with new Database ? • Does the blue – green install cause outage ? • Can the release be backed out if needed ?
  • 10. Performance Testing • Create automation focusing on API boundaries • Isolate test subject by decoupling from dependencies using virtualization • Make sure test are run in short intervals and provide quick feedback
  • 11. Vulnerability Testing • Reuse Integration Test artifacts • Execute System Integration Test for Contrast DSAT • Pipeline to enforce governance
  • 12. Disruptive Testing • Simulate infra down to see app behavior • Get to a known state with outage • Identify gaps in design to address downtime
  • 13. End to End User Journey Testing • Daily execution of E2E user journey test suite • Dedicated test environment • Refreshed from prod every morning • Changes are staged to test environment before cut off time • Failed test cases are rerun
  • 14. Browser Compatibility Testing • Executed in parallel to end-to-end testing • Use Selenium WebDriver • Leverage Cross Browser Testing tool
  • 15. Production Smoke Testing • Staging space in Production to ensure Application are configured correctly and validate network connection • Validate JWT • Validate Connectivity to dependent apis • Check Certificates and Network Connection
  • 16. Testing Stages and Testing Environments Pipeline delivers code to next stage after successful completion of previous stage of testing C o n t i n u o u s I n t e g r a t i o n , C o n t i n u o u s D e l i v e r y How the Testing Pyramid is executed ?
  • 17. Q & A