Go back to all articles

Using a REST Request Emulator in a Real-life Project

Feb 25, 2020
9 min read

We utilize the micro service architecture more and more often while developing software nowadays. It allows us not only to speed the development up, but also to make the end product more agile and easy to scale.

A large governmental enterprise that processes a huge amount of various documents has recently approached us. We had to organize the autonomous testing process of key subsystems, which comprise the automated information system. Moreover, we couldn’t use an out-of-box solution (client’s specification), so we had to develop a custom tool that would satisfy the client’s requirements. 

How Have We Managed It?

Initially we studied the system specification and designed a subsystem cooperation scheme It allowed us to determine the main requirements and formulate the project charter for the future subsystem emulator.

The document processing workflow looked like this:

REST request emulator 1

Have a Project in Mind?​
We have been working on performance testing projects since 2008.
Drop us a line to find out what our team can do for you.
Get a quote You’ll hear back from our tech account manager in one day if not sooner

The automated information system can be pictured like that:

REST request emulator 2

Subsystem A – it is a transport subsystem that connects all subsystems

Subsystem B, C, D, n – these subsystems, each of which is responsible for processing a specific data set

REST queries are responsible for the subsystem communication.

Here is an example of a subsystem communication:

REST request emulator 3

We’ve chosen JAVA as the language of the subsystem emulator and used the following subsystem and emulator cooperation architecture:

REST request emulator 4

The Emulator Has a User-friendly Native Interface, As Well As the Terminal Run Option.

The emulator’s interface allows to:

  • Switch the software modules, such as the logger, the emulator, the retranslator on and off;
  • Configure the emulator;
  • Monitor the subsystem load intensity.
Using a REST request emulator

Thanks to Its Universality and Agility, the Emulator Can Be Used in the Following Scenarios:

  • It’s necessary to analyze the system calling protocol;
  • It’s required to partly emulate some certain system behavior;
  • It’s obligatory to emulate a non-existent or broken system.

We’ve developed a user manual for the client during the project.

Which Challenges Has Our Team Faced during the Project?

The testing team has encountered the following problems while analyzing the client’s requirements to the emulator:

  • Subsystem isolation during the functional testing. In fact, we had to develop the emulator in such a way, so that it could substitute the subsystem in use. For this purpose, we’ve developed a log collection algorithm for the subsystem. Taking into account the log analysis results, the testing team composes the correct and incorrect answers beforehand and feeds them to the emulator. As a result, the emulator already has the required answer, when the subsystem calls to it.
  • System support for other teams that concurrently work on software, administration or monitoring. We’ve added a retranslation module to the emulator, which allows to send the queries from one subsystem to another and to send an answer in case the question has not come from the same team.
  • The agile behavior – the ability to configure the emulator. We’ve developed the possibilities to configure the emulator’s work, e.g. one can set the response time or forbid an answer or receive a custom answer. Such a functionality stands for the flexibility in evaluating the subsystem’s quality.
  • Query and answer logging. Our emulator not only collects the subsystem communication logs, but also their statistics and the amount for the used documents and queries. This information is in the log file and in the program’s interface.
Table of contents
Let us know about your needs
We can provide multiple performance testing services and a lot more than that if the situation needs a far more complex approach.
Get a quote You’ll hear back from our tech account manager in one day if not sooner

Related insights in case studies

Explore what we’ve learned from these experiences
7 min read

From Hundreds to Thousands: Scaling MEFA Pathway Software for Mass Student Registration

how load testing helped e learning services provider preview
Jul 12, 2024

FolderWave, Inc. is a leading digital services provider in the Massachusetts e-learning sector. It aids millions of students in researching and planning a job-oriented education. The company delivers IT solutions, platforms, and services in partnership with notable non-profit organizations like MEFA Pathway and College Board, which connect a vast network of colleges, schools, and universities […]

8 min read

How Load Testing Helped Texans Survive Power Outages During a Storm

how pflb helped texans survive power outages during a storm preview
Jun 13, 2024

Background The largest electric distribution cooperative in Texas and the United States, Pedernales Electric Cooperative (PEC), had to test its new software systems, the Storm Center and the OR&S (Outage Reporting & Status), before the release to ensure their adequate performance under peak load. Challenge PEC had a strict release deadline and needed to test […]

4 min read

Tynor Prepared the New Website for High Sales in Four Days

tynor prepared the new website for high sales in four days preview
Dec 12, 2022

Tynor Orthotics is India’s largest manufacturer and exporter of orthopedic and fracture aids established in the 90s to deliver quality healthcare products. Committed to a significant expansion in the next three years, Tynor crafted a new e-commerce website focused on excellent customer experience to support this growth. To be confident at launch, the engineering team of Tynor decided to run pre-go-live stress testing for the website. The tight deadline felt challenging, the customer was relieved to hear we provide a quick load testing solution. Quick Load Testing solution includes a four-day load testing project performed by engineers of PFLB and a 1-month subscription to the innovative load testing PFLB platform.

5 min read

Bank Increases Load Capacity by 450% to Deal with Business Growth

bank increases load capacity by 450 to deal with business growth preview
Oct 3, 2022

Our client's bank was absorbing other banks, and the number of individual clients was growing. The system was not ready for expansion or integration. The owners started to suspect bottlenecks when problems with paying salaries to corporate clients’ employees arose. As a result, in the next pay period, the load on the system increased dramatically, and the system got overloaded. People did not get their salaries in time, as the system crashed.

  • Be the first one to know

    We’ll send you a monthly e-mail with all the useful insights that we will have found and analyzed

  • People love to read

    Explore the most popular articles we’ve written so far