Choosing A Load Testing Strategy Why and How to Optimize Application Performance



Similar documents
Silk Performer LOAD TESTING. The key to keeping business applications running

How To Test For Performance

The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a

Bringing Value to the Organization with Performance Testing

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

Performance Testing and Optimization in Web-Service Based Applications

Business Application Services Testing

Data Center Virtualization and Cloud QA Expertise

<Insert Picture Here> Application Testing Suite Overview

Application Testing Suite: A fully Java-based software testing platform for testing Oracle E-Business Suite and other web applications

Federal Secure Cloud Testing as a Service - TaaS Center of Excellence (CoE) Robert L. Linton

How To Test On An Hp Mobile Device

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad

Service Virtualization:

Latest Trends in Testing. Ajay K Chhokra

Application Testing Suite Overview

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

Copyrighted , Address :- EH1-Infotech, SCF 69, Top Floor, Phase 3B-2, Sector 60, Mohali (Chandigarh),

SOFTWARE PERFORMANCE TESTING SERVICE

Automated testing for Mobility New age applications require New age Mobility solutions

Service Virtualization

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

Staffing Your Test Automation Team

Business white paper. Best practices for implementing automated functional testing solutions

Cloud Testing Testing on the Cloud

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

U.S. Navy Automated Software Testing

Automate performance testing to predict system behavior and improve application performance. White paper

Performance TesTing expertise in case studies a Q & ing T es T

Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota

Ensuring Web Service Quality for Service-Oriented Architectures. An Oracle White Paper June 2008

Best Practices for Web Application Load Testing

Performance Testing of Java Enterprise Systems

Effective and Best practices of load and performance testing Oracle Applications using BSD Oracle plug-in for Rational Performance Tester

Fax Server Cluster Configuration

Application Security Center overview

Performance Testing for BMC Remedy IT Service Management Suite

An Oracle White Paper March Load Testing Best Practices for Oracle E- Business Suite using Oracle Application Testing Suite

Application Testing Suite Oracle Load Testing Introduction

Request for Proposal for Application Development and Maintenance Services for XML Store platforms

27 th March 2015 Istanbul, Turkey. Performance Testing Best Practice

SOFTWARE TESTING TRAINING COURSES CONTENTS

HP Agile Manager What we do

IBM CICS Transaction Gateway for Multiplatforms, Version 7.0

Oracle9i Application Server: Options for Running Active Server Pages. An Oracle White Paper July 2001

Managing Java EE Performance with Embarcadero s J Optimizer Request Analyzer

Chapter 5. Regression Testing of Web-Components

Know the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP

Application Performance Testing Basics

Mobile Application Test Automation Best Practices for Best Results. A white paper from Mobile Labs, Inc.

Informatica Data Director Performance

Table of Recommendations for End-User Monitoring Solutions

International Journal of Advanced Engineering Research and Science (IJAERS) Vol-2, Issue-11, Nov- 2015] ISSN:

25 May Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy

HP Application Lifecycle Management

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

Glassfish Architecture.

Deploying Rule Applications

WHITE PAPER Application Performance Management. Managing the Performance of Oracle Application Environments

Custom Development Methodology Appendix

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

WebSphere Application Server - Introduction, Monitoring Tools, & Administration

Performance Testing Process A Whitepaper

The Process Guidelines should be used in conjunction with the standard OUM process guidelines when using Testing and Quality Management Tools.

Migrating SaaS Applications to Windows Azure

Ce document a été téléchargé depuis le site de Precilog. - Services de test SOA, - Intégration de solutions de test.

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

Evaluation of Load/Stress tools for Web Applications testing

Quality Testing. Assured.

2311A: Advanced Web Application Development using Microsoft ASP.NET Course 2311A Three days Instructor-led

Testing Tools Content (Manual with Selenium) Levels of Testing

DTWMS Required Software Engineers. 1. Senior Java Programmer (3 Positions) Responsibilities:

GUI Test Automation How-To Tips

Holistic Performance Analysis of J2EE Applications

What s new in the HP Functional Testing 11.5 suite Ronit Soen, product marketing John Jeremiah, product marketing

Codeless Test Automation for Web Apps

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008.

W H I T E P A P E R S A P E R P L i f e - C y c l e M a n a g e m e n t O v e r c o m i n g t h e D o w n s i d e o f U p g r a d i n g

View Point. Overcoming Challenges associated with SaaS Testing. Abstract. - Vijayanathan Naganathan, Sreesankar Sankarayya

Testing & Assuring Mobile End User Experience Before Production. Neotys

Copyright 1

Open Source and Commercial Performance Testing Tools

Oracle WebLogic Server 11g: Administration Essentials

What Is the Java TM 2 Platform, Enterprise Edition?

Transcription:

Choosing A Load Testing Strategy Why and How to Optimize Application Performance

What Is Load Testing? Systematic exposure of an application to real world, expected usage conditions before deployment Analyzes an application s quality of service Performance (response times) Scalability (throughput) Reliability (availability and functional integrity) Goals Predict application/system behavior Pinpoint/diagnose problems in an application and its underlying infrastructure Understand resource requirements for capacity planning

