SpringOne 2021
Session Title: Microservices Testing at Scale
Speakers: Kishore Kota, Sr Architect at Discover Financial Services; Sindhu Nair, Principal Value Stream Architect at Discover Financial Services; Ying Zhe, Director, Application Development at Discover Financial Services
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
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 ?