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.

Argentesting 2016 - Introducción al Testing de Performance


Published on

Por Jonathan Ortiz.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Argentesting 2016 - Introducción al Testing de Performance

  1. 1. 1
  2. 2. 2
  3. 3. 3
  4. 4. 4 Performance testing Jonathan Ortiz QA Practice Lead Gonzalo Brusella Solutions Architect
  5. 5. 5 1. Introduction to performance testing 2. Performance testing core activities 3. Q & A Agenda
  6. 6. 6 Introduction to performance testing
  7. 7. 7 There is a basic fundamental truth about reality: Why we measure things? A map is not the territory it represents, but, if correct, it has a similar structure to the territory, which accounts for its usefulness. — Alfred Korzybski, Science and Sanity (1933, p. 58) We measure things because we want to improve our mental model.
  8. 8. 8 Confidential Performance is all about context
  9. 9. 9 What is Performance Testing? Performance testing is not just: Load Testin g To measure that under a heavy declared load, the application performance should not degrade over time and function properly. Stress Testin g Conducted to verify that your application can meet your desired throughput objectives. (Requests/Second, Maximum response time, etc.) Enduranc e Testin g To measure the workload and load volumes anticipated during production operation over an extended period of time. Peak Testin g This subtype will help you to know how does your application work under unanticipated peaks of load. (this is usually called a Slashdot effect). Max. Complexity Testin g This is a sub-type of Load testing with the purpose of measure the behavior of a service while processing the most complex / intensive / critical scenario of use. Capabilit y Testin g To determine how many users and/or transactions a given system will support and still meet performance goals.
  10. 10. 10 Performance testing core activities
  11. 11. 11 • Define the Key Performance Indicators - Throughput - Complexity • Measure the KPIs - Instrumentation - Logging • Data collection & Analysis - RRDBs - AWS Kinesis / Azure Event Hubs Preliminary activities
  12. 12. 12 Performance testing core activities Identify the Test Context ● Physical test environment: ○ Hardware ○ Software ○ Network configuration ● This should be tested the as close as possible to the Production environment. Having a thorough understanding of the entire test environment at the outset enables more efficient test design and planning and helps you identify testing challenges early in the project.
  13. 13. 13 Performance testing core activities Identify Performance Acceptance Criteria ● Response time. ● Throughput. ● Resource utilization goals and constraints. In general, response time is a user concern, throughput is a business concern, and resource utilization is a system concern. Additionally, identify project success criteria that may not be captured by those goals and constraints; for example, using performance tests to evaluate what combination of configuration settings will result in the most desirable performance characteristics. Identify the Test Context
  14. 14. 14 Performance testing core activities Plan a Design Tests ● Identify key scenarios. ● Determine variability among representative users. ● Define test data. ● Establish metrics to be collected (instrumentation). Consolidate this information into one or more models of system usage to be implemented, executed, and analyzed. Identify the Test Context Identify Performance Acceptance Criteria
  15. 15. 15 Performance testing core activities Configure Test Environment Prepare the test environment, tools, and resources necessary to execute each strategy as features and components become available for test. Ensure that the test environment is instrumented for resource monitoring as necessary. Identify the Test Context Identify Performance Acceptance Criteria Plan a Design Tests
  16. 16. 16 Performance testing core activities Implement test Design Develop the performance tests in accordance with the test design. Identify the Test Context Identify Performance Acceptance Criteria Plan a Design Tests Configure Test Environment
  17. 17. 17 Performance testing core activities Execute Tests Run and monitor your tests. Validate the tests, test data, and results collection. Execute validated tests for analysis while monitoring the test and the test environment. This is a recurring activity. Identify the Test Context Identify Performance Acceptance Criteria Plan a Design Tests Configure Test Environment Implement test Design
  18. 18. 18 Performance testing core activities • Consolidate and share results data. • Analyze the data both individually and as a cross-functional team. • Re-prioritize the remaining tests and re- execute them as needed. When all of the metric values are within accepted limits, none of the set thresholds have been violated, and all of the desired information has been collected, you have finished testing that particular scenario on that particular configuration. Identify Performance Acceptance Criteria Plan a Design Tests Configure Test Environment Implement test Design Execute Test Identify the Test Context Analyze, Report and Retest
  19. 19. 19 Q & A
  20. 20. 20
  21. 21. 21 Thank you Name Title +1-000-333-4444 Name Title +1-000-333-4444
  22. 22. 22 Extra Miles
  23. 23. 23 Tooling Commercial Open Source
  24. 24. 24 What is Performance Testing? Respons e time Amount of time system takes to process a request after it has received one. Latency In the simplest possible terms this is Remote Response time. Throughpu t Transactions per unit of time your application can handle (motivation / result of load testing) Scalabilit y Is the measure of how your system responds when additional hardware is added. It is measured both horizontal and vertical. Stress Determines the upper limits of capacity within the system. Robustnes s An attribute that is measured as part of stress testing relates to long running systems with almost negligible down time. Performance testing is also:
  25. 25. 25