Apache JMeter
// Definition
An open-source Java-based performance testing tool for measuring the behaviour of systems under load. Supports HTTP, JDBC, FTP, JMS, and other protocols. Widely used in enterprise and regulated industries (banking, insurance, government) due to its maturity, GUI-based test authoring, and rich plugin ecosystem. Test plans are stored as .jmx XML files and can be run headlessly from the command line for CI/CD integration.
// Related terms
Load Testing
Verifying system behaviour under expected production load. Confirms the application meets performance targets at typical concurrent-user counts before release.
Stress Testing
Pushing the system beyond its limits to find the breaking point and observe failure modes. Asks: where does this fall over, and how does it recover?
Soak Testing
Running the system at expected load for a prolonged period (hours to days) to surface memory leaks, connection exhaustion, and slow degradation that short tests miss.
Think Time
Pauses between user actions in a load test that simulate real reading, scrolling, or decision time. Without think time, a load script generates an unrealistic, machine-gun request pattern that doesn't match production traffic.
Throughput
The amount of work completed per unit of time — requests per second, transactions per second. Higher is better.
Thread Group (JMeter)
The core configuration element in a JMeter test plan that defines the number of virtual users, the ramp-up period, and the test duration. Each thread in a Thread Group simulates one virtual user running through the sampler sequence. Specialised variants include the Stepping Thread Group (gradual increment) and Ultimate Thread Group (arbitrary load shapes).