Performance Testing Challenges



Similar documents
Performance Testing Uncovered

Choose Wisely. Scott Barber

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

Performance Testing Process A Whitepaper

Bringing Value to the Organization with Performance Testing

How To Test For Performance

Performance Testing: Scott Barber

How To Test A Web Server

Open Source and Commercial Performance Testing Tools

Find what matters. Information Alchemy Turning Your Building Data Into Money

The Association of System Performance Professionals

New Relic & JMeter - Perfect Performance Testing

Understanding the Network Impact on Application Load Testing. A Shunra Software White Paper

Accelerate Testing Cycles With Collaborative Performance Testing

Web Application s Performance Testing

Microsoft Web Application Stress Tool

Best Practices for Web Application Load Testing

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

Load and Performance Load Testing. RadView Software October

Application Performance Testing Basics

Understanding the Impact of Running WAN Emulation with Load Testing

QUALITYMATE FOR LOAD TESTING

We turn 10! Performance Testing. The Magazine for Professional Testers. June 2010

White paper: Unlocking the potential of load testing to maximise ROI and reduce risk.

Performance Testing of a Large Wealth Management Product

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

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as:

How To Test For Elulla

What Is Specific in Load Testing?

Testhouse Training Portfolio

A Heuristic Approach. Scott Barber

Load DynamiX Storage Performance Validation: Fundamental to your Change Management Process

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

Performance Test Process

SIGNIFICANCE OF TESTING THROUGH TESTING TOOLS: COST ANALYSIS

Comprehensive Job Analysis. With MPG s Performance Navigator

Basic Testing Concepts and Terminology

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle

How Fast Does a Website Need To Be?

Implementing a Well- Performing and Reliable Portal

Test Automation for Embedded Devices

Information Technology Policy

Introduction site management software

Performance Testing of Java Enterprise Systems

Developing a Load Testing Strategy

Implementing Continuous Integration Testing Prepared by:

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

White Paper. The Ten Features Your Web Application Monitoring Software Must Have. Executive Summary

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

Brillig Systems Making Projects Successful

Mastering Microsoft Project 2010

Virtual Desktop Infrastructure Optimization with SysTrack Monitoring Tools and Login VSI Testing Tools

HOW TO USE DATA VISUALIZATION TO WIN OVER YOUR AUDIENCE

Evaluation of Load/Stress tools for Web Applications testing

Software Development & Education Center. Microsoft Office (Microsoft Project 2010)

Performance Testing Process

Performance Testing IBM MQSeries* Infrastructures

Sample Exam Foundation Level Syllabus. Mobile Tester

2 Introduction to Nintex Workflow

10 Best Practices for Application Performance Testing

So Your Boss Wants you to Performance Test the Blackboard Learn Platform. Steve Feldman

Basic Unix/Linux 1. Software Testing Interview Prep

Load Testing Analysis Services Gerhard Brückl

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

Performance Test Results Report for the Sled player

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

SkySpark Tools for Visualizing and Understanding Your Data

SOFTWARE TESTING TRAINING COURSES CONTENTS

NE-50413B Mastering Microsoft Project 2010

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad

Rapid Bottleneck Identification

Belatrix Software Factory Sample Automated Load/Stress Testing Success Cases

Application Test Management and Quality Assurance

Performance Testing for BMC Remedy IT Service Management Suite

Software Testing, Mythology & Methodologies

W21. Performance Testing: Step On It. Nadine Pelicaen. P r e s e n t a t i o n

The Dirty Little Secret of Software Pricing

Defining Quality Workbook. <Program/Project/Work Name> Quality Definition

Performance And Scalability In Oracle9i And SQL Server 2000


The SharePoint Maturity Model

Transcription:

Performance Testing Challenges First Presented for: Florida Institute of Technology Computer Science Seminar Scott Barber Chief Technology Officer PerfTestPlus, Inc. Performance Testing Challenges Page 1

