Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 46
Performance Testing explained
What is Performance testing
• Many people perceive performance as a single aspect of the system, it is their key focus, response time. As we’ll see in the course this is an over simplified view of performance, but it is the most common view. • Ross Collard defines performance as follows: A system’s performance is its speed or responsiveness, its ability to handle loads and its efficient use of resources. • To accurately measure the “performance” of a system we need to know what we are trying to measure and what indicates there is a problem. To ensure our measures have meaning we need to have an accurate load (operational profile or workload) running on the system. We cannot just run random events at an application/system and call it a load or performance test. Functional VS. performance testing • Functional testing is about designing test cases (scripted or creative) to ensure that the software meets the needs, expectations and requirements of the customer/client • performance testing does not utilize test cases as we typically see them. There are performance requirements/targets (or rather there should be) that we design load tests to evaluate. • A performance test utilizes a load-based test to evaluate whether or not an application/system meets specified performance targets (response times, resource utilization, etc.) under defined levels of activity (load/volume). • Each time a load test is executed (no changes having been made to the system/application) the results will be similar to a previous execution. • The results will not be identical as in functional testing but will be similar; if the results are identical, there is something fundamentally wrong with the load test in use. Predicting performance outcome • Providing precise predictions about a production application/systems performance without ensuring these elements are properly addressed, can be a critical mistake as the production application/system may not behave at all as predicted, depending on which factors were “inaccurate” and the level and type of inaccuracy. • In many circumstances the single result of a performance test is a one- line statement “yes we can ship” or “no we cannot ship”. If certain factors are not properly addressed in the design of the test, the results can be very misleading. • If it fails in a controlled lab, it most likely will fail in the real world. Performance Testing Process • Test Planning • Test Preparation • The above is about 80-90 % of the total time • Test Execution • Test Reporting • The above is about 10-20 % of the total time Performance Testing is a Team Effort • QA/Test • DBA • User / Customer • Security • Developers / Architect • Management / Marketing • Capacity planners / operations / product managers. • Load Examination Questions • What circumstances are likely to cause heavy demand on the system? • What uses of the system are likely to consume a high level of system resources per event, regardless of frequency? • What system uses are timing sensitive? • What uses are most popular or frequently used? • What uses are most conspicuous or highly visible? • What activities are likely to happen concurrently, and cause heavy load and stress on the systems? • Are there any notably complex functions in the system? • Are there any background applications sharing • the same infrastructure will they interfere or • compete significantly for system resources? • What has been your prior experience with other similar situations? • What features or system aspects typically have encountered performance problems? Defining Key Measurements
• Now that we have or load information the
next step is to define the levels of resource utilization and other measurements • These measurements will be the basis for determining if there is a problem in the application/system • Without defined measurements it is nearly impossible to know when there is a problem Defining the Acceptable Limits
• Once we have determined what our general
and specific measurements are and where to gather the information from the next step is to determine what the target levels are • We need to define limits for acceptable and unacceptable levels of resource consumption • As we approach these limits and once the limits reached we will begin to experience performance related problems