Performance tests – tools, benefits | Enterprise Software House

Performance tests - tools, benefits

Introduction to software testing and development

The end result of a complex process consisting of cooperation between teams of programmers and testers is software that is created in response to customer needs. Regardless of the amount of work put into the software development process, before it is released it to the customer in its final version, it must undergo the necessary tests to confirm its quality. Such tests take place at various stages of development but also after delivery to the customer.

The end result of a complex process consisting of cooperation between teams of programmers and testers is software that is created in response to customer needs. Regardless of the amount of work put into the software development process, before it is released it to the customer in its final version, it must undergo the necessary tests to confirm its quality. Such tests take place at various stages of development but also after delivery to the customer.

One such example in our company is CrystalBridge, a platform that is under the constant supervision of teams consisting of programmers and software testers.

The quality we try to ensure by constantly implementing the required optimizations is verified, among other things, by introducing performance tests aimed at reducing the response time from the server, which translates into improved performance of the platform for the end user.

Tools for quality assurance

In order to provide customers with software of the highest possible quality, our teams use a number of tools that support the verification of various aspects of software performance. With these tools, we can verify parameters such as LCP (Largest Contentful Paint), FID (First Input Delay), and CLS (Cumulative Layout Shift).

These are Core Web Vitals responsible for:

  • measuring the time elapsed until the largest element visible to the user is loaded (LCP),
  • verification of the application’s response time to the first action taken by the user (FID),
  • assessing the stability of the application in terms of the delayed appearance of other elements on the page (CLS).

Advanced testing techniques

For performance testing, teams use tools such as Synthetics Monitoring in Elastic that enable us to regularly test availability and measure the necessary parameters for specific moments of application use. Detailed summaries of the times that have been measured are visualized on the dashboard created in Elastic.

Another tool is K6. It enables verification of the system load using the above Core Web Vitals and other parameters. Here we can define the number of users to be simulated in the test. It can be constant or dynamic in a certain period of time for which we want to define acceptable or optimized server response times.  The results obtained from tests run using K6 are observed on dashboards created in Grafana, a tool where they are sent via Prometheus.

Expanding performance testing across teams

In our company, application performance is also measured in other project teams. Another team of ours that uses measurements to improve the quality of its output is Bee On Time. The project this team is working on requires the use of complex computations during user interaction, which additionally generates the need for constant and repeatable testing of its performance.

Following manual tests, there was a need to introduce performance tests enabling regression verification of the system performance, which may change depending on the introduction of new features or corrections for identified errors. The team identified critical areas for which it was necessary to monitor response times and, if necessary, implement optimizations. Subsequently, after creating documentation containing detailed descriptions of cases of application use by the customer, tools meeting the needs were selected.

Optimizing test environments and methods

For the purpose of running tests and introducing regressions, a separate environment was configured to achieve stable results and to enable the adequate measurement of the differences that are indicated after the introduction of optimizations.

The tools used were selected according to the type of tests required. For the API (Application Programming Interface) tests, scripts were written in JavaScript using the previously mentioned K6, where the metrics to be included in the reports for each endpoint were precisely defined. The parameters used include a variable and fixed number of users simultaneously using the application, generating a load assuming the execution of complex operations for which it was necessary to transfer large amounts of data from the database. In the GIU (Graphical User Interface) tests, Artillery using Playwright was utilized. In this case, detailed metrics were also established as in API tests. An additional advantage of this type of tests was the ability to measure the times it took to render the content visible to the user on the monitor screen. The need arose as a result of analyzing the characteristics of the application – performing complex operations on the backend correlated with showing content on the frontend visible to the user waiting for complex tables, graphs, or charts to be displayed.

The performance tests in the above project helped obtain measurements indicating the so-called bottlenecks among API endpoints. The knowledge gained by the team facilitated the development of an optimization plan, its implementation, and subsequent regression testing under identical environmental conditions, resulting in a reduction of response time by as much as 75%.

Sum up

Performance testing is a profitable investment in the quality of the produced software. Apart from the aspect of comfort provided during the use of a given application, the software development process can be significantly shortened thanks to the ability to quickly identify points that may cause difficulties in the smooth use of the final product.

Write us Call us Send email






    1. Personal data is processed pursuant to Article 6 (1) (a) of the Regulation of the European Parliament and of the Council (EU) 2016/679 of April 27, 2016 – the General Data Protection Regulation
    2. The data controller is All for One Poland sp. z o.o. with its registered office in Złotniki, ul. Krzemowa 1 62-002 Suchy Las. Contact data of the Data Protection Supervisor: iod@all-for-one.com.
    3. Consent to data processing is voluntary, but necessary for contact. Consent may be withdrawn at any time without prejudice to the lawfulness of the processing carried out on the basis of consent prior to its withdrawal.
    4. The data will be processed for the purposes stated above and until this consent is withdrawn, and access to the data will be granted only to selected persons who are duly authorised to process it.
    5. Any person providing personal data shall have the right of access to and rectification, erasure, restriction of processing, the right to object to the processing and to the transfer of data, the right to restriction of processing and the right to object to the processing, the right to data transfer.
    6. Every person whose data is processed has the right to lodge a complaint with the supervisory authority, which is the President of the Personal Data Protection Office (ul. Stawki 2, 00-193 Warsaw).
    7. Personal data may be made available to other entities from the group that All for One Poland sp. z o.o. is part of – also located outside the European Economic Area, for marketing purposes. All for One Poland ensures that the data provided to these entities is properly secured, and the person whose data is processed has the right to obtain a copy of the data provided and information on the location of the data provision.

    +48 61 827 70 00

    The office is open
    Monday to Friday
    from 8am to 4pm (CET)

    Question about products and services
    esh@all-for-one.com

    This site is registered on wpml.org as a development site. Switch to a production site key to remove this banner.