Performance Testing Tools

HP LoadRunner
  • HP LoadRunner software allows you to prevent application performance problems by detecting bottlenecks before a new system or upgrade is deployed. The testing solution LoadRunner enables you to test rich Internet applications, Web 2.0 technologies, ERP and CRM applications, and legacy applications. It gives you a picture of end-to-end system performance before going live so that you can verify that new or upgraded applications meet performance requirements. And it reduces hardware and software costs by accurately predicting application scalability and capacity
  • How it works?
    Load Runner is divided up into 3 smaller applications:
  • The Virtual User Generator allows to determine what actions you would like the Vusers, or virtual users, to perform under stress within the application. You create scripts that generate a series of actions, such as logging on, navigating through the application, and exiting the program
  • The Controller takes the scripts that you have made and runs them through a schedule that you set up. Tell the Controller how many Vusers to activate, when to activate them, and how to group the Vusers and keep track of them.
  • The Results and Analysis program gives you all the results of the load test in various forms. It allows to see summaries of data, as well as the details of the load test for pinpointing problems or bottlenecks.
  • LoadRunner can emulate hundreds or thousands of concurrent users to put the application through the rigors of real-life user loads, while collecting information from key infrastructure components (Web servers, database servers etc). The results can then be analyzed in detail, to explore the reasons for particular behavior.
  • Learn more at
  • NeoLoad is a load and stress testing tool to measure the performance of the web application and provide pragmatic solutions facilitating design and development of the optimized website. The NeoLoad is owned, maintained and developed by a french company called Neotys.
  • The NeoLoad works by simulating traffic up to thousands of users in order to determine the performance of the web application under load, practically analyzing the response time and the number of the simultaneous users which the web application is able to handle.
  • How it works?
    This flexible architecture allows you to plan a wide variety of tests, including those using very high loads.
  • The Controller
    Provides a graphical interface from which the user can create and record scenarios, run tests and analyze the results. Executes the test by controlling the load generators' outputs. Monitors the Web infrastructure's various components without installing any agents on the server.
  • The Load Generator
    Simulates users accessing the application being tested. Collects information on the application's performance. Can be deployed at no additional cost on as many machines as required.
  • System Requirements
    NeoLoad is compatible with all web servers and web application servers: J2EE, .NET, PHP, ASP, CGI, AJAX, SOAP, Flex, Silverlight, GWT, etc...
  • Features
    Browser based recorder: Simply browse your application to record your scenario
  • System Monitoring: Get statistics from your servers (CPU, Memory, ...) on Windows, Linux, Solaris, SNMP devices, Apache, RSTAT, Oracle, Tomcat
  • Data replacement: Log in the virtual users with different accounts, submit forms changing the values
  • SOAP and Webservices dedicated scenario design
  • Advanced scenario: using logical actions: if..then...else, while...
  • Data extraction: Extract generated links and forms
  • Content validation: Check page content under load
  • Reporting: Generate a test report (HTML/Word/PDF/XML
  • SSL: Record and replay secured pages.
  • IP Spoofing: Mandatory to test IP based load balancers
  • The Neotys Cloud Platform for an on-demand flexible load-generation platform
Microsoft VSTS

Visual Studio Professional Edition provides an IDE for all supported development languages. As of Visual Studio 2010, the Standard edition was dropped. MSDN support is available as MSDN Essentials or the full MSDN library depending on licensing. It supports XML and XSLT editing, and can create deployment packages that only use Click Once and MSI. It includes tools like Server Explorer and integration with Microsoft SQL Server also. Windows Mobile development support was included in Visual Studio 2005 Standard, however, with Visual Studio 2008, it is only available in Professional and higher editions. Windows Phone 7 development support was added to all editions in Visual Studio 2010. Development for Windows Mobile is no longer supported in Visual Studio 2010; it is superseded by Windows Phone 7.

How it Works

VSTS Load tests consist of a cycle of web tests or unit tests which operate under multiple simulated users over a phase of time. Load tests are formed with the help of Load Test Wizard. Load test formation can be started by walking through the load test wizard. The wizard guides through creating a scenario, which can be thought of as a particular group of users. Load tests contain one or more scenarios, which are used to reproduce how a group of users interacts with a server application. An individual scenario is prepared of a load pattern, a test mix, a browser mix, and a network mix. Load Test Editor can be used to alter the load test properties. These properties facilitate running the web tests with different user profiles, browser targets, and loading patterns.


» Test results are stored in SQL-based Load Test Results Repository. When a load test is executed, information collected during the run is stored in the Load Test Results Repository. The Load Test Results Repository holds performance counter data as well as any information about recorded errors.

» The Load Test Monitor is used to observe the load tests when running. To view load test results for completed test runs, the Load Test Analyzer is used. Statistics from the load test runs can be analyzed to trace bottlenecks, recognize errors, and compute improvements in the application. While a load test is running, a smaller set of the performance counter data is maintained in memory. This set of data can be monitored as the load test is running. After a load test has finished, the full set of data from the database can be analyzed. There are some differences in what data can be seen while a load test is running and after a load test has accomplished. There are also some differences in the functionality of the tools offered to analyze the data.

» VSTS Load tests can be used through a set of computers known as a rig, which consists of agents and a controller. A collection of computers can be set up that generates simulated load for testing. The group consists of a single controller and one or more agents. Collectively, this group is called a rig. An agent is the element of the rig that is used to run tests and generate simulated load. The controller is the element of the rig that is used to organize the agents and gather the test results. A rig is used to generate more load than a single computer can generate alone.

  • JMeter is an Apache Jakarta project that can be used as a load testing tool for analyzing and measuring the performance of a variety of services, with a focus on web applications
  • Apache JMeter may be used to test performance under stress both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and more). 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. You can use it to make a graphical analysis of performance or to test your server/script/object behavior under heavy concurrent load.
  • JMeter is not a browser. As far as web-services and remote services are concerned, JMeter looks like a browser (or rather, multiple browsers); however JMeter does not perform all the actions supported by browsers. In particular, JMeter does not execute the Javascript found in HTML pages. Nor does it render the HTML pages as a browser does (it's possible to view the response as HTML etc, but the timings are not included in any samples, and only one sample in one thread is ever viewed at a time).
  • How it works?
    To use JMeter to test e.g. a SOAP interface layer, all you basically need is the URL and SOAP request. Starting with that you can build your test plan. Using variables, counters, parameters, CSV files, loops, logs, etc. JMeter is a bit light on user feedback from test actions performed in the graphical interface. When starting a test, the only feedback that there's something happening is the thread count which is displayed in the top right hand corner (and maybe the sound of a creaking application somewhere).
  • The Controller
    Provides a graphical interface from which the user can create and record scenarios, run tests and analyze the results. Executes the test by controlling the load generators' outputs. Monitors the Web infrastructure's various components without installing any agents on the server.
  • Features
    Apache JMeter features include:
  • Can load and performance test HTTP and FTP servers as well as arbitrary database queries (via JDBC).
  • Complete 100% Java purity.
  • Caching and off-line analysis/replaying of test results.
  • Extensible
    Several load statistics may be chosen with pluggable timers. .
  • Data analysis and visualization plugins allow some personalization.
  • Data extraction: Extract generated links and forms
  • Functions can be used to provide dynamic input to a test or provide data manipulation
  • Scriptable Samplers (BeanShell is supported; and there is a sampler which supports BSF-compatible languages).