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.
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.
Performance testing is required because of the following reasons-
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.