Visual Studio 单元测试之三---压力测试
原文:Visual Studio 单元测试之三---压力测试
我们都知道大名鼎鼎的LoadRuner,但是很少有人知道Visual Studio自带的Test也可以做些简单的压力测试,下面我们就介绍一下如何利用Visual Studio进行压力测试。
此文是上一篇博文:Visual Studio 单元测试之一---普通单元测试的后续篇章。如果读者对Visual Studio的单元测试不熟悉的话,请先参看上一篇。http://blog.csdn.net/tjvictor/archive/2011/02/09/6175362.aspx
本文会自动略去上篇中提到过的相关概念、方法。本文的例子可以使用下面的链接下载:
http://download.csdn.net/source/3014236
做压力测试时,Visual Studio会记录大量的数据并把数据保存在数据库中,所以在进行讲解压力测试之间,让我们先把数据库的准备工作做好。
· 在SQLServer里面执行C:/Program Files/Microsoft Visual Studio 10.0/Common7/IDE/ loadtestresultsrepository.sql脚本,创建测试数据库(VS2008相应目录下面也有此脚本)
· 配置压力测试数据库:Test->Manage Test Controllers,配置刚建的数据库。如下图:
在MathUtility.cs文件中新建一个函数:
public static void PowerTest()
{
Random r1 = new Random(DateTime.Now.GetHashCode());
Random r2 = new Random(DateTime.Now.AddDays(1).GetHashCode());
double d = r1.Next() * r2.Next();
Random r3 = new Random(Convert.ToInt32(d));
string str = r3.Next().ToString();
StringBuilder buffer = new StringBuilder();
foreach (char a in str.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.运行完成时的图形
运行完成后的压力测试报告
至此,我们就完成了一个完整的压力测试。压力测试的情景比较复杂,选项也比较多,有兴趣的话,请大家一个一个的试试。我这里就不把所有的选项含义及所用场景一一描述了。
最后介绍一下Load Test Manage.如下图:
可见,我做了多个压力测试,每次的数据都保存在刚才设定的数据库中了,我们可以通过这个窗体来查看、调用以前的压力测试结果及数据。
至此,压力测试的基本用法已经讲完,下面介绍Generic测试,数据库测试,UI界面测试。
如需转载,请注明本文原创自灰太狼的博客:http://blog.csdn.net/tjvictor
Visual Studio 单元测试之三---压力测试的更多相关文章
- Visual Studio 单元测试之五---数据库测试
原文:Visual Studio 单元测试之五---数据库测试 数据库的单元测试主要是测试数据库中的数据是否符合特定的条件,Visual Studio 2010支持下面几种数据的单元测试类型(Visu ...
- Visual Studio 单元测试之四---Generic测试
原文:Visual Studio 单元测试之四---Generic测试 这里的Generic我觉得理解为外部测试更合适.因为在这种测试模式下Visual Studio只是启动一个外部的程序,然后通过返 ...
- Visual Studio 单元测试之六---UI界面测试
原文:Visual Studio 单元测试之六---UI界面测试 UI界面测试其实就是录制操作路径(Mapping),然后按照路径还原操作顺序的一个过程.这个方法对于Winform和Webform都同 ...
- visual studio 单元测试的认识
单元测试(unit testing),对软件中的最小单元进行检查和验证,其一般验证对象是一个函数或者一个类. Team Test 是 Visual Studio 集成的单元测试框架,它支持: 测试方法 ...
- Visual Studio 2012 Fakes框架测试驱动开发TDD教程
一.前言 最近团队要尝试TDD(测试驱动开发)的实践,很多人习惯了先代码后测试的流程,对于TDD总心存恐惧,认为没有代码的情况下写测试代码时被架空了,没法写下来,其实,根据个人实践经验,TDD并不可怕 ...
- 如何配置visual studio 2013进行负载测试-万事开头难
声明:工作比较忙,文章写得不好,有时间再整理. 起因:最近众包平台因迁移到azure之后一直有网站慢的情况,让老板挨批了,但是测试环境一切正常,而且生产环境也没发现有卡顿和慢的情况,所以干脆来一次负载 ...
- Visual Studio性能计数器,负载测试结果分析- Part III
对于一个多用户的应用程序,性能是非常重要的.性能不仅是执行的速度,它包括负载和并发方面.Visual Studio是可以用于性能测试的工具之一.Visual Studio Test版或Visual S ...
- Visual Studio平台安装及测试
一.VS安装 图1.1 图1.2 二.单元测试练习 题目:课本22~25页单元测试练习 1.创建一个c#类(具体如下:打开VS2010,然后点击VS界面上左上角的文件按钮,然后点击文件—新建—项目,就 ...
- visual studio 2013 几个测试工具(Nunit 3、xUnit)
一.Nunit 3 1.在解决方案里添加一个类库——引用——右键(如下图)) 3.搜索nunit 并安装(如图) 3.注意引入命名空间并给测试类和测试方法添加特性(如图) 4.如果测试通过则为绿色(如 ...
随机推荐
- 将node-expat扩展编译至node.exe中
1.下载node源代码 https://github.com/joyent/node (v:0.10.25) 2.下载node-expat源代码 https://github.com/node-xmp ...
- Net并行编程高级教程--Parallel
Net并行编程高级教程--Parallel 一直觉得自己对并发了解不够深入,特别是看了<代码整洁之道>觉得自己有必要好好学学并发编程,因为性能也是衡量代码整洁的一大标准.而且在<失控 ...
- Android.9图片评论(一个)
什么是.9图片 至于什么是.9图片这里就简单提一下,即图片后缀名前有.9的图片,如pic.9.png.pic1.9.jgp,诸如此类的图片就称为.9图片. .9图片的作用 ①.9图片的作用是在图片拉伸 ...
- ssis 到别的表查找临时变量值
原文:ssis 到别的表查找临时变量值 etl过程过,往一个数据库表插入数据,插入的值往往需要到另外一个数据库读取.例如下面的客户跟踪,需要一个"项目ID",这个ID需要到另一个数 ...
- ssh配置连接
SSH构造: 1.改动vi /etc/ssh/sshd_config,依据模板将要改动的參数凝视去掉并改动參数值: Port 22 指定SSH连接的port号,安全方面不建议使用默认22port Pr ...
- 83. 从视图索引说Notes数据库(上)
索引是数据库系统重要的feature,不管是传统的关系型数据库还是时兴的NoSQL数据库,它攸关查询性能,因而在设计数据库时须要细加考量.然而,Lotus Notes隐藏技术底层.以用户界面为导向.追 ...
- apk当安装程序将文件复制到手机自带的指定文件夹
项目已获得,今天.apk文件以获得另一个非调试手机,发现一个问题. 由于涂料.所以绘图数据的点存储在一个.txt文字档.把它用usb传到指定目录下的,可是明显不科学,由于用户下载了你的.apk文件,你 ...
- SpringMVC现实
夹 一个.前言 两.spring mvc 核心类和接口 三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说 ...
- CSDN博文“待定”如何避免检测规则分析“待定”
这些天一直很郁闷.鲍文本人一直"待定", 当然,这是非常不舒服的自己.那么今晚最终成为一个非成功出版"待定"文章,这CSDN于大家的反映而放弃了.没想到我后面又 ...
- Xcode HeaderDoc 过程(1)
原版的: http://www.raywenderlich.com/66395/documenting-in-xcode-with-headerdoc-tutorial 了解如何从代码中生成文档! X ...