Performance Testing is performed to evaluate application performance under some load and stress condition. It is generally measured in terms of response time for the user activity. It is designed to test the whole performance of the system at high load and stress condition. Types of Performance Testing:
– Load: analogous to volume testing and determine how application deal with large task.
– Stress: examine application behavior under peak bursts of activity.
– Capacity: measure overall capacity and determine at what time response time become unacceptable.
What are tools of performance testing?
Following are some popular commercial testing tools are:
– LoadRunner(HP): this for web and other application. It provides a variety of application environments, platforms and database. Number of server monitors to evaluate the performance measurement of each component and tracking of bottlenecks.
– QAload(Compuware): used for load testing of web, database and char-based system.
– WebLoad(RadView): it allows comparing of running test vs. test metrics.
– Rational Performance Tester (IBM): used to identify presence and cause of system performance bottlenecks.
– Silk Performer (Borland): allow prediction of behavior of e-business environment before it is deployed, regardless of size and complexity.
What are the components of Load Runner?
Load Runner contains the following components:
– Virtual User Generator: captures end-user business process and creates an automated performance testing scripts, known as Vuser script.
– Controller: organizes drives, manages and monitor the load test.
– Load generators: creates the load by running Vusers.
– Analysis: helps to view, dissect and compare the performance results.
– Launcher: provides a single point of access for all of the LoadRunner components.
How to Configuring Load Runner Monitors?
Configuring Load Runner Monitors
1. Go to run tab of controller window.
2. Select the corresponding monitor.
3. Drag and drop the monitor into any graphs.
4. Right click on graph and select add measurements.
5. Click on ADD and enter the machine name of the Web/App/DBserver
6. Click on ADD and select the required performance counter to be measured during the scenario.
7. Click on OK.
What is Vusers?
– Vuser: In LoadRunner virtual user are used to perform the task which is executed by the human on the application. Vuser perform the action of human working with application. When workstations allow only one single human user to work, Many Vusers can concurrently work on a single workstation.
– Vuser Scripts: It is the script which contain s all the details of the work performed by the Vuser to complete the specific task. Each Vuser executes a Vuser script when we run a scenario. Vuser script contains the function that measure and record the performance of the application or application components.
Explain LoadRunner Testing process.
We can easily create and run load test scenario by following below process:
– Planning test: a thorough test plan is required for successful load testing.
– Creating Vuser Script: script contain task performed by each Vuser or multiple Vuser.
– Creating the Scenario: Scenario describes event that occur during a testing session. It includes list of machine on which Vuser run, list of script that Vuser run and no of Vuser.
– Running the Scenario: emulate load on server by instructing multiple Vusers to perform task.
– Monitoring Scenario: By executing LR online run-time, transaction resources, database resources and firewall resources can be monitors.
– Analyzing results: Graphs and reports are used to analyze the performance of application.
Why VUGen is used in LR?
The Virtual User Generator (VUGen) enables to develop Vuser scripts for a variety of application types and communication protocols. It is used to record and run the scripts. Running scripts form VUGen is useful when debugging. It tells how Vuser scripts will run when executed as a part of scenario. While recording a Vuser scripts it generates functions those action which is performed during the recording session. VUGen inserts these generated functions into VUGen editor to create a basic Vuser Script.
What is Correlation and why we need correlating statements?
Correlation is used to obtain data which is required for each run of the script and which are generated by nested queries. Correlation provides the value to avoid errors arising out of duplicate values and also optimizing the code. The Reason for Correlating the statements are:
– To simplify or optimize the code.
– To generate dynamic data.
– To accommodate unique data records. Correlation can be done automatically or manually.
– Automatically: VUGen dynamically detects dynamic values during recording and allow correlating.
– Manually: correlate a script by adding the code correlation function.
What is the need of Checkpoints in LR?
When running a test, sometime we need to verify if certain content is found on the returned page. A content check verifies that expected information appears on Web page while the script is running. Two types of content check:
– Text Check: checks that a text string appears on a web page.
– Image Checks: checks for an image on a web page.
What is Parameterizion?
It is the process of testing the application with the help of different data. It is used when application values are changing in the application.
– In data Parameterization we take the help of variable take the different data value form the data pool. It also reduces the size of the scripts.
– It helps in emulation real scenario as it avoids caching effect, if we send same data again and again while running same scripts in iteration, then the data could be used from cache or from the temporary table from the database.
What is Load Generator and how to test the load generator connection?
Load Generator: is used to increase the load on the application by running more Vusers. Numbers of load generators can be used, each hosting many Vusers. Test the Load Generator connection:
When we run a scenario, the controller connects to the load generators automatically. We can test the connection before running the scenario.
SELECT LOCALHOST and click CONNECT
The controller attempts to connect to the load generators machines.
What is the difference between correlation and parameterization?
Differences between correlation and parameterization are below:
– In correlation, dynamically generated values or data are used throughout the script where as in parameterization, user defined or user provided values are used.
– The values in correlation is given by the server automatically where as in parameterization, values is given by database manually.
– In correlation, Tester doesn’t know these values but in parameterization tester know these values.
– Sometime correlation is mandatory but parameterization is optional.
How do you identify the performance bottlenecks?
Performance Bottlenecks can be identified by monitoring the performance of the application. Load Runner provides different types of monitors these are run-time monitor, transaction monitor, web resource monitor, network delay monitor, firewall monitor, database server monitor, streaming media monitor, ERP server resources monitor and Java performance monitor. This will enable us to locate the troubled area in application which can be the reason of the greater response time. The measurements made are usually performance response time, throughput, hits/sec, network delay graphs, etc.
How can we edit the Vuser Script?
After recording the script, which contains the interaction between the client, server and human can be edited by any of the following process:
1. Parameterization
2. Correlation
3. Transactions (Start/End)
4. Validations
5. Rendezvous point
6. Variable Declarations
What are reports provided by the analysis window?
After running a scenario, we can view reports that summarize system’s performance. The analysis provides following reports:
– SUMMARY REPORT: provides general information about the scenario run. We can view the summary report at any time form the analysis window.
– HTML REPORTS: the analysis creates an HTML report for each one of the open graph.
– TRANSACTION REPORTS: provides performance information about the transaction defined within the Vuser scripts. These reports give a statistical breakdown of results and allow printing and exporting the data.
What is ramp up and ramp down?
– RAMP: creating and initializing Virtual Users (VUser) on the basis on design. It is not necessary to do Ramp. By default we can create 10 Vuser from a single computer.
– Ramp Up: is a process when we first create the Vuser and then initialize it.
– Ramp Down: Disposing the Vuser, created in Ramp UP. If we don’t perform the Ramp up then the chance of Junk memory increases.
How can we recording VUser Scripts using VUGen?
VuGen is used to generate the VUser Script by recording. We can record the user’s action which user performed on the application to complete the specific task. This generated VUser Script can be send to server by calling the server API. When a user communicates directly with the server, system resources are not used on a user interface. This lets you run large number of Vusers on a single workstation.
1. Open virtual user generator.
2. Select the protocol for recording.
3. Click on start recording.
4. Enter URL of the application for recording.
5. Record all steps for the scenario.
What is the advantage of running the Vuser as thread?
The advantages of running a VUser are following:
– Vusers support multithread environments.
– Using this multithread environment we can run more Vusers per load generator.
– If the Vuser is run as a thread, only one instance of the driver program is needed to loaded into memory for the given number of Vusers.
– Sharing of memory take place between each thread, helping in running of more Vusers per generator.
Explain Error handling in LoadRunner.
We can specify how a Vuser handles errors during script execution. By default, when a Vuser detects an error, it exits. A run-time setting is used to instruct a Vuser to complete the execution of the test script when an error occurs while executing the script.
– To do this, select the Continue on Error check box in the Miscellaneous run-time settings.
– Instruct VuGen to complete all execution in where an lr_error_message function was invoked, as Failed.
– The lr_error_message function is invoked by a programmed “If statement”, when a certain condition is met.
How to schedule a scenario?
Scheduling a Scenario:
– Ramp up: Specifies the entry criteria for the users into the server. Load All users Simultaneously will load all the users at a time after the scenario is started.
– Duration:
i. Run until Completion: Will run the scripts once
ii. Run for Time after ramp up has been completed: Scripts will be run for specified duration after all the users were ramped up
iii. Run Indefinitely: Scripts will be running indefinitely till we stop the scenario. This option will be used for conducting the Volume testing of an application.
– Ramp Down: Specifies the exit criteria for the users from the server