Web Services Case Study – API Testing Services
In eCommerce, there are no second chances. If customers aren’t happy with the services your site provides, odds are overwhelming that you won’t see them again. Here’s how we helped one company meet their aggressive goals and give their customers a satisfying experience that will keep them coming back through our API testing services.
The Client: Large eCommerce Corporation
The client, a publicly-held company with a nearly half-billion dollar market cap, had an aggressive initiative to increase revenues by making their core product, quality interactive services, available on the web through API’s.
The client began developing a centralized customer account management (CAM) system that provides a REST web services interface to their various web properties. This common API is used by various internal and affiliate development teams and needed a high degree of quality, as well as accurate conformation to the specifications of the API.
The Issue: Getting an API Released
When the client first met with QualityLogic Engineers, getting the API released was critical as this would significantly boost revenue outside of their traditional revenue generation. The task assigned to their internal development team was: “get this working, get this released.”
The main issue was the client’s approach to the development process, which was not well defined or executed. The lack of documentation, nonexistent test specifications and chaotic environment reflected a lack of experience in API development and release.
The Solution: Developing Automated Test Cases and Load Testing Scenarios
QualityLogic assembled the team of Engineers that would work directly with the client’s development team and immediately began a careful review of the CAM API specification and documentation the client had created thus far.
While it was important to review the specifications and other documentation the client had already created, it was just as important for QualityLogic Engineers to understand and meet the timelines and ultimate goals behind the CAM API the client had envisioned when they initially embarked on the project.
To ensure functionality, QualityLogic developed a formal test specification documenting the characteristics of a set of test customers and over 300 test cases to validate the behavior of the API.
Using the open source version of SoapUI, QualityLogic coded a set of fully automated test cases consisting of over 2000 API calls and 2500 specific test assertions to verify correct API behavior.
QualityLogic also developed a set of load testing scenarios using SoapUI, deploying the load testing environment in the Amazon EC2 cloud. Over the course of the project a series of load, scalability and long term endurance tests were run by QualityLogic on the CAM API.
The Outcome: Client’s API Meets All Specifications, Reduction in Timeline
Over the course of the project, QualityLogic reported almost 200 bugs and the specification grew from 88 to 145 pages as a direct result of QualityLogic’s feedback. By the end of the project, the CAM API passed every functional test case and the API met all of the specifications. Further, QualityLogic’s analysis of the load testing results identified a variety of issues that helped tune the performance such that the target throughput and response times goals could be met.
In the end, the client had more visibility and documentation with QualityLogic’s involvement than they had when they performed the work internally. The development and testing timeline was significantly reduced and thus the lead time to release was shortened. The client was able to provide an excellent quality API product that was easily accessed and used by third parties to write programs.
In today’s economy, regardless of the size of your business, amount of revenue, customer base, etc., one thing remains the same: staying focused on what your business does is critical to success. In this client’s case, success came in the shape of a company focused on increased revenue instead of writing test calls or developing specifications.