Accelerate Testing Cycles With Collaborative Performance Testing

Similar documents
Rapid Bottleneck Identification

Performance Tuning and Optimizing SQL Databases 2016

Performance Test Process

Application Performance Testing Basics

Copyright 1

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

White Paper. Fundamentals of Performance Testing

A Ranger4 Guide to. Application Performance Management. Ranger

Rapid Bottleneck Identification A Better Way to do Load Testing. An Oracle White Paper June 2009

<Insert Picture Here> When to Automate Your Testing (and When Not To)

Smarter Balanced Assessment Consortium. Recommendation

Performance Testing. What is performance testing? Why is performance testing necessary? Performance Testing Methodology EPM Performance Testing

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

An Oracle White Paper February Rapid Bottleneck Identification - A Better Way to do Load Testing

Best Practices for Web Application Load Testing

Recommendations for Performance Benchmarking

Perform-Tools. Powering your performance

SQL Server Performance Intelligence

10 Best Practices for Application Performance Testing

Bringing Value to the Organization with Performance Testing

Introducing SAP s Landscape and Data Center Innovation Platform. Phil Jackson SAP Solution Engineer

Oracle Database Performance Management Best Practices Workshop. AIOUG Product Management Team Database Manageability

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

Performance Testing Uncovered

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

Troubleshooting PHP Issues with Zend Server Code Tracing

SOFTWARE PERFORMANCE TESTING SERVICE

Case Study: Load Testing and Tuning to Improve SharePoint Website Performance

Big Data Services From Hitachi Data Systems

Visual Studio Team Edition for Database Professionals. Woody Pewitt Developer Evangelist

How To Test A Web Server

Performance Testing of Java Enterprise Systems

Agile Aspects of Performance Testing. March 1, Page 1

Monitoring the Real End User Experience

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

Minder. simplifying IT. All-in-one solution to monitor Network, Server, Application & Log Data

The Structure of a Software Development Team

SQL Server Performance Tuning and Optimization

Identify and control performance and capacity risks. Introduction... 2

How To Test For Performance

Quick Start Guide. Ignite for SQL Server. Confio Software 4772 Walnut Street, Suite 100 Boulder, CO CONFIO.

whitepaper Network Traffic Analysis Using Cisco NetFlow Taking the Guesswork Out of Network Performance Management

Response Time Analysis

Scalability and BMC Remedy Action Request System TECHNICAL WHITE PAPER

Performance Management from black-art to process

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

Return On Investment XpoLog Center

RFP Attachment C Classifications

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

Monitoring applications in multitier environment. Uroš Majcen A New View on Application Management.

Routing & Traffic Analysis for Converged Networks. Filling the Layer 3 Gap in VoIP Management

Best Practices for Managing Virtualized Environments

Managing Java EE Performance with Embarcadero s J Optimizer Request Analyzer

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

Development Best Practices

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

White Paper Performance Testing Methodology

Microsoft SQL Server: MS Performance Tuning and Optimization Digital

Automating Healthcare Claim Processing

Response Time Analysis

SQL Server Query Tuning

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

SOA management challenges. After completing this topic, you should be able to: Explain the challenges of managing an SOA environment

Closing The Application Performance Visibility Gap Inherent To Citrix Environments

Application and Web Load Testing. Datasheet. Plan Create Load Analyse Respond

WAIT-TIME ANALYSIS METHOD: NEW BEST PRACTICE FOR APPLICATION PERFORMANCE MANAGEMENT

Five best practices for deploying a successful service-oriented architecture

Performance Testing. on Production System

How To Buy A Crm Solution

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

ITSM Process Description

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad

Change Management Best Practices

Application Performance Management for Enterprise Applications

How To Test For Elulla

Siebel & Portal Performance Testing and Tuning GCP - IT Performance Practice

Lifecycle Performance Management (dynatrace) Description

Proactive Performance Management for Enterprise Databases

BIG DATA COURSE 1 DATA QUALITY STRATEGIES - CUSTOMIZED TRAINING OUTLINE. Prepared by:

Eliminating End User and Application Downtime. Continuous Availability for your Business Applications

How to Plan a Successful Load Testing Programme for today s websites

Finance. Resources. Operations. Marketing. Workflow Hero s Line of Business. Conversation Guide.

Accelerate the Performance of Virtualized Databases Using PernixData FVP Software

SolarWinds Database Performance Analyzer (DPA) or OEM?

IBM Tivoli Composite Application Manager for WebSphere

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

MANAGEMENT SUMMARY INTRODUCTION KEY MESSAGES. Written by: Michael Azoff. Published June 2015, Ovum

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

Transcription:

Accelerate Testing Cycles With Collaborative Performance Testing Sachin Dhamdhere 2005 Empirix, Inc.

Agenda Introduction Tools Don t Collaborate Typical vs. Collaborative Test Execution Some Collaborative Planning Ideas Extending to Collaborative Analysis & Tuning Summary Q&A 2

Introduction - Quick Audience Survey Does your organization execute performance tests prior to deploying their Web applications? What Tools Do you Use? How many people and which groups are involved in the performance testing process? Would you describe your recent performance testing activities as successful? Why or why not? 3

Introduction What We All Know When Executed Properly, Performance Testing is Critical to Ensuring a Successful Deployment Most Often Performance Tests are Not Executed Properly (or Completely) and Must be Run Again Critical Application Team Members are not Involved in the Process A Collaborative Approach to Performance Testing Will Accelerate Testing Cycles and Yield Better Results 4

Introduction Load Testing is a Team Sport System Test Requires the Attendance/Input of Experts Current Load Testing Events Lack Keys to Successful Collaboration Leadership in QA Tools that can Support the Effort Egos vs. Evidence Leads to Communication Bottleneck You Can t Adjust Measurements After the Test is Over 5

Agenda Introduction Tools Don t Collaborate Typical vs. Collaborative Test Execution Some Collaborative Planning Ideas Extending to Collaborative Analysis & Tuning Summary Q&A 6

Keep in Mind, Tools Don t Collaborate Load Testing Tools Apply Load and Make Measurements People (and their expertise & experience) Find Bottlenecks & Resolve Them Collaboration With Experts Resolves Issues Faster & Cheaper Key to Successful Collaboration = Access to People & Access to Measurements Tools Should Support Collaboration 7

Time for Some More Questions What Kind of Tools Support Collaboration? What are Some of Your Ideas? Certainly WebSharing Tools (WebEx, GotoMeeting, etc) Web Based Load Testing Tools Access From Browser What are Some of the Obstacles You Face? How Do You Work With Your Developers? 8

Agenda Introduction Tools Don t Collaborate Typical vs. Collaborative Test Execution Some Collaborative Planning Ideas Extending to Collaborative Analysis & Tuning Summary Q&A 9

Typical Load Test Execution Common Load Test Practice #1 (stop me if you ve heard this one before) 1. Plan your load test (define scenarios, pass/fail criteria, ) 2. Prepare to run tests (create scripts, set up server monitors, prepare test environment, ) 3. Run your tests (run specific load scenarios, ramp VUs, monitor throughput, ) 4. Collect results and identify failures (scenario x, fails at load level y, under the conditions z, ) 5. Gather data and send to architect/developers for deeper analysis 6. Architect/developers dismiss or don t believe results 7. Get asked to go run your test again 8. Go back to Step 1 10

Collaborative Load Test Execution Rule #1: People (developers, architects, DBAs, ) who are not engaged in the test process will not be engaged or feel ownership for the results. Rule #2: Testing and tuning the performance of enterprise Web applications is a complex and iterative process. Pay Attention, There is a Quiz on This Later Rule #3: Breaking the application and identifying failures is not the desired outcome; finding bottlenecks, tuning the application and maximizing performance is! Therefore: Tester, developers, architects and others need to work together to analyze load test results, tune the application and re-run tests to validate changes 11

Typical Load Test Scenario Install & Preparation Run Tests Collect Results Analyze Performance Tune Application Deploy Application Testers Problems with this Approach: Developers / Architects / DBAs / IT Operations People running tests and gathering results are not engaged with those that may be needed to analyze data and identify root case Analysis & tuning is complex and often requires real time data analysis Its easier to dismiss poor or failing results after the fact than when they are occurring 12

Ideal Load Test Scenario Collaborate during testing, analysis and application tuning Install & Preparation Run Tests Collect Results Analyze Performance Tune Application Deploy Application Advantages: Testers / Developers / Architects / DBAs / IT Operations Enables real-time performance analysis and tuning by entire team Reduces test cycle times and communication delays between test & development Yields higher performing applications 13

Collaborative Load Test Execution :: Making it Happen If it s that easy, why isn t everyone doing it? Don t understand the objectives of the test What are we trying to prove here? Why is this considered a failure? Lack of trust in the testing tools and results It can t be the application, it must be the testing tools. Lack of trust in the testers This can t be right, you must have done something wrong. Feel that it s unnecessary My Application design is bullet-proof. or- We ve added so much extra capacity on server side it doesn t matter. No time to participate Go away. 14

Collaborative Load Test Execution : Making it Happen Keys to enabling a collaborative load test process Step 1: Establishing Credibility Gain and then demonstrate a clear understanding of the application and its requirements (functional and performance). Know what you are talking about Step 2: Gaining Consensus on the Test Process Clearly define the goals of the test, expected results and pass/fail criteria and make sure everyone is on board. Take the lead in getting this done! Step 3: Getting Buy-In on the Tools & Methods Identify the tools you will be using to test, provide any relevant documentation, and if necessary do a demo in advance to show how things will work 15

Collaborative Load Test Execution : Making it Happen (continued) Keys to enabling a collaborative load test process (continued) Step 4: Establishing the Value of the Test Outline how you plan to target specific critical areas of the application and how you will identify application and server capacity issues combining both Virtual User load and server-side monitors Step 5: Making it Convenient Provide real-time status of tests in progress, enable real-time viewing of results, and make it easy for people to participate (IM, Web share, Web enabled tools) 16

Agenda Introduction Tools Don t Collaborate Typical vs. Collaborative Test Execution Some Collaborative Planning Ideas Extending to Collaborative Analysis & Tuning Summary Q&A 17

Let s Talk About an Example Financial Company with a Critical Online Application & Limited Test Window Complex Application (Tax Returns) With Over 800.asp Pages Too many to test! Several Permutations of Tax Documents. Too many transactions! In the End, Only 11 Loops A couple of transactions 18

What Do We Learn From These Examples Key questions that need to be answered before you test (the 4Ws and 1H of Test Planning) What are we testing? Why are we testing it? How are we testing it? When and Where will the tests be run? Who needs to be involved? These questions cannot be answered in isolation a collaborative team effort is needed Determining the answers to these questions is critical to success 19

Answering the What What are we testing? Need Who to Work With Usage Application requirements Common use cases, usage scenarios Product Managers, Business Analysts, Development Manager, Customers Product Managers, Business Analysts Determining what to test, expected results, pass/fail criteria Script creation, defining test scenarios Application architecture / design specification Development Manager, Architects, Developers Performance analysis, tuning, test setup 20

How About This Example? Is This Acceptable Performance? What if I said the Requirements are 100 vus and under 10s Response Times What Is Your Answer? What if I said the Requirements are 50 vus and under 10s Response Times 21

Answering the Why Why are we testing it? Need Who to Work With Usage Company needs / objectives / goals Test objectives / goals Product Manager, Application Owner Development Manager, QA Manager, Architects/ Developers Understanding service level agreements, customer expectations Creating test plan, defining test scenarios, performance analysis 22

Answering the How How are we testing it? Need Who to Work With Usage Test plan Test hardware Testable application QA Manager, Performance Engineers, Other Testers QA Team, IT/Operations Development Manager, Developers Guide the testing effort, prioritize testing activities Load controller, load test agents to run VUs, performance monitors Production environment or representative staging environment to test against; stable! 23

Answering the When and Where When and Where will the tests be run? Need Who to Work With Usage Project schedule Detailed test schedule Test Lab Contingency plans Project Manager, Development Manager QA Manager, Project Manager QA Manager, IT/Operations Development Manager, Developers Identify when testing will occur, understand overall project/dev milestones Further define test scenarios, outline specific timeframe for tuning / retests House the test hardware used to run test, host application under test Plan for (un)expected development delays, prioritize test efforts 24

Answering the Who Who needs to be involved? Team Member Performance Testers / QA Architects & Developers DBA(s) IT / Operations Project Manager QA Manager Development Manager Role Create test plan, design tests / scripts, execute tests, gather results Troubleshoot application failures, analyze application performance / business logic Troubleshoot database issues, analyze DB performance Troubleshoot hardware and network issues, aid in capacity planning Manage the overall development / test effort, create project schedule, manage milestones Manage the test team, assign testers, enable collaboration with development Manage the development team, allocate resources to test effort, help determine goals 25

A Word About Leadership Taking the Lead Isn t Easy Outside Consultants & Tool Vendors Do This All the Time! Why? We Get Paid on Results We Know it Gets the Job Done Internal Walls Don t Bother Us You Can Do the Same Thing! Know Your Subject, Know Your Limits People Like to Help, Just ask them! Test to Tune Application not Break (Developers Resist Idea that it Broke ) Talk at Entire System Level and Let the Test Point Out the Component 26

Agenda Introduction Tools Don t Collaborate Typical vs. Collaborative Test Execution Some Collaborative Planning Ideas Extending to Collaborative Analysis & Tuning Summary Q&A 27

Collaborative Performance Analysis & Tuning Remember Rule #3 (I did mention the Quiz earlier) Rule #3: Breaking the application and identifying failures is not the desired outcome; finding bottlenecks, tuning the application and maximizing performance is! Not only the True Goal but it Helps Everyone to Think This Way So How Do We Do That? Get the right people, working collaboratively, to get the job done (Collaborative Test Planning and Execution) Give them access to the data they need to be successful (Collaborative Performance Analysis and Tuning) 28

Three Ways to Look at Performance Diagnostics for Analysis and Tuning View 1: Analyze Performance and Response Times from the End-User Perspective View 2: Analyze Performance of Your Back-end Infrastructure View 3: Analyze Performance and Response Times of Server-side Transactions Each View provides another layer of data that will be relevant to different team members. Each View Shows A Symptom Diagnosed by the Next. 29

Three Ways to Look at Performance Diagnostics for Analysis and Tuning View 1: Analyze Performance and Response Times from the End-User Perspective Pages Represent Business Step & Tier Provides standard load test metrics for script/page/object level response times, throughput, concurrency, etc. Easiest to relate to and reflect actual end-user experience Load scenarios and individual scripts can be designed to identify specific application bottlenecks Who needs this data? Testers: To report test results and relate them to application requirements and test objectives Development Team: To identify general performance limitations and start troubleshooting bottlenecks Project Managers / Others: To begin understanding how the application will behave once deployed to production. 30

Three Ways to Look at Performance Diagnostics for Analysis and Tuning View 2: Analyze Performance of Your Back-end Infrastructure Provides Key Performance Indicators (KPI) for Infrastructure Allows you to understand server-side resource utilization and limitations Lets you target individual servers or network components, generally without having to install anything (agent-less) Who needs this data? Testers: To provide a complete view of application performance from both client and server side Development Team: To more easily trace performance issues to specific tiers / components in the application infrastructure IT Operations Team: To understand server and network capacity issues and size accurately for production deployment 31

Three Ways to Look at Performance Diagnostics for Analysis and Tuning View 3: Analyze Performance and Response Times of Server-side Transactions Provides profiling-level data to view actual transaction response times of individual objects, methods and database queries Allows you to understand where time is being spent within the individual server component Lets you target actual business logic and identify problems in the code impacting performance Use in conjunction with Level 1 and 2 metrics to correlate client and server side performance degradation to application business logic Who needs this data? Architects: To identify issues in the design of the business logic that may be limiting performance Developers: To identify issues in specific functions or methods that may be creating performance bottlenecks DBAs: To identify queries or commands that may be optimized to reduce data access times and improve performance 32

Collaborative Performance Analysis & Tuning Providing data at different levels of granularity will aid team in quickly analyzing bottlenecks Giving individuals data specific to their areas of need or interest will also drive greater participation and buy-in Bringing the team together to collaboratively analyze data and make tuning recommendations will yield better performing applications in less time 33

Agenda Introduction Tools Don t Collaborate Typical vs. Collaborative Test Execution Some Collaborative Planning Ideas Extending to Collaborative Analysis & Tuning Summary Q&A 34

Summary Testing and tuning the performance of enterprise Web applications is a complex and iterative process Tester, developers, architects and others need to work together to collaboratively plan the testing effort, execute tests, and analyze results to tune performance Collaboration is critical to the success of the team and each member needs to be engaged in the process Collaborative load testing can ultimately yield better performing applications in less time 35

Thank You! 36