LoadRunner is a tool, or more accurately a collection of tools, which facilitates in
performing load testing on a system. LoadRunner is used to create a load or stress on a system, and can be used to measure the responsiveness of the system to that load. The key concept behind LoadRunner is the use of virtual users, or vusers.
What is “Virtual Users”?
To perform a load test, a system needs many users to access the system concurrently, often one hundred or more. Performing such a test with people is a logistical nightmare. When considering that the test cycle is generally iterative, this problem is compounded.
LoadRunner overcomes this problem through the use of vusers. A vuser performs the actions that a real user would perform, except that a vuser is controlled by LoadRunner, and the actions are performed automatically.
Vusers are created to perform specific transactions in the system. Once created a vuser can be replicated as many times as required, thus producing an effective load as large as is required. With the exception of GUI vusers, virtual users don’t use the client to perform their actions; they take the place of the client. This allows in many vusers to be run on one workstation, as the overhead associated with the client is not required.
This does mean, however, that non-GUI vusers do not test the performance associated with the client side of a system, only the network and server associated performance.
Vusers can be of four main types.
DB Virtual Users
A DB, or database vuser performs operations against a database server. LoadRunner supports all the most popular interfaces to database servers including but not limited to ODBC, SQL, and various Oracle interfaces. It is also possible to create LoadRunner interfaces that allow recording against unsupported databases. Recording a DB vuser is as simple as performing a business process while having launched the LoadRunner Virtual User Generator. This creates a script which is used by LoadRunner to perform the recorded business process.
Once recorded, a vuser script is then parameterised. This process involves replacing the hard coded data values in the script with parameters, which refer to tables external to the script. Values can then be placed in these tables allowing vusers to perform a single business process, but with different data each time.
Web Virtual Users
A web virtual user is one that performs actions against a web based system. A web vuser is essentially identical to a DB vuser, except that where the DB vuser is recorded against a client application that communicates directly with a database of some description, a web vuser is recorded against a web based application.
RTE Virtual Users
Remote Terminal Emulation virtual users are used to emulate users that would be operating on a lightweight, character based terminal.
SAP Virtual Users
SAP R/3 virtual users are created somewhat differently than the others, and require the SAP R/3 LoadRunner add-on. Essentially, a SAP R/3 virtual user is one that performs actions in a SAP R/3 environment.
GUI Virtual Users
Unlike the previous types of vusers, GUI virtual users actually perform actions using the client. This means that fewer GUI vusers can be run per workstation than the other types of vusers due to the overhead of the client, and is in fact limited to one GUI vuser per PC workstation.
GUI vusers are used not so much to generate load on a system, but to test end-to-end performance associated with various business processes. Although LoadRunner can control GUI vusers, it is unable to create them. For this purpose, WinRunner is required.