What is Performance Testing?
Performance Testing is performed to evaluate the performance of components of a particular system under a particular workload. During this testing, system components are monitored to verify the stability of the system under test.
Performance Testing is the type of Non-Functional Testing. It strives to build performance standards into the implementation, design, and architecture of a system.
Performance Testing Attributes: Speed, Scalability, Stability & Reliability.
Performance Testing Tools : Jmeter, Open STA, Load Runner, Web Load etc.
Difference between Performance, Load and Stress Testing
Features or Characteristics of Performance Testing Tools are:
- To generate load on the system to be tested.
- To measure the timing of specific transactions as the load on the system varies.
- To measure average response times.
- To produce graphs or charts of responses over time.
Objective of Performance Testing
The primary objective is to establish the benchmark behavior of the system. It does not aim to find defects in the application rather this focuses on measuring characteristics, such as response times, throughput or the meantime. This can be done in different ways depending on the tool, such as different user profiles, different types of activity, timing delays and other parameters.
Performance Testing Techniques:
Load Testing - Testing the behavior of the system under a specific load or to get the breakeven point where the system starts downgrading it's performance. Learn More
Stress Testing: It is performed to find the upper limit capacity of the system and also to determine how the system performs if the current load goes well above the expected maximum. Learn More
Usability Testing: Testing to determine the extent to which the software product is understood, easy to learn, easy to operate and attractive to the users under specified conditions. Learn More
Security Testing: This intends to uncover vulnerabilities of the system and determine that its data and resources are protected from possible intruders. Learn More
Portability Testing: Software reliability is the probability that software will work properly in a specified environment and for a given amount of time. Learn More
Soak Testing - Soak Testing is a type of performance test that verifies a system's stability and performance characteristics over an extended period of time or for long durations.
Spike Testing - Spike testing is performed by increasing the number of users suddenly by a very large amount and measuring the performance of the system.
Isolation Testing - Isolation testing is not unique to performance testing but involves repeating a test execution that resulted in a system problem. Such testing can often isolate and confirm the fault domain.