8. Test execution and development
Test
(automated or manual)
Development
Your Application
3rd party APIs
(virtualized)
Your APIs
(virtualized)
• Simulate (un)expected behavior
• Minimize impact on and usage of external systems
• Assert usage of external components
@lindybrandon
13. How will virtual APIs be used and managed?
Local / Team / Enterprise
How technical is the team that will maintain
them?
Scripting / coding requirements
Easy to create new configurations
How to incorporate in your Continuous
Integration process?
Redirect API calls to virtualized APIs
Access control
internal / external
Reporting and Governance
Moving from theory to practice
CA Virtual API
SmartBear ServiceV
Mockable
Apiary
@lindybrandon
Intro material
How many people test web and mobile apps
How many also test the APIs they rely on
The importance of testing not just your APIs but how your app interacts with the API
Third Party APIs:
Can change policies and business plans on a moment’s notice
How would your app respond if an API you depend on changed their policy or access
OMG. Know what the errors look like. You may not want that in your app.
How many of you use Facebook?
How many of your parents use Facebook?
My 89 year old stepfather on FB… will he understand this error?
Virtual APIs can be run locally or on a central server
Let’s look at the kind of APIs you might want to virtualize – weather underground, dropbox, googlemaps, linkedin for app functionality
Marketo, NetSuite for intranet apps
Adding some real power to your virtual API – make it dynamic by hooking up a data source so you can automate your tests and run through a variety of scenarios
Assertions and failures – decide how it should respond and then validate that
Using Dispatch to set up some variability.
For example, randomly return no data
or run through a set of scenarios in a known sequence