This is testing of any application let it be web , desktop or mobile to know certain aspects/ parameters of that application under given load conditions. It gives us statistics and data to conclude about the behavior of application under that load.
Let us take an example, i want to login GMail, as an end user i want that to happen within 2 seconds. Now, how GMail will behave if 1000 users comes to login the page simultaneously. The application may give some error, or may be it will be capable to handling all 1000 users at a time. So, to assure such behaviors and collect statistics, we do Performance testing.
Now, there are major two tools in the market used for Performance Testing.
a. LoadRunner- Free for 50 Virtual Users need to pay above that.
b. JMeter- Completely Open Source Tool
You can use any of them to start with. Typically, AS A performance tester your responsibility is to script the scenarios, setup test according to the workload given, run the test and share the results with all the stakeholders including performance engineer.
This is the process of analyzing performance test results given by performance tester. In this step we try to find out the reason why the exceptions did not match during performance testing. This process also called “Route Cause Analysis(RCA) “.
In the above example , If the average response time of GMail application becomes 10 seconds then its performance engineering process we try to find out why the response time became 10 seconds ? Why the application is not behaving as expected ?
So, a performance engineer is capable of not only identifying a performance issue, but also digging in to help identify the root cause. And potentially prototyping a solution.
Hope this was useful.