About API Functional Monitoring
API Functional Monitoring is a framework for assuring the quality and reliability of public and private APIs that are being used in application networks. Public APIs are APIs deployed are accessible by anyone. Private APIs are APIs deployed in Anypoint Virtual Private Cloud in CloudHub and accessible only to people who are in your private network.
The API Functional Monitoring solution enables developers and operators to perform consistent testing of the functional behavior and performance of their APIs, throughout the API lifecycle, in testing and production environments.
The solution helps you carry out the following tasks:
White-box testing: This type of testing validates the behavior of individual APIs against the understanding of how their internals work. As part of this type of testing, you mock and simulate dependencies (for example, back-end systems and other APIs).
Black-box testing: This type of testing validates the overall behavior of an API and its real/live dependencies as a whole, based purely on inputs and outputs (i.e. without knowing or altering the API internals - no simulation or mocking).
Runtime monitoring: This type of monitoring ensures that deployed APIs are operating within expected performance in production environments. It makes use of behavioral test cases that use real inputs and expected outputs, and exercise dependencies, as in black-box testing.
A monitor is a repeating schedule of one or more tests, referred to as a suite.
You can get reports on the results of monitor executions. You can also set up integration with into a number of monitoring and issue-tracking systems.
There are two ways that you can perform functional testing:
Write tests manually and then schedule them with the Blackbox Automated Testing (BAT) CLI.
Test cases are all defined with a common, declarative, and easy-to-use behavior-description language. The language is based on the DataWeave language and follows the “given-when-then” approach to describe behavior in terms of conditions and expected outcomes.
Create monitors in the Functional Monitoring section of Anypoint Monitoring. You can upload as monitors any testing projects that you wrote manually.