Testing Tools

Functional testing of REST API's entails sending HTTP requests and checking responses so that we can verify that API's behave as we expect. REST uses HTTP for transport that specifies the request and response formats of API. TCP/IP, in turn, takes the HTTP messages and decides how to transport them over the wire.

cURL

cURL is a popular command line tool that usese its own HTTP stack and is available on all platforms.

Postman

Postman is a REST client that allows us to test REST API's. It allows us to create http request and generate the equivalent cURL commands we can use. It creates multiple environments for Dev, Test, Pre-Prod as each environment has different configurations.

GraphiQL

GraphiQL is a light weight electron based application for writing GraphQL queries and mutations.

Burp

Burp is a HTTP debugger that let us see the web traffic that goes between the client and the API. It runs as a proxy between the client and the server. This allows us to intercept the request and the reponse and modify them to create scenarios that are otherwise difficult to test without changing the client. It is a suite of tools that is mainly used for security testing but it can be very useful for API testing as well. Set up your postman to send request to Burp proxy and configure Burp to intercept client request and server response. Intercept request and response as shown below.

Wireshark

Wireshark allows for verification of some features of API, e.g., encryption, compression, etc., will require us to look a level deeper to see what is being sent and received on the network. Wireshark is a tool that monitors network interface and keeps a copy of all TCP packets that pass through it. Traffic is split by layers — HTTP, TCP, IP, etc. It also helps us to troubleshoot issues that require us to go deeper, e.g., TLS handshake.

JMeter

JMeter is a load testing tool which can help test the amount of load that can be placed on your API and make sure that quotas, limits and DoS attacks will not affect your other cutomers.

API Management Tools

MuleSoft

MuleSoft Anypoint helps enterprises integrate their api solutions allowing the full lifecycle of develop, deploy, manage, secure and reuse thirdpary API's from their marketplace.

Apigee

Google API Management helps manage the full lifecycle of API management.

Azure API Management

Microsoft API Management helps enterprises build API architectures on the Azure cloud. It helps streamline work across hybrid and muli-cloud environment with a single place for managing all your API's.

Useful Links

Other useful links to gather information from: