Load Testing

Distributed Load Testing

This tutorial provides a brief introduction how to distribute load on multiple machines using AppPerfect Load Test using a set of hands-on practice exercises. This tutorial assumes you have successfully downloaded and installed AppPerfect Load Test on multiple machines with the default options. For this tutorial we will assume that you have installed product on three machines, Machine A, Machine B and Machine C. Apart from this pre-requisite, this tutorial is self contained. Instructions given below are Windows-specific; if you are using a non-Windows machine, please use equivalent commands/instructions.

This document is divided into following sections

  1. Creating Project
  2. AppPerfect Load Test

Within each section, multiple exercises are listed. Each exercise forms a logical unit which is expected to take no more than a few minutes to perform. All exercises use the PetStore demo application running inside Apache Tomcat. The modified PetStore application and Tomcat are both bundled with this product.

All exercises assume you have installed the product in C:\AppPerfect\LoadTest folder and will be referred as LoadTest_HOME henceforth in tutorial. If you have installed the product in some other folder, modify the instructions below appropriately.

This tutorial is not intended as a comprehensive training guide. Please refer to the product documentation for detailed information. However, this tutorial will give you a very good overview of the products and substantially improve your productivity with the product.

Creating Project

Exercise 1: Launch AppPerfect Load Test
  1. Click on Start -> Programs ->AppPerfect Load Test x.x.x -> AppPerfect Load Test
  2. On launching AppPerfect Load Test a Welcome page will be displayed. Go through the brief description given for product.
    NB: Welcome page is displayed only when Load Test x.x.x is launched and last time no project was opened.
Exercise 2: Creating a Project
  1. Launch the Project Wizard by clicking File ->New... menu option. The New Project wizard will be launched.
  2. Keep the default project name and location for the purpose of this exercise. Click on the OK button.
  3. A confirmation message saying that the project is saved will be displayed. Click on the OK button.

Now using this project we will create tests to demonstrate the functionalities of AppPerfect Load Test product.

AppPerfect Load Test

NB: Please follow the steps provided in the "Creating Project" section to first create a project, then proceed further.

Exercise 1: Define a Load Test project
  1. Once the project is successfully created another dialog - Define Project Properties dialog - will be displayed.
  2. Keep the default settings as shown in this dialog i.e., Test Duration:1min, Load Type:Burst, Virtual Users:10.
  3. Go through the description given for Burst load type at the bottom.
  4. Select the Distributed Testing tab and select the check box saying "Run project simultaneously on multiple machines".
  5. Lets assume you are configuring this project on machine A, so add Machine B and Machine C to list here. Click on button "Add host information" and add Machine B & Machine C. Please note that Load Test service "APPLoadTest" should be running on remote machines to allow Machine A to connect to those machines. By default APPLoadTest service runs on port 8874. Please specify number of virtual users you want to run from Machine B and Machine C. You can edit/delete any machine in future by visiting project properties dialog, also its possible to ignore some machine during test execution.
  6. Review other settings in the Panel and click on the Finish button to close this dialog.
  7. Click through all the menu items to familiarize yourself with the available features and how to access them. Viewing through all menu items will give a reasonable overview of the application.
  8. Click Help -> Table of Contents menu item to see AppPerfect Load Test product documentation
  9. Open the Preferences dialog by selecting the menu option Tools -> Options...
  10. Review the default settings for Load Test and click the OK button to close the dialog.
Exercise 2: Recording a Test
  1. Start tomcat server by selecting Start->Programs->AppPerfect Load Test x.x.x->Documentation and Examples->Examples->Tomcat running Petstore->Start Server.
  2. To start recording, click on Project -> Record test... in the menu bar.'
  3. 'Record a test' dialog will be displayed. Select ActionGroup1 from the Group combo. Provide starting URL as "http://<IP Address / HostName>:8396/petstore". Please note that it is very important to provide proper IP address or hostname in the URL as this test is going to run from multiple machines it should be able to resolve the URL from all machines. Do not provide IP as 127.0.0.1 or host as localhost in the URL. In the authentication select "No Authentication". Click on 'Start recording' button to start recording test.
  4. An instance of configured browser will be launched with the PetStore home page loaded. Click on enter the store link. This will populate the database and display the PetStore main page. Note that populating the database might take some time.
  5. Click on each link on the left: Birds, Reptiles, Dogs, Cats, Fish
  6. Order an item by clicking on: Birds -> Amazon Parrot -> Adult Male Amazon Parrot -> Add to cart
  7. Modify the quantity and click on Update Cart button.
  8. Check out by clicking on the Check Out link.
  9. At the 'Sign in' page, default values are already provided. Click on Submit.
  10. Sign out of PetStore by clicking on Sign-out at top right of screen.
  11. Close browser by clicking on File -> Close in the browser window.
  12. Click on the Stop button of "Record a test" dialog to stop the recording session.
  13. Click on Close button to close the 'Record a test' dialog.
  14. The URLs navigated will be displayed under ActionGroup1.
  15. Click through each Tasks to view its details on the panel on the right.
Exercise 3: Executing a test
  1. To execute the test, click on Project -> Run from the menubar.
  2. Application will show a remote configuration dialog showing the status of project getting transferred and configured on all machines. Once project is properly configured on all machines, the focus will be shifted to Status tab.
  3. Here the current status of the test execution will be displayed. You can see status of all machines here. Various test metrics such as response time, virtual user count, etc. are continuously refreshed in the charts.
  4. The test will run for 1 minute as specified when project was created.
  5. Stop running tomcat server by selecting Start->Programs->AppPerfect Load Test x.x.x->Documentation and Examples->Examples->Tomcat running Petstore->Stop Server.
Exercise 4: View and analyze result
  1. Once the test is completed, the test results will be displayed in the "Results" tab and result summary data is displayed in the main window on the right. Results for all machines will be shown under Machines node.
  2. Since no error was detected during our test execution, the result of our test execution was "Successful". Additional details about hit count, etc. is also displayed.
  3. View various result summaries by clicking on the items in the tree on the left in the Results tab