This Performance Testing Cheat Sheet will help you to quickly revise all the critical performance testing terms in a simple way:
Basic Performance Metrics:
- User Load
- Response Time
- Requests/Transactions per second
- Data Throughput
- Error Rate
- CPU Utilization
- Memory Utilization
- Disk Utilization
Performance Test Type
- Early Performance Test (EPT): To measure system performance during the initial (development) phase
- Load Test: To measure all the performance metrics by applying peak user load
- Stress Test: To measure the stability of the system by applying futuristic (anticipated) user load
- Soak Test: To measure the sustainability of the system by applying average user load for a longer duration
- Spike Test: To measure the system’s stability by applying full user (all users in the system) load for a shorter period at certain time intervals.
- Step-up: To measure the system’s stability under a gradually increasing load condition.
- Break-point Test: To find out the break-point of the system
- Volume (Batch) Test: To measure the system performance under bulk data processing conditions.
Performance Testing Life Cycle:
- Risk Assessment: To identify the scope and nature of the impact on the system’s components (what to test)
- Non-Functional Requirement Gathering: To collect the performance matrices (what to measure)
- Test Plan: To prepare the road-map of the performance test (how to test)
- Test Scripting: To create the automated script using the performance testing tool
- Workload Modelling: To simulate the real-world scenario using the performance test scripts
- Test Execution: To run the performance tests and analyse the test result
- Report: To articulate the findings, outcomes, Go No-Go decision and recommendations
Commonly used Performance Testing Tools:
Commonly used Monitoring Tools:
- Grafana
- Micro Focus SiteScope
- PerfMon
Commonly used APM Tools:
- Dynatrace
- AppDynamics
- New Relic
- Manage Engine
- Datadog
Common Bottlenecks:
- Memory Leakage
- Sizing of the connection pool
- JVM misconfiguration
- Java Thread Deadlock
- Inappropriate Garbage Collection (GC)
- Network Bandwidth issue
- Insufficient RAM
- I/O issue
- Page Fault
What to monitor?
- Web Server
- Application Server
- Database Server
- Middleware
- Network (optional)
Performance Testing Law/Rules:
Basic Terminologies:
- Vuser: Virtual User / Thread
- Transaction: User action on UI
- Think Time: Delay between two transactions
- Iteration: Complete (E2E) journey of Vuser OR Group of transactions.
- Pacing: Delay between two iterations
- Steady State: The time window in which system performance is measured OR when all the Vusers are active
- Ramp-up: Gradually increase in Vuser count
- Ramp-down: Gradually decrease in Vuser count
- Scenario: Group of test scripts