In this fourth instalment of the ‘Performance Tools’ series, we will be taking a comparative look at the load testing tools Eggplant Performance and The Grinder, giving a brief overview of what they have to offer.
It is imperative when choosing a performance test tool that it is evaluated thoroughly to ensure that it meets your testing needs. There are many factors that need to be considered including
- Test requirements
- Cost-benefit analysis
Eggplant Performance V The Grinder
Eggplant Performance offers a set of tools for the performance testing of applications and systems. It comprises of the Eggplant Performance Studio, Test Controller and Analyzer. The Eggplant Performance Studio is where the Virtual User (VU) scripts are created, test data is set up and the test work mixes i.e. scenarios are defined. The Test Controller executes the tests on injector machines which can be increased to scale the test and monitors the test in real-time. The Performance Analyzer is the tool used to analyse a test run, compare two or more tests, and create reports.
Virtual User scripts can be created by recording the interaction with an application under test and then generating it from this recording. Alternatively, scripts can be created using a standard template, or from HAR files.
Servers can be monitored for CPU, memory, and network usage by configuring the injectors to collect the measurements which can be correlated with the response time statistics to analyse performance issues and potential bottlenecks.
Many protocols and technologies are supported; however, load testing can be done by automating the user interface using Selenium or Eggplant Functional giving true end-to-end timings. The supported languages include, C++, Java, and C#, depending on the protocol used the VU scripts can be edited, if preferred, in standard IDEs such as Microsoft Visual Studio and Eclipse.
The actions performed on the Controller and Analyzer can be automated using the REST API. This is useful when tests regularly run and helps to integrate the testing into a continuous integration (CI) environment, helping to shorten the testing cycles.
The Grinder is a Java based free performance testing tool. It supports many protocols simulating web browser and devices that use HTTP/HTTPS, web services, SOAP, XML-RPC, databases (JDBC), RPC, MOM, IIOP, RMI/IIOP, RMI/JRMP, and JMS, POP3, SMTP, FTP, and LDAP.
Browser interaction can be recorded using The TCPProxy process which filters the requests and responses to and from the browser. The test script can be generated in either Jython or Clojure, two powerful dynamic scripting languages and then replayed.
Tests can be coordinated from the Console, a graphical interface, as well as managing test scripts, distribution of scripts to the load injectors, and the monitoring of load injectors. In addition to the graphical interface, there is the console service which provides an interface for automating the testing using Jenkins for example. The test can be monitored in a browser using this service with the added flexibility of changing the load, via a test script. Essentially anything that can be done via interface can be done via the service.
Test results in the Console are basic but the raw performance statistics can be imported into Excel for further detailed analysis.
Performance testing tools play a crucial role in enabling organisations to avoid performance issues.
It is vital that businesses have their applications properly tested for performance to ensure that they function seamlessly.
Specific performance testing tools can be used to efficiently test applications.
To read the other articles in this series please follow the link below.
Contact us at SQA Consulting, to see how we may assist you further.