Simple Load Testing

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));
}