Performance/Load/Stress Testing

Slides:



Advertisements
Similar presentations
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.
Advertisements

Overview. SUMMARY Introduction What is Jmeter ? Why ? Preparing tests Step 1 Proxy server Step 2 Organization Step 3 Genericity Step 4 Assertions Running.
Chapter 14 Chapter 14: Server Monitoring and Optimization.
JMeter Workshop Friday 1 December 2006 Anthony Colebourne IT Services The University of Manchester.
MCITP Guide to Microsoft Windows Server 2008 Server Administration (Exam #70-646) Chapter 14 Server and Network Monitoring.
©Company confidential 1 Performance Testing for TM & D – An Overview.
Maintaining and Updating Windows Server 2008
Understanding of Load Testing Tools Especially HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
1 Chapter Overview Introduction to Windows XP Professional Printing Setting Up Network Printers Connecting to Network Printers Configuring Network Printers.
Performance testing of Progress Appservers and a plug-in for Jmeter
Hands-On Microsoft Windows Server 2008 Chapter 11 Server and Network Monitoring.
Linux Operations and Administration
Web server and web browser It’s a take and give policy in between client and server through HTTP(Hyper Text Transport Protocol) Server takes a request.
Intro To JMeter Christian Desserich Testing a Web-Based Application.
Linux Operations and Administration
M. Taimoor Khan * Java Server Pages (JSP) is a server-side programming technology that enables the creation of dynamic,
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
Telerik Software Academy Software Quality Assurance.
Apache JMeter By Mohamed Talaat
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
For Version 6.0 and later Lattice3D Reporter Tutorial For Version 6.0 and later LATTICE TECHNOLOGY, INC.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
Test Roles and Independence of Testing Telerik Software Academy Software Quality Assurance.
Performance testing with JMeter.  100% pure Java desktop application  Designed to load test client/server software (such as a web application )  JMeter.
Bonrix SMPP Client. Index Introduction Software and Hardware Requirements Architecture Set Up Installation HTTP API Features Screen-shots.
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
Introduction to JMeter Anton Nesterov. User profile  Anton Nesterov  QA Engineer at Sitecore  3+ years of experience in testing automation  Skype:
Understanding Perfmon The Performance Testing Tool >>>>>>>>>>>>>>>>>>>>>>
Oracle 10g Database Administrator: Implementation and Administration Chapter 2 Tools and Architecture.
Application Layer Khondaker Abdullah-Al-Mamun Lecturer, CSE Instructor, CNAP AUST.
A Brief Documentation.  Provides basic information about connection, server, and client.
How to Run a Scenario In HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Software Architecture in Practice Practical Exercise in Performance Engineering.
Apache JMeter By Lamiya Qasim. Apache JMeter Tool for load test functional behavior and measure performance. Questions: Does JMeter offers support for.
Telerik Software Academy Software Quality Assurance Binding business requirements to.NET code.
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
Introduction to Taverna Online and Interaction service Aleksandra Pawlik University of Manchester.
Introduction Selenium IDE is a Firefox extension that allows you to record, edit, and debug tests for HTML Easy record and playback Intelligent field selection.
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
Software Architecture in Practice Mandatory project in performance engineering.
Main Concepts of Web Testing Telerik Software Academy Software Quality Assurance.
INTERNET APPLICATIONS CPIT405 Install a web server and analyze packets.
Mind Q Systems Leaders in Training /7, 2nd Floor, Srinivasa Nagar Colony (W) Above HDFC Bank, S.R. Nagar Hyderabad Tel : /92.
An Overview of Performance Testing And JMeter
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Monitoring Dynamic IOC Installations Using the alive Record Dohn Arms Beamline Controls & Data Acquisition Group Advanced Photon Source.
Learn Jmeter testing tool in online. What is Jmeter? Jmeter is an open source testing software. It is used to perform load test, performance test. It.
NETSTORM.
Understanding and Improving Server Performance
Development Environment
Lecture 1-Part 2: Operating-System Structures
Chapter Objectives In this chapter, you will learn:
2D Graphics and Animations in Unity 3D
Software Architecture in Practice
Tools for Performance, Load Testing, Stress Testing Using Telerik Test Studio Pavel Pankov QA Lead Automated Testing Team Telerik QA Academy.
Key Ideas from day 1 slides
Data Virtualization Tutorial… CORS and CIS
MCTS Guide to Microsoft Windows 7
Web Service Testing …in another way Software Quality Assurance
Software Quality Assurance
Agenda ● Performance testing Load Testing StressTesting
Content: What is JMeter? What can I do with JMeter?
Configuring Internet-related services
Automation Testing tool that can be used in software engineering course Ran Shi 04/29/2011.
Prof. Leonardo Mostarda University of Camerino
Planning and Storyboarding a Web Site
Performance And Scalability In Oracle9i And SQL Server 2000
Lecture 34: Testing II April 24, 2017 Selenium testing script 7/7/2019
Presentation transcript:

Performance/Load/Stress Testing Web Service Testing Performance/Load/Stress Testing Software Quality Assurance Telerik Software Academy http://academy.telerik.com

The Lecturer Dimitar Topuzov Principal QA Engineer @NativeScript Team Email: Dimitar.Topuzov@Telerik.com

Table of Contents Best practices in Performance/Load/Stress Testing JMeter Intro Tutorial Demos and practice

Retrospective Performance Testing Load Testing Stress testing How fast is the system? Load Testing How much load can the system process? Stress testing Testing with conditions beyond the normally expected ones Under what conditions the system will fail?

Metrics Load testing metrics Resources Average Response Times Peak Response Times Error Rates Throughput Requests per Second Concurrent Users Resources Load Testing metrics explained

Please have in Mind… Monitoring Servers CPU Usage Memory Usage Disk Usage Network Usage Errors

Monitoring Servers Windows Task Manager Recourse Monitor (resmon) Tutorial Performance Monitor (perfmon) Linux / OSX “top” command Tutorial 1 Tutorial 2

Please have in Mind… Performance/Load/Stress testing require some additional knowledge on: OS Networking Hardware

Please have in Mind… Planning the Test is more important than actual implementation! Planning the Test is more mathematics then testing Planning involves a lot of calculations Number of users under average load Calculate pick loads Calculate think times

Please have in Mind… Use some kind of concurrency calculator Sample Calculator How to calculate VU (article) How to calculate VU (another article) How to calculate VU (one more article) Use think times (with deviations) It not only mimics real world usage better, but it allows for your agents I/O to not be as congested

Please have in Mind… Start Perf/Load testing only if systems works correctly (functional tests passed) Make sure you have stable Environment Environment must have same resources during each test execution No other random actions should be done during performance/load/stress tests If possible use same hardware resources as Live System If possible use separate environment (specially when perform stress tests)

Please have in Mind… Base testing scenarios on real data (if possible) In best case use data from some analytics/monitoring solution that give you meaningful data in easy way If you have no analytics/monitoring solutions try to introduce such If there is no chance for analytics/monitoring try to find some kind of logs of the SUT and try to analyze them Guess only as a last resort

Please have in Mind… (If Guess) Think about real scenarios How many users will go through different workflows Some operations/features might be used much more than other

Please have in Mind… Test Data Make sure you have enough random data for each virtual user Make sure your test data is close to live data in terms of size and content Specially in case test data is big (images, videos)

Please have in Mind… (For Load Testing) Use ramp times to build up your users from a small number to larger numbers In this way you will find the critical point at which system stops working as expected  Use more Agents if needed The more agent machines you use, the more networking ports you can use at any one time, freeing up congestion on the agent side

JMeter Demos should be delivered in parallel with slides presentation.

JMeter JMeter Free (open source) Java Desktop Application (cross-platform) Support a lot of protocols HTTP, SMTP, POP3, LDAP, JDBC, FTP, JMS, SOAP, TCP Support distributed load testing There are services which can run your JMeter tests from the cloud

JMeter Requirements Installation JDK 1.6 + Hardware: Depends on what we want to simulate Installation Install JDK Add JDK to Path (if not already added) Verify installation by running “java -version” on command prompt Install JMeter Download Extract (Optional) Add to Path

JMeter How JMeter works

JMeter JMeter elements schema

JMeter Thread Group Thread Groups is a collection of Threads Each thread represents one user using the application under test

JMeter Samplers Sampler is type of Request (Protocol) we want to use in our tests HTTP, FTP , JDBC, POP3 …

JMeter Listeners Shows the results of the test execution They can show results in different format such as tree, table, graph or log file

JMeter Configuration Elements Set up defaults and variables for later use by samplers

JMeter JMeter project workflow

JMeter Add Thread Group Start JMeter Select Test Plan on the tree Right click on the Test Plan and add a new thread group: Add -> Threads (Users) -> Thread Group

JMeter Thread Group Properties Number of Threads Loop Count Number of users connects to target website/service Loop Count Number of time to execute testing Ramp-Up Period Delay before starting next user

JMeter The Thread Count and The Loop Counts are different

JMeter Adding JMeter elements Right-click on Thread Group and select: Add - > Sampler -> HTTP Request

JMeter HTTP Request

JMeter How to use Timers in JMeter Constant Timer Thread Group -> Timer -> Constant Timer Delays each user request for the same amount of time Gaussian Random Timer Gaussian random timer delays each user request for a random amount of time Uniform Random Timer Uniform random timer delays each user request for a random amount of time

JMeter How to use Assertions in JMeter Assertion help verify that your server under test returns the expected results Be careful: Sometimes asserts add additional resource usage to client machines Sometimes asserts might add additional timing and change the results

JMeter Commonly used Assertion in JMeter Response Assertion Thread Group -> Add -> Assertions -> Response Assertion Assert Response contains Text Assert Response Status Code is correct Duration Assertion Size Assertion XML Assertion HTML Assertion

JMeter Adding Graph Results Right click Test Plan, Add -> Listener -> Graph Results

JMeter Run Tests and get results Press Run button (Ctrl + R) on Toolbar to start the testing process. You will see the test result display on Graph at the real time

JMeter View Results in Table Right click Add -> Listener -> View Result in Table

JMeter View Assertion Results Right click Thread Group, Add -> Listener -> Assertion Results

JMeter Logic Controllers Logic Controllers let you define the order of processing request in a Thread Logic Controllers determine the order in which user request are executed

JMeter Loop Controller Loop Controller makes the user request run specified number of times or run forever as shown in figure

JMeter Random Controller Random Controller makes all the user requests run in random order in each loop period

JMeter Module Controller The goal of Module Controller is to add modularity to JMeter

JMeter Build-in Templates

JMeter Plugins JMeter Plugins PerfMon Metrics Collector and Server Agent can be used for automated monitoring of servers during load/stress test

JMeter Hints for Reducing Resource requirements Use non-GUI mode: jmeter -n -t test.jmx -l test.jtl Use as few Listeners as possible; if using the -l flag as above they can all be deleted or disabled Use CSV output rather than XML Only save the data that you need Use as few Assertions as possible

Demos should be delivered in parallel with slides presentation.

Web Service Testing ? ? ? ? ? Questions? ? ? ? ? ? ?

Free Trainings @ Telerik Academy C# Programming @ Telerik Academy csharpfundamentals.telerik.com Telerik Software Academy academy.telerik.com Telerik Academy @ Facebook facebook.com/TelerikAcademy Telerik Software Academy Forums forums.academy.telerik.com