Agenda We need Performance Testing, but what is it? I know you want it to be fast, but how fast? What do you mean, what will the 500 users be doing? Houston, we have a problem but is it the application or the tool? What do I do with all this data? That s a cool chart, but is the performance good or bad? Does that mean we re done? Performance Testing Challenges Page 2

What is Performance Testing? Performance Testing Determines - Speed - Scalability - Stability - Confidence while focusing on - User Expectations - System Constraints - Costs Specifically, it answers: - How many? - How much? - What happens if? Performance Testing Challenges Page 3

What is Performance Testing? If you know what the performance is - you can assess risk. - you can make informed decisions. - you can plan for the future. - you can sleep the night before go-live day. The peace of mind that it will work on go-live day alone justifies the cost of performance testing. So how does it work? Performance Testing Challenges Page 4

What is Performance Testing? Evaluate System Develop Test Assets Baselines and Benchmarks Analyze Results Tune Identify Exploratory Tests Execute Scheduled Tests Complete Engagement Performance Testing Challenges Page 5

How Fast is Fast Enough? There are no industry standards! Based on system context, determine: - User Psychology - System Considerations - Usage Considerations Then assess: - User Expectations - Resource Limitations - Stakeholder Expectations Finally determine: - Speed, Scalability and Stability Requirements for User Experience measurements, not component metrics. Batch type requirements. Exception requirements. Component metrics (use sparingly!). - Composite Requirements for your application! Performance Testing Challenges Page 6

How Fast is Fast Enough? What our clients can articulate usually aren t quantitative performance requirements. The quantitative performance requirements our clients know, they usually can t articulate. We performance analysts can articulate quantitative performance requirements, but we usually don t know what they are. And that is why determining performance requirements is an iterative process. *Derived from experience reports and discussions presented at the Workshop On Performance and Reliability #1 (WOPR1), Oct 2003. Attendees were Calvin Arnason, James Bach, Scott Barber, Ross Collard, Linda Hamm, Douglas Hoffman, Paul Holland, David Jewell, Chris Johnson, Philip Joung, Nancy Landau, Jude McQuaid, Alan Newman, Alexander Podelko, Robert Sabourin, Bill Schonger, Andrew Sliwkowski and Roland Stens Performance Testing Challenges Page 7

What Do The Simulated Users Do? Using Documentation, Interviews and Exploration Determine the System s Purpose and what Activities it is used for. Then Measure or Estimate: - All possible user activity. - How often each activity is accomplished. - All types of users. - What activities are most performance intensive. - Other user community modeling information. So you can model Real users. Why model real users? Performance Testing Challenges Page 8

What Do The Simulated Users Do? Because: Results from inaccurately modeled tests are nearly always inaccurate, and often lead to incorrect decisions. The only way to predict actual user experience (end-to-end response time) is to execute tests using realistic User Community Model(s). Extrapolating expected performance based on incomplete models doesn t work. "The one thing that matters the most is not how your site behaves under theoretical or simulated conditions, but how well it works when you plug it into the wall and let everyone come hit your box from all across the world" Serdar Yegulalp in "Website Stress-Testing" Performance Testing Challenges Page 9

What Do The Simulated Users Do? Build a visual model Home Page Budgeting Module New Activity (34%) New Report or Analysis (80%) Analysis Type(3%) Eval Report Login (100%) Analysis Analysis (5%) Vary Options Report Type (2%) Vary Options Preparation Budget Work Items (95%) Submit/Reject (2%) Check Out (93%) Enter Data (84%) Add Budget Entry/ Account (1%) Analysis (5%) Vary Options Check In Budget Work Items Logout (66%) Export to Excel (3%) New Budget Center (94%) Performance Testing Challenges Page 10

Load Generation Tools Ain t Perfect Popular Tools - Mercury (LoadRunner, Astra LoadTest) - Rational Robot (previously Performance Studio) - Segue SilkPerformer - Empirix E-Test Suite - Radview WebLoad - Compuware QALoad - OpenSTA - Microsoft Web Application Stress Tool Performance Testing Challenges Page 11

