Apache JMeter By Lamiya Qasim
Apache JMeter Tool for load test functional behavior and measure performance. Questions: Does JMeter offers support for each step of load test process? Can we create our own elements? How we could enhance JMeter?
Load test Process System Analysis Creating Virtual User Scripts Defining User Behavior Creating a Load Test Scenario Running Load Test Scenario Analyzing Results
System Analysis Enable customers to convert their goals and requirements into a successful test script. you can: -Create your own test Script consistently - Careful UI design allows you to create your own test Easily
Creating Virtual User Scripts -Tester must emulates the real user by driving the real application as a client. -JMeter support this by adding thread group element, this tell JMeter: - the number of users you want to simulate, - how often the users send requests -how many requests they send. -What request (FTP Request, HTTP Request, and JDBC request). -validate that your application is returning the results you expect.
Defining User Behavior JMeter allows you to simulate human actions more closely - By controlling how long JMeter engine delays between each sample - So, you can define the way that the script runs
Creating a Load Test Scenario JMeter offers support for this step by: Assign scripts to individual virtual user Tester can define any number of virtual users needed to run the tests Allows user to simulate concurrent connections to server application.By enables user to create multiple threads ( virtual user) executing different test plan. Increasing the number of virtual users in a controlled fashion. Increasing the number of virtual users in a controlled fashion.
Running Load Test Scenario With JMeter you can run your tests in a very easy way
Analyzing Results JMeter offers support for this step by: displaying the data visually (Graph Results). save data in file. allows user to see one multiple views of the data displays the response from the server. shows the URL of each sample taken. listeners will show different sets of data. it can send based on test results.
Analyzing Results Showing detailed performance results that can be easily understood and analyzed to quickly pinpoint the root cause of problems.
Extending JMeter Creating your own Timer. Creating your own SampleListener (such as visualizer or reporter). Creating your own Config Element. Creating your own logic SamplerController. Creating your own test sample SamplerController. Making your custom elements play nice as a JMeter UI component. Making your custom elements saveable and loadable from within JMeter.
Create your own Timer Element By default, a JMeter thread sends requests without pausing between each request. JMeter could overwhelm the server by making too many requests in a very short amount of time. Timer will cause JMeter to delay a certain amount of time between each request that a thread makes.
Create your own Timer Element Timers provide a framework for delaying in between samples. And contain these methods: - delay() wait for a Timer specific amount of time JMeter calls this function prior to every sample. The Timer should wait for a period of time and then return. -set() prepare for sampling JMeter calls this function prior to the begining of a test session. The timer should initialize itself, read any values from its UI and prepare for operation.
How we could Enhance JMeter? -Allows user to modify a Load Test Scenario while JMeter runs. for Example, add new test sample, new threads,etc. -Start and stop thread groups individually. -Add new Functions in the GUI like Cut, Copy, Paste and Insert for manipulating test elements. -Includes all documentation for all the elements in it’s application, rather than searching the web site.
How we could Enhance JMeter? cont -generate report act as accuracy report to verify the actual values in the database. -allow users to move different test elements around the test configuration tree easily. -adding indicator to indicate, if the user could run the a test or not for some reason. - Maintaining the test by build reusable tests to use throughout the application’s lifecycle.
Conclusion JMeter offers support for each segment of the load test process. You can create your own different elements. But still JMeter needs some kind of enhancements.
Where To Find JMeter