Projects
Projects define how tests are executed.
Creating a Project
Configuring Top-level Properties
The main properties that must be specified include:
Number of Users
- The Number of test users.Ramp time
- The Ramp time.Test length
- The test length.Scripts
- Which scripts to use.Data Read
- Whether to read from data.
Steps to creation
Clicking the Project
tab takes the user to the main screen, which lists all the previously created projects. From this screen, the user can click the New Project
icon or edit an existing project by clicking the name in the list.
- After clicking the
New Project
icon, the user will be presented with a screen where they can name the project. - Select the
Product
this test belongs to and optionally add comments. - After clicking
Save
in the toolbar, the project will be created and you will be taken to theEdit project
screen.
Editing a Project
You can click on the Edit
icon at the far right of the project row or click the name of the Project to edit a project. From the edit screens, you can set the properties of the project as well as run a test.
Configuring Top-level Properties
The main properties that must be specified include:
Name
- The name of the Project. This must be unique.Simulation Time
- This is the length of the test and should be filled in if theSimulation Time Reached
option is chosen under theUsers and Times
tab. IfScripts Loops Completed
is chosen on theUsers and Times
tab , this field can be ignored.Ramp Time
- This is how quickly test users should be added. For example, if the total number of Users is 3000, the Ramp Time is 15 minutes, and the User Increment is 1, then 3.33 users will be added every second.Owner
- The owner of this Project. Owners and Adminstrators have specific rights to Projects within Intuit Tank. See Security for more information.Total Users
- This is aread-only
reference field that will total the users for all the regions configured on theUsers And Times
tab.
Configuring Additional Properties
There are additional properties that be configured for a Project. Expand the section below explore further.
Additional Project Properties
Users and Times
is the tab within a Project where you configure the number of users that will be simulated in your test and how the load will be generated and terminated.
Users
- Enter the number of users for each Amazon EC2 region to simulate. Regions are the Amazon data center locations. Available regions are configured by the administrator.-
Run Scripts Until
- Simulation Time Reached - Run scripts until simulation time has been reached. Will run trough the script once in its entirety regardless of the simulation time ant then continur running the last script group until the simulation time has been reached. Scripts Loops Completed - Run the script once then terminate the user. -
Workload Type
- Increasing - Users will be added for the length of time specified in the Ramp Time field, after which the test will run at steady state with the number of Total Users until Simulation Time or Script Loops are completed. Steady State - Start all the users at once. -
Initial Users
- The number of users to simulate immediately when the test starts. The typical value is 0. User Increment
- The number of users to add at a time during the Ramp Time. The typical value is 1.
The Scripts
tab is where the the flow of the test is configured. Some key terminology to review here would be:
Tests and Test Plans
- Tests are a collection ofTest Plans
. A Test Plan consists of one or moreScript Groups
. Test Plans run a percentage of the users for the test.Script Groups
- Script Groups contain one or more Scripts. Script groups are intended to be self contained flows for a user to execute.They are the demarkation unit for stopping a test as well as for looping after a test has met the simulation time.Scripts
- Scripts are a collection of steps to run. Looping can be configured at either level.
- Click on
Add Test Plan
to add a Test Plan to the project. - Fill in the name and the percentage of users this plan will run. You are responsible for making sure that the percentages add up to 100%.
- Click the
Add
button to save the Test Plan. The new Test Plan will show up as a new tab in theTest Groups
tab view.
- Click on
Insert Script Group
to add a Script Group at the end of the list or theInsert
icon at the far right of any existing Script Group to add one before the one selected. - Fill in the name and number of loops.
- Click the
Add
button to save the Script Group.
- Click on name of Script Group or the
Edit
icon at the far right of any existing Script Group. - Move scripts from the available box to the selected box by using either the buttons or by dragging the scripts form one to the other. (Refer to the
Move Script Groups
figure below) - You can reorder the Selected Scripts by dragging them up or down in the list. Click the
Add Scripts
button to add the scripts to the script group (lower panel on theMove Script Groups
figure). - You may set the number of loops of the individual script by clicking the
loop number
and changing the value. - When you are done, Close the
Edit Script Group
Dialog.
Pro Tip
A user can specify multiple Script Groups and Scripts within each Group. This gives the user a great deal of control over how their test is run.
For example, Script Group 1
might be looped twice and contain Script1
(looped once) and Script2
(looped twice).
Running the test would result in this sequence: Script1, Script2, Script2, Script1, Script2, Script2
Data Files are csv
files that can be accessed by the scripts.
Each of the lines in a csv file will get divided evenly among the agents. So if there are 6000 lines in the csv file and there are two agents running (600 users) each agent will get 3000 lines.
When individual user threads access the csv file, the lines are locked as they get doled out so that lines are only given out once.
Use the Upload Data Files
button to upload Data Files.
Move Data Files from the available to the selected panels using either the buttons or by dragging.
You can view the contents of a Data File by clicking on the magnifying glass
icon.
Email Notifications can be attached to different lifecycle events. An email will be sent when the event happens.
Use the Add Notification
button to add a notification.
Enter the email address(es) seperated by commas.Then select the lifecycle events that this notificaiton should listen for.
A Project can be configured with Global variables
.
Pro Tip
- You can either allow these variables to be overridden by the scripts (or) to be immutable (default).
- You can cause the agent to use a Proxy Server for requests by setting a variable named
TANK_HTTP_PROXY
in the formatproxyHost:proxyport
. e.g.myProxyserver:80
Use the Add Variable
button and fill in the key and the value.
Check the Allow Scripts to Override Project Variables
checkbox to allow scripts to override the variable values.
When you schedule a job, you snapshot it off at that point so that you can then run it exactly as it is set up at the time. A pop up will show the details of the job you are going to run.
Configuring Scheduling Properties
* `Name` - The name of the job.
* `Logging Profile` - How verbose the agent logs should be.
* `Tank HTTP Client` - The client implementation you want to use to drive load.
* `Stop Behavior` - Where you want the script to exit when stop command is issued.
* `Location` - Where the test is running. Configured by the administrator.
* `Agent Instance Type` - The instance type for the agent.
* `Max Users per Agent` - The number of users each agent should run.
* `Assign Elastic IPs` - Whether the agents should use an elastic ip that you have reserved. If no ips are available, then the agent will not get an Elastic IP.
After you schedule a job you will automatically be taken to the Job Queue
tab.
Note
It is important that you examine the details of the job, to make sure that everything is as you want it.
The Job Queue show all the jobs tht have been scheduled (or) have run. It allows you to control the execution of the test and monitor the current state of the test.