Performance testing concepts

Majority of web applications have large user base and they continously thrive to increase their user count. These applications provide simultaneous access to large number of users to perform different operations. In such cases, it is required to measure the performance of the application, to see how well the application behaves in high concurrent load situation.
Most of the ecommerce, online gaming and social networking websites have more or less similar functionality but one get ahead of other on the basis of its different performance parameters. So, performance is a vital aspect of an application and to foresee, how well the application will behave in large concurrent load is the responsibility of Performance Tester.

What is Performance Testing?

Performance testing is a type of non-functional testing in which the performance of the application is evaluated under expected or higher load. During performance testing, we evaluate different performance attributes of the system like - response time(speed), reliability, resource usage, scalabilty etc.

Why do we need Performance Testing?

Performance testing is required because of the following reasons-

  • Provides a measure of the speed of the system-
    These tests helps in benchmarking the parameters like response time which are the measure of application's speed, which we all know is super critical to the success of an application.

  • Helps in evaluating scalability of the application-
    Performance tests helps in checking if the application is capable of scaling up a higher number of users.

  • Helps in checking robustness of the application-
    With stress testing we can check the robustness of the application at workload higher then expected or above the application's threshold.

  • Helps in checking the reliability of the application-
    Difference types of performance tests are conducted to check if application is reliable and provides correct and consistent output. Performance tests like - load test and endurance test help in evlauating the system correctness under expected workload for predefined time(load test) or for large durations(endurance testing).

Performance testing and Load Testing - Are they same?

Load testing is actually a subset of performance testing that focuses on analyzing the behavior of web application under a particular load, for a predefined amount time. Whereas, performance testing is a broader term that includes checking different aspects of system like application's state at workload higher than expected(stress testing); performance of application with large volume of data(volume testing); ability of system to sustain normal workload for a large duration of time(endurance) etc.