Open Source and Commercial Performance Testing Tools



Similar documents
Web Application s Performance Testing

Evaluation of Load/Stress tools for Web Applications testing

CASE STUDY: Client: Problem Statement: Challenge: Solution: Transition from Load Runner to JMeter: Cost Benefit without Feature Compromise

Load and Performance Load Testing. RadView Software October

How To Test A Web Server

Performance Testing Process A Whitepaper

Business Application Services Testing

Features of The Grinder 3

Web Application Testing. Web Performance Testing

Fundamentals of LoadRunner 9.0 (2 Days)

Performance Testing of Java Enterprise Systems

Microsoft Web Application Stress Tool

IBM RATIONAL PERFORMANCE TESTER

Load Testing RIA using WebLOAD. Amir Shoval, VP Product Management

A closer look at HP LoadRunner software

HP essential knowledge series: an introduction to load testing for web applications. White paper

Business white paper. Load factor: performance testing for Web applications

HP LoadRunner: Essentials 11

WebLOAD IDE User's Guide Version 8.0

An introduction to load testing for Web applications. Business white paper

APPLICATION DELIVERY LOAD TESTING TO PREDICT WEB PERFORMANCE

Learning More About Load Testing

Performance Testing Process

PERFORMANCE TESTING. New Batches Info. We are ready to serve Latest Testing Trends, Are you ready to learn.?? START DATE : TIMINGS : DURATION :

Performance Analysis of Lucene Index on HBase Environment

SOA Solutions & Middleware Testing: White Paper

Performance Testing. Why is important? An introduction. Why is important? Delivering Excellence in Software Engineering

Mohammed Khan SUMMARY

PC120 ALM Performance Center 11.5 Essentials

Testhouse Training Portfolio

Enterprise Performance Testing. Karuna Karnati and Ajay Kumar. Accenture Delivery Center for Technology in India

Performance Testing and Optimization in Web-Service Based Applications

Various Load Testing Tools

Performance Analysis of webmethods Integrations using Apache JMeter Information Guide for JMeter Adoption

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

OpenSta OpenSource for Web Load, HTTP Stress & Performance testing

Performance Testing IBM MQSeries* Infrastructures

System Administration of Windchill 10.2

Advanced Administration for Citrix NetScaler 9.0 Platinum Edition

SiteCelerate white paper

Performance testing Web 2.0

Best Practices for Web Application Load Testing

Scalability Factors of JMeter In Performance Testing Projects

How To Test On The Dsms Application

Volume SYSLOG JUNCTION. User s Guide. User s Guide

Software Quality Assurance Training. 50 Cragwood Rd, Suite 350 South Plainfield, NJ 07080

IBM SAP International Competence Center. Load testing SAP ABAP Web Dynpro applications with IBM Rational Performance Tester

PATROL Internet Server Manager Technical Brief

Comparative Study of Load Testing Tools

Noelle A. Stimely Senior Performance Test Engineer. University of California, San Francisco

WebLOAD User's Guide Version 8.0

Web Load Stress Testing

Q: What is the difference between the other load testing tools which enables the wan emulation, location based load testing and Gomez load testing?

SOFTWARE TESTING TRAINING COURSES CONTENTS

Performance Testing of a Large Wealth Management Product

Using JMeter for Testing a Data Center. Siegfried Goeschl

Load Testing Tools. Animesh Das

How To Test For Performance

Informatica Data Director Performance

Oracle WebLogic Server 11g Administration

HPE PC120 ALM Performance Center 12.0 Essentials

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Certified The Grinder Testing Professional VS-1165

WhatsUp Gold v11 Features Overview

LR120 LoadRunner 12.0 Essentials

1. INTERFACE ENHANCEMENTS 2. REPORTING ENHANCEMENTS

Interwise Connect. Working with Reverse Proxy Version 7.x

pt360 FREE Tool Suite Networks are complicated. Network management doesn t have to be.

echomountain Enterprise Monitoring, Notification & Reporting Services Protect your business

Testing Web Applications: Tools and Techniques

Basic & Advanced Administration for Citrix NetScaler 9.2

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

Load testing with. WAPT Cloud. Quick Start Guide

Tutorial: Load Testing with CLIF

SAIP 2012 Performance Engineering

Load Testing with JMeter

LoadRunner and Performance Center v11.52 Technical Awareness Webinar Training

Network Configuration Settings

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

DEPLOYMENT OF I M INTOUCH (IIT) IN TYPICAL NETWORK ENVIRONMENTS. Single Computer running I m InTouch with a DSL or Cable Modem Internet Connection

A Brief. Introduction. of MG-SOFT s SNMP Network Management Products. Document Version 1.3, published in June, 2008

Levels of Software Testing. Functional Testing

Sensitivity Analysis and Patterns Implementation on Load Testing Software Systems

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

1. INTERFACE ENHANCEMENTS 2. REPORTING ENHANCEMENTS

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Edge Configuration Series Reporting Overview

WhatsUp Gold v11 Features Overview

Application. Performance Testing

There are numerous ways to access monitors:

Throughput Capacity Planning and Application Saturation

Load Manager Administrator s Guide For other guides in this document set, go to the Document Center

MSP End User. Version 3.0. Technical Solution Guide

Firewall Builder Architecture Overview

Transcription:

Open Source and Commercial Performance Testing Tools Palla Vinod Kumar Accenture Delivery Center for Technology in India Accenture, its logo, and High Performance Delivered are trademarks of Accenture.

Introduction and Setting the Context 2

Agenda Performance Testing Performance Test Tools Comparison Factors Accuracy Cost Features Test Tools Comparison Q & A 3

Performance Testing What? Performance Testing is subjecting the SUT to either user load or data volume load and measuring the performance metrics associated with the application and the system Why? To validate that the application can process targeted average and peak transaction volumes To verify that response times and system resource utilization fall within defined target ranges To validate that service level agreements (SLAs) are met in a production-like configuration. 4

Performance Testing Tools Need for Automated tools Types of tools Load Generation Tools Controller Script or test generators Load generators or agents Monitoring tools Analysis tools Reporting tools Profilers 5

Performance Testing Tools Commercial tools LoadRunner Silk Performer Rational Performance Tester Open source tools OpenSTA JMeter Grinder WebLoad Basic Edition 6

Comparison Factors Accuracy Cost Features Scenarios Scripting Monitoring Analysis 7

Tools - Accuracy Accuracy has been a subject of debate and research among performance testers Every tool claims that it is accurate Each tool can provide different results for a similar test It should not be taken for granted that commercial tools are always accurate Always cross check the test results with manual testing results while the test is in progress, to validate the test results. Same applies for error messages. 8

Tools - Cost Commercial tools includes cost for Controllers Monitors Tuning modules Virtual users Open Source tools are free for commercial use also 9

Tools Features - Scenarios How accurate can the test scenario be built to match real time usage of the application User concurrency Goal-based scenarios Transactions per second Response time thresholds Control over a running scenario Dynamically adding/stopping virtual users OpenSTA, an open source tool, allows adding virutal users at runtime Ability to view what a virtual user is experiencing in runtime LoadRunner and Silk Performer 10

Tools Features - Scenarios LoadRunner and Silk Performer can emulate complex scenarios Open source tools cannot handle complex scenarios out-of-the-box 11

Tools Features - Scripting Record and Replay Supported by most commercial and open source tools Manual scripting Supported by most commercial and open source tools Very complex and cumbersome, and is not recommended Very useful for testing APIs 12

Tools Features - Scripting LoadRunner C API Java API JavaScript VB Script Silk Performer.Net framework Java framework VB framework COM interface DLL interface Grinder Java API 13

Tools Features - Scripting Commercial tools support many protocols apart from the HTTP/HTTPS protocol LoadRunner and Silk Performer support multi protocol scripts Most open source tools support only HTTP protocol and therefore can only be used for web applications JMeter supports Web HTTP/HTTPS, SOAP, database via JDBC, LDAP, JMS, Mail - POP3 protocols 14

Tools Features - Scripting LoadRunner and Silk Performer support high level context based scripting for HTTP/HTTPS protocol Context based recording results in a script which is short, clear and easy to maintain Open source tools are mainly based on low level scripting If the name of an image is changed, then a script recorded earlier will fail for that request if recorded in low level 15

Tools Features - Scripting Automatic Correlation Most tools (open source and commercial) support automatic correlation of user session variables LoadRunner and Rational Performance Tester support automatic correlation of dynamic application data This feature is very important for scripting complex applications such as enterprise class applications LoadRunner allows defining new correlation rules 16

Tools Features - Scripting Rendezvous Points Most open source and commercial tools support rendezvous points Commercial tools such as LoadRunner and Silk Performer allow the rendezvous points to be defined in detail which allows complex scenarios to be emulated 17

Tools Features - Monitoring Most commercial tools support real time monitoring of server side metrics such as CPU usage, memory, Of the open source tools, OpenSTA supports real time monitoring of server resources available through perfmon and SNMP agents Most of the open source and commercial tools support the monitoring of client side metrics such as response time, hit rate 18

Tools Features - Monitoring Performance monitoring of database servers, web servers, application servers are available only in commercial tools and require a separate license This should not be a major concern as most applications/technology provide a means for monitoring their performance Performance counters JMX counters SNMP agents Application specific monitoring tools 19

Tools Features - Analysis Primary use of analysis is to visualize the performance data so as to make observations and create reports Most tools provide the following data Running virtual users Response time Hits per second Throughput (bytes/sec) Page time Breakdown Transactions per second 20

Tools Features - Analysis Most commercial tools allow resource usage graphs overlay on client side metrics graphs Among the open source tools, OpenSTA and WebLoad Basic edition has analysis and reporting capabilities on par with commercial tools Open source reporting tools such as JCharts can be integrated with JMeter to produce desired graphs Both commercial and open source tools allow raw data to be exported to Microsoft Excel so that desired charts can be produced Commercial tools offer the advantage to use RDBMS/Access as results repository 21

Test Tools Comparison Protocols - The communication protocols that can be captured, manipulated and replayed by the tool. LoadRunner OpenSTA Silk Performer Jmeter Grinder Many supported. Protocols are charged per item. Has a multi-protocol recording feature. HTTP 1.0 / 1.1 / HTTPS (SSL) only. Many supported. Protocols are charged per item. Has a multi-protocol recording feature. HTTP 1.0 / 1.1 / HTTPS (SSL), FTP, JMS, JDBC HTTP 1.0 / 1.1 / HTTPS (SSL), Can be extended to support Java API testing 22

Test Tools Comparison Playback functions - Replaying of the script and script debugging facilities. LoadRunner OpenSTA Silk Performer Jmeter Grinder Extended logging supports view of parameter values and Server messages. Also view and comparison with recorded version of web page view and client response messages. Debugging facilities in script generator, step and breakpoints. Similar playback facilities, but no integrated comparison function. The debugging functions are in the controller, including set break points and single stepping. Extended logging supports view of parameter values and Server messages. Also view and comparison with recorded version of web page view and client response messages. Debugging facilities in script generator, step and breakpoints. No integrated comparison functionality No integrated comparison functionality 23

Test Tools Comparison Scripting Language - The medium used to represent the captured protocol data and manipulate the data for play-back. LoadRunner OpenSTA Silk Performer Jmeter Grinder Called TSL, it uses standard syntax for C et allows C function libraries to be added. Has extensive customized functions for the different protocols supported by the tool. Called SCL, it uses a proprietary, BASIC like language that has special automation scripting facilities. Is limited in available functions, such as string manipulation and supports direct DOM addressing. Called BDL. Has extensive customized functions for the different protocols supported by the tool. Java Jython, a mix of python and Java 24

Test Tools Comparison Extensibility - The medium used to represent the captured protocol data and manipulate the data for play-back. LoadRunner OpenSTA Silk Performer Jmeter Grinder Additional TSL or C function libraries, limited to functional capabilities of the tool. SCL script modules can be defined in 'Include' files. Open Source therefore new tool functionality can be added using C++. Additional BDL or C function libraries, limited to functional capabilities of the tool. New functions can be made available by creating them in Java New functionality can be made available through java classes 25

Test Tools Comparison Scripting Interface - The interfaces supplied by the tool application for the purpose of script editing. LoadRunner OpenSTA Silk Performer Jmeter Grinder Captures in several modes, high level context based and low level HTTP view. Has both a graphical tree structure et a script view. Script view has function sensitive entry. Has low-level HTTP protocol view and provides graphical tree representation of the Document Object Model (DOM) structure. Viewable captured HTML rendering and addressable server-header table. Some language sensitive, syntax color coding functionality. Captures in several modes, high level context based and low level HTTP view. Has both a graphical tree structure et a script view. Script view has function sensitive entry. Has low-level HTTP protocol view and provides graphical tree representation of the requests Does not support record and playback. HTTP plug-in is available to create HTTP tests. 26

Test Tools Comparison Correlation - The task of substituting values in dynamic data to enable successful playback. LoadRunner OpenSTA Silk Performer Jmeter Grinder Automated correlation faculties. Including during recording, after recording and comparing recordings with playback results. Not available for all modes of capture. Manual correlation using graphical interactive DOM structure. Facility to automatically generate script code to aid variable substitution. Automated correlation faculties, after recording and comparing recordings with playback results. Manual Correlation only Manual Correlation only 27

Test Tools Comparison Cookie Management - Detection, recording and playback of HTTP cookies. Both tools need additional code to manage JavaScript generated cookies. LoadRunner OpenSTA Silk Performer Jmeter Grinder HTTP header cookies are managed automatically and can be manipulated manually if required. HTTP header cookies are managed automatically and can be manipulated manually if required. HTTP header cookies are managed automatically and can be manipulated manually if required. HTTP header cookies are managed automatical ly and can be manipulate d manually if required. Cookies should be handled in the test script 28

Test Tools Comparison Parameterization - Automatically changing dynamic data values for more accurate emulation of real users. LoadRunner OpenSTA Silk Performer Jmeter Grinder Extensive facilities for data entry including wizard interface to DB interrogation. No standard function to lock data sources and maintain uniqueness of concurrently accessed data across distributed tests. Extensive facilities for data entry including wizard interface to automatically generate test data. Standard functions for sequential, random and pseudo-random data-file access. Has standard common locking facilities for maintaining uniqueness of parameters for an individual load injector or across all injectors on a distributed test. Extensive facilities for data entry including wizard interface to automatically generate test data. Standard functions for sequential, random and pseudorandom data-file access. Has standard common locking facilities for maintaining uniqueness of parameters for an individual load injector or across all injectors on a distributed test. Standard functions for sequential, random and pseudorandom datafile access. Parameterization has to be handled in the script 29

Test Tools Comparison Monitoring - Resource usage information is captured during execution. It can be shown during execution and used to build performance reports. LoadRunner OpenSTA Silk Performer Jmeter Grinder Many supported. On-line graphics during execution. Supplied with Apache, Netscape et IIS, other monitors are charged per item. Results used for reporting. New facility to allow remote users to monitor real-time results via a browser based interface. Note: To monitor through a firewall requires TCPIP access through a specific port. Supports Integrated realtime, graph view of Windows NT/2000 Performance (Perfmon) et SNMP collectors. Various measurements of test progress including VU-specific, custom status and activity information. Web-relay allows monitors to run on remote machines beyond firewall. Online graphics during execution, et monitored results used for reporting. Many supported. On-line graphics during execution. Results used for reporting. No inbuilt support for online monitorin g. Allows the functionali ty to be extended for real time monitorin g of client side metrics Can monitor the response time and transactions per second in real time 30

Test Tools Comparison Distributed Load Tests - The ability to distribute the generation of load across multiple load-injector machines. LoadRunner OpenSTA Silk Performer Jmeter Grinder Supports multiple loadinjectors managed by a single controller. Supports multiple load-injectors managed by a single controller. Uses TCP/IP if on the same network or the Web-relay feature uses HTTP to control loadinjectors located within remote DMZs. Supports multiple loadinjectors managed by a single controller. Supports multiple loadinjectors managed by a single controller. Supports multiple loadinjectors managed by a single controller. 31

Test Tools Comparison IP Spoofing - The ability to emulate the behavior of different IP addresses accessing a system. Particularly useful with Load balancing systems. LoadRunner OpenSTA Silk Performer Jmeter Grinder Supports IP spoofing including automated router updates for IP forwarding. No inbuilt features to enable IP spoofing. Supports IP spoofing No inbuilt features to enable IP spoofing. No inbuilt features to enable IP spoofing. 32

Test Tools Comparison WAN/LAN Emulation - The ability to emulate the behavior of different network infrastructures during a test. LoadRunner OpenSTA Silk Performer Jmeter Grinder New feature added to version 7.6. Allows the emulation of latency, packet loss, link faults et dynamic routing effects over the LAN used in a test. Requires a special license. No inbuilt features to enable WAN/LA N emulatio n. No inbuilt features to enable WAN/ LAN emulation. No inbuilt features to enable WAN/LAN emulation. No inbuilt features to enable WAN/ LAN emulation. 33

Test Tools Comparison Caching - The ability to emulate the caching of pages as performed by a web browser. LoadRunner OpenSTA Silk Performer Jmeter Grinder Can control browser cache emulation during playback and control setting for each individual vuser. No specific faculties, although can be emulated with simple script code. Can control browser cache emulation during playback and control setting for each individual vuser. No specific faculties, although can be emulated with script code. No specific faculties, although can be emulated with script code. 34

Test Tools Comparison User connection speed emulation - The ability to emulate the different network speeds that can be used by real users. LoadRunner OpenSTA Silk Performer Jmeter Grinder Can emulate different network speeds during playback No inbuilt features to emulate userconnection speed emulation. Can emulate different network speeds during playback No inbuilt features to emulate userconnection speed emulation. No inbuilt features to emulate userconnection speed emulation. 35

Test Tools Comparison Reporting and Analysis - The facilities to examine and investigate the results of a test including timers and monitored resources and display the results in graphical format LoadRunner OpenSTA Silk Performer Jmeter Grinder Sophisticated et large range of charts and graphs with overlay facilities. -Automatic report generation into MS-Word. Analyzer is a separate application that can be distributed to users. Simple charts and graphs sufficient for analyzing key load related statistics and resource usage monitors. Resource usage monitors supports graph overlays. Can be exported to Microsoft Excel. No license restrictions on OpenSTA distribution thus stats can be viewed by any user with access. -Free tools and excel macros available through public user-forums. Sophisticated et large range of charts and graphs with overlay facilities. -Automatic report generation HTML format. Simple charts and graphs for analyzing client side metrics. Can be extended to use open source reporting tools. Test results are provided in log files. 36

Open Source Vs Commercial Tools Do not write off open source tools Evaluate the requirements of an application before deciding on a test tool 37

References OpenSTA, the free performance testing tool, versus the big-guns... By Andy O'Brien and Antony Marcano of "etest associates":http://www.etest-associates.com Stress, Load, Volume, Performance, Benchmark And Base Line Testing Tool Evaluation And Comparison by Cordell Vail http://www.softwareqatest.com/qatweb1.html http://www.tejasconsulting.com/open-testware/feature/grinder-3.0-beta.html http://www.docstoc.com/docs/13159/website-load-tester-tools-overview http://www.opensourcetesting.org/performance.php 38

Open Source and Commercial Performance Testing Tools Q & A 39

Thank You! vinod.kumar.palla@accenture.com Accenture, its logo, and High Performance Delivered are trademarks of Accenture.