PERFORMANCE TESTING
Company Confidential
WHAT IS PERFORMANCE TESTING Although performance testing is a part of system testing, it can be regarded as a distinct level of testing The purpose of Performance testing is to measure and evaluate the response times, transaction rates and other time sensitive requirements of an application in order to verify that performance requirements have been achieved.
Company Confidential
Load and Stress Testing 1. Load Testing :Load testing is testing an application under heavy loads, such as the testing of a web site under a range of loads to determine at what point the system response time will degrade or fail 2. Stress
Testing :Stress testing is testing the system performance where some complicated activities like DB queries or repeated actions are applied on the system.
Company Confidential
CAN U PERFORM MANUALLY ???…..
Company Confidential
Manual Testing Is Problematic Do you have the testing resources? • Testing personnel • Client machines
All of you, click the GO button again
How do you coordinate and synchronize users? How do you collect and analyze results? How do you achieve test repeatability? Coordinator
Analysis?
Web server
Database server
123.20
Testers
Load Generation
System Under Test Company Confidential
BENEFITS OF AUTOMATION !!!!!….
Company Confidential
The LoadRunner Solution Solves the resource limitations • Replaces testers with virtual users
Controller
Vuser host
Load Generation
Analysis
• Runs many Vusers on a few machines • Controller manages the virtual users • Analyzes results with graph & report tools • Repeats tests with scripted actions
Web server
Database server
System Under Test Company Confidential
Testing Process of LOAD RUNNER 1. 2. 3. 4. 5.
Planning the Test. Creating Vuser Scripts. Creating the Scenarios. Run the scenarios. Analyzing the test Results.
Company Confidential
Vuser Scripts: Virtual User Generator
Web server
Database server
Virtual User Generator
Company Confidential
Virtual User Generator Script Script consists of 3 sections… • Vuser_init( ) ----login to server • Actions
----clients activities
• Vuser_end( ) ----logoff
Company Confidential
Virtual User Script Model Logon (recording optional)
vuser_init.c
User Actions (Business Processes)
Action1.c, Action2.c, etc. (e.g., Create Order, Ship Order)
Logoff (recording optional)
vuser_end.c
This section may be iterated (repeated) during one test run
Company Confidential
Virtual Users Several types of vusers • • • • •
GUI vusers WEB vusers RTE vusers TUXEDO vusers DB vusers ……………..
Company Confidential
Scenario
• Vuser Scripts ++++ Vusers ++++ Host machines
CONTROLLER
Company Confidential
Managing Scenario Execution (Performance Under Gradual Load)
The Controller: • Gradually build up load on the server – – – –
load all Vusers release Vusers in defined time intervals disable Rendezvous manually kill Vusers when all have been running and you’ve obtained enough transactions to measure
The Vuser: • Run time settings – set number of iterations to be very high (i.e. 9000) – ignore think times Company Confidential
Analysis Tools Graphs and Reports
• Analyze various load issues – – – – –
How many Vusers were running at any point? How many transactions executed at any point? Which transactions passed/failed? What was the transaction response time? What was the performance under gradual load?
• Pinpoint problem areas – – – –
determine what is causing bottlenecks for each transaction view several graphs simultaneously zoom to focus on areas of interest filter to view specific transactions Company Confidential
Running Vusers How many Vusers were running at any point during execution? – gradual user load
Company Confidential
Rendezvous See how rendezvous influenced transaction performance
Company Confidential
Transaction Performance What was transaction response time at any point during execution? – Where does performance deteriorate?
Company Confidential
Performance vs. Load View Multiple Graphs
Company Confidential
Transaction Performance Summary Why is the Average so far from the middle of Min and Max?…(next slide)
Company Confidential
Percentile Percentage of transactions performed within a given time range – notice 90% of the Simple_Inquiry transactions executed within 3 seconds
Company Confidential
Cross Scenario Graphing Compare results from two Scenario executions in the same graph(s)
Company Confidential
Monitor Network Delay Which network segment is causing the delay?
Company Confidential
Monitor Resources How is the server handling the load?
Company Confidential
Performance Tunings Once u find the factors such as network delays, server resources, or transaction breakdowns , those influencing performance of application, by tunings u can achieve better performance….
Company Confidential