Just some notes from some reading done over last few weeks:
Performance Testing is a non-functional testing which is undertaken to determine response time, effectiveness, throughput , stability of an application under a particular load.
It validates the application in terms of quality attributes like scalability, reliability and resource usage.
Performance testing has been a long neglected cousin of functional testing and is still not a formal discipline in lot of companies. But with growing competition and plethora of applications available, it’s very much required to provide a satisfactory user experience in terms of performance to retain the customer base.
Why Performance test?
— To monitor application’s response time and to remove performance bottlenecks from the system before they cause serious issues.
— To confirm SLAs – Reputation and revenue of company is at stake.
— To provide a better and satisfactory user-experience.
Key Performance Indicators
Key performance indicators can be divided into
- Service-Oriented Indicators : determine how well (or not) an application is providing service to the end user.
- Availability: The amount of time an application is available to an end user.
- Response time: Time taken by application to respond to a user’s request. System response time is the time between user’s requesting a data and complete reply appearing on the user’s machine.
2. Efficiency Oriented Indicators: Give an idea of how well (or not) the application makes use of available infrastructure.
- Throughput: The rate at which application oriented events occur. For e.g. for a web application, it can be number of hits on a web page during a given amount of time. For a call center application, it can be number of calls per day. It is basically any unit of work. Refers to the number of business transactions processed by the product in a specified time duration. Also expressed as amount of capacity a system or application can handle.
- Utilization: The percentage of the theoretical capacity of a resource that is being used. Examples include how much network bandwidth is being consumed by application traffic and the amount of memory used on a server when a thousand visitors are active.