2. Performance testing objectives and goals

 

2.1 The prime goals for performance test include:

  • Number of concurrent users required for the system
  • Response time of the system for each/all transactions or a process/workflow
  • Acceptable limits of system utilization CPU, Memory (RAM/Hard Disk), Network etc.
  • Thresholds required for counters to define “peak” or “maximum” capacity

2.2 To Achieve the above goals, performance testing includes:

  • Baseline/Benchmark Test helps in establishing the performance baselines or benchmarks for the system
  •  Load Test helps in emulating the production load on the system with heavy transactions or heavy user loads
  • Stress Test helps in determining the system load to the breakpoint beyond the acceptable limit
  • Soak/Scalability Test helps in determining the consistency of the system for a longer period of time when exposed to heavy load or stress
  • Volume Test determines the data volumes or throughput of the data being transferred or downloaded beyond acceptable limits

Objective

Answers the Questions

Description

Measuring end-user response time

How long does it take to complete a business process?

Check how long it takes for the user to perform a user – activity and receive a response from the server.

Defining optimal hardware configuration

Which hardware configuration provides the best performance?

Check how various system configurations (memory, CPU speed, cache, adaptors, modems) affect performance. Once you understand the system architecture and have tested the application response time, you can measure the application response for different system configurations to determine which settings provide the desired performance levels.

For example, you could set up three different server configurations and run the same tests on each configuration to measure performance variations

Checking reliability

How hard or long can the system work without errors or failures?

Determine the level of system stability under heavy or continuous workloads. You can use performance test tools to create stress on the system: force the system to handle extended activity in a compressed time period to simulate the kind of activity a system would normally experience over a period of weeks or months.

Checking hardware or software upgrades

How does the upgrade affect performance or reliability?

Perform regression testing to compare a new release of hardware or software to an older release. You can check how an upgrade affects response time (benchmark) and reliability. Application regression testing does not check new features of an upgrade; rather it checks that the new release is as efficient and reliable as the older release.

Evaluating new products

Which server hardware or software should you choose?

You can run tests to evaluate individual products and subsystems during the planning and design stage of a product's life cycle. For example, you can choose the hardware for the server machine or the database package based on evaluation tests.

Measuring system capacity

How much load can the system handle without significant performance degradation?

Measure system capacity and determine how much excess capacity the system can handle without performance degradation. To check capacity, you can compare performance versus load on the existing system and determine where significant response-time degradation begins to occur. This is often called the "knee" of the response time curve.

Identifying bottlenecks

Which element is slowing down response time?

You configure the LoadRunner monitoring components to identify bottlenecks on the system and determine which element is causing performance degradation, for example, file locking, resource contention, and network overload. Use LoadRunner in conjunction with the new network and machine monitoring tools to create load and measure performance at different points in the system. For more information on monitoring


No comments:

Post a Comment

Generate a dynamic Transaction Name that starts with the script name, transaction number, and transaction description

Problem Statement: Every start and end transaction in the script should have a name in the format "ScriptNo_AppName_ModuleName_Transact...