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