VS自带的Web负载测试真的很大程度上能和专业的 loadrunner媲美(只是Web方面),上个report图 吧(如何实现,请往下拉): 看,能探测一堆的计数器(上面红色打叉的是代表超过了基线值)、还能跟踪sql的执行,下面讲 讲如何实现的。 样板代码下载
大致过程分成如下:新建测试工程、添加Web性能测试(和实现 )、 添加负载测试(和实现,负载测试实际上是不断的调用 Web性能测试)、运行负载测试看结果、调整性能。
新建测试工程:忽略(`(*∩_∩*)′) 添加Web性能测试:
实现Web性能测试(先了解测试对象,需求如下):
我们需要分别给以上情况编写测试用例,如下: - User Name不填、Email不填==》页面不跳转,并且出现消息User Name cannot be empty.
- User Name填、Email不填 ==》页面不跳转,并且出现消息Email cannot be empty.
- User Name不填、Email填 ==》页面不跳转,并且出现消息User Name cannot be empty.
- User Name填、Email填 ==》页面跳转至Thanks.aspx,并且出现消息Thanks
因此,需要分别给上述4种情况加入测试配置(不是测试代码,因为这里都是配置出来的...),如下图:
上面由于是要模拟form的Submit操作,并且使用的是asp.net webform技术,因此form域比较 抓狂(要是用mvc技术就方便多了,在性能测试时记得不要考虑csrf攻击,或者直接忽略掉),而且 不要忘记把Submit按钮写进去(value=1) 简单而言,每一个request的测试逻辑是这样的: - send request 到 目标path(拼装好post/get, querystring, form field)
- get response
- 根据验证规则,开始验证
添加负载测试:
实现负载测试: 测试组合:"Register"是第一步中那个Web性能测试的名字,由于目前只有1个Web性能测 试,所以前缀是[100%] 浏览器组合:工具能够模拟客户端浏览器类型分布百分比,来模拟实际情况 计数器集:这里有成堆成堆的计数器,里面有的是定义了阀门值的(有的没有定义),定义的 阀门值分成2种:Warm和Alert,比如:CPU有个计数器叫:% Processor Time,这个计数 器要求尽量低点,它有如下设置:
发出警报:true代表超出后会在最终的report中以图表的形式出现,比如本篇的第二张图中的那 一连串的cpu处理时间。 大家一看就明白意思。 运行设置1 的属性窗口:
|