Using LoadRunner to Test Server Processes

We are currently using LoadRunner to test the performance of our web applications, but we also have some server side processes that we need to test.

History:

We call these processes our "engines". One engine receives messages by polling the IBM WebSpere MQ queue for messages. It takes the message off the queue, processes it, and puts the result on the outgoing queue. We are currently testing this engine with a TCL script that reads a file containing messages, puts messages into an incoming queue, and then checks the outgoing queue for results.

Another engine receives messages through a web service. The web service writes the message to a table in our database. The engine checks the database table for new messages, takes the message and processes it, and returns the result to the database. We are currently testing this engine with a VBScript script that reads a file containing messages, sends a message to a web service, and then continues to request the web service to be ready to create it.

Question:

We would like to do away with TCL and VBScript scripting and standardize LoadRunner so that we have one tool to manage all of our performance tests.

  • I know LoadRunner supports the Web Services Protocol out of the box, but I'm not sure how to use it. Does anyone know of any examples of using LoadRunner to test a web service?
  • Does LoadRunner have a protocol for MQ? Can LoadRunner Vuser be used to load load (put messages) into an MQ queue? Do we need to buy something from HP or another vendor to do this?

Thank:)

0


source to share


4 answers


The LoadRunner downloadable software has an add-in for interacting with MQ series and posting messages directly to the queue. Web services are also fully supported, and VBScript is supported, perhaps using QTPro for script and GUI user in LoadRunner? Colin.



+2


source


For # 1, as an alternative to web services script, you can try writing a Windows Sockets script. I've used LoadRunner to write winsock scripts to test some (Java) APIs. What I did was write a really simple Java API client and then execute it from a Windows batch file. Then the batch file will refer to the executable when writing the LR script to VUGen.

I'm not sure if VUGen can load the VBScript file to write, but you can try. Otherwise, you can try wrapping your VBScript in a batch file that VUGen can run.



When VUGen writes a winsock script, it basically monitors the network communication for the process you are recording with. After you finish recording, it will generate a network data dump in the "data.ws" sheet, which you can view and edit with VUGen. You can parameterize this datasheet for your load tests.

0


source


You can program SOA queries and parse responses in LoadRunner. See Wilsonmar.com/1lrscript.htm.

But keep in mind that TCL and VBScript, designed for functional testing, have a different architecture and scope than LoadRunner scripts. QTP and WinRunner use the app.

LoadRunner scripts focus on wire communication. In the case of mute SOA XML, this architectural distinction is irrelevant.

However, you may find it easier to support VBscript from a GUI, since creating SOA scripts in LoadRunner requires a deeper understanding of message formats than most MQ developers.

0


source


You actually have three ways to push and pop messages from the MQ queue using LoadRunner

(1) MQTester. It is a built-in MQ protocol. Add for use with LoadRunner (2) Winsock. The development of Winsock is best described as tedipously, similar to collecting a flycatcher from ground pepper. It's tedious but ultimately very rewarding. Out of the box, no additional labels are required other than license updates (possibly) (3) JMS using Java virtual user, see http://en.wikipedia.org/wiki/Java_Message_Service... You run a small Java program in the LoadRunner Java template virtual user. You will have to deal with all the Java black magic aspects associated with LoadRunner, but once you nail the combination of release and installation details, you can use virtual same code to publish to almost any JMS provider (not just MQ) with some factory connection settings changed.

You should be able to do JMS with the webservices virtual user, but I haven't tested this configuration. Take a look at the JMS section of runtime settings.

0


source







All Articles