Eggplant Performance is a set of tools for load and performance testing of application clients, servers, networks, and network devices. By measuring performance at these different layers of a system under test (SUT), Eggplant Performance provides a uniquely comprehensive analysis of both the user experience of an application and the capabilities of the supporting hardware, software, and network.
Eggplant Performance testing simulates the actions of real users with efficient, low-overhead, and consistent virtual users (VUs). As such, VUs represent a method for quickly, simply, and repeatedly assessing the performance of a SUT, resulting in shortened product cycles and an improved user experience of an application.
Eggplant Performance includes a number of powerful and easy-to-use tools that facilitate the creation of dynamic VUs. These tools allow you to create complex, advanced tests where each VU has its own unique data and timings. Additionally, you can set up groups of VUs to run different scripts or workflows within the same test, simulating a variety of user stories. By acting as an engine for coordinating the execution of dynamic and variable VUs, Eggplant Performance simplifies the process of deploying realistic performance tests against a SUT and its environment.
What Does an Eggplant Performance Test Environment Look Like?
The applications comprising the Eggplant Performance set of tools are Eggplant Performance Studio, Test Controller, and Analyzer. See Eggplant Performance Components for descriptions of the different applications.
The Eggplant Performance test environment consists of the following components:
Controller machine: where you design and initialize tests.
Injector machine: where you run tests.
System(s) under test (SUTs): which can include back-end databases and web servers, or instances of a front-end client.
In cases where a limited number of VUs are required, the controller machine and injector machine can consist of a single physical machine. The addition of injectors enables the straightforward scalability of tests.
Which Technologies Can Eggplant Performance Test?
Eggplant Performance supports numerous protocols, communication interfaces, data formats, and programming languages, enabling performance testing of many types of servers and distributed applications, including: web servers, databases, EJB servers, Microsoft .NET services, SOAP, Citrix servers, mail servers, telnet services, mainframe systems, proprietary applications, or load testing by automating the user interface.
Eggplant Performance uses an open and extensible framework that can provide the solution to numerous load and performance testing requirements. You can quickly add support for new protocols or interfaces. Tools such as recording capabilities and support for common, powerful, and accessible scripting languages make performance testing with Eggplant Performance straightforward and easy to adopt. Eggplant Performance can act both as a server and a client, allowing Eggplant Performance to generate load for the testing of network infrastructures, intermediate layers of N-tier architectures, as well as equipment such as routers and content-aware network devices.
Eggplant Performance is compatible with standard development environments such as Microsoft Visual Studio (including Express Editions) and Eclipse for test script development. Supported programming languages include C, C++, Java, and C#. You can script test runs using Python, and there is a REST API for automating analysis.
There are four main components of Eggplant Performance:
- Eggplant Performance Studio: Studio enables you to create virtual user (VU) scripts, configure test data, and define tests.
- Eggplant Performance Test Controller: Test Controller executes and monitors test runs.
- Eggplant Performance Analyzer: Analyzer processes raw test run results data to produce statistical reports and graphical charts.
- Eggplant Performance Injectors: Actual load is generated by injector software installed on laptops, desktops, servers, etc. These machines are collectively termed Injectors.
Note: The machine where you run Eggplant Performance Studio, Test Controller, and optionally Analyzer is known as the Controller in your Eggplant Performance test environment.
Eggplant Performance Quick Start Guide
For a walk-through of how you use the Eggplant Performance applications to create and run tests, then analyze results, see The Eggplant Performance Quick Start Guide.