Performance
Testing
Testing the stability and response time of an application
over a period of time by applying the load of data is called Performance
Testing.
Here load of data may be: Number of users or it may
be volume of data
Why Do Performance
Testing?
At the highest level, performance testing is almost
always conducted to address one or more risks related to expense, opportunity
costs, continuity, and/or corporate reputation. Some more specific reasons for
conducting performance testing include:
- 1. Assessing release readiness by:
- Enabling you to predict or estimate the performance characteristics of an application in production and evaluate whether or not to address performance concerns based on those predictions. These predictions are also valuable to the stakeholders who make decisions about whether an application is ready for release or capable of handling future growth, or whether it requires a performance improvement/hardware upgrade prior to release.
- Providing data indicating the likelihood of user dissatisfaction with the performance characteristics of the system.
- Providing data to aid in the prediction of revenue losses or damaged brand credibility due to scalability or stability issues, or due to users being dissatisfied with application response time.
- 2. Assessing infrastructure adequacy by:
- Evaluating the adequacy of current capacity.
- Determining the acceptability of stability.
- Determining the capacity of the application’s infrastructure, as well as determining the future resources required to deliver acceptable application performance.
- Comparing different system configurations to determine which works best for both the application and the business.
- Verifying that the application exhibits the desired performance characteristics, within budgeted resource utilization constraints.
- 3. Assessing adequacy of developed software performance by:
- Determining the application’s desired performance characteristics before and after changes to the software.
- Providing comparisons between the application’s current and desired performance characteristics.
- 4. Improving the efficiency of performance tuning by:
- Analyzing the behavior of the application at various load levels.
- Identifying bottlenecks in the application.
- Providing information related to the speed, scalability, and stability of a product prior to production release, thus enabling you to make informed decisions about whether and when to tune the system.
Load Testing
- It 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. This load can be the expected concurrent number of users on the application performing a specific number of transactions within the set duration. This test will give out the response times of all the important business critical transactions. If the database, application server, etc. are also monitored, then this simple test can itself point towards bottlenecks in the application software.
Stress
Testing
- It is normally used to understand the upper limits of capacity within the system. This kind of test is done to determine the system's robustness in terms of extreme load and helps application administrators to determine if the system will perform sufficiently if the current load goes well above the expected maximum.
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 behavior 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.
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 behavior. A common example would be experimenting with different methods of load balancing.
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. It is typical in this type of performance test to maintain a certain level of user concurrency for an extended period of time. This type of test can identify issues relating to memory allocation, log file handles, and database resource utilisation.
- Typically, issues are identified in shorter, targeted performance tests. Soak Testing provides a measure of a system's stability over an extended period of time.
Volume
Testing
- This is a term used to describe load testing and performance testing or stress testing. It is the process of placing concurrent user and or system generated loads onto a system under test.
- The goals of volume testing are to determine;
- The volume or load at which systems stability degrades.
- To identify and then tune issues preventing a system from reaching required service level agreements (SLA) or volumetric targets.
- A typical performance test or load testing cycle combines both volume testing and performance tuning to ensure a system reaches its required benchmarks.
You may also like:
Complete Testing Material
Testing basic interview questions
Nice Blog, When I was read this blog, I learnt new things & it’s truly have well stuff related to developing technology, Thank you for sharing this blog. If Someone wants to know about Top Big Data Companies this is the Right place for you!
ReplyDelete