Why Load Test? Save costs by reducing the number of application failures Extra costs Problem identification + Analysis and resultion + Validation testing Cost before deployment Recovery costs Cost of data recovery + Cost of external support + Legal costs + PR costs Problem identification + Analysis and resultion + Validation testing Lower costs of the application infrastructure Inefficient application/system performance Unused system capacity * Avg cost of downtime for mission criticial applications; Source: Gartner Productivity costs Duration of outage * Number of people affected * Average % of lost productivity * Average costs of employee Cost of downtime in production Lost revenue Duration of outage * Percentage of unrecoverable business * Averager revenue per hour + Number of customer abandonment * Average revenue per customer $100k per hour *

When To Load Test? Architecture Load Tests Infrastructure Load Tests Component-level Stress Tests End-to-end Load & Stress Tests Internal User Internet WAN Firewall Load Balancer Web Server GUI Prototype Servlet 1 App Server EJB 1 EJB 2 App Server Database External User... Table 1 Web Server... App Server Table 2 Table n...

Strategies For Load Testing Manual load testing Home-grown load testing tools Open-source load testing tools Testing frameworks integrated within IDEs Web-only load testing tools Enterprise-class load testing solutions

Manual Load Testing Advantages Easy to setup for small numbers of users Very realistic load generation True end-user perspective on response times Easy to take use case and convert to a load test

Manual Load Testing - Disadvantages GO! Resource intensive Testing staff Client computers Repeatability? Coordinator Internet Testers Results Analysis? System Under Test

Home-Grown Load Testing Tools Advantages Very specific to application under test Results and timers are customized Usually derived from the application under test so it is going to work for sure

Home-Grown Load Testing Tools - Disadvantages Limited test coverage and accuracy Only test very specific functions Lack of reusability For other projects or applications Staffing specificity Only the tool developer understands the test script Poor reporting Lack of standardized reporting Reporting not adjustable to user/management needs Lack of diagnostic tools for root-cause analysis Manual analysis of log files is difficult

Open Source Load Testing Tools Advantages FREE* Extensible Every developer s dream come true a tool with source available so it can be customized * No cost of license or maintenance but cost of development and adaptation does exist

Open Source Load Testing Tools - Disadvantages May satisfy very basic needs for automated load testing eweek: The main weaknesses in these tools are their lack of advanced scripting options for testing complex applications and their often-limited reporting options. Missing high-level scripting APIs -> long scripts Often based on Java technology -> performance overhead Inaccurate emulation of a Web browser s user load Point solutions Lack application support beyond Web/HTTP Developer oriented with no recorder and Java scripting only Do not integrate in an overall testing and performance lifecycle solution

Testing Frameworks Load Testing Tools Microsoft Visual Studio Team Test & Eclipse TPTP Advantages FREE* Test driven development, within IDE Developers do not need to learn new tool or language Developers can also do testing Every developer s dream come true same tool for development and testing! * No cost of license or maintenance but cost of development and adaptation does exist

Testing Frameworks Integrated Into IDEs - Disadvantages Very developer-centric view Developer does coding, unit, load and production testing View of life cycle maps only the perspective of a developer Only offer support for either.net or J2EE Not for mission-critical, heterogenous applications Don t cover all aspects of testing and the SLC

Web-only Load Testing Tools Advantages Usually cheaper Lower complexity due to reduced scope

Web-only Load Testing Tools (IE-based) Not future proof - new tool for testing non-web applications required Additional license, training and implementation costs Existing knowledge cannot be reused Typical limitations for testing Web applications Scalability and accuracy Browser compatibility Reusability No component testing

Enterprise-Class Load Testing Solutions Advantages More than just a capture/playback tool for Web apps Support load testing heterogenous application environments High scalability levels with reasonable costs Rapid test design and problem diagnostics Integrated into a holistic software quality optimization solution Complementary tools that cover the complete SLC Test managment Developer oriented (unit) testing Network performance/readiness testing End-user experience monitoring Training and consulting services to ensure succesful implementation

Importance of Accurate User Emulation Without cache 200% HTTP hits on server 150% 100% 50% 0% 0% Cache not emulating conditional requests 25% 50% 75% 100% Accurate user emulation Real user Percentage of users who visit Web site more than once

Enterprise-Class Load Testing Solutions Disadvantages Usually more expensive Higher complexity due to increased scope Annual maintenance charges (AMC) May need consultancy and training Have to deal with sales people!

Leverage All The Benefits Of Load Testing Through Viewing Quality Holistically Across The Entire SLC Testing does NOT equal Quality Quality must be a part of every stage Design Design Develop Test Deploy Manage Manage Benchmarking Pre-Deployment Go Live Go Live Production Production Component-stress testing Architecture tests End-user experience Performance regression testing monitoring Application tuning Service-level/acceptance testing System tuning Capacity tests/planning

View Quality Assurance as Production Engineering

Which Strategy To Choose? Each strategy has its advantages and disadvantages But any of them are better than manual testing! Non-critical applications that require only very little testing Open source or home-grown tools Small projects where developers do the testing Testing frameworks integrated into IDEs Mission-critical applications Enterprise-class load testing with full life-cycle support

How To Justify What You Need Track true costs and recognize the risk Manual efforts; missed performance issues and defects Spread the costs across multiple projects Testing is important for all software projects An enterprise solution can be used across many different technologies, software applications and environments Start modestly and grow Even a small number of virtual users, used early in the development process, usually pays off Entry-level solutions - look at the upgrade path Choose a solution that provides measurable value Metrics that document quality levels on a regular basis Load test management

Thank You! Q&A Rohit Gupta rgupta@segue.com