Introduction to performance testing

9,914 views
9,426 views

Published on

Presentation done at inauguration of the Colombo PerfTest Meet Up

1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total views
9,914
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
519
Comments
1
Likes
6
Embeds 0
No embeds

No notes for slide
  • Performance Testing - A performance test is a technical investigation done to determine or validate the responsiveness, speed, scalability, and/or stability characteristics of the product under test. Load Testing - Load testing is conducted to verify that your application can meet your desired performance objectives; these performance objectives are often specified in a service level agreement (SLA). A load test enables you to measure response times, throughput rates, and resource-utilization levels, and to identify your application’s breaking point, assuming that the breaking point occurs below the peak load condition. Endurance testing is a subset of load testing. An endurance test is a type of performance test focused on determining or validating the performance characteristics of the product under test when subjected to workload models and load volumes anticipated during production operations over an extended period of time. Endurance testing may be used to calculate Mean Time Between Failure (MTBF), Mean Time To Failure (MTTF), and similar metrics.Stress Testing - The goal of stress testing is to reveal application bugs that surface only under high load conditions. These bugs can include such things as synchronization issues, race conditions, and memory leaks. Stress testing enables you to identify your application’s weak points, and shows how the application behaves under extreme load conditions. Spike testing is a subset of stress testing.  A spike test is a type of performance test focused on determining or validating the performance characteristics of the product under test when subjected to workload models and load volumes that repeatedly increase beyond anticipated production operations for short periods of time.Capacity test - Capacity testing is conducted in conjunction with capacity planning, which you use to plan for future growth, such as an increased user base or increased volume of data. For example, to accommodate future loads, you need to know how many additional resources (such as processor capacity, memory usage, disk capacity, or network bandwidth) are necessary to support future usage levels. Capacity testing helps you to identify a scaling strategy in order to determine whether you should scale up or scale out.
  • This process aims to optimize the most important application performance attribute, user experience. testing and tuning have been distinctly separate and often competing realms.
  • which ensures that a solution will be designed, implemented, and operationally supported to meet the non-functional performance requirements defined for the solution.
  • To confirm and validate the specified system performance requirements. To compare two systems to find which performs better or to check the current product capacity. To measure what parts of the system or workload causes the system to perform badly.
  • Speed -- Does the application respond quickly enough for the intended users? (Need to point the standards)Scalability -- Scalability risks concern not only the number of users an application can support, but also the volume of data the application can contain and process, as well as the ability to identify when an application is approaching capacity. – Database capacity– File Server capacity– Back-up Server capacity– Data growth ratesStability -- Is the application stable under expected and unexpected user loads? (Reliability, uptime, and recoverability) Although stability risks are commonly addressed with high-load, endurance, and stress tests What happens if…– there are more users than we expect?– all the users do the same thing?– a user gets disconnected?– there is a Denial of Service Attack?– the web server goes down?– we get too many orders for the same thing?Confidence – Are you sure that users will have a positive experience on go-live day?
  • Project Assessment - Production architecture, Test architecture,Available tools or evaluationPlanning the Test - Critical application usage scenarios, Key Performance Counters, Scripts planning (Realistic User model ) Hits per Second Transactions per Second Response Time Round Trip Time
  • Project Assessment - Production architecture, Test architecture,Available tools or evaluationPlanning the Test - Critical application usage scenarios, Key Performance Counters, Scripts planning (Realistic User model ) Hits per Second Transactions per Second Response Time Round Trip Time
  • Introduction to performance testing

    1. 1. Introduction to Performance Testing By Anushka Wickramaratne
    2. 2. Agenda • What is Performance Testing? • What is Performance Tuning? • What is Performance Engineering? • Why PT? • Attributes of PT • Performance Test Types • Optimization mechanisms • Myths • PT cycle • PT Tools • Tools Architecture • PT in a Nutshell?
    3. 3. Once upon a time in Sri Lanka…..
    4. 4. What is Performance testing?Discipline concerned with detecting and reporting thecurrent behavior of the software system.
    5. 5. What is Performance Tuning? Process by which software is tested and tuned to improve the system performance.
    6. 6. What is Performance Engineering? Process that applied at every phase of the SDLC.
    7. 7. Why Performance testing? • To confirm and validate SLA • To compare two systems to find which performs better or to check the current product capacity. • To measure what parts of the system or workload causes the system to perform badly.
    8. 8. Attributes of Performance Testing Back to Ravana’s Story  • Speed • Scalability • Stability • Confidence
    9. 9. Performance Test Types • Performance Testing • Load Testing • Stress Testing • Capacity Testing • Endurance Testing • Spike Testing
    10. 10. Performance Optimization Mechanisms • Front End Optimization (FEO) Web Performance Optimization (WPO) • Back End Optimization (BEO)
    11. 11. Performance Testing Myths • PT is done to break the code. • PT is all about learning and using a load testing tool & vice-versa • Results that are true for the testing server can be simply scaled up or down. • PT can ONLY be done towards the end of the testing life cycle.
    12. 12. Performance Test Cycle
    13. 13. Performance Test Tools • Free/Open source • Supporting tools – Jmeter - Httpwatch – Open STA - Yslow - Bad Boy • Commercial – Load Runner – Webload • Create Own
    14. 14. Common PT Tool Architecture
    15. 15. Performance Testing in a Nutshell

    ×