Wednesday, November 23, 2011

Performance Testing

In previous Blog Post  "JMeter Introduction" we got to know what the tool is about and why it is beneficial.
Now as we know JMeter is a performance testing tool, we should first of all know what exactly is performance testing in brief.

What is Performance Testing?


Performance testing of an application / system is basically the process of understanding how the application and its operating environment behave at various user loads. In general, it is performed by simulating virtual users to determine / validate the scalability, availability, robustness, hardware & software resource utilization of the application thus ideally paving the way for effective capacity planning of the system for future usage.
One of the main objectives of performance testing is to help maintain the system with low latency, high throughput, and low utilization.
Various types of Performance Testing include:
ØLoad Testing
ØStress Testing
ØVolume Testing
ØSpike Testing
ØEndurance Testing 

Need for Performance Testing

Performance Testing sets the ‘best possible’ performance expectation under a given configuration of infrastructure. It also highlights early in the testing process if changes need to be made before application goes into production. Some of the reasons for which Performance Testing has to be mandatorily carried out are:

P Poor Response Time : A critical webpage may take one minute to show up. The expected response time is less than 10 seconds.

P Scalability When 100 users from new branch were introduced into the system, the application was unable to handle the additional load and response times degraded from 5 seconds to 50 seconds.

P Batch Window Issues The batch upload that is supposed to happen in a 1 AM to 7 AM window does not complete till 9:30 AM. This impacts the availability of data for online applications.

P Availability The application server needs to be restarted owing to resource leaks within the application. This causes a downtime of atleast 0.5 hours a day.

P Resource Capacity Planning An application consumes 90% CPU on a server that is supposed to host another application after 3 months. There is no extra capacity to take this additional load.

Costs associated with Performance testing

Performance testing usually has huge costs associated with it. The costs associated with Performance testing can be categorized as
P The Investment made on the Performance testing tool.
P Time consumed in Preparation of test data.
P The Load Testing Infrastructure / environment setup should be as close as possible to the production environments.
P In case of administrative organizations, acquiring the required permissions is a tedious process, since performance tests typically require many administrative rights.
While there are many costs associated with Performance testing, the Investment on the tool is considered to be the most indispensable contributor to the total cost. Most of the commercial tools require separate licenses to be procured based on the user load which contributes to huge Performance testing effort cost itself.

Open Source Solution

PQuest for better alternative The Investment on the tool has lead to search out for better alternative solutions. This quest has ended in the Open Source Performance Testing tools without sacrificing quality.

PWhat is Open Source? ‘Open Source’ is defined as a software code that is available for users to examine and change freely without violating any patents, copyright laws, or licensing agreements. The idea with open source is that when everyone can work together and build upon existing tools, the ultimate result is much better software. It is a way for many companies and individuals to collaborate and improve software that each person could not do alone.

PWhy should one go for open source?

ØNo cost – Absolutely FREE!!
ØEvolving Software (Can be customized to users’ needs).
ØHigh portability.
ØScalable and offers an effective solution for growing business demands.
ØHuge open source forum technical support which stands in par with any other commercial tool support.

Well, this is what is called as performance testing. And you might have got to know even its cost effectiveness and the need in real scenario.
Now when you are getting to start with the JMeter for performance testing, we should first of all know its basic requirements of the system and how to install it on your system.
See next blog...

No comments:

Post a Comment