Performance testing is a non-functional testing technique performed to determine the system parameters in terms of responsiveness and stability under the various workload. It will measure the quality attributes of the system such as scalability, reliability and resource usage.
Why we need to do performance Test?
- To Identify problems early on before they become costlier to resolve.
- To Produce better quality and scalable code.
- It to prevent revenue and credibility loss due to poor Web site performance.
- Enables intelligent planning for future expansion.
- To ensure that the system meets performance expectations such as response time, throughput, etc. under given levels of load.
- Expose bugs that do not surface in cursory testing, such as memory management bugs, memory leaks, buffer overflows, etc.
Techniques Used
Load Testing
- It is the simplest form of testing conducted to understand the behavior of the system under a specific load.
- We ensure that the software is performing efficiently during unexpected increase in load.
- Evaluating under a specific expected load with the assistance of load testing tools.
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 level.
- Identify the upper limit of the application capacity
- Determine the ability of an application to maintain a level of effectiveness under hostile circumstances.
Soak Testing
- Soak Testing also known as endurance testing, is performed to determine the system parameters under continuous expected load. Parameters such as memory utilization are monitored to detect memory leakage.
- Executed to check the stability and performance of the application.
- Check that application continuously sustains a particular amount of load for a long period of time.
Spike Testing
- It is the method to increase the number of users suddenly by a very large amount to measure the performance of the system.
- To estimate the weakness of an application.
- To check how the application responds to an unexpected rise & fall of user load.
Volume Testing
- The objective is to check the software application's performance under varying database volumes. The objective is to check the software application's performance under varying database volumes.
- Evaluate by increasing the volume of data in the database
- Check how much capacity of data the application can handle.
Scalability testing
- To determine the software application's effectiveness in "scaling up" to support an increase in user load, data volume, transaction counts frequency, etc.
- Measures application capability under increased processing power & architectural changes.
- Ensures the application is scalable and has hassle-free functioning.
Web Service Performance Testing
- Provide exceptional, continuous and uninterrupted services to the large pool of users.
- Get high quality, interactive & visually appealing websites with faultless performance & response time.