In software engineering, performance testing is testing that is performed to determine how fast some aspect of a system performs under a particular workload. It can compare two systems to find which performs better. Or it can measure what parts of the system or workload cause the system to perform badly. Performance testing is frequently not performed against a specification, i.e. no one will have expressed what is the maximum acceptable response time for a given population of users, but should be. However, performance testing is frequently used as part of the process of performance profile tuning. The idea is to identify the “weakest link” – there is inevitably a part of the system which, if it is made to respond faster, will result in the overall system running faster. It is sometimes a difficult task to identify which part of the system represents this critical path, and some test tools include (or can have add-ons that provide) instrumentation that runs on the server (agents) and report transaction times, database access times, network overhead, and other server monitors, which can be analyzed together with the raw performance statistics.
Performance specifications should ask the following questions, at a minimum:
• In detail, what is the performance test scope? What subsystems, interfaces, components,
etc are in and out of scope for this test?
• For the user interfaces (UI’s) involved, how many concurrent users are expected for each
(specify peak vs. nominal)?
• What does the target system (hardware) look like (specify all server and network appliance
configurations)?
• What is the Application Workload Mix of each application component? (for example: 20%
login, 40% search, 30% item select, 10% checkout).
• What is the System Workload Mix? [Multiple workloads may be simulated in a single
performance test] (for example: 30% Workload A, 20% Workload B, 50% Workload C)
• What are the time requirements for any/all backend batch processes (specify peak vs.
nominal)?
• In detail, what is the performance test scope? What subsystems, interfaces, components,
etc are in and out of scope for this test?
• For the user interfaces (UI’s) involved, how many concurrent users are expected for each
(specify peak vs. nominal)?
• What does the target system (hardware) look like (specify all server and network appliance
configurations)?
• What is the Application Workload Mix of each application component? (for example: 20%
login, 40% search, 30% item select, 10% checkout).
• What is the System Workload Mix? [Multiple workloads may be simulated in a single
performance test] (for example: 30% Workload A, 20% Workload B, 50% Workload C)
• What are the time requirements for any/all backend batch processes (specify peak vs.
nominal)?
No comments:
Post a Comment