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



Similar documents
Performance Testing Process

Web Application Testing. Web Performance Testing

Various Load Testing Tools

Load Testing with JMeter

Performance Testing and Optimization in Web-Service Based Applications

Performance Testing of a Large Wealth Management Product

How To Test A Web Server

Performance Testing Percy Pari Salas

Web Application s Performance Testing

Sensitivity Analysis and Patterns Implementation on Load Testing Software Systems

Performance Testing Process A Whitepaper

Summer Internship 2013 Group No.4-Enhancement of JMeter Week 1-Report-1 27/5/2013 Naman Choudhary

Performance Testing of Java Enterprise Systems

Comparative Study of Load Testing Tools

Application Performance Testing Basics

WHAT WE NEED TO START THE PERFORMANCE TESTING?

Martin Spier, Expedia & Rex Black, J9

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

Open Source and Commercial Performance Testing Tools

New Relic & JMeter - Perfect Performance Testing

Business white paper. HP Process Automation. Version 7.0. Server performance

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

Resource Monitoring During Performance Testing. Experience Report by Johann du Plessis. Introduction. Planning for Monitoring

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

Web Performance Testing: Methodologies, Tools and Challenges

Apache JMeter HTTP(S) Test Script Recorder

JMeter Testing. Identify Preformance acceptance criteria: Identfy throughput,response time and resource utilization goals and constraints.

Levels of Software Testing. Functional Testing

How To Test For Elulla

Bringing Value to the Organization with Performance Testing

How To Test For Performance

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

Whitepaper Performance Testing and Monitoring of Mobile Applications

Business Application Services Testing

A Talk ForApacheCon Europe 2008

AgencyPortal v5.1 Performance Test Summary Table of Contents

Mohammed Khan SUMMARY

Available Performance Testing Tools

Delivering Quality in Software Performance and Scalability Testing

Performance Test Process

Jérôme Lepage - CFCamp Mondadori France

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

Tools for Testing Software Architectures. Learning Objectives. Context

Recommendations for Performance Benchmarking

Agile Performance Testing

1 How to Monitor Performance

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

EXECUTIVE SUMMARY CONTENTS. 1. Summary 2. Objectives 3. Methodology and Approach 4. Results 5. Next Steps 6. Glossary 7. Appendix. 1.

SOFTWARE TESTING TRAINING COURSES CONTENTS

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

Performance Analysis of Web based Applications on Single and Multi Core Servers

Introducing Performance Engineering by means of Tools and Practical Exercises

Using JMeter for Testing a Data Center. Siegfried Goeschl

Performance Workload Design

So in order to grab all the visitors requests we add to our workbench a non-test-element of the proxy type.

Performance testing. Performance measurement of web application. Matus Kapralik. Bachelor s thesis May Software Engineering

Performance Analysis of Lucene Index on HBase Environment

SOA Solutions & Middleware Testing: White Paper

UKCMG TEC 2010 Track P - Performance

Evaluation of Load/Stress tools for Web Applications testing

Table of Contents INTRODUCTION Prerequisites... 3 Audience... 3 Report Metrics... 3

How To Test On The Dsms Application

Performance brief for IBM WebSphere Application Server 7.0 with VMware ESX 4.0 on HP ProLiant DL380 G6 server

IERG 4080 Building Scalable Internet-based Services

Performing Load Capacity Test for Web Applications

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

No.1 IT Online training institute from Hyderabad URL: sriramtechnologies.com

SoapUI NG Pro and Ready! API Platform Two-Day Training Course Syllabus

Perfect Your Mobile App with Load Testing and Test Automation

An Oracle Benchmarking Study February Oracle Insurance Insbridge Enterprise Rating: Performance Assessment

Enterprise Edition Scalability. ecommerce Framework Built to Scale Reading Time: 10 minutes

Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist

Agility Database Scalability Testing

Load Testing Tools. Animesh Das

CentOS Linux 5.2 and Apache 2.2 vs. Microsoft Windows Web Server 2008 and IIS 7.0 when Serving Static and PHP Content

D5.3.2b Automatic Rigorous Testing Components

Scalability Factors of JMeter In Performance Testing Projects

Application. Performance Testing

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

Performance Testing of Big Data Applications

Software Performance and Scalability

Apache JMeter. Emily H. Halili. Chapter No. 6 "Functional Testing"

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

JMETER - MONITOR TEST PLAN

Implementing a Well- Performing and Reliable Portal

TASSQ Dinner Meeting Performance & Automation Testing of Cloud Solutions. March 31 st 2015

