YouTube Video: Apache JMeter – Introduction
Apache JMeter is an open-source performance testing tool; developed in Java. JMeter does not require any purchasing or licensing cost. It means that you can conduct the performance testing of an application or a software system without spending a single penny on the tool. JMeter becomes a rapidly growing tool due to its unrevealed features which compete for the other licensed tools. To make this tool stronger, Apache JMeter Development Community is continuously working on the requirement raised by JMeter users and provides the useful plug-in. The community also releases the upgraded version of the tool with major updates.
A brief history of Apache JMeter:
Stefano Mazzocchi developed Apache JMeter and the officially released the first version in 1998. Since then it’s features have been growing day by day. JMeter became a Top-Level Apache project in November 2011, which means it has a Project Management Committee and a dedicated website.
Apache JMeter is a Java-based tool which means it is a platform-independent tool. Any popular operating system supports JMeter without any issue i.e. you can install the JMeter easily. The only one thing which an operating system should have is the supportive version of Java. JMeter has nearly all the basic as well as advanced features which a performance testing tool should have.
Following are some important features of Apache JMeter (as on 01/05/2019):
- Apache JMeter is an open-source tool. It means free to use.
- No additional licensing cost or purchasing the pro version.
- Pure Java-based application, so works on any operating system i.e. Platform Independent.
- Lightweight and easy to install
- No maintenance cost
- Easy to upgrade
- Easy to enhance the features by simply adding .jar file i.e. plug-ins
- No explicit hardware is required (depends upon the load requirement)
- Unlimited User load (Thread) generation capability (depending on LG configuration)
- Simple and User-friendly GUI
- Run in both GUI and Non-GUI mode
- Recording option helps to record the user action on an application
- Supports all the basic scripting features like parameterization, correlation, browser simulation delay in request etc.
- Easy to debug the scripts
- Support Android application performance testing
- Test the performance of both static and dynamic resources
- Supports protocols like Web/HTTP, Web services, Databases, SOAP, etc.
- It can be integrated with the third-party APM tools like DynaTrace, Applicare, Grafana etc.
- Integration with CI tools like Jenkins etc.
- Drag and drop declarative view for scripts.
- Average reporting pattern (Report in HTML format post 3.0 version)
- Proper documents are available to gain knowledge of the functionality
- Free and Commercial Online supports are available
Along with an ample number of features, Apache JMeter has some limitations too, which are (as on 01/05/2019)
- Limited protocol support
- No dedicated support team
- The script cannot be regenerated
- No Protocol adviser
- Compatibility issue in the existing script while upgrading the version
- No Run time graphs (only available when integrates with some monitoring tool like Grafana)
- Dependency on Beanshell and other coding languages for complex scenario scripting
- GC/Heap memory issue is common while running a test on a limited resource machine.
- Unpredictable issues in distributed testing
- Lack of in-depth analysis features
- Reports having fewer features which make analysis bit difficult
Apache JMeter Official Website
Apache JMeter is a simple and useful performance testing tool. Most of the product based companies use JMeter to test the performance of their products. But, service-based companies have a different thought and shows less interest to accept JMeter. They still prefer and recommend the licensed tool. Although, it is very well accepted by many clients because it saves money and provides an accurate result. To conclude, Apache JMeter is a well-known name in the Performance Testing world which is ease-to-use, free of cost and of-course good for Performance Testing.