Prior to starting the course of JMeter, I want to start the course with a few basic definitions that are relevant to any person that want to take part in the world of performance testing. I will explain each category with a very short description and add further information during the course.
What is Performance testing?
Performance testing is a is a non-functional testing technique that we execute when we need to validate how the tested software performs in terms of stability, reliability, responsiveness and scalability under a predefined system workload.
What are the benefits of Performance test types?
- Comparing the performance attributes against other applications/Old version of the same application.
- Understand the kind of errors that may affect the system functionality and user experience.
- Understand the connection between slow performances based on the related defects.
- Reveal the bottlenecks of the application that will not cover in the functional tests.
- Understand how different hardware will affect the application performance.
- Understand the tuning that you need to create a better load balancing.
- Understand if the software behaves according to the client demands.
- Reveal functionality errors that occurred during load/stress tests.
- Get the answer to the basic question of "how many users can use the software at the same time prior to compromise the application performance?"
- Collect great data about the software scalability and stability.
- Understand of how the system behaves on different loads.
- Understand how the system can handle different loads.
- Reveal defects that come from concurrency scenarios.
- Understand the system boundaries.
- Determine the application performance against the market demands, which lead to continues improvement.
- Provide a great view on the amount of data that the system can process when exceeding the upper limitations.