With the launch of the next generation of IBM® API Connect, I’m thrilled to introduce one of the key highlights of this launch – automated API behavior testing. This feature is a result of our laser-focused efforts to improve productivity and accelerate the rapid development of high-quality APIs consistently.
We understand that a significant aspect of developing quality code includes the ability to understand, debug, and troubleshoot it, after unit testing it. Usually, developers spend a huge amount of time to understand the execution flow of API– inputs, outputs, contexts, etc. to successfully debug. With extensive design research and iteration, we have introduced a modern user experience to debug API and trace its behavior through the introduction of Test Tab within API Connect. We support the testing of GraphQL APIs with GraphiQL.
With this assembly debug, developers can quickly examine API execution flow along with response payload, header information, and related metrics at a glance. They can also view the response metadata on the same UI. Using the trace tab, a developer can get a deeper view of API flow and inspect the data transformation between the different policies used in the API proxy. This is particularly useful when the call returned an error and you don't know why. It provides both basic and advanced trace for each policy execution. It also contains information on latency, memory allocation in addition to complete log details.
With this new graphical representation, it's now easier to identify issues, allowing developers to iterate until the desired results are seen.
However, we know that testing doesn’t stop here. Effective testing ensures the app behaves the way it was intended to. It includes different types of tests like unit, functional, integration, etc. Moreover, enterprises have invested in automating their development and deployment pipeline to deliver at speed, quality takes a back seat largely due to manual testing efforts. To be successful at delivering reliant APIs, you must make continuous testing as part of your development.
In V10, developers can now automatically create tests from Open API definition with a single button click without leaving API Connect. These tests validate the behavior of the API through assertions. The tests can be easily modified to add more assertions through a simple drag and drop user experience thereby accelerating the testing time. This is tremendously helpful when codebase grows at a staggering pace. The QA team can perform end to end testing to reproduce consumer behavior, create/modify logical flow, test against multiple data sets can all be done without any code.
Testing doesn’t have to stop with a simple response code check anymore!
Further, to align with your DevOps process, these tests can be executed as part of the CI/CD pipeline by creating API Hooks to ensure the API is behaving as expected as developers continue to iterate in an agile fashion. The tests can easily be added to the Jenkins pipeline with our Junit plugin and executed every time code gets checked in.
Also, the QA team can gain detailed insights on the code quality through rich dashboard visualizations and diagnose errors from test reports. The main dashboard provides an overview of all projects and their statuses. It sums up the failures and successes of all the projects in the pOrg for the last 24hrs.
The project Logs dashboard provides deeper insights on successes and failures for a customizable date range for easy comparison of different test runs.
The QA team can compare the test runs and identify trends from the API Quality tab.