Load Generation Tools Ain t Perfect How They (generally) Work - Capture protocol level traffic. - Use scripting language to replay that traffic. - Do not interact with client system on playback. - Do not actually invoke browsers on playback. - Can simulate many users from many machines (IP Spoofing). - Do not evaluate correctness of returned page, just codes and sizes. - If done correctly, no application tier can tell the difference. Performance Testing Challenges Page 12

Load Generation Tools Ain t Perfect Load generation tools - do not interact with client side portions of the application. - do not natively evaluate correctness of returned pages. - often do not handle conditional navigation. - do not handle abandonment well. Scripting concepts - Record EDIT playback - Add data variance - Add delays - Add conditional logic - Add code to evaluate correctness of key pages - Add abandonment functions Scripting is not as easy as the tool vendors would like you to believe! Performance Testing Challenges Page 13

Collecting Data is Hard, Analysis Harder Things only the Perf-Guy Thinks About Statistical Significance - Percentiles - Standard deviations - Common sense Sample Size - How many measurements are enough? Outliers - rare occurrence outside of 3 standard deviations What?!? Confidence Interval - How sure are you this is what users will experience in production? Identifying Real Issues vs. Symptoms Performance Testing Challenges Page 14

Collecting Data is Hard, Analysis Harder Typical Tool Data Output: Performance Testing Challenges Page 15

Cool Chart, What Does it MEAN?!? Why are clear charts so important? Most people will never read performance test results docs. Most people don t really understand the underlying components to performance. It is our job to make it easy for them to understand, and understand quickly. Being skilled at graphical presentation of technical information is critical for us to help others understand the message we are delivering. Improper or confusing charts and tables can lead to wrong decisions that cause lost $ and ruined reputations. Performance Testing Challenges Page 16

Cool Chart, What Does it MEAN?!? What Stakeholders Want Answers NOW! (They might not even know the question) To understand information intuitively. Simple explanations of highly technical information. To be able to make decisions quickly and have the information to support those decisions. Trigger phrases to use with other stakeholders. Concise summaries and conclusions. Recommendations and options. Performance Testing Challenges Page 17

Cool Chart, What Does it MEAN?!? What Stakeholders (usually) Get Complex (verbal) technical descriptions. Complex technical graphics. Raw data. i.e. they get confused! Performance Testing Challenges Page 18

Cool Chart, What Does it MEAN?!? The best general purpose performance graph I know Response Time Degradation Curve Performance Testing Challenges Page 19

Are we Done? Not conducting performance testing is very risky. Conducting performance testing improves the application and gives stakeholders confidence on go-live day. Using a methodology improves success. Capturing requirements is difficult, but worth while. Performance requirements: - come from many different sources. - should be based in reality. - should focus on the end-users. - need context. Performance tests must simulate real users to be meaningful. Visual user community modeling helps clients understand performance testing. Performance Testing Challenges Page 20

Are we Done? Few people actually understand performance testing, but most people THINK they do. The load generation tool should not drive the test design. Most tools make scripting look easy, but it rarely is. Results aren t always what they seem. Scatter charts hold a wealth of analytical information. The performance degradation curve will show your stakeholders what they need to know in a single glance. Actual performance in production is your legacy. Performance Testing Challenges Page 21

Where to go for more information http:// (My site) http://www.testingreflections.com (QA Blog Collection) http://www.qaforums.com (Huge QA Forum) http://www.loadtester.com (Good articles and links) http://www.segue.com/html/s_solutions/papers/s_wp_info.htm (Good articles and statistics) http://www.keynote.com/resources/resource_library.html (Good articles and statistics) Performance Testing Challenges Page 22

Questions Performance Testing Challenges Page 23

Contact Info Scott Barber PerfTestPlus, Inc E-mail: sbarber@perftestplus.com Web Site: www.perftestplus.com Performance Testing Challenges Page 24