The world of performance testing
Introduction:
As the word itself says, performance testing is verifying the performance of the application in different environments. But it is not at all verifying the speed of the application. Along with the speed, it determines the stability, scalability, stability & responsiveness of the application in different loads of data.
Why Performance Testing is importance..?
➢ To verify the application is satisfies the requirements based on performances.
➢ To ensure there is no security related bottlenecks due to performance issues.
➢ To ensure that the application can handle peak data.
➢ To ensure that the application is consuming required amount of memory when it is running.
➢ To ensure that the application is not consuming much amount of space when it is not running.
➢ To state the breaking point of the application by increasing the load.
Types of performance testing:
➢ Load Testing – It verifies the performance of the application in a fixed amount of load for certain amount of time to find any bottlenecks present in the application.
➢ Stress Testing – It verifies the performance of the application by increasing the load of the application step by step & thus by finding the breaking point. This will help applications like online news portals, online streaming platforms to ensure the load which those can handle efficiently.
➢ Spike Testing – This verifies the performance of the application in sudden increase of load by the users. This is mainly using by ecommerce application; this will be helpful for them to handle sudden increase of load due to festival season sale etc.
➢ Volume Testing – This verifies the performance of the application with huge amount of data in the databases. This is also known as flood testing. This mainly helps applications to maintain good performance with huge volume of data when users trying to download the same.
➢ Endurance Testing – This is used to verify the performance of the application with fixed load for a long period of time.
Sample performance Testing Tools:
➢ JMeter
➢ Load Runner
➢ Load Ninja
➢ WEBLOAD
➢ LoadUI Pro
➢ Silk Performer
➢ App Loader
➢ Load View
➢ SmartMeter.io
Apache JMeter:
JMeter is owned by Apache Software Foundation, It is used to execute the load testing, stress testing, spike testing, endurance testing & volume testing etc.
The basic working of JMeter is by sending a number of requests or user hitting to a target website and then measuring the response time in different graphical representations or by means of different forms of values and then by summarizing the performance test report.
Advantages of JMeter:
➢ It is absolutely free of cost.
➢ It having a UI and which is very friendly to use.
➢ Record & playback feature is much helpful for non-technical persons to do the performance testing.
➢ The initial tool setup effort is very less.
Basic Components of JMeter:
➢ Thread Group – It determines the number of users hitting on the target server. We can define the value of Thread based on the requirements.
➢ Samplers – It determines the type of request to the target server. E.g.: HTTP, FTP or JDBC.
➢ Listeners – It records the output result as graph or table or tree or log file. Performance report can be analyzed using the listeners.
➢ Timers – It is used to delay the request to the target server. This is used to recreate the real time scenario on the test environment.
➢ Assertions – It verifies the response from the target server is matching the expected result.