A few years ago, when I was working as a Performance Testing Engineer at one of the largest E-commerce company in India, we regularly faced challenges when executing our LoadRunner scripts. When we overcame collaboration challenges, we often had to lose track of code changes, we had to deal with execution.
Test executions were made throughLoadRunner’sPerformance Center. We had about 200 Windows servers as load generators, 10 Controllers and 5 Analyzers, but these were all shared among multiple teams who each had to run their own tests. And there were a lot of tests to run: we scheduled the LoadRunner servers for 5K up to 7K Vusers, for running Load, Stress, Endurance and Resilience tests. Luckily, my team had top priority, but some teams had to wait full weeks before they were able to run their load tests. This delayed their ability to deliver and to send their code to production.
The JMeter GUI is basically drag and drop object oriented. This helps us save mountains of time when scripting, even with complex scripts. In JMeter, scripting is optional and even when it’s done it’s more intuitive, and it all takes place in one screen.
JMeter’s easy scripting also enables smaller teams to work on each script. In LoadRunner, the complex scripting required dozens of engineers to remain in sync, an impossible mission given that each had his or her own philosophy of correlation rules, scripting, programming and knowledge of the tool. This would result in losing changes made in the code. In JMeter, smaller teams are enough, making collaboration easier.
You can manually setup your own load generators for small loads. You just need a couple of minutes to install Java, downloadJMeterand upload the JMeter script file. InBlazeMeter, which you can use for larger loads, you just need to upload yourJMXfile, select duration and number of iterations, monitors and location.
You can either add graphs or listeners to view test results, or merge the results in JTL files. Results are easy to understand for less experienced engineers, and also allow in-depth analysis for testers with more know-how. In BlazeMeter,the SaaS dashboardshows response times, errors, bandwidth and hits per second, in real time if you want. In a separate tab you can see the load generators counters like CPU, Mem, IO and Network. If external monitors were set like StackDriver, CloudWatch or New Relic, graphs would be available for monitoring in BlazeMeter. All the results can be collaborated through the cloud, the JTL and logs are available for downloading and there is a high-level version for upper-level management.
I feel comfortable when working with JMeter, because JMeter allows me to do what I need in a simple, portable and compatible way. Most performance projects take me around 40 to 50 hours to complete, either for Web or Mobile. In LoadRunner, a similar project might take 200-300 hours, 5 or 6 times more, and would usually require 2-3 team members, instead of one.
Also, JMeter is free to use, which is a huge advantage. Finally, configuration with CI/CD tools like Jenkins for test automation and shifting left is easier.
If you are a Performance Testing Engineer and you are committed to one tool, you should consider looking at new options. Choose the tool that best suits your specific needs, be creative and stay curious.
LoadRunner users, convert your scripts to open-source for free with our LoadRunner Script Converter, and sign up for this free webinar to talk you through getting started with open source based testing.