Apache JMeter is a free, open-source performance testing tool built in Java. It has been around since 1998 and is the most widely used load testing tool in the world. If you look at QA automation job postings, JMeter appears more than any other performance tool. It is the one skill that gets you through the door.
JMeter works by creating virtual users (called "threads") that send HTTP requests to your application and measure the responses. You can simulate 10 users or 10,000 users. Each user follows a script you define -- log in, search, add to cart, checkout. JMeter records every response time, every error, every byte transferred.
Q: Why did you choose JMeter for performance testing?
A: JMeter is my go-to for several reasons: it is free and open source (no license negotiations), has a GUI that makes it accessible to the entire QA team (not just developers), supports multiple protocols beyond HTTP (we tested database queries via JDBC and message queues via JMS in the same test plan), and has a massive ecosystem of plugins and community support. The limitations -- memory usage and dated GUI -- are manageable. For high-throughput tests, I use JMeter in non-GUI mode and distribute across multiple machines. For reporting, I use the HTML Dashboard Report or integrate with Grafana.
Key Point: JMeter is the industry-standard performance testing tool -- free, GUI-based, multi-protocol, and the most commonly required skill in QA job postings.
Key Point: JMeter is the industry standard -- free, GUI-based, multi-protocol, most requested in QA job postings