Experion conducted a 2-week discovery phase to study the existing system and establish the business goals of the client. This phase helped Experion to understand the underlying drivers for a successful outcome, in addition to the requirements brief shared by the client.
To fix the API request count, Experion introduced a mechanism to queue and persist the commands on the client browser. This is then processed as a batch with the help of a service worker (a background service) and synchronized with the server at fixed intervals. This implementation reduced the request count substantially, which in turn reduced the cost of the infrastructure. We also designed a resilience mechanism to prevent any further data loss in worst-case scenarios.
Since there were a large number of requests for user authentication, the authentication mechanism was implemented as a separate service.
Additionally, an intuitive user interface was designed and developed as part of the solution re-engineering activity, that offered ease of usage to all relevant stakeholders from the client’s side.
Post-delivery, Experion continues to provide development services for the client in the ongoing engagement.
Let us look at an example which illustrates the best approach to test a project which used API testing. Experion worked with a client in the healthcare sector as their technology partner to develop a software solution which comprised two independent applications.
-
A browser-based reporting tool
-
DICOM* router interfacing different PACS*
*DICOM = Digital Imaging and Communications *PACS = Picture Archiving and Communication Systems
Radiologist will use the browser-based reporting tool to read and interpret digital images from healthcare devices. This tool also helps radiologists record their dictations using a recorder along with their workflow management.
The second product is an interface to DICOM router, that helps it to import, modify and export images among different picture archiving and communication systems (PACS). The core of the DICOM router application (implemented in Java) is to be interfaced using RESTful API which uses JSON format for data exchanges. Executing the APIs sets policy and rules in DICOM router will enable the exchange of DICOM images between PACS situated in different geographical area.
*RESTful = Representational state transfer
For such a complicated software system which uses a lot of API calls, it is quite natural to implement test automation to determine the expected outcomes. Experion deployed its test engineers at every stage of the API development process. Involvement of Experion’s Independent Verification and Validation Team members from the initial discussion enabled it to identify and analyze the customer’s business requirements and to finalize the best testing approach. The team created test strategies for functional and non-functional test such as security testing, compatibility testing, performance testing, API testing, etc.