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.

PQA's Performance Testing 101


Published on

This presentation will give you an introduction to performance testing; – what it is, why you should be doing it, and how you can get started

Published in: Technology
  • Be the first to comment

  • Be the first to like this

PQA's Performance Testing 101

  1. 1. An Introduction to Performance Testing
  2. 2. Performance Testing 101  Performance testing is the process of determining the speed, responsiveness and stability of a computer, network, software program, or device under a workload.  Small workloads can be generated manually, while larger ones require a tool.  Performance testing is a process, not a one time test.  Plan  Script -> Execute  Optimize
  3. 3. Why do performance testing? ► Many possible bottlenecks ► Not always obvious ► Outages due to performance are most obvious problem ► Slow downs can halt conversions and encourage drift ► Find issues traditional testing can’t find ► Memory leaks ► Timeouts ► Unexpected results
  4. 4. Why do performance testing? ► Performance tuning – learn to tune your system for optimal performance before going live ► Monitoring – monitoring is your best defence against service degradation ► Performance testing helps understand symptoms and warning signs ► Understanding impact of altering server configurations and scaling
  5. 5. Types of performance testing ► Load – testing a system under an expected work load ► Stress – testing a system under a greater-than-expected work load ► Endurance (Soak) – continuous, expected load for long durations (memory leakage) ► Spike – sudden increase in users ► Volume – large data volumes to process ► Break Testing – determining the volume at which performance begins to degrade, what that looks like, and then further, what it looks like when it breaks ► Scalability Testing – understanding the impact and usefulness of scaling parts of your system on performance
  6. 6. Potential system bottlenecks ► As many possible sources as you can imagine ► Bottleneck analysis can be its own sub-specialization ► Common sources ► Network – load balancers, network interface cards, over-tight security, inadequate bandwidth, network architecture ► Web Server – broken links, inadequate transaction design, high SSL transactions, poor server configuration ► App Server – memory leaks, garbage collection, DB connections poor configuration, inefficient code transactions, session model, server configuration, poor use of OS resources ► DB – ineffective SQL, small query plan cache, DB configuration, data cache, excess DB connections, excessive rows at a time, ineffective indexing, ineffective concurrency, outdated statistics, deadlocks, poor configuration mirroring/backup
  7. 7. Performance testing metrics ► Many metrics – some common ones ► User Experience Based (from Tricentis Flood) ► Response Time ► # of Concurrent Users ► Passed Transactions ► Failed Transactions ► Infrastructure Based (from APM tools like New Relic, Dynatrace, AppDynamics, etc.) ► Processor – processor usage, memory use, disk time, private bytes, CPU interrupts per second ► Network – bandwidth usage, output queue length, bytes total per second, throughput ► Memory – private bytes, memory/pages per second, page faults per second, committed memory ► Disk – disk queue length, reads per second ►
  8. 8. Best user flows Skills required Maintenance Reuse Complicated flows, lower load needed, newer features Intermediate (Similar to Selenium) Minimal Reuse functional tests for load Simpler flows, higher load needed, established features Advanced – multiple API calls High – frequently breaks Little/No reuse Choosing your performance testing approach Browser Level Protocol Level
  9. 9. Browser Level (UI Based) Protocol Level (API Based) Tricentis Tosca UI (Beta) (Cross browser test) TricentisTosca API (Beta) Flood Element Selenium for Java Jmeter Gatling Types of Performance Testing Tools
  10. 10. Ready to begin performance testing, but not sure where to start? We can help with that. Drop us a line at