51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1761|回复: 2
打印 上一主题 下一主题

能和LoadRunner匹敌的VS2010/2012Web负载测试

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-2-28 15:52:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 的属性窗口:


SQL跟踪:用来跟踪本地/远程数据库的sql执行情况(比如能跟踪到最耗时间的sql脚本找出来,这样
就能够优化sql了)

采样速率:如字面意思...

运行持续时间:如字面意思...

预热持续时间:假设设置了5秒的预热持续时间,则负载测试开始后的5秒内不会进行请求,而是等
待状态,等5秒后进行疯狂的请求动作

漏了个关键参数,如下:


负载测试被设置成了恒定有25个用户同时进行请求。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-23 06:23 , Processed in 0.066428 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表