9 stages of effective performance testing process | Software Testing Company a1qa

  1. Software analysis and requirements preparation
  2. Strategy design
  3. Load generator configuration
  4. Server and load generator monitoring
  5. Test data generation
  6. Load scripts development
  7. Preliminary tests launch
  8. Tests execution
  9. Results analysis and reporting.

Stage 1 — Software analysis and requirements preparation

  • simulate the most adequate user behavior patterns and load profile
  • determine the necessary amount of test data
  • find the system bottlenecks
  • define the software methods for monitoring.

Stage 2 — Strategy design

Test stand configuration

Load profile and load model design

Choosing optimal performance testing tool

Stage 3 — Load generator configuration

Stage 4 — Server and load generator monitoring

  • Nmon
  1. Online mode.
  • Performance Monitor
  • Zabbix
  • Grafana
  • New Relic

Database profiling

  • PostgreSQL is a free object-relational database management system. pgBadger profiler can be used for reaching the performance testing goals.
  • MS SQL Server Profiler is a tool for tracking, reconstruction, and debugging of the MS SQL Server. It allows creating and processing queries, reproducing and analyzing queries results.

Web servers profiling

PHP profiling

  • Xdebug is a powerful tool applied for analyzing PHP code, detecting its bottlenecks and slow elements.
  • XHprof decomposes the application into function calls (methods) and creates the statistics on their resources consumption. The results include various metrics: the amount of allocated memory, number of function calls, execution time, and many more.

Stage 5 — Test data generation

  • Code
  • SQL querries
  • API calls
  • Interface

Stage 6 — Load scripts development

  1. Script analysis

Stage 7 — Preliminary tests launch

Stage 8 — Tests execution

  1. During a stress test, the load will be gradually increasing until one of the test stopping criteria is reached.
  • The response time exceeds the set value by several times.
  • The critical level of the hardware resources usage is reached (CPU>80%, memory>90%).
  • The number of HTTP errors exceeds 1% of the total request number.
  • Fail of the system software.

Stage 9 — Results analysis and reporting

  • Performance testing goals
  • Test environment and load generator configuration
  • Application requirements
  • User behavior scripts and load profile
  • Statistics on the key performance characteristics (response time, number of queries per second, number of transactions per second)
  • Information on the maximum number of concurrent users under which the system is capable to cope with the load
  • Information about the number of HTTP errors and their types
  • Diagrams showing how the system performance depends on the number of concurrent users
  • Conclusion on the software performance in general and its bottlenecks if any
  • Recommendations on how to improve application performance.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
a1qa

a1qa

Software Testing & Quality Assurance Company. #QA #testing #mobile #security #performance #consulting #automation #telecom #ecommerce #banking #Agile #DevOps