Successful Factors for Performance Testing Projects. NaveenKumar Namachivayam - Founder - QAInsights

A closer look at HP LoadRunner software

Benchmark Performance Test Results for Magento Enterprise Edition

Building a Scalable News Feed Web Service in Clojure

Performance Testing and Improvement in Agile

Bellwether metrics for diagnosing

Implement Hadoop jobs to extract business value from large and varied data sets

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

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

SOLUTION BRIEF: SLCM R12.8 PERFORMANCE TEST RESULTS JANUARY, Submit and Approval Phase Results

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

SOFTWARE PERFORMANCE TESTING SERVICE

How To Test A Website With A Test On A Testnet (For Web) Or Testnet On A Microsoft Webtest (For Microsoft) On A Web Browser On A Macintosh (For Macintosh) On Your Computer Or Macintosh

Transcription:

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

https://www.youtube.com/watch?v=8y8vqjqbqdc 3 4 2

Introduction Why is important? Google Speed Matters 100 to 400 ms increase in latency -> 0.2% to 0.6% reduction in the number of searches/user/day (-8 million searches per day) longer users exposure -> fewer searches loss of searches persists even after latency returns Amazon Page load slowdown of 1 second -> loss of $1.6 billion in sales/year Healthcare.gov 5 1 2 3 4 5 6 Introduction Performance Testing Process Performance Test Types Tools JMeter Questions 6 3

Introduction This presentation 7 Introduction Functional vs. Non functional testing Non-functional Testing Functional Testing Non Functional testing Targets aspects of the software that are not related to a specific function or user action. E.g. performance, scalability, security, usability, maintainability, portability 8 4

Introduction Why is done? Performance testing is done to validate: Speed Is fast enough? Capacity Is able to support the expected user base? Is able to support the expected data? Scalability What will happen when I get more customers? What will happen when I add more servers? 9 Introduction Why is done? Done to validate: Stability Is the product ready to be released? Expectations Is better than the competition? Environment Where is the bottleneck? What happens if something goes wrong? How can we detect or predict if something is going wrong? 10 5

Performance Testing Process 1. Understand the Project Vision and Context 2. Learn about the Test Environment 3. Identify Performance Acceptance Criteria* 4. Create the workload model* 5. Configure the Test Environment 6. Implement the Test* 7. Execute the Test* 8. Analyze Results, Report, Tune, Retest* 11 Performance Testing Process Acceptance Criteria Identify or estimate Response time (user concern) Throughput (business concern) Resource utilization (system concern) Sources Business requirements User expectations Contracts Regulations Realistic workload models Previous release Competitor s application 12 6

Performance Testing Process 1. Understand the Project Vision and Context 2. Learn about the Test Environment 3. Identify Performance Acceptance Criteria* 4. Create the workload model* 5. Configure the Test Environment 6. Implement the Test* 7. Execute the Test* 8. Analyze Results, Report, Tune, Retest* 13 Performance Testing Process Workload model Simulate the real-world. User's behavior Navigation Delay patterns and distribution Think time User abandonment Variability Common user errors Key user scenarios Create user models Identify and Generate test data 14 Identify metrics 7

Performance Testing Process Workload model 15 Performance Testing Process Workload model 16 8

Performance Testing Process 1. Understand the Project Vision and Context 2. Learn about the Test Environment 3. Identify Performance Acceptance Criteria* 4. Create the workload model* 5. Configure the Test Environment 6. Implement the Test* 7. Execute the Test* 8. Analyze Results, Report, Tune, Retest* 17 Performance Testing Process Implement tests Implement the test design Start small - one scenario at a time Pay attention to Test data feed Response validation Response processing Response time measurement Match the script to the design Extend selected tool or select another one if possible. 18 9

Performance Testing Process Implement tests Validate the test Check that the test does what was intended to do Run each test with different user Nb. (e.g. 1, 3, 5, and 11 users) Check combination of tests scenarios Validate test data Validate result monitoring Validate result collection 19 Performance Testing Process 1. Understand the Project Vision and Context 2. Learn about the Test Environment 3. Identify Performance Acceptance Criteria* 4. Create the workload model* 5. Configure the Test Environment 6. Implement the Test* 7. Execute the Test* 8. Analyze Results, Report, Tune, Retest* 20 10

Performance Testing Process Test execution Run smoke test Run tests in one- to two-day batches Quick feedback - Quick reaction Run the tests at least 3 times. Use dedicated load generation systems. Monitor: scripts systems data Archive information needed to reproduce the test Pay attention to unusual behaviour (use your instincts.) 21 Performance Testing Process Test execution Impact of test tools 22 11

