Created with developers in mind, this Load/Stress testing tool can be used during the development cycle. Simple test case creation in any .NET language allows developers to leverage the programming skills they already have.
* This product is still in the development stages so the information may change over time.
Sample User Script |
using System;
using SimpleLoadTesting;
namespace SampleVUClasses
{
public class SimpleUser:VirtualUser
{
public SimpleUser()
{
}
public override void VirtualUserCode()
{
Timers.Add("Transaction");
Timers.Add("Timer #1");
while(BeginTransaction() == true)
{
Timers["Transaction"].Start();
Timers["Timer #1"].Start();
System.Threading.Thread.Sleep(1);
Timers["Timer #1"].Stop();
Timers["Transaction"].Stop();
}
}
}
}
|
Sample VUManager |
//Create and init the VUManager.
SimpleLoadTesting.VUManager vuMan = new SimpleLoadTesting.VUManager("SampleVU.dll", "SampleUser");
vuMan.Init();
//Start 100 users running for an unlimited number of transactions.
for(int x=1; x<=100; x++)
{
vuMan.StartUser(0);
}
//Wait for all the users to actually start running.
while(vuMan.TotalRunningUsers < 100)
System.Threading.Thread.Sleep(100);
//Tell all the users to stop running.
for(int x=1; x<=100; x++)
{
vuMan.StopUser(x);
}
//Wait for all the users to actually stop running.
while(vuMan.TotalRunningUsers > 0)
System.Threading.Thread.Sleep(100);
//Display user information.
Console.WriteLine("Total Users Ran: {0}", vuMan.TotalUsers);
for(int x=1; x<= vuMan.TotalUsers; x++)
{
Console.WriteLine("User [{0}] performed {1} transactions", x, vuMan.GetUser(x).CurrentTransaction);
}
//Display Timer information.
Console.WriteLine("Total Timers: {0}", vuMan.GetTimerCount());
for(int x=0; x< vuMan.GetTimerCount(); x++)
{
Console.WriteLine("Timer [{0}] had average time of {1}", vuMan.GetTimerName(x), vuMan.GetTimerAverage(x));
}
|