Load testing of a SAP ERP system for a large agricultural enterprise
As any enterprise expands, its internal processes naturally become more complicated. In 2015, growing business prompted Cherkizovo to put its internal operations in order. To do this, they began centralizing disparate databases and switched to an automated SAP control system. To ensure the platform's reliability, Cherkizovo hired Performance Lab to conduct load testing.
Cherkizovo Group is Russia's largest meat producer. It is among the leading producers of poultry, pork and processed meat products.
Thus, Performance Lab faced the following task:
Conduct load testing of an SAP ERP system to make the customer confident about the speed of critical business processes.
Got a project in mind?
There is no better place for a QA solution than Performance Lab.
Drop us a line to find out what our team can do for you.
How did we do it?
To emulate the life cycle of purchases, sales, logistics, and related financial processes at Cherkizovo's eight production plants, we developed load scripts and scenarios.
We emulated the user load on the SAP ERP system using HP LoadRunner. The load was supplied from workstations located at the production plants.
During the project, the Performance Lab team encountered several difficulties. Below we will describe these challenges and how they were overcome.
- The customer was still updating the system while we developed the load scripts. As a result, additional test runs had to be performed weekly.
- We had to arrange for various pieces of data to be passed between the scripts. To do this, we used Virtual Table Server, which comes with HP LoadRunner.
- The testing involved the use of external system emulators, for which third-party contractors were responsible. These systems were operated manually, so their behavior was unpredictable. To minimize potential difficulties, we joined forces with the customer and established effective communication with the contractors. This made it possible to immediately bring in the relevant people in order to resolve problems.
- The scripts were developed by a team of remote testers, so we needed to coordinate their efforts. We accomplished this by introducing the GIT version control system and putting together a system to assign those responsible for script development. This system allowed, among other things, tracking of development status.
- A multi-stage documentation approval system also complicated the work of the Performance Lab team. Consequently, we produced a concise load testing methodology for the customer's employees.
What did the project reveal?
The application was being developed for a specific device. And the first problem we encountered was its uniqueness. The tablet called Hercules was not available for sale. It was a kind of a custom device, and we couldn't use similar devices.
Performance optimization based on an analysis of the test results reduced the time required to complete the main logistics business scenario by more than 2 times and increased the speed of individual transactions by up to 8 times.
We also identified a working configuration for printing that was acceptably fast for the customer, and its integration with external systems was verified under load.
Performance Lab's work helped the customer make an informed decision about deploying the system into a production environment.
But that's not all
This experience between Performance Lab and Cherkizovo Group was so productive that a few years later we carried out another joint project.
This time we performed load testing of a SAP system for warehouse management. Our team faced several tasks at once:
Verify that business processes are not interrupted;
Be sure that the volume of documents required by the customer can be processed;
Determine how well the system meets performance requirements;
Identify performance-limiting factors and formulate recommendations on how to optimize performance.
Despite the fact that Performance Lab had by that time already accumulated skills in testing SAP systems, this project also had problems.
As with the first load testing project for Cherkizovo, the customer's system was still in development when the project started. So we again had to perform individual stages of the project several times.
Moreover, the system actually had to be adjusted to support load testing, which required us to establish effective communication with the developers.
The situation was complicated by the project's late start as well as the fact that we handed over part of the work to the customer, who, as it turned out, did not have the knowledge and skills required to accomplish that work. These difficulties required the utmost concentration of our efforts and well thought-out time management.
What did we manage to achieve this time?
As a result of the testing, we were able to prove that the system's business processes are not interrupted and that the volume of documentation required by the customer can be processed.
However, the system only partially satisfied the performance requirements. The developers were then able to fix something, and the customer accepted the rest as an additional risk during deployment.
Performance Lab discovered several factors limiting system performance. For example, we discovered locking taking place during document processing. Following our recommendations, the developers were able to eliminate some of them.