Pages

Thursday, 1 September 2016

Performance Testing Basic

To understand the basic concept of performance testing in a simple way, let's consider an example. I bought a goods carrier truck. On the very first day, when I drove it from the showroom to my garage, it was empty and running very smooth. Also, it gave a good mileage. The next day I got one order to ship 10k pounds material. I shipped it, but I found that this time my truck consumed more diesel means truck mileage was reduced. Next day, I shipped 30k pounds load from a city to a village which had a dirt road. This time truck ran very slow, mileage decreased drastically. All these three scenarios simulate a Performance Testing. 

When an application is new with no or very few users' load then it works smoothly. Day-by-day when user load increases then the performance of the application decreases. Now, you may ask in what term we can say the performance of an application is decreased? So, I will explain you in a sad path. 

An application's performance could be poor when
1. It is slow to respond.
2. It is stuck while browsing.
3. Suddenly, a 500 internal server error occurred.
4. If it shows due to high user load, server is down.
5. Request Timeout and many more in the list.
Above issues are good enough to understand in a laymen term. If you are a performance tester then these terms will become more technical and in performance testing language we can say, an application's performance could be poor when
1. The actual response time is more than the expected response time
2. The application is able to handle the load up to only X users beyond that server is crashed
3. The network latency is high which causes a delay in response
4. A particular page is failing when X number of users hit the page simultaneously.
5. Throughput is inconsistent on same user load.
To measure the above-mentioned metrics, mercury launched a tool in 1993. That tool supports Windows platform and able to generate (virtual) user load on the server. Later on, this tool was called "LoadRunner". Year-by-year, new features and technology supports (protocol) were added in LoadRunner which become the first choice of Performance Tester. 

The basic concept of Performance Testing Tool: A performance testing tool simulates a real user behaviour like browsing the web-page, login, submit an order etc. and then generate a desired user load on the server. The tool sends a request in the same manner as a real-world user sends and then receives a response from the server. The tool calculates the time to get a response from the server. 
Now-a-day, there is an ample number of performance testing tools which solve various purpose in performance testing. Some of them are open source (free) whereas some of them are licensed. If you want to know more about the existing performance testing tool then refer the link given in the related topic section. 

This is the basic concept of performance testing and performance testing tool.  

Related Topics:


9 comments:

  1. http://www.machtested.com/2015/12/types-of-performance-tests-david-tzemach.html?m=1

    ReplyDelete
  2. You can see more information here:
    http://www.machtested.com/2015/12/what-is-david-tzemach.html?m=1

    ReplyDelete
  3. Thank Gagandeep Malviya for providing such type of information

    ReplyDelete
  4. Its better to include baseline and benchmark testing as well that would help people know who started their career in performance testing.

    ReplyDelete
    Replies
    1. Thanks for suggestion.
      That topic will be covered in Performance Testing Approach.

      Delete
  5. Its really awesome blog
    Thanks for sharing @Gagandeep

    ReplyDelete