Open Source Performance Testing Tools
- Performance testing is defined as the technical investigation done
to determine or validate the speed, scalability, and/or stability
characteristics of the product under test. Performance-related activities, such
as testing and tuning, are concerned with achieving response times, throughput,
and resource-utilization levels that meet the performance objectives for the
application under test.Following is the list of few open source tools which can be used
for performance testing.
- Apache
JMeter is an open source
software, a 100% pure java desktop application designed to test functional
behavior and measure performance. It can be used to simulate a heavy load on a
server, network, or object to test its strength or to analyze overall
performance under different load types. It
provides features such as a multithreaded framework, complete portability
across a variety of platforms, capability to load and performance test many
different server types, highly extensibility, efficient GUI design and support
for offline analysis of test results.
- The Grinder is a java based performance testing
framework that makes it easy to run distributed tests using many load injector
machines. Its adapts a generic approach to testing which includes common cases
like HTTP, web servers, SOAP and REST web services and application servers
(CORBA, RMI, JMS, EJBs) as well as custom protocols. It also provides features
like flexible scripting, distributed frameworks and a mature HTTP support.
- Pylot is a free open source tool for testing
performance and scalability of web services. It generates concurrent load (HTTP
Requests), verifies server responses, and produces reports with metrics. It's
provides multi-threaded load generators, automatic cookie handling, response
verification with regular expressions, execution/monitoring console, real-time
stats, results reports with graphs, custom timers, shell modes, cross-platform
etc. It is incredibly easy to provision an instance and launch a virtual
machine using its EC2 console.
- OpenSTA is a distributed software testing architecture
designed around CORBA. The current toolset has the capability of performing
scripted HTTP and HTTPS heavy load tests with performance measurements from
Win32 platforms. It also supports the creation of collector-only tests for
monitoring production environments.
- LoadUI is a tool for Load Testing numerous protocols,
such as Web Services, REST, AMF, JMS, JDBC as well as Web Sites. Tests can be
distributed to any number of runners and be modified in real time. LoadUI is
tightly integrated with soapUI. LoadUI uses a highly graphic interface making
Load Testing fun and fast.
- Benerator is a load/integration
testing tool. It is a framework for creating realistic and valid high-volume
test data, used for (unit/integration/load) testing and showcase setup.
Metadata constraints are imported from systems and/or configuration files. Data
can be imported from and exported to files and systems, anonymized or generated
from scratch. Its features are customizability, component based, easily
extendible, ease of use, data quality, generic approach, usability etc.
Benerator is highly extensible with a load of plugin interfaces that map to and
from specific platforms or add generic, platform independent features.
- FunkLoad is a functional and
load web tester, written in Python, whose main use cases are functional and
regression testing of web projects, performance testing by loading the web
application and monitoring your servers, load testing to expose bugs that do
not surface in cursory testing, and stress testing to overwhelm the web
application resources and test the application recoverability, and writing web
agents by scripting any web repetitive task, like checking if a site is alive.
- Hammerora is a load generation
tool for the Oracle Database and Web Applications. Hammerora includes pre-built
schema creation and load tests based on the industry standard TPC-C and TPC-H
benchmarks to deploy against the Oracle database with multiple users. Hammerora
also converts and replays Oracle trace files and enables Web-tier testing to
build bespoke load tests for your entire Oracle application environment.
- SLAMD Distributed Load Generation Engine (SLAMD) is a Java-based
application designed for stress testing and performance analysis of
network-based applications. SLAMD was originally developed for the purpose of
benchmarking and analyzing the performance of LDAP directory servers, and
it is the most powerful and flexible tool available for this task. However, it
is also well-suited for testing other kinds of network applications and has
been used for things like Web servers and Web-based applications, relational
databases, and mail servers. It can also be used for non-network based
applications (and in fact, it is used for comparing things like CPU power and
memory latency across a number of different kinds of systems), although its
distributed nature makes it ideal for systems that can be accessed remotely.
- Tsung is a distributed load testing tool. It is
protocol-independent and can currently be used to stress HTTP, SOAP and Jabber
servers (SSL is supported). It simulates complex user's behaviour using an XML
description file, reports many measurements in real time (including response
times, CPU and memory usage from servers, customized transactions, etc.). HTML
reports (with graphics) can be generated during the load.