We recently worked with a water company that was rolling out a new customer contact centre to act as a central hub from which to manage all customer interactions across all channels from customer reports, payment, to SMS notifications. Helping to provide their customers with efficient and effective technical support, customer service and sales assistance.
The contact centre uses multiple APIs to connect customer data – each user journey prompting multiple API calls. The organisation needed to better understand how the key API integrations would perform under a standard day, historic peak traffic and theoretical maximum throughput, and at what point the system would begin to experience performance issues, become unresponsive or – worst case – fall over.
The only way to understand the issues impacting performance is by replicating real system usage under test conditions. By deploying these user journeys as a series of API calls, we were able to realistically test APIs at peak traffic levels before the contact centre went live.
Why is it important to test APIs?
At their most basic level, APIs are simple request-response protocols. However, as interactions proliferate, greater opportunities for failure arise, having a domino effect on other services and contributing to common performance and availability issues.
In order to make sure APIs are enhancing, rather than degrading, the user experience (UX), more frequent monitoring and load testing – both external and internal APIs – is required to ensure optimal performance.
API performance issues are critical because they can cause other dependent applications to fail. If you’re exposing your API to third party usage, demand can be highly unpredictable and difficult to manage. In particular, public-facing APIs can create security risks, where they interface with potentially sensitive data.
Performance can be affected by a number of issues, including a spike in server load at peak times, network issues (latency or outages, for instance), poorly configured caching or lack of compression. The big challenge for APIs is handling a larger-than-expected range of inputs during standard web journeys.
Many circumstances can cause performance issues – both deliberate and accidental. Combinations of the following can multiply the performance hit:
- Complex queries
- Incorrect requests
- Large numbers of requests
- Large data submissions
- Inefficient queries
Load testing is easily the most effective way to minimise performance risks because it ensures each API can handle its expected load – even during peak periods.
thinkTribe offers a fully managed, cloud-based API load testing service for optimal web performance. For more information on API testing, get in touch.