Your e-Business Quality Partner eValid™ -- Automated Web Quality Solution
Browser-Based, Client-Side, Functional Testing & Validation,
Load & Performance Tuning, Page Timing, Website Analysis,
and Rich Internet Application Monitoring.

eValid -- LoadTest Cookbook
eValid Home

Summary
This page is a step by step cookbook for setting up a standard evalid LoadTest with a variety of effects.

Context
To make our description general the context will be focused on a single eValid script that has been parameterized to accept data from these sources:

  1. An eV.Generate run that expands the *.evl file in a pre-processing step.
  2. Parameter substitutions from the LoadTest file (the *.evl file).
  3. Data Synthesis values (multiple lines implying multiple playbacks, from the Data Synthesis file).
  4. The Environment Variables file that is defined in the *.evs.

In short, this script is going to be taking data from every possible input that eValid provides as a source for the actual script that a LoadTest can run. If you are not going to use one of these features, then you can skip that step.

Key References

Step-By-Step Outline

  1. Singleton Test Preparation: Basis Test [basis.evs]
    1. Create the basis.evs file [use recording, possibly with manual help].
    2. Confirm the script is load-test safe.
    3. Confirm the test is self-synchronizing [if necessary] so that it won't de-sync under heavy load, using these steps:
      1. Run with DelayMultiplier = 0.
      2. Observe any de-syncs.
      3. Repair the de-syncs with appropriate commands.
      4. Repeat until you have no de-syncs with the DelayMultiplier = 0.
    4. Add Lock/Unlock commands if necessary due to desktop mode operation of the script.

  2. Parameterize the Script
    1. Parameterize playback script with $NAME references in place of actual script elements to which you want to assign a value at playback time..
    2. Parameterize playback script with {% name} descriptions for the actual script elements if you want to do eV.Generate-type expansions.
    3. Validate that the parameters are in the script and work correctly. You can do this by:
      • Launch eValid from a command line prompt and put the value assignments in at that level.
      • From another script, compose a CallScript command that supplies the needed values
      • Set up an EnvironmentVariables file which contains test values for all of the variables, name the file in the script, and run it from the eValid browser.
      • Set up a simple eV.Generate type run to confirm that correct parameters are passed to the playback version of the generated script. This will require you to set up temporary template files and input data files.
    4. Note: The eV.Generate run probably needs to be done LAST if you are using both types of script expansion.

  3. LoadTest scenario Development
    1. Scenario Editor to create *.evl file
    2. Manual Editor to modify *.evl
    3. *.evl parameter passing

  4. DataSynthesis Information Passing
    1. Name the DataSynthesis file.
    2. Put the sequence of $NAME=value [ $NAME=value]... input values in the file.
    3. One line per playback iteration: Data substitutions are done for each new playback commanded by each separate line in the file.
    4. Playback count for launches of eValid will be the same as the line count on the file.

  5. Environment Variable Passing
    1. Name the Environment Variable file.
    2. Put in the $NAME=value definitions that you want to apply throughout the run.
    3. Assign a value to one parameter per line.
    4. There is no limit on the number of lines you can have.

  6. Scenario Checkout
    1. Try a singleton from *.evl.
    2. Try 10 wide from *.evl.

  7. Machine Setup
    1. Perform the machine setup steps to make sure your machine can handle a large number of eValid instances without going into swapping mode.

  8. Production Runs
    1. Set up connection to server performance monitoring data.
    2. Try production scenario *.evl.
    3. Collect real-time data as driver computer(s) load down the server computer(s).