Performance Testing



Performance testing checks whether an application provides stipulated output in a stipulated time. In the performance testing, tester ensure that the software meets performance requirements which are stated as a part of non-functional requirements. For example, System response time should be x milliseconds under the condition of average number of users.




Performance requirements of an application include->
1. Response -> How fast a request is processes/ served.
2. Throughput -> Number of transactions processed by an application per unit time or number of bytes should be getting by the server.

Purpose->
1. It can demonstrate  at the system meets performance criteria.
2. It can compare two systems to find which performs better.
3. It can measure what parts of the system or workload impact the desired performance.
4. It can also forecast how much growth the current application architecture can sustain in future in terms if number of users or number of transaction with existing configuration.

Types of performance testing->

1. Load Testing->

Load testing is done for observing performance of the application for a pre-defined load. This load could be in the form of simulated multiple concurrent user. Using various tools, load is generated and performance of the system is monitored.

How to increase the load->
Load testing is done by tools like Jmeter and Loadrunner. In case of load testing of a website,there are number of virtual users created who simultaneously hit the website. By increasing the number of virtual users,load can be increased.

Load testing determines how much user can access an application at the same time.

Popular load testing tools->
1. OpenSTA
2. Rational Performance Tester (RPT)
3. Jmeter (Most popular tool now a days)
4. SilkPerformer.
5. LoadRunner (By HP)

2. Stress Testing->

In stress testing, system is subjected to a load that causes it to allocate resources to the maximum amount. The goal is try to break the system to find out the condition at which the system will crash.

Stress Testing includes two conditions->
1. Overloading of the existing resources with the excess jobs.
2. Application of load beyond the specified limits.

For example -> In the organization , There are 10 testers handling 20 projects at a same time. Now the project manage or test lead or someone removed the 5 testers from the organization. This overloading of work can be define as a Stress.

3. Endurance Testing->
Endurance testing also known as Soak testing. Endurance testing determines whether a system can sustain a continues load for a long duration of time. Predefined load is applied for a longer period of time till breaking point.

4. Volume Testing->
Volume testing refers an application with a huge amount of data and checking its limitation in terms of performance. Application’s performance during database retrieval is checked with a volume of data.

This type of testing is needed mainly for transaction processing system.

No comments:

Post a Comment