Monday, July 2, 2012

What is Performance Testing?

  • Performance testing is a testing performed to determine how a system performs in terms of responsiveness and stability under a particular workload. 
  • It can also serve to investigate, measure, validate or verify other quality attributes of the system, such as scalability, reliability and resource usage.
  • Performance testing is a means of quality assurance (QA). It involves testing software applications to ensure they will perform well under their expected workload.
  • The goal of performance testing is not to find bugs but to eliminate performance bottlenecks
  • The focus of Performance testing is checking a software program’s
    • Speed – Determines whether the application responds quickly
    • Scalability – Determines maximum user load the software application can handle.
    • Stability – Determines if the application is stable under varying loads
Types of performance testing.
  • Load testing – Load testing is the simplest form of performance testing. A load test is usually conducted to understand the behavior of the system under a specific expected load.
  • Stress testing – involves testing an application under extreme workloads to see how it handles high traffic or data processing .The objective is to identify breaking point of an application.
  • Endurance testing – is done to make sure the software can handle the expected load over a long period of time.
  • Spike testing – Spike testing is done by suddenly increasing the number of, or load generated by, users by a very large amount and observing the behaviour of the system. The goal is to determine whether performance will suffer, the system will fail, or it will be able to handle dramatic changes in load.
  • Volume testing – Under Volume Testing large no. of. Data is populated in database and the overall software system’s behavior is monitored. The objective is to check software application’s performance under varying database volumes.
  • Scalability testing – The objective of scalability testing is to determine the software application’s effectiveness in “scaling up” to support an increase in user load. It helps plan capacity addition to your software system.
  • Configuration testing - Rather than testing for performance from the perspective of load, tests are created to determine the effects of configuration changes to the system's components on the system's performance and behaviour. A common example would be experimenting with different methods of load-balancing.
  • Isolation testing - Isolation testing is not unique to performance testing but a term used to describe repeating a test execution that resulted in a system problem. Often used to isolate and confirm the fault domain.

No comments:

Post a Comment