Performance Testing | Software Testing
Prerequisite – Types of Software Testing
Performance Testing is a type of software testing that ensures software applications to perform properly under their expected workload. It is a testing technique carried out to determine system performance in terms of sensitivity, reactivity and stability under a particular workload.
Performance Testing is the process of analyzing the quality and capability of a product. It is a testing method performed to determine the system performance in terms of speed, reliability and stability under varying workload. Performance testing is also known as Perf Testing.
Performance Testing Attributes:
It determines whether the software product responds rapidly.
It determines amount of load the software product can handle at a time.
It determines whether the software product is stable in case of varying workloads.
It determines whether the software product is secure or not.
Objective of Performance Testing:
- The objective of performance testing is to eliminate performance congestion.
- It uncovers what is needed to be improved before the product is launched in market.
- The objective of performance testing is to make software rapid.
- The objective of performance testing is to make software stable and reliable.
Types of Performance Testing:
- Load testing:
It checks the product’s ability to perform under anticipated user loads. The objective is to identify performance congestion before the software product is launched in market.
- Stress testing:
It involves testing a product under extreme workloads to see whether it handles high traffic or not. The objective is to identify the breaking point of a software product.
- Endurance testing:
It is performed to ensure the software can handle the expected load over a long period of time.
- Spike testing:
It tests the product’s reaction to sudden large spikes in the load generated by users.
- Volume testing:
In volume testing large number of data is saved in a database and the overall software system’s behavior is observed. The objective is to check product’s performance under varying database volumes.
- Scalability testing:
In scalability testing, software application’s effectiveness is determined in scaling up to support an increase in user load. It helps in planning capacity addition to your software system.
Performance Testing Process:
Performance Testing Tools:
Advantages of Performance Testing :
- Performance testing ensures the speed, load capability, accuracy and other performances of the system.
- It identifies, monitors and resolves the issues if anything occurs.
- It ensures the great optimization of the software and also allows large number of users to use it on same time.
- It ensures the client as well as end-customers satisfaction.
Disadvantages of Performance Testing :
- Sometimes, users may find performance issues in the real time environment.
- Team members who are writing test scripts or test cases in the automation tool should have high-level of knowledge.
- Team members should have high proficiency to debug the test cases or test scripts.
- Low performances in the real environment may lead to lose large number of users.