Ans: Apache JMeter is open source software, a 100% pure Java desktop application, designed to load test functional behavior and measure performance of web sites. It was originally designed for load testing web applications but has since expanded to other test functions
Ans: Throughput is one of the important performance indicator when evaluating the application performance. It signifies number of transactions or requests that can be made in a given period of time. It is a useful measurement to check the load capacity of the server.
Ans: In simple words, Latency is network delay (time taken by network while transferring data) In JMeter latency is time between, when request is sent to server till first byte of response reaches the client/Jmeter. If response time is very low enough then you wont get precise measure of latency.
Ans: The advantages of using JMeter tool for perofrmance testing are:
Ans: A Thread Group is an element of JMeter test plan that represents a pool of virtual users performing a set of operations.
Ans: Performance testing is a non-functional testing in which application's performance is evaluated under expected or higher load. It is done before the application is deployed on production to ensure that it doesn't crashes and responds within standard/acceptable time at real load.
Ans: Some of the features of JMeter are:
Ans: The different kinds of applications that can be tested using JMeter are:
Ans: Parameterization is process of parameterizing the user input or other test inputs, so as to use different values for different users and loops iterations. Example - an external csv file can be created with multiple login credentials and then passed to the load test script in order to fetch different credentials for each iterations. [For more details, refer to the post- Parameterization in JMeter]
Ans: The different types of performance testing are:
Ans: Activities performed during performance testing:
Ans: Correlation is the most important aspect of scripting in JMeter. It includes fetching dynamic data from preceding requests/calls and passing them to the subsequent requests as parameters. Example - we can extract the values of session variables from the response of the request with login details and then pass those values to the subsequent requests (thus handling the sessions). [For more details, refer to the post- Correlation in JMeter]
Ans: The Rendezvous point in JMeter is used to perform spike testing. It is performed using "Synchronizing Timer" by waiting till the number of active users reach a certain specified value during the load test.
Ans: Assertions in JMeter are used for verification of certain values in the response of Samplers requests. The commonly used assertions are - response assertion, size assertion, XML assertion,beanshell assertion, HTML Assertion, XPath assertion etc.
Ans: A Test plan in JMeter is a logical container that contains all the test elements which drives the performance test. Some of the different elements in a test plan are - Thread Group, Samplers, Timers, Assertions, Listeners etc.
Ans: A Workbench in JMeter is a temporary area of storage for the test elements. It also contains non-test elements like HTTP Proxy Server, which can be configured to record scripts via browser in JMeter. Any element placed in workbench doesn't get saved after with the testplan's jmx script.
Ans: At the beginnning of load test of an application instead of putting all the users live, we slowly ramp up the number of users in order to study their effect in the application's performance. In JMeter ramp-up period defines the time period within which the all the specified users get in running state.
Ans: Samplers are used for sending different types of requests to the server. Some of the commonly used samplers are - HTTP Request, JDBC Request, SOAP-XML Request, JUnit request, TCP Sampler etc.
Ans: Listeners are used for viewing, saving of test results and also help in tabular and graphical analysis of the test results. Some of the widely used Listners are - Aggregate Report, Aggregate Graph, Graph Results, View Results Tree etc.
Ans: Distributed load testing is the process using which multiple systems can be used for simulating load of large number of users. The reason of using more than one system for load testing is the limitation of single system to generate large number of threads (users). In JMeter we can do distributed load testing using the master slave configuration. [For complete steps to perform distributed load testing refer to the post- Distributed load testing in JMeter]
Ans: Timers are used for halting the test execution of a thread for a certain predefined time. These timers are used for simulating the real user think time. The different types of timers available in JMeter are - Constant Timer, Gaussian Random Timer, Uniform Random Timer, Constant Throughput Timer, Synchronizing Timer, Beanshell timer, BSF Timer etc.
Ans: Configuration elements are used for customizing the sampler requests e.g. CSV Data Set Config can be used for parameterizing the sampler requests with values fetched from external csv file.
Ans: Pre-processors are test plan elements that are executed before the sampler request execution. Some commonly used pre-processor in JMeter are BeanShell PreProcessor, HTML Link Parser, HTTP URL Re-writing Modifier, RegEx User Parameters etc.
Ans: Post-processors are the test plan elements that are executed after the sampler request execution. Generally post processors are used for fetching some values from the sampler response.
Ans: To make the best out of the available resources and in general as a practice, following practices should be incorporated in the tests: