Quality Performance Evaluation is one enabler for interacting with HTTP APIs. Its graphical user interface offers developers an easy way to create HTTP requests and responses.
This enabler is designed to consume the needed API by creating collections of requests and therefore it can aggregate all responses by merging different aspects of those, like the time the API service takes to deliver the answer and if the answer was the predicted one.
The purpose of this enabler is not to overcome the unit test which every single developer should design, create, and execute, but it delivers an easy way to test APIs in an external environment with aggregated results.
By defining the test collection, developers can repeat the same tests upon new software releases. Thus, this enabler can be seen as an extended tool to execute outside-app tests as well as a regression testing tool. By being an online tool, QPEE can be used as a team collaboration for the single source of truth about the API which is being developed.
It can store historical responses and latest tests which can then be used to track the development effort and important milestones like acceptance tests since the developer’s customers can reach the same endpoint, validate the collection tests and executed those.
The tools used to develop the solutions presented in the documents follow the MEAN stack approach:
MySQL is an open source relational database management system based on the Structured Query Language. It runs on virtually all platforms, across the entire scope of operating systems. Although it can be used in a wide range of applications, MySQL is most often associated with web-based applications and online publishing
Express and NodeJS are the technologies used and have been described in the Configuration Enabler specification
The main goal of the QPEE is the one described in the following Figure. The Enablers main functionality is the ability to simulate other Enablers’ or vApps services invoke and process their results. Performance results can be retrieved back to the Enabler, to the Enabler developer. or to other vf-OS components (such as Marketplace, Dashboard or EF internal processing).
The following tools were taken in consideration in the design of this Enabler:
The Postman Rest Client, used for composing HTTP requests and web services callouts
JUnit, a unit testing framework for the Java programming language. JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks
This enabler HLA is presented in Figure 34. The Enabler has 3 different modules:
Performance Manager, for compiling the information needed about times occurred between request and response, measurement of % of successful requests and an error simulator, for study the component behaviour when confronted with error messages
Performance Builder that takes the compiled information and decides about the final evaluation to give to the component
Database for storing the needed information
The figure presented next describe the simplest example of QPEE performance evaluation process.
Regarding the service interfaces; the QPEE will provide a public API to be used by its FE and other external elements such as the Enablers’ Framework. The following table clarifies the public endpoints with methods and response types. Please refer to this link for detailed specs.
To use these specific enablers, it is necessary to have the following vf-OS components: