Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Performance Testing

12,329 views

Published on

Performance Testing Basics

Published in: Technology
  • Our performance testing services will accelerate application performance under peak load traffic conditions while reducing IT infrastructure costs using the latest load testing and stress testing practices. http://bit.ly/2DBqBht
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • This whitepaper explains how we built a continuous testing framework for one of our high value enterprise clients and the challenges we faced along with the solutions we created to overcome those challenges. http://bit.ly/2FTSWT2
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • nice
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hi, Could you please Share this Slide. kits.raman@gmail.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hi, can you share the slide. dedanmutuku@gmail.com
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Performance Testing

  1. 1. Performance Testing Load Runner Pune October 2008 Parish Sharma
  2. 2. Contents Day 1 <ul><li>Session 1: Planning an Effective Load Test. </li></ul><ul><li>Session 2: Load Runner Flow and Architecture </li></ul><ul><li>Session 3: Introduction to Scenarios </li></ul><ul><li>Session 4: VuGen and Scripting </li></ul>06/09/09 Author: Parish Sharma
  3. 3. Session 1 Planning an Effective Load Test 06/09/09 Author: Parish Sharma
  4. 4. Types of Performance Test <ul><li>1. Performance Test </li></ul><ul><li>2. Load Test </li></ul><ul><li>3. Stress Test </li></ul><ul><li>4. Capacity Test </li></ul>06/09/09 Author: Parish Sharma
  5. 5. Performance Test <ul><li>Purpose: </li></ul><ul><li>To determine or validate speed, scalability, and/or stability. </li></ul>06/09/09 Author: Parish Sharma
  6. 6. Load test <ul><li>Purpose: </li></ul><ul><li>To verify application behavior under normal and peak load conditions. </li></ul>06/09/09 Author: Parish Sharma
  7. 7. Stress Test <ul><li>Purpose: </li></ul><ul><li>To determine or validate an application’s behavior when it is pushed beyond normal or peak load conditions. </li></ul>06/09/09 Author: Parish Sharma
  8. 8. Capacity Test <ul><li>Purpose: </li></ul><ul><li>To determine how many users and/or transactions a given system will support and still meet performance goals. </li></ul>06/09/09 Author: Parish Sharma
  9. 9. Need for Load Test <ul><li>User support for a New System. </li></ul><ul><li>Upgrade/Scale a System </li></ul><ul><li>To know the Speed and Response of the System </li></ul><ul><li>To know the behavior at normal and peak loads. </li></ul><ul><li>To identify where system breaks. </li></ul>06/09/09 Author: Parish Sharma
  10. 10. Cont.. <ul><li>Most load tests are executed with false intentions, (performance barometer). </li></ul><ul><li>Understanding the impact of response times for predictable behavioral conditions and scenarios. </li></ul><ul><li>Understanding the impact of response times for patterns of adoption and growth. </li></ul>06/09/09 Author: Parish Sharma
  11. 11. Goals & Objectives <ul><li>Performance Testing Objectives </li></ul><ul><li>Performance Objectives </li></ul><ul><li>Performance Targets </li></ul><ul><li>Performance Thresholds </li></ul><ul><li>Performance Budgets </li></ul>06/09/09 Author: Parish Sharma
  12. 12. Measurable Goals <ul><li>1. Transaction Response Time </li></ul><ul><li>2, Resource Utilization </li></ul><ul><li>3. Memory Leaks </li></ul><ul><li>4. Deadlocks </li></ul><ul><li>5. Throughput </li></ul><ul><li>6. Capacity Planning </li></ul><ul><li>7. Product Evaluation </li></ul><ul><li>8. Acceptance </li></ul>06/09/09 Author: Parish Sharma
  13. 13. Information to Start <ul><li>1. Hardware and Software Details </li></ul><ul><li>2. Load to be tested </li></ul><ul><li>3. Expected Response Time </li></ul><ul><li>4. Suitable time to load test. </li></ul><ul><li>5. Critical Business Scenarios. </li></ul><ul><li>6. Priority and Flow of scenarios. </li></ul>06/09/09 Author: Parish Sharma
  14. 14. END OF SESSION -1 QUESTIONS?? 06/09/09 Author: Parish Sharma
  15. 15. Session 2 Load Runner Flow and Architecture 06/09/09 Author: Parish Sharma
  16. 16. Load Runner Components <ul><li>1. Virtual User Generator </li></ul><ul><li>2. Controller </li></ul><ul><li>3. Load Generator Agent </li></ul><ul><li>4. Analysis </li></ul>06/09/09 Author: Parish Sharma
  17. 17. Plan Test Create Scripts Scenario Creation Scenario Execution Result Analysis Load Testing Flow Performance Tuning
  18. 18. Test Planning <ul><li>1. Test Planning - Before we run load testing </li></ul><ul><li>- Setup goals </li></ul><ul><ul><ul><li>Measure application response time </li></ul></ul></ul><ul><ul><ul><li>Configuration sizing </li></ul></ul></ul><ul><ul><ul><li>Capacity planning </li></ul></ul></ul><ul><ul><ul><li>Regression </li></ul></ul></ul><ul><ul><ul><li>Reliability </li></ul></ul></ul><ul><li>- Type of testing </li></ul><ul><ul><ul><li>Load Testing (System performance testing with SLA target load) </li></ul></ul></ul><ul><ul><ul><li>Stress Testing (Capacity testing to find out breaking point) </li></ul></ul></ul><ul><ul><ul><li>Duration Testing (Reliability testing to test the system under load) </li></ul></ul></ul>
  19. 19. Create Scripts <ul><li>2. Create Scripts </li></ul><ul><li>- Automate business processes in LoadRunner VUGen (Virtual User Generator): </li></ul><ul><ul><li>Scripts are C, C++-like code </li></ul></ul><ul><ul><li>Scripts are different with different protocol/technology </li></ul></ul><ul><ul><li> LoadRunner has about 50 protocols, including WAP </li></ul></ul><ul><li>Record user actions </li></ul><ul><ul><li>Need assistance of SME/Functional Testing group </li></ul></ul><ul><li>Add programming and test data in the scripts </li></ul><ul><ul><li>E.g. add correlation to handle dynamic data, e.g. session id </li></ul></ul><ul><ul><li>Test data may need lot of work from project team </li></ul></ul>
  20. 20. Scenario Creation <ul><li>3. Create Test Scenario </li></ul><ul><li>- Build test scenario according to usage information in Business Profile </li></ul><ul><li>Load Calculation </li></ul><ul><li>Can use rendezvous point, etc. </li></ul><ul><li>- Run-Time setting </li></ul><ul><li>Think time </li></ul><ul><li>Pacing </li></ul><ul><li>Browser Emulation: simulate browser cache, new user each iteration </li></ul><ul><li>Browser version, bandwidth, etc. </li></ul>
  21. 21. Test Execution <ul><li>4. Execute Load Testing </li></ul><ul><li>Execute test scenarios with automated test scripts in LoadRunner Controller </li></ul><ul><li>Isolate top time transactions with low load </li></ul><ul><li>Overdrive test (120% of full load) to isolate SW & HW limitations </li></ul><ul><li>- Work with Internal Support Team to monitor the whole system, e.g., web server, DB server, middleware, etc. </li></ul>
  22. 22. Result Analysis <ul><li>5. Analyze Test Result - Analysis </li></ul><ul><li>- Collect statistics and graphs from LoadRunner </li></ul><ul><li>- Report results </li></ul><ul><ul><li>- Most commonly requested results: </li></ul></ul><ul><ul><li>Transaction Response time </li></ul></ul><ul><ul><li>Throughput </li></ul></ul><ul><ul><li>Hits per sec </li></ul></ul><ul><ul><li>HTTP response </li></ul></ul><ul><ul><li>Network Delay </li></ul></ul><ul><ul><li>*Server Performance </li></ul></ul><ul><ul><li>- Merge graphs to make it more meaningful </li></ul></ul><ul><ul><li>Transaction response time under load </li></ul></ul><ul><ul><li>Response time/Vuser vs CPU utilization </li></ul></ul><ul><ul><li>Cross scenario graphs </li></ul></ul>
  23. 23. Result Reporting <ul><li>6. Test Report </li></ul><ul><li>- Don’t send LoadRunner result and graphs directly </li></ul><ul><li>- Send summary to the whole team </li></ul><ul><li>- Report key performance data and back end performance data </li></ul><ul><li>- Add notes for each test run </li></ul><ul><li>- Keep test history: for team to compare test runs </li></ul>
  24. 24. Architecture Overview 06/09/09 Author: Parish Sharma
  25. 25. How it Works 06/09/09 Author: Parish Sharma
  26. 26. END OF SESSION -2 QUESTIONS?? 06/09/09 Author: Parish Sharma
  27. 27. Session 3 Introduction to Scenario 06/09/09 Author: Parish Sharma
  28. 28. Elements making a Scenario <ul><li>1. Business Requirements </li></ul><ul><li>2. User Load </li></ul><ul><li>3. Ramp Up / Ramp Down </li></ul><ul><li>4. Steady Run Time </li></ul><ul><li>5. Actions of the Users </li></ul>06/09/09 Author: Parish Sharma
  29. 29. Scenario <ul><li>Using LoadRunner, we divide the application performance testing requirements into scenarios. </li></ul><ul><li>A scenario defines the events that occur during each testing sessions. </li></ul><ul><li>For example, a scenario defines and controls the number of users to emulate, the actions that they perform and the machines on which they run the emulations. </li></ul>06/09/09 Author: Parish Sharma
  30. 30. Types of Scenario <ul><li>1. Manual </li></ul><ul><li>2. Goal Based </li></ul>06/09/09 Author: Parish Sharma
  31. 31. Types of Execution <ul><ul><li>20% of Full Load - flush out transaction problems, effectively debug transaction </li></ul></ul><ul><ul><li>Full Load - flush out system problems, effectively debug system </li></ul></ul><ul><ul><li>120% of Full Load (Overdrive) - provide a margin of error as well as future scalability </li></ul></ul>06/09/09 Author: Parish Sharma
  32. 32. END OF SESSION -3 QUESTIONS?? 06/09/09 Author: Parish Sharma
  33. 33. Session 3 VuGen and Scripting 06/09/09 Author: Parish Sharma
  34. 34. Virtual Users <ul><li>Virtual users or Vusers emulate the steps of real users. The steps that Vusers perform are recorded in a Vuser Script. </li></ul>06/09/09 Author: Parish Sharma
  35. 35. Virtual User Generator <ul><li>VuGen records Vuser scripts that emulate the steps of real users using the application. </li></ul><ul><li>VuGen not only records VuGen scripts but also runs them. Running scripts from VuGen is useful for debugging. </li></ul><ul><li>VuGen records sessions on Windows platforms only. However a recorded Vuser script can run on both Windows and Unix Platforms. </li></ul>06/09/09 Author: Parish Sharma
  36. 36. Developing Vuser Script <ul><li>Record a basic script. </li></ul><ul><li>Enhance/Edit the script. </li></ul><ul><li>Configure the run time settings. </li></ul><ul><li>Run the script in Stand Alone mode. </li></ul><ul><li>Integrate the Vuser script into the test. </li></ul>06/09/09 Author: Parish Sharma
  37. 37. Vuser Scripts <ul><li>Each Vuser script has 3 sections: </li></ul><ul><ul><li>Vuser_init{() </li></ul></ul><ul><ul><li>Actions() {One or more actions can be there} </li></ul></ul><ul><ul><li>Vuser_End() </li></ul></ul>06/09/09 Author: Parish Sharma
  38. 38. Enhancing the scripts <ul><li>After recording the basic script, it can be enhanced with the following: </li></ul><ul><ul><li>General Vuser Functions. </li></ul></ul><ul><ul><li>Protocol specific Vuser Functions </li></ul></ul><ul><ul><li>Standard ANSI C Functions </li></ul></ul><ul><ul><li>Inserting Transactions into the script. </li></ul></ul><ul><ul><li>Sending Messages to the output </li></ul></ul><ul><ul><li>Handling errors. </li></ul></ul><ul><ul><li>Parameterization </li></ul></ul><ul><ul><li>Corelation </li></ul></ul>06/09/09 Author: Parish Sharma
  39. 39. Run Time Settings <ul><li>Think Time </li></ul><ul><li>Run Logic </li></ul><ul><li>Pacing </li></ul><ul><li>Log </li></ul><ul><ul><li>Standard </li></ul></ul><ul><ul><li>Extended </li></ul></ul><ul><ul><li>Miscellaneous. </li></ul></ul>06/09/09 Author: Parish Sharma
  40. 40. END OF SESSION -4 QUESTIONS?? 06/09/09 Author: Parish Sharma
  41. 41. QUIZ TIME!!!!!!!! 06/09/09 Author: Parish Sharma
  42. 42. Questions? <ul><li>[email_address] </li></ul><ul><li>[email_address] </li></ul><ul><li>Tel: (020)2620-7710 (desk) </li></ul><ul><ul><ul><li>09922429552 (cell) </li></ul></ul></ul>06/09/09 Author: Parish Sharma

×