【转载自烂笔头百度空间】http://hi.baidu.com/zf_ben/blog/item/e380057b4510abfe2f73b336.html
我们都知道大名鼎鼎的LoadRuner,但是很少有人知道Visual Studio自带的Test也可以做些简单的压力测试,下面我们就介绍一下如何利用Visual Studio进行压力测试。
做压力测试时,Visual Studio会记录大量的数据并把数据保存在数据库中,所以在进行讲解压力测试之间,让我们先把数据库的准备工作做好。
・ 在SQLServer里面执行C:\ProgramFiles\Microsoft Visual Studio 10.0\Common7\IDE\ loadtestresultsrepository.sql脚本,创建测试数据库(VS2008相应目录下面也有此脚本)
・ 配置压力测试数据库:Test->Manage Test Controllers,配置刚建的数据库。如下图:
在MathUtility.cs文件中新建一个函数:
publicstaticvoidPowerTest()
{
Randomr1 = newRandom(DateTime.Now.GetHashCode());
Randomr2 = newRandom(DateTime.Now.AddDays(1).GetHashCode());
doubled = r1.Next() * r2.Next();
Randomr3 = newRandom(Convert.ToInt32(d));
stringstr = r3.Next().ToString();
StringBuilderbuffer = newStringBuilder();
foreach(char a instr.ToCharArray())
buffer.Append(string.Format("{0}-{1}",a, a + a));
}
并创建这个函数的单元测试函数。
新建压力测试:
1.Add->New Test:
2.欢迎界面
3.设置这个测试场景的名称及思考时间(Think Time)和迭代思考时间
4.设置压力用户模型。
5.设置压力测试的混合模型。可以根据自己的测试场景需要来选择合适的模型。
6.设置压力测试函数,这些函数都是单元测试函数,可以增加多个压力函数且后面的人数为这个压力函数需要压力人数。
7.设置网络。压力测试与网络好坏关系密切时,此项起作用。
8.性能计数器。可以增加Perfmon里面的相关计数器。关于如何增加自定义计数器,不是本文所讨论的内容。我会另发一篇博文进行讨论。
9.设置压力时间及其他选项。
10.设置完成后的loadtest文件。
点击上图中的运行就可以起动本次压力测试了。如果你是按我上面的步骤设置的话,会看到类似下面的压力测试图(由于机器性能不同,局部数据会不同):
1.运行了3分钟时的图形
2.运行完成时的图形
运行完成后的压力测试报告
至此,我们就完成了一个完整的压力测试。压力测试的情景比较复杂,选项也比较多,有兴趣的话,请大家一个一个的试试。我这里就不把所有的选项含义及所用场景一一描述了。
最后介绍一下LoadTest Manage.如下图:
可见,我做了多个压力测试,每次的数据都保存在刚才设定的数据库中了,我们可以通过这个窗体来查看、调用以前的压力测试结果及数据。