, , ,

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

  1. Service-Oriented Indicators : determine how well (or not) an application is providing service to the end user.
    1. Availability: The amount of time an application is available to an end user.
    2. 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.

    1. 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.
    2. 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.