Load Testing January 2018 René Ernst.

Slides:



Advertisements
Similar presentations
Tales from the Lab: Experiences and Methodology Demand Technology User Group December 5, 2005 Ellen Friedman SRM Associates, Ltd.
Advertisements

Cultural Heritage in REGional NETworks REGNET Project Meeting Content Group
Case Study: Photo.net March 20, What is photo.net? An online learning community for amateur and professional photographers 90,000 registered users.
High level QA strategy for SQL Server enforcer
XIr2 Recommended Performance Tuning Andy Erthal BI Practice Manager.
Topics to be discussed Introduction Performance Factors Methodology Test Process Tools Conclusion Abu Bakr Siddiq.
Performance Testing - Kanwalpreet Singh.
Web Performance Tuning Lin Wang, Ph.D. US Department of Education Copyright [Lin Wang] [2004]. This work is the intellectual property of the author. Permission.
  Copyright 2003 by SPAN Technologies. Performance Assessments of Internet Systems By Kishore G. Kamath SPAN Technologies Testing solutions for the enterprise.
1 CSSE 477 – A bit more on Performance Steve Chenoweth Friday, 9/9/11 Week 1, Day 2 Right – Googling for “Performance” gets you everything from Lady Gaga.
©Company confidential 1 Performance Testing for TM & D – An Overview.
Swami NatarajanJuly 14, 2015 RIT Software Engineering Reliability: Introduction.
Software Testing Prasad G.
Software Testing Test Design and Implementation. Agenda Test Design Test Implementation Test Design Sources Automated Testing 2.
MSF Testing Introduction Functional Testing Performance Testing.
1 © Mahindra Satyam 2009 Performance Testing as a Service using jMeter.
Load Test Planning Especially with HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Module 15: Monitoring. Overview Formulate requirements and identify resources to monitor in a database environment Types of monitoring that can be carried.
Performance Testing Process SASQAG March 2007 Emily Ren T-Mobile.
TESTING STRATEGY Requires a focus because there are many possible test areas and different types of testing available for each one of those areas. Because.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Bottlenecks: Automated Design Configuration Evaluation and Tune.
SOFTWARE PERFORMANCE TESTING Or: Have We Got Bad Blood?
Performance Concepts Mark A. Magumba. Introduction Research done on 1058 correspondents in 2006 found that 75% OF them would not return to a website that.
 CS 5380 Software Engineering Chapter 8 Testing.
Software Performance Testing Based on Workload Characterization Elaine Weyuker Alberto Avritzer Joe Kondek Danielle Liu AT&T Labs.
Building Quality into Web Applications - Meeting the Challenges of Testing and Usability Paula Duchnowski CQA, CSTE (608)
Technische Universität München Application Performance Monitoring of a scalable Java web-application in a cloud infrastructure Final Presentation August.
Deploy With Confidence Minimize risks Improve business output Optimize resources.
How to Run a Scenario In HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Automated Testing Gireendra Kasmalkar Prabodhan Exports Pvt. Ltd.
Network design Topic 6 Testing and documentation.
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
Chapter 8 System Management Semester 2. Objectives  Evaluating an operating system  Cooperation among components  The role of memory, processor,
Understanding Performance Testing Basics by Adnan Khan.
ITC Software ITC PERFORMANCE TESTING SERVICES.
LOAD RUNNER. Product Training Load Runner 3 Examples of LoadRunner Performance Monitors Internet/Intranet Database server App servers Web servers Clients.
If you have a transaction processing system, John Meisenbacher
Performance Testing - LR. 6/18/20162 Contents Why Load Test Your Web Application ? Functional vs. Load Web Testing Web-Based, Multi-Tiered Architecture.
Session on Load Testing - Alok Agarwal. Agenda for the session Definitions Example on load testing What to Avoid When Testing for Load Goals of Load Testing.
SQL Database Management
Performance Testing of Web Apps
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Bottlenecks Stress Test Demo
Threads vs. Events SEDA – An Event Model 5204 – Operating Systems.
性能测试那些事儿 刘博 ..
Software Architecture in Practice
Automation Testing with Visual Studio Team System Tester Edition
Cisco Data Virtualization
Software testing
QlikView Licensing.
Recall The Team Skills Analyzing the Problem
Performance Load Testing Case Study – Agilent Technologies
Unit Test Pattern.
Automation in IMS Can it help the shrinking talent pool
11/12/2018 6:58 PM © 2004 Microsoft Corporation. All rights reserved.
Predictive Performance
ColdFusion Performance Troubleshooting and Tuning
Admission Control and Request Scheduling in E-Commerce Web Sites
Course: Module: Lesson # & Name Instructional Material 1 of 32 Lesson Delivery Mode: Lesson Duration: Document Name: 1. Professional Diploma in ERP Systems.
Performance And Scalability In Oracle9i And SQL Server 2000
Automation Testing tool that can be used in software engineering course Ran Shi 04/29/2011.
Software System Testing
PERFORMANCE TESTING.
Structured Load Tests for Web Applications
PERFORMANCE TESTING.
Extreme Programming.
Lecture 34: Testing II April 24, 2017 Selenium testing script 7/7/2019
CS5123 Software Validation and Quality Assurance
Presentation transcript:

Load Testing January 2018 René Ernst

Agenda What is Load Testing? Load Test Development Cycle Discuss each step in Development Cycle Questions? Implementation of a load test is often underestimated. This presentation explains that this involves more than just recording a script or performing many simultaneous transactions. The steps that are required for succesful implementation are similar to those of any custom made application. This presentation covers these steps: Requirements analysis, Design, Implementation, Quality Assurance and Execution. load tests are often performed using an automated tool. The tool used with examples throughout this presentation is LoadRunner (from Mercury, nowadays HP). The design steps are independent from the tool being used, and are therefore also applicable to for instance Rational´s Performance Tester.

What is Load Testing? Non-functional testing Demonstrate that the system functions to specification with acceptable response times while processing the required transaction volumes on production sized data using production sized test environment.

What is Load Testing? Load Testing is more than determining response times Determine if response time requirements are met at different load levels Identify bottlenecks in architecture Detect obscure software bugs Tune the system to optimize performance Verify stability Observe behavior of system under test

What is Load Testing? Scenario Description Purpose Peak Load Test Simulate production peak load during relatively short period (e.g., 2 hours) Validate performance and resource usage requirements under production peak load. Endurance Test Simulate production load for a long period (several days to week) Demonstrate that the system remains stable under load, for a long period. Typically test for: Memory leaks Full file systems (log files) Stress test Gradually increase load until system no longer meets performance requirements, then gradually decrease load. Demonstrate: Spare capacity of the system Error handling in overload situation Recoverability First let´s start with explanation of some terms commonly used with load testing. A load test is a test where focus is on the end-to-end response times of the application. This test can be executed manually, with a single user. A peak load test is a test that simulates the production load during peak hour. The purpose of this test is to validate both performance requirements by measuring end-to-end and transaction (DB2/IMS) response times, as well as measuring resource usage (e.g. CPU and memory usage, average CPU usage per DB2/IMS transaction etc.). A peak load test lasts for a relatively short period (1-2 hours) A volume or endurance test is a test during which a high load is sustained over a longer period of time (several days to a week). The purpose of this test is to verify that the system remains stable load over a long period. Attention points are: memory leaks, file system usage (log files and log file rotation). A stress test is a short test (up to 4 hours) during which the load is increased above the expected production peak load. The load is brought to peak load, then increased to for instance twice the peak load, and then regularly decreased to peak load. This test verifies the spare capacity of the delivered system, as well as the recoverability of the system after the load his decreased. Also the weakest component (the component that is the first to fail) can be identified. The system or component is failing when it no longer meets the performance requirements.

Load Test Development Cycle Requirements Analysis Quality Assurance Execution & Reporting Implement- ation Design

Load Test Development Cycle Requirements Analysis Quality Assurance Execution & Reporting Implement- ation Design

Requirements Analysis Stakeholder Requirement Example Business Response time Simple transactions: Average < 2 sec 90% of all trx < 4 sec Complex transactions: Average < 4 sec 90% of all trx < 6 sec Maximum user load 4,500 simultaneous user logon sessions Session duration 15 minutes Business related metrics Number of orders per peak hour Expected growth for next 3 years Operations Resource utilization CPU usage < 80% during peak hour Memory usage < 80% during peak hour CPU usage mainframe < 15 msec per transaction Stability No memory leaks System must recover from overload situation No DB2 deadlocks

Load Test Development Cycle Requirements Analysis Quality Assurance Execution & Reporting Implement- ation Design

Design Steps Design Test Scripts Design Scenarios Design Test Data Design Load Test Infrastructure Design Test Environment Identify Metrics

Design Test Data Test data in system under test must be production-like Test data in load test must be representative subset New or existing data? Depersonalization required? Data retrieval or data update? How to reset data to original state? Backup/restore SQL scripts Load Test Web service

Design Load Test Infrastructure Select Load Testing Tool, e.g: JMeter Rational Performance Tester LoadRunner SOASTA for testing cloud web applications Design Load Test Environment

Design Test Environment Test environment must be production-like Alternatives if production-like environment is not available Determine scaling factor and scale down your load test accordingly Scaling not always trivial: Security environment 1:4 Midrange 1:3 Mainframe 1:2  How do I scale my load test?

Identify Metrics Identify what metrics must be collected. Collect enough metrics to: Validate results against requirements Validate you ran the correct test Tune system under test Many metrics are collected by automated test tool Response times Throughput CPU and Memory usage

Identify Metrics Metrics to help tuning: Web Services Response times Response time per Java method # HTTP processes/connections # of Java Threads Heap usage of JVMs Database trace

Load Test Development Cycle Requirements Analysis Quality Assurance Execution & Reporting Implement- ation Design

Implementation Implement Load Test Infrastructure Implement Test Environment Record scripts. Prerequisites: Functionally stable application Test environment Does not need to be load test environment, can be any functional test environment Test data Does not need to be production-like test data, can be limited data set Implement parameters: Form fields, using data files Data from application response Implement error handling

Implementation Implement scenarios Implement test data Develop data restore procedures: SQL to generate/reset test data Backup/restore Test scripts

Load Test Development Cycle Requirements Analysis Quality Assurance Execution & Reporting Implement- ation Design

Quality Assurance Validate scripts: Execute verification scenario Error handling Test data Collection of metrics Execute verification scenario One Vuser per script Entry criterion for load test execution: No failed transactions All performance requirements are met

Load Test Development Cycle Requirements Analysis Quality Assurance Execution & Reporting Implement- ation Design

Execution and Reporting Start with small load (e.g. 5% of target load) Increase load until 100% of target load is reached Execute scenario While scenario executes, monitor results Failed transactions System resources (CPU usage, memory usage etc) After scenario finishes, analyze results Compare actual transaction volumes with intended volumes Compare actual results with requirements Analyze metrics Perform tuning Write test report and discuss with stakeholders

Risk of not testing properly http://www.nu.nl/internet/969836/website-nederlandse-spoorwegen-plat-door-sneeuw.html 8 February 2007: Website of “Nederlandse Spoorwegen” cannot handle extra traffic caused by bad weather conditions (snow). NS had changed the timetable because of the expected weather conditions NS had counted for extra load and had added computer capacity, but (apparently) not enough.

Risk of not testing properly http://www.nu.nl/news/1286760/50/Nieuwe_website_ABN_Amro_is_te_traag.html 24 October 2007: New website of ABN AMRO does not perform and has to be taken offline load test was not executed with correct parameters Only retrieving .html, no .jpg .gif .cs .js etcetera Simulating browser cache for each new user Simulated load was 10% of actual load

Risk of not testing properly http://www.nu.nl/internet/2093190/bel-me-niet-register-al-eerste-dag-plat.html 1 October 2009: New website “bel-me-niet-register” is overloaded Actual load was much higher than expected

Summary A Load Test project has many similarities with a software development project It is very easy to do it wrong, and difficult to do it right Load test execution may involve many iterations, up to 50, depending on application/middleware quality and infrastructure complexity

Questions ?