Performance testing allows us to predict and monitor the system load in order to optimize infrastructure and development requirements. Our service seamlessly integrates performance testing into your existing testing processes.
Performance testing integration into CI/CD process
Performance testing can be conditionally divided into 2 types of testing: Resource use monitoring and System behavior evaluation under different types of load. These types of testing require not only various testing tools and techniques but also differ in approach.
Evaluation of the system behavior under various types of load is a classic application testing scheme and can answer the questions:
At what maximum load (simultaneous users, execution of complex scripts) the system will continue to work without failures?
What is the average asset loading time?
How long does the application work at a consistently high load?
As a rule, in order to build a test plan for load testing, we prepare a set of scenarios, generate test data, estimate load, prepare a dataset of expected results, and help deploy a prepared test environment.
Performance monitoring is both application log parsing and utilizing environment monitoring solutions to gather information about peak resource loads and assess the possibility of repeating the scenario in which peak loads occur. Initial monitoring during system testing allows us to later repeatedly reproduce stress issues to establish the root cause and develop mitigation measures.
Of course, application performance testing is always automated testing.
In our opinion, the optimal scenario for enabling performance testing in a CI / CD pipeline is to add a few additional steps to the pipeline:
Adding static code analysis tools to build pipelines.
Adding resource use monitoring to system testing. Performing automated system testing in and of itself generates a load on the system. With high coverage of existing automated system tests, the inclusion of resource monitoring will make it possible to see system load peaks in the early stages of testing.
Execution of stress testing scenarios on a dedicated test environment. Usually, it requires prepared mocks for all 3rd-Party systems and a large volume of test data.
Enabling resource use monitoring on the production environment. The operation of a “live” system often differs from automated testing scenarios. Obtaining information about peak system load will make it possible to optimize the use of resources by the application in a timely manner and help avoid system failure.
Thus, introducing performance testing already at the stage of project build and in the form of monitoring after system testing scenario execution, we “shift tests to the left“, enabling us to find resource use problems in the early stages.
By preparing a dedicated stress testing environment and generating large volumes of production-like data to execute performance testing scenarios, we “shift testing to the right” to obtain the most accurate results.
Managed Performance Testing Service
It is very likely that there are no testers with good experience in systems testing under load in the project. We propose to outsource this type of testing to the Tenendo team.
Why outsource Performance Testing to us:
We will provide the best specialists “on-demand”.
We will perform Performance Testing if you don’t have automated testing in the project.
We will provide a test plan and report after the completion of the work.
The goal of the technical audit is to analyse the current environment architecture, obtain trustworthy data on system performance, and develop proposals and recommendations for improving the system architecture.
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.