Concept of testing
Testing is a process related to every part of software development. It can be used to determine whether the software product fulfills the requirements set for it. The purpose of testing is to find errors in software products. In other words, the points where the system does not work as expected can be identified through testing. However, testing does not include debugging. Debugging, i.e. error detection, is the process of finding, analyzing and removing the causes of software failures, which is the task of the software developer. The tester contributes to the successful implementation of the debugging process with the appropriate error reports.
Testing activities cover many areas. Starting from the software design, when the testers validate the aspects so that the software can be properly tested. Then the integration tests guarantee the cooperation of the individual modules. System tests are used to verify the suitability of the software according to functional and non-functional compliance criteria. Finally, the acceptance tests prove that the completed software meets the expectations set by the customer.
Test types are divided into two large groups, there are functional and non-functional tests. Among the non-functional tests, the most common type of test is the performance test, which is usually performed on integrated systems. The purpose of performance testing is to examine the response time, speed, and behavior of the system under a certain type of load. During the performance testing, the system is permanently and online monitored, and the testers test the functions critical from the user's point of view under different loads. Monitoring diagnoses problems and components causing slow operation.
Five types of special performance tests are distinguished in the literature: load test, stress test, endurance test, peak test and quantitative test.
What do we measure using performance tests?
The performance tests and measurements can be of many kinds and can be investigated
- properties of some elementary systems and services,
- the combined properties of complete integrated system groups,
- the value of typical performance indicators (for example: response time, delay, cross-section, resource demand, etc.) under variable load,
- the behavior and self-protection mechanisms of the systems under overload,
- the ability to recover and return after an overload.
The questions to which we can get answers with the help of performance testing can be quite simple questions to be decided, for example: does the system meet the pre-established performance indicators?; but they can also be quite complex, for example: where are the bottlenecks and under what circumstances does the system run into them, what effect do the loads of different services operating on the same system group have on each other?
While searching for upper load limits, for example, we load the system more than usual, and then see how response times and transaction throughput develop. If we detect an overload, we start adding additional resources - either hardware or software - and see how this change affects maximum performance.
Performance testing in practice
Load testing was also carried out during the performance testing project for the Bulgarian DSK Bank. A significant part of our measurements was also aimed at checking the results of modifications and adjustments when testing DSK Bank's system, and based on these, we made recommendations for further modifications.
Performance testing platforms
Time consumption is a critical factor in performance measurement. With the help of an automatic performance testing tool, we can obtain performance results that can be measured quickly and effectively. Our PeACE performance testing platform, developed by ProofIT professionals, greatly contributes to the proper corporate test automation. One of the main advantages of our platform is that customers receive a one-time performance measurement report. On the other hand, no developers are required to use the tool, as PeACE is equipped with a live performance monitoring system that can be quickly run by anyone without any developer knowledge.
Ask our experts for help with our performance testing platform for complex IT systems today. Learn more about our performance measurement service and our PeACE performance testing tool >>>
Sources: 1 2 3