原文: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 单元测试之三---压力测试的更多相关文章

  1. Visual Studio 单元测试之五---数据库测试

    原文:Visual Studio 单元测试之五---数据库测试 数据库的单元测试主要是测试数据库中的数据是否符合特定的条件,Visual Studio 2010支持下面几种数据的单元测试类型(Visu ...

  2. Visual Studio 单元测试之四---Generic测试

    原文:Visual Studio 单元测试之四---Generic测试 这里的Generic我觉得理解为外部测试更合适.因为在这种测试模式下Visual Studio只是启动一个外部的程序,然后通过返 ...

  3. Visual Studio 单元测试之六---UI界面测试

    原文:Visual Studio 单元测试之六---UI界面测试 UI界面测试其实就是录制操作路径(Mapping),然后按照路径还原操作顺序的一个过程.这个方法对于Winform和Webform都同 ...

  4. visual studio 单元测试的认识

    单元测试(unit testing),对软件中的最小单元进行检查和验证,其一般验证对象是一个函数或者一个类. Team Test 是 Visual Studio 集成的单元测试框架,它支持: 测试方法 ...

  5. Visual Studio 2012 Fakes框架测试驱动开发TDD教程

    一.前言 最近团队要尝试TDD(测试驱动开发)的实践,很多人习惯了先代码后测试的流程,对于TDD总心存恐惧,认为没有代码的情况下写测试代码时被架空了,没法写下来,其实,根据个人实践经验,TDD并不可怕 ...

  6. 如何配置visual studio 2013进行负载测试-万事开头难

    声明:工作比较忙,文章写得不好,有时间再整理. 起因:最近众包平台因迁移到azure之后一直有网站慢的情况,让老板挨批了,但是测试环境一切正常,而且生产环境也没发现有卡顿和慢的情况,所以干脆来一次负载 ...

  7. Visual Studio性能计数器,负载测试结果分析- Part III

    对于一个多用户的应用程序,性能是非常重要的.性能不仅是执行的速度,它包括负载和并发方面.Visual Studio是可以用于性能测试的工具之一.Visual Studio Test版或Visual S ...

  8. Visual Studio平台安装及测试

    一.VS安装 图1.1 图1.2 二.单元测试练习 题目:课本22~25页单元测试练习 1.创建一个c#类(具体如下:打开VS2010,然后点击VS界面上左上角的文件按钮,然后点击文件—新建—项目,就 ...

  9. visual studio 2013 几个测试工具(Nunit 3、xUnit)

    一.Nunit 3 1.在解决方案里添加一个类库——引用——右键(如下图)) 3.搜索nunit 并安装(如图) 3.注意引入命名空间并给测试类和测试方法添加特性(如图) 4.如果测试通过则为绿色(如 ...

随机推荐

  1. Linux网络编程一站式学习

    提要 学过非常多遍计算机网络,依旧不会网络编程. 看完这篇文章之后就不会是这样了. 环境:Ubuntu14.04 64bit 何为Socket 是基于TCP/IP的网络应用编程中使用的有关数据通信的概 ...

  2. 先锋军Android注射技术《三》

    继续 于<两>通过专门出台ptrace实施注射的技术解决方案,在这一章,我就为大家介绍一Android在独特的喷射技术,我点了他的名字--Component Injection.顾名思义. ...

  3. Git常用操作汇总(转)

    如果一个文件被删除了,可以使用切换版本号进行恢复.恢复方法: 先确定需要恢复的文件要恢复成哪一个历史版本(commit),假设那个版本号是: commit_id,那么 git checkout com ...

  4. (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理

    介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前 ...

  5. 详细解释VB连接access几种方法数据库

    在VB中,连接ACCESS数据库的方法主要有以下三种 使用ADO对象,通过编写代码訪问数据库 Connection 对象 ODBC数据源 使用ADO Data 控件高速创建数据库连接 有三种连接方法 ...

  6. Mybatis基金会: 经常问的问题FAQ

    Mybatis基金会: #{...} 和 ${...} 差额 MyBatis将 #{-} 解释为JDBC prepared statement 参数标记.而将 ${-} 解释为一个字符串替换.非常实用 ...

  7. Codeforces Round #266 (Div. 2)-C,D

    C - Number of Ways 直接暴力从前往后寻找.假设找到1/3sum的位置,那么标记++.找到2/3的位置,总数加上标记数. #include<stdio.h> #includ ...

  8. 第一次测试HTML和CSS

    1.HTML(Hyper Text Markup Languange)超文本标记语言.HTML文件扩展名通常是:htm和html. <html> <head> <titl ...

  9. 《STL源代码分析》---stl_list.h读书笔记

    STL在列表list它是一种经常使用的容器.list不连续双向链表在内存,而且是环形. 理解列表如何操作的详细信息,然后.阅读STL名单上的代码是最好的方法. G++ 2.91.57.cygnus\c ...

  10. Jquery--仿制360右下角弹出窗口

    原文:Jquery--仿制360右下角弹出窗口 先发浏览器效果图,给大家看. 要实现这样的效果,按照思路,第一步,写好CSS布局,将图片放到浏览器右下角的位置 CSS代码很灵活,我写的只是简单的一种而 ...