Updated on 2025-05-22 GMT+08:00

OPS03-03 Performing Performance Testing

  • Risk level

    High

  • Key strategies

    System performance metrics are tested by simulating various routine, peak, and abnormal loads with automated testing tools. Performance testing primarily comprises load and stress tests. Essentially, performance testing is a structured series of tests that verify if the system can handle user needs effectively.

    Before application release, performance testing assesses maximum concurrent requests, response time, and stability under intense conditions, ensuring that the system meets the needs for the workload. The insights allow proper infrastructure configuration to optimize resource usage. The following performance test types are essential:

    Load testing: simulates activities of one or more services within a given software-hardware-network ecosystem. It validates that performance metrics stay within acceptable ranges under projected virtual users. Load testing determines the user capacity, valid user threshold, optimal response time, and evaluates resource utilization, revealing the system's peak performance potential.

    Stress testing: applies prolonged, extreme loads by simulating a vast number of virtual users within a given software-hardware-network ecosystem. This continuous pressure evaluates whether hardware devices or cloud services remain stable under severe loads, focusing on the system's reliability beyond normal operation limits.

    Capacity testing: simulates different scales of test data and transactions within a given software-hardware-network ecosystem. In this way, it gathers performance metrics across different hardware or cloud service quantities under a set number of virtual users. These insights help determine both the optimal and maximum capacity of a service system.

    Concurrency testing: checks for deadlocks and other performance issues when multiple users access the same application, module, or data record simultaneously. Given its time-sensitive nature, concurrency testing uses tools to simulate concurrent operations of virtual users through multi-threading or multi-processing approaches. Generally, it is part of performance testing.

    Configuration testing: simulates a set number of virtual users running one or more services within a given software-hardware-network ecosystem. The test results establish a baseline. Later, when the system undergoes optimization or evaluation, the same service scenario is executed again. Comparing the new results against the baseline helps to verify if the enhancements have met expectations and gather the necessary data to make informed decisions on system selection.

    Before performing performance testing, it is essential to choose the right testing tool for simulation and reproduction of specific scenarios. Each tool offers unique functions, such as static and dynamic resource testing, stress and load testing, end-to-end service request/response timing and metering, and testing of web applications, mobile apps, and APIs.

  • Related cloud services and tools

    Huawei Cloud CodeArts PerfTest