Restats: A Test Coverage Tool for RESTful APIs
This tool addresses the problem of evaluating test suite completeness for REST APIs, benefiting developers, test engineers, stakeholders, and researchers, though it is incremental as it applies existing coverage concepts to a new context.
The paper introduces Restats, a black-box test coverage tool for RESTful APIs that computes eight coverage metrics using only the OpenAPI specification and HTTP traffic, without requiring access to source code.
Test coverage is a standard measure used to evaluate the completeness of a test suite. Coverage is typically computed on source code, by assessing the extent of source code entities (e.g., statements, data dependencies, control dependencies) that are exercised when running test cases. When considering REST APIs, an alternative perspective to assess test suite completeness is with respect to the service definition. This paper presents Restats, a test coverage tool for REST APIs that supports eight state-of-the-art test coverage metrics with a black-box perspective, i.e., only relying on the OpenAPI interface specification of the REST API under test. In fact, metrics are computed by only observing the HTTP requests and responses occurring at testing time, and no access to source/compiled code of the REST API is required. These coverage metrics come in handy for: (i) developers and test engineers working at development and maintenance tasks; (ii) stakeholders and customers who want to evaluate the completeness of acceptance tests; (iii) researches interested in comparing different automated test case generation strategies.