What are the different types of tests used in performance testing? What are the most important metrics to use for each type of test?
Load Testing: Defined number of virtual users for loading a system
Stress Testing: Undefined number of virtual users for overloading a system, usually is used for capacity planning
Performance Testing: Capacity of analyzing and diagnosing bottlenecks (performance defects) using any Test (Load, Stress, Peaks, Volume, Stability, etc.)
There are different types of Performance Testing, and based on a customer's requirement, we choose which tests need to be conducted. Sanity Tests, Baseline Tests, Load Tests (Concurrent Users & Transaction Volumes), Stress Tests & Endurance (Soak) Tests.
There are various KPIs that we monitor; broadly categorized into Client Side & Server Side
Client Side - Hits per second, Throughput, Response Times, HTTP Codes, Tool Based Web Page Diagnostics
Server Side - CPU, Memory, Network Utilization, Disk Space. These 4 are the first level of analysis. Based on issues reported, we drill down further into each monitoring object. Each object has its own set of counters and specific to the kind of server being used, like Apache, SAP, SQL, Hybris etc.
Performance Testing can be classified as Load, Stress , Endurance or Volume Testing , Breakpoints test or Scalability Test. Most important metrics are baseline and Key Performance Indicator ( KPI) matrix of the transactions.