This document discusses API readiness and provides steps to visualize, validate, virtualize, and monitor APIs. It emphasizes the importance of documentation, testing, mocking, evangelism, management, and monitoring for successful APIs. Visualizing APIs through tools like Swagger, Ardoq, and LucyBot helps describe service definitions. Validating APIs involves functional, load, and security testing. Virtualizing APIs allows for parallel development and testing through static mocks, dynamic mocks, and virtual APIs. Monitoring APIs keeps production stable and prevents bottlenecks during ongoing development.
17. Bootstrap
Parallel
dev
and
test
Test Design
Virtual API
Generate
from spec
or with
tools
Client Development
Integration Development
18. Isolate
Test
execuEon
and
development
Test Execution
(automated or manual)
Development
Component in
dev or test
3rd party APIs
(virtualized)
Other APIs
(virtualized)
Legacy
Systems
(virtualized)
• Simulate (un)expected behavior
• Minimize impact on and usage of external systems
• Assert usage of external components
19. Performance
Test
Solution
under test
Load Test Execution
(automated or manual) 3rd party APIs
(virtualized)
Other APIs
(virtualized)
Legacy
Systems
(virtualized)
• Simulate (un)expected performance in
external systems
• Minimize impact on and usage of
external systems
• Triage Performance bottlenecks
21. Three
Levels
of
API
Virtualiza+on
StaEc
Mocks
Static responses
• Semantically
correct
• No logic
• Payloads
generated from
schemas or
examples
Code or generated
from metadata
Dynamic
Mocks
Dynamic responses
• Based on input
• Re-use input in
output
• Scripting
• Data-driven /
Data-generation
• Simulate state
Assertions on
incoming content
Virtual
APIs
Runtime behavior
simulation
Runtime management
• Redirect traffic to
Virtual APIs dynamically
• Access control
• Deployment
• Test execution
integration
23. MONITORING
Virtual
APIs
Mock
Services
ProducEon
APIs
Keep
producEon
stable
Prevent
boTlenecks
Test
Dev
Test
Dev
Test
Ongoing
development
API
Monitoring