What is Load Testing?

Load testing 
Load testing is the process of putting demand on a software system or computing device and measuring its response. Load testing is performed to determine a system's behavior under both normal and anticipated peak load conditions.(Courtesy Wikipedia)
Load Testing is done for validating the speed or effectiveness of a software program or device. In today’s competitive environment, customer’s expectations demand faster and error-free performance. Indium’s solution around performance testing also serves to validate the quality attribute of the system in terms of scalability, reliability, response time, interoperability etc.
The primary goal of load testing includes establishing the benchmark behavior of the system. It is focused on addressing performance issues in the design and architecture of software product.

Load Runner has the advantage of being a commercial tool both in terms of technical coverage, current support and future scalability and compatibility perspective whereas JMeter has communities but still can be used widely for light weight protocols like HTTP, JDBC, SOAP UI and not for Enterprise class applications like SAP, Siebel, etc.


Process


Load testing can be done with the following process:

  • Requirement Analysis & Planning
  • Design & Infrastructure
  • Script Execution
  • Analysis & Reporting
Performance testing is done for validating the speed or effectiveness of a software program or device. In today’s competitive environment, customer’s expectations demand faster and error-free performance. Indium’s solution around performance testing also serves to validate the quality attribute of the system in terms of scalability, reliability, response time, inter-operability etc.
The primary goal of performance testing includes establishing the benchmark behavior of the system. It is focused on addressing performance issues in the design and architecture of software product.
  1. Find the area's where you feel the end users will be more accessing the application.
  2. Use JMeter to record that use case.
  3. Run that tests for few hundred users, note down Avg. response time, max and min timings.
  4. Now setup test infra for the requirements you have like 100k users accessing your application.
  5. Run the tests again and note down timings it should have been close to your first reading.

Performance metrics

Below are the most common and important performance metrics:
  • Average, min and max response time for a request
  • CPU, Memory, Network I/O
  • Total number of active thread for a given amount of time .i.e. stable plato
  • How many concurrent thread can be active without giving Errors.

Benefits of Load Testing

Since load testing is a process which let's you measure the response/determine a system's behaviour under a) normal and b) anticipated peak load conditions of a software system or computing device it helps to detect any bottlenecks, identify the maximum operating capacity of the application,  define which elements are causing degradation as such.
Load testing helps to achieve improved quality of the application, reduces cost of change, guarantees customer satisfaction(in terms of quality.