Performance Testing Reasons

From an executive's or entrepreneur's perspective, performance testing addresses risks of the software business related to:

  • Corporate reputation - website failures make us look unprofessional
  • User satisfaction - leaving site because of slow response costs us revenue
  • Operational expense - system architecture and "horsepower" of hosting environment
  • Opportunity costs - knowing where to invest in infrastructure for best ROI as you accommodate growth
  • Continuity - make sure that the system doesn't crash when we are successfully driving traffic

From a developer's or tester's perspective. performance testing addresses technical issues:

  • Scalability - confirm the system can scale both horizontally and vertically
  • Establishing a baseline for key performance metrics such as response times, throughput, and requests per second
  • Identifying bottlenecks in the application
  • Assessing release readiness - verify that new code didn't create a new bottleneck
  • Evaluating current capacity against defined requirements
  • Determining infrastructure limits
  • Verifying system stability under load - look for memory leaks in long tests
  • Predict future resource needs and architectural improvements
  • Compare different system configurations - helps optimize settings for database, threadpools, etc.
  • Regression - finding out the application’s desired performance characteristics before and after changes
  • System behavior under several levels of load
  • Provide data for stakeholders to assist them in decision making regarding marketing campaigns and customer support
  • Provide data to aid in the prediction of lost revenue or damaged brand credibility

Because performance testing is the right thing to do

Take pride in doing anything you do with the best of your ability. The systems you build or maintain should solve problems and make people happy. Poor performing applications don't make anybody happy.