Load Testing

About

Load Testing is a type of performance testing where a system is tested under a specific expected load to measure its behavior. The goal is to determine how the system performs when multiple users or processes access it simultaneously under normal or peak conditions.

It focuses on validating:

  • Response time

  • System stability

  • Resource usage (CPU, memory, bandwidth, etc.)

  • Throughput (requests per second)

  • Error rates or failure under expected load

Purpose

The objective of load testing is not to break the system but to verify that it can handle expected traffic gracefully.

Typical goals:

  • Determine the maximum number of concurrent users the system can support.

  • Identify performance bottlenecks in infrastructure or application logic.

  • Validate Service Level Agreements (SLAs) like response time < 2s for 95% of users.

  • Check resource consumption patterns to tune auto-scaling and capacity planning.

When to Perform Load Testing ?

  • Before major product releases

  • During performance optimization phases

  • After infrastructure upgrades or migrations (e.g., database version change)

  • Periodically during CI/CD cycles to detect regressions

  • Before marketing events or high-traffic campaigns

What Components can be Load Tested ?

  • APIs: REST, GraphQL, gRPC services

  • Web UIs: Login pages, dashboards, e-commerce checkout flows

  • Databases: Read/write throughput, connection pool handling

  • Backend Services: Queues, caches, authentication services

  • Third-party Integrations: External payment gateways, APIs (with caution)

Typical Load Test Scenario

  • Simulate 100 concurrent users logging in and fetching dashboard data.

  • Gradually ramp from 0 to 100 users over 5 minutes.

  • Maintain steady load for 15 minutes.

  • Collect response time, error count, and CPU/memory usage during the test.

Last updated