Performance testing plays an important role in software engineering. The objective of performance testing is to understand the capability/capabilities of software, provide a baseline and do capacity planning.

Performance testing is used to determine the how fast the system responds under a particular workload. It also helps in understanding the scalability and reliability of the system. Performance testing of web services is to determine how the web service responds with increasing number of clients accessing it. It helps in gathering information such as throughput, CPU usage, memory usage, response time etc when web service accessed by number of concurrent users on a given hardware architecture.

Installation of funkload:

  • Download and Install python 2.7.x
  • Download funkload
  • Cd to funkload directory and execute the command “python setup.py install”. This will install all dependencies.
  • Download tcpwatch-1.3.1.tar.gz
  • Extract to a directory
  • Set the path set TCPWatch=<TCPWatch directory>\tcpwatch-1.3.1\tcpwatch.py

Recording testscripts,

  • cd to “..\FunkLoad\funkload-1.16.1\scripts” directory
  • Execute the command “python fl-record localWSDL” where localWSDL is the script name. The funkload proxy starts and displays the proxy settings

 

Configure the proxy setting

The best tool for testing web services is SOAP UI. To record the web service invocation scripts configure the proxy settings in soap ui accordingly.

  • Create a new project in SoapUI. Enter the project name and WSDL URL

  • Click on Show Request editor

  •  Configure proxy

  • Provide the required input details and invoke the service. The service response is displayed.

  • The request is recorded. Use ctrl+c to stop the recording. Two files are generated test_Localwsdl.py and Localwsdl.conf. Localwsdl.conf has configuration details for configuring the load parameters, duration, etc.

 

  • Configure Localwsdl.conf file with number of cycles and number of concurrent users, duration of each cycle and other required parameters.
  • To run the load test execute the command “python C:\FunkLoad\funkload-1.16.1\scripts\fl-run-bench test_Localwsdl.py Localwsdl.test_localWSDL” (python fl-run-bench filename class.MethodName).
  • After execution of load tests, the results are generated in localWSDL-bench.xml file.
  • Execute the command “python C:\FunkLoad\funkload-1.16.1\scripts\fl-build-report localWSDL-bench.xml” (Precondition: To generate charts in the report install gnuplot http://www.gnuplot.info/).
  • Please check the sample report https://dl.dropbox.com/u/1270793/localWSDL-Results/index.html