Hi Chan,
The data you need to view depends on your purposes only, so you need to choose the needed columns yourself. The description of each available column is provided in the "Load Testing Analysis Page" ( http://www.automatedqa.com/support/viewarticle.aspx?aid=2829 ) and "Load Testing Log Page" ( http://www.automatedqa.com/support/viewarticle.aspx?aid=2633 ) help topics. The recommended approach (which includes creating some graphs, by the way) was provided in the newsgroup thread that I have already mentioned before:
http://www.automatedqa.com/forums/d.cgi?cmd=xover&group=automatedqa.public.testcomplete&related=33265&utag=
Here is a quote from that thread:
As far as I understand, the "extreme load test" you performed is a
stress test and the goal of the test is to check whether the tested
application will fail if many users use it simultaneously. The other
test you need to perform is a load test, and this one tests your
appliaction's performance depending on the number of virtual users (see
the "About Performance, Load, Stress and Scalability Testing of Web
Servers" help topic for more information on different testing types). If
you need to perform a load test, I recommend that you use the following
approach:
1. Create a load test.
2. Set an initial number of virtual users.
3. Launch your test.
4. In the test log, use the Summary bar of the Connections panel to
evaluate sum value for the "Request Execution Summary" column. To do
this, right-click somewhere within the panel and select the "Show
Summary" context menu option, then right-click the bar under the
corresponding column and select the "Sum" context menu item.
5. Repeat step 4 for the "Request Count" column.
6. Divide the first value by the second value. This will give you the
average time needed for your web application to process a request. The
value depends on your server's load and may vary for different virtual
users, however if all users are started simultaneously, the difference
should not be significant.
7. Increase the number of virtual users.
8. Repeat steps 3 - 6 for the new number of virtual users. The results
you get during your tests will allow you to plot a chart indicating how
your web server's performance depends on the number of users who work
with the web application.
|
it is appreciated if you can share anyway to parse load test result
|
You can export the load testing log in the XML format, parse the generated XML files and store the results in an Excel workbook. Here is a sample script that parses XML files:
function Test()
{
var LogFolder = "C:\\Log";
Export(LogFolder);
}
function Export(XMLLogFolder)
{
xcl = Sys.OleObject("Excel.Application");
var xmlDoc = Sys.OleObject("Msxml2.DOMDocument");
Workbook = xcl.Workbooks.Add();
Worksheet = Workbook.Sheets.Add();
xmlDoc.load(XMLLogFolder + "\\DefaultLog.xml")
ExportDefaultLog(Worksheet, xmlDoc);
Worksheet = Workbook.Sheets.Add();
xmlDoc.load(XMLLogFolder + "\\Users.xml")
ExportUsers(Worksheet, xmlDoc);
xcl.Quit();
}
function ExportDefaultLog(Worksheet, XMLDoc)
{
Worksheet.Name = "Default Log";
Worksheet.Cells(1, 1) = "Type";
Worksheet.Cells(1, 2) = "Message";
Worksheet.Cells(1, 3) = "Time";
Worksheet.Cells(1, 4) = "Priority";
Worksheet.Cells(1, 5) = "Link";
Worksheet.Cells(1, 6) = "Type Description";
Worksheet.Cells(1, 7) = "Remarks";
DefaultLogItems = XMLDoc.selectNodes("/DefaultLog/DefaultLogItem");
for (var i = 0; i < DefaultLogItems.length; i++)
{
n = i + 2;
item = DefaultLogItems.item(i);
Worksheet.Cells(n, 1) = item.selectSingleNode(".//Type").text;
Worksheet.Cells(n, 2) = item.selectSingleNode(".//Message").text;
Worksheet.Cells(n, 3) = item.selectSingleNode(".//Time").text;
Worksheet.Cells(n, 4) = item.selectSingleNode(".//Priority").text;
Worksheet.Cells(n, 5) = item.selectSingleNode(".//Link").text;
Worksheet.Cells(n, 6) = item.selectSingleNode(".//TypeDescription").text;
Worksheet.Cells(n, 7) = item.selectSingleNode(".//Remarks").text;
}
}
function ExportUsers(Worksheet, XMLDoc)
{
Worksheet.Name = "Users";
Worksheet.Cells(1, 1) = "Virtual User";
Worksheet.Cells(1, 2) = "Task";
Worksheet.Cells(1, 3) = "Workstation";
Worksheet.Cells(1, 4) = "Time (s)";
Worksheet.Cells(1, 5) = "Connection Count";
Worksheet.Cells(1, 6) = "State";
Worksheet.Cells(1, 7) = "#";
Worksheet.Cells(1, 8) = "State Description";
Worksheet.Cells(1, 9) = "Connections";
Users = XMLDoc.selectNodes("/Users/UsersItem");
for (var i = 0; i < Users.length; i++)
{
n = i + 2;
item = Users.item(i);
Worksheet.Cells(n, 1) = item.selectSingleNode(".//VirtualUser").text;
Worksheet.Cells(n, 2) = item.selectSingleNode(".//Task").text;
Worksheet.Cells(n, 3) = item.selectSingleNode(".//Workstation").text;
Worksheet.Cells(n, 4) = item.selectSingleNode(".//Times").text;
Worksheet.Cells(n, 5) = item.selectSingleNode(".//ConnectionCount").text;
Worksheet.Cells(n, 6) = item.selectSingleNode(".//State").text;
Worksheet.Cells(n, 7) = item.selectSingleNode(".//N").text;
Worksheet.Cells(n, 8) = item.selectSingleNode(".//StateDescription").text;
Worksheet.Cells(n, 9) = item.selectSingleNode(".//Connections").text;
}
}
16secs for 10 users is it fast or slow?
|
It depends on the tested application only. I believe the requirements should be specified by the application developers - they need to know what exactly they want to test, the expected results, the desired behavior of the tested application and the purpose of the load test.