Performance Testing Process Test execution Impact of test tools 23 Performance Testing Process Test execution Impact of test tools After fix 24 12

Performance Testing Process Test execution Impact of test tools After fix 25 Performance Testing Process 1. Understand the Project Vision and Context 2. Learn about the Test Environment 3. Identify Performance Acceptance Criteria* 4. Create the workload model* 5. Configure the Test Environment 6. Implement the Test* 7. Execute the Test* 8. Analyze Results, Report, Tune, Retest* 26 13

Performance Testing Process Interpret and report results Customize reports for target audience Report: Quickly Frequently Intuitively Try to identify trends 27 Performance Testing Process Interpret and report results Analyze data immediately and in cross-functional team Double check statistics Make raw data available Us results to update the tests Is the test providing enough information? 28 14

Performance Test Types Baseline Testing examines how a system performs under expected (normal) load Load Testing verifies application behavior under normal and peak load conditions (but not breaking it) Capacity Testing finds the volume of load where the system actually breaks or is close to breaking. 29 Performance Test Types Stress Testing test beyond normal operational capacity, often to a breaking point. Spike Test load exceeds the anticipated load for short period of times Soak: Long-period tests to find system instabilities (e.g. detecting memory leaks, determine MTBF, MTTF) Scalability Testing find out how performance is affected by adding additional resources (CPU, hosts) 30 15

Performance testing tools Load generator tools Stand-alone load-generators Apache JMeter Cloud based BlazeMeter Loadstorm Enterprise-Level solutions HP Loadrunner Monitoring and analysis Resource Monitors Windows Perfmon UNIX SAR, top/htop HP Sitescope VisualVM Zabbix Profiling SQL profilers CPU profilers Memory profilers 31 JMeter Primarily a load-generator tool To implement and execute performance test scenarios Basic presentation of measurement data* No resource monitoring or analysis capabilities* Popular due to... Broad protocol coverage (HTTP, JMS, SOAP, JDBC, LADP, FTP, POP3) Open-source (extensibility, low-cost) Platform-independent (written in Java) Quick and visual test-composition Appropriate for developers and testers too Scripting "by hand" or with "traffic recording" Client - Server mode 32 16

JMeter - GUI 33 JMeter Test Plan Structure Tree structure Drag and drop elements Enable, disable or save any sub tree Test Plan Main Node of test Overall settings User defined variable Specify class path settings (e.g. JDBC driver) Thread Group Beginning point of any test plan Defines pool of users Ramp up period Loop count Ancestor of Controllers and Samples 34 17

Jmeter - Test Plan Scoping Rules Ordered elements Controllers Samplers Hierarchical elements Listeners Config elements Pre/Post processors Assertions Timers 35 Jmeter - Elements Controllers drive the processing of the test Samplers send requests and wait for response (e.g. HTTP, SOAP, FTP) Logic controllers customize request sending (e.g. Once only, Switch, While or Loop) Listeners provide access to information gathered by JMeter (display, Save (CSV/XML) or Reload results) Timers add delay time between requests Assertions check responses from the server Configuration elements add to or modify requests Pre-processor elements execute actions prior to a request Post-processor elements - execute actions after a request WorkBench 36 18

JMeter Performance Tooning Use the latest version (validate it before using) Use NON-GUI mode for load testing Fine tune JMeter Java options Use CSV output. Do not log results that are not needed. Use Post Processor and Assertions efficiently. Use Regular Expression Extractor and extract as less data as possible (do not use Body unescaped ) Avoid XPath Extractor Use JSR 223 + Groovy for scripting + Caching Use external scripts if possible Do not overscript Remove all listeners during test execution Generate report after run 37 Homework https://drive.google.com/folderview?id=0b3zy6db4toy8oul0dwj2vvj3m Gc&usp=sharing 38 19

Delivering Excellence in Software Engineering JMeter For more information, please contact: Zsolt Balázs Software Test Automation Engineer EPAM Systems, Inc. Futó street 47-53 H-1082 Budapest, Hungary Phone: +36 1 815-69-00 x 40078 Email: zsolt_balazs@epam.com http://www.epam.com Materials http://perftestingguide.codeplex.com/releases/view/6690 http://jmeter.apache.org/usermanual/ http://scott-barber.blogspot.hu/ http://www.perftesting.co.uk/ http://www.allthingsquality.com/p/people-in-testing.html?m=1 http://blazemeter.com/blog/ 40 20

Appendix VisualVM PC user/password: adminuser/adminuser 41 21