Introduction
The Performance Test is a test to check whether the data processing speed of the system and the amount of data that can be processed at one time are specifications suitable for user use. When conducting a performance test, it is necessary to correctly understand the difficulty and purpose of the performance test.

In the software development process, it is essential not only to make sure that the system works according to the specifications but also to check whether the performance of the system can be used by users. No matter how much it works according to the specifications in the test by the developer, if the data cannot be processed at the processing speed and volume according to the user’s usage situation, customer satisfaction will be reduced.
This time, we will introduce the types, objectives, and characteristics of test methods for Web system performance tests such as load tests.
What is a performance test (performance test)?
The Performance Test is a test to check whether the data processing speed of the system and the amount of data that can be processed at one time are specifications suitable for user use. When conducting a performance test, it is necessary to correctly understand the difficulty and purpose of the performance test.
The difficulty of performance test
Since performance tests are performed in an environment that assumes actual user usage, it is often a heavy burden to prepare data and create a situation to execute the test.
For example, in a system that is expected to process thousands and tens of thousands of data at the same time, it is necessary to register and process a huge amount of data to verify whether it can withstand the load of the amount of data. Occurs.
In the performance test, the seemingly ambiguous index “performance” is incorporated into specific test items for evaluation. Appropriate evaluation cannot be performed unless the user use cases and the specific number of users/accesses can be assumed.
To give an example of system processing speed, there are cases where the index “response time within 3 seconds” is adopted without considering the nature of the system. If the response time of a competing service is less than 1 second, the user may decide that it is too slow and leave the service. Performance test metrics need to be carefully considered.
Purpose of performance testing
Performance tests are software tests that are completely different from so-called functional tests, such as those performed in unit tests and integration tests.
In the functional test, the point is whether or not the operation is correct based on the specifications and design documents. On the other hand, the performance test focuses on “whether the user can use it comfortably” and aims to detect the bottleneck of the system data processing and response speed based on the actual usage assumption. ..
For example, even if you take one problem of “slow processing speed”, there is no way to improve it unless you know which part of the system is causing the slowdown. The purpose of the performance test is to find out the conditions that cause performance degradation, such as whether the amount of data is a bottleneck or whether it is caused by multiple users accessing it at the same time.
Even if the system operates normally under certain conditions, it cannot be used unless it meets the performance requirements according to the user’s usage. In recent years, ensuring system performance has become more important, as user exit rates increase with just a few seconds longer response times.
Three types of performance tests according to the purpose
In addition to the tests that measure the processing speed and the number of simultaneous processes under normal conditions, the tests that measure performance include tests that verify the performance when the system is under heavy load. This is called a load test. Load tests are classified into two types, stress tests and load tests, depending on their purpose. In addition, there is an extensibility test as a test to investigate the timing and requirements of system performance improvement.
Let’s compare the purpose and characteristics of each.
Stress test

A stress test is a test that confirms how the system behaves concerning the number of simultaneous accesses and the amount of processed data that exceeds expectations.
In the unlikely event that a load that exceeds expectations is applied to the system, processing should be stopped due to a decrease in processing speed or an error. However, some systems may have undesired behavior, such as data inconsistencies or interruptions due to system errors. A stress test is an essential test to prevent irreparable situations such as data loss in the event of an unexpected situation.
Road test
The load test is a test to check whether the behavior according to the defined requirements is performed when the access is as close as possible to the expected upper limit or when the data processing of the maximum volume is performed. This test is different from the stress test because it aims to measure the processing power of the system under a more realistic load on the system.
The stress test confirms the operation of the system when a load higher than expected is applied, while the load test confirms whether the system operates according to the specifications when the “maximum load that can be expected to operate normally” is applied. confirm.
Extensibility test
So far, we’ve looked at two types of load tests: stress tests and load tests. Scalability testing, on the other hand, is a test that focuses on determining the performance requirements that the system can tolerate over a long period. For example, we will conduct tests from the perspective of “what level can we handle when the number of users and the amount of data in the database increase in the future?”
Unlike stress tests and load tests, which are performed with a maximum or higher expected load, the purpose is to check the amount of data that can be processed and the number of accesses. By understanding the limits of scalability, you can set thresholds and be prepared to alert when they are exceeded, or to increase the number of servers in case of future load growth.
Implemented in combination according to the situation
I mentioned that performance tests can be broadly divided into three types, but it is not enough to pick up one of these methods. To create a system that can be used by users, we will combine multiple tests according to the situation and purpose.

The important point when conducting a performance test is to clarify the purpose of conducting the test and to clarify the viewpoint based on the user’s usage assumption. You can maximize the effect of the performance test by preparing the data and setting the confirmation items according to the purpose.
Also, when dealing with a large amount of data or testing multiple accesses, the burden of building a test environment becomes heavy, so it is more efficient to test from multiple perspectives at once.
summary
This time, we introduced the purpose of performance tests and typical test methods. Performance tests include load tests such as stress tests and load tests to confirm the performance of the system under high load conditions, as well as scalability tests to investigate the timing and requirements for improving the performance of the system. When conducting performance tests such as load tests, it is important to clearly understand the usage status of users, prepare an appropriate test environment, and set expected values. Understand the three typical performance test categories and their differences, and get ready for testing.
If you ever want to know about similar things, check out the Facebook page Maga Techs.