JMeter is a Java based desktop application that can be used for performance testing of different kinds of client-server applications like websites, web services, databases, FTP servers etc. It is an open source tool provided by Apache with no licensing cost.
Types of applications that can be tested by JMeter:
- Websites - HTTP and HTTPS
- Web Services - REST and SOAP
- Database Servers
- FTP Servers
- LDAP Servers
- Mail Servers - SMTP, POP3, IMAP
- Shell Scripts
- TCP Servers
Advantages of JMeter:
- Free of cost - It is an open source product with zero licensing cost.
- Can load test different kinds of - It can be used for performance testing of all kinds of applications ranging from - Web applications, web services, database, LDAP, shell scripts etc.
- Platform independent - As JMeter is 100% Java based, so it is platform independent and can run in multiple platforms.
- Record and Playback feature - JMeter provides record and playback option along with drag and drop feature which makes it easier and faster to create scripts.
- Customizable - Since JMeter is open source, developers can customize its source code as per their specific requirements.
- Supports distributed load testing - JMeter supports distributed load testing feature in which we can create master-slave setup for carrying out load test on multiple machines.
- Good community support - JMeter has many online tutorials and helping community support. It also has freely available plugins that help in different aspects of script creation and analysis.
Limitations of JMeter:
- Scripting in JMeter requires some level of expertise and understanding of JMeter elements, regular expressions, session handling etc.
- It does not have network visualisation feature unlike other performance testing tools like Loadrunner.
- A single normal configuration machine is not sufficient for carrying out load test with large number of users. In such cases either a very high configuration cloud machine is required or distributed testing is performed.
- It provides very limited real time test monitoring capability as compared to other tools.