Performance Testing — Web Apps
2 min readSep 29, 2018
What is performance testing?
- Type: Non-Functional testing
- What is tested?: System’s behaviour under extreme conditions
- Objective: 3 S’s — Speed, Scalability, Stability
How it is done?
It is typically done with some variations on the load (no.of concurrent users hitting system under test). Each of them have a defined objective.
- Load Testing: Check for bottlenecks under extreme case
- Stress Testing: Evaluate the breaking point of the application
- Endurance Testing: Test to handle the load for a longer duration
- Spike Testing: Test to handle sudden increase in the load
Few other performance tests under data, scalability parameters are done as
- Volume testing: System tested under varying data volumes
- Scalability Testing: How application scales with increasing load
Performance parameters monitored in
- Response time
- Throughput
- Error rates
- Bandwidth
- Resource Utilisation: CPU, Memory
Performance Testing Procedure
- Objective: It is important to define the business objectives (typically no.of concurrent users and resource limitations/budget)
- Input: Heterogeneous user requests simulating realtime with data
- Output: Performance parameters to be monitored and fixing acceptance
- Configure testing: Capture and/or generated load generations scripts
- Run: Use configured scripts and execute performance test
- Record: Capture results from step 5
- Tune System: Check the output and Fix required issues.
- Repeat step 5 until output is acceptable
Common issues fixed in step 7
Most common items being fixed are
- Bottlenecks — Some blockage in data flow path
- Poor scalability — caused by concurrent tasks
- Software configuration issues
- Insufficient hardware resources