51Testing软件测试论坛

标题: loadrunner与真实浏览器差别好大,请问怎么模拟浏览器并发 [打印本页]

作者: 1qazlin    时间: 2019-8-14 22:42
标题: loadrunner与真实浏览器差别好大,请问怎么模拟浏览器并发
最近测试一个地图的项目,使用loadrunner 12.53版本模拟50用户并发,测试后,跟领导说可以支持50用户。结果一次用户培训,几个用户用一下系统就卡死,被组长骂了,说为什么你说支持50用户,不懂就不要乱说,让我重新测试。

然后用loadrunner只运行一个虚拟用户,然后抓包,再用真实的谷歌浏览器的F12查看下网络的HTTP,发现差别好大。

loadrunner运行一个虚拟用户里面的请求是一个一个串行发送的,但真实浏览器是10来个一起并发的,请问loadrunner这个可以配置吗,设置成一个虚拟用户也跟浏览器一样并发,网上查资料,和问专家都说支持不了。
如果是这样,那么用loadrunner测试怎么换成真实用户呢。可以看下面的图:

附件图片包括真实浏览器用F12看,并发很多

附件串行图片是抓包的图片
这个是loadrunner只运行一个虚拟用户抓包,里面请求是串行的


另外,为什么loadrunner对js,在一个用户里要请求两次,真实浏览器肯定不会请求2次(开发说会有缓存),感觉loadrunner与真实浏览器差别好大,这样测试还有意义吗
  这个是loadrunner只运行一个虚拟用户抓包,里面请求js重复了两次。这个能配置吗

可以看下附件图片
作者: qqq911    时间: 2019-8-16 11:01
开缓存选项
作者: jingzizx    时间: 2019-8-16 12:49
lr内部机制是这样的,我记得有种线程方式可以切换下
作者: 海海豚    时间: 2019-8-16 15:47
首先需要分析性能场景,然后做出方案,LR并发都是可以配置的
作者: 1qazlin    时间: 2019-8-17 09:34
qqq911 发表于 2019-8-16 11:01
开缓存选项

默认的,看了配置已经开启缓存了。
另外,附件图的这些js在录制脚本里没看到这些js,不知道怎么出来的,乱七八糟的
作者: 1qazlin    时间: 2019-8-17 09:39
jingzizx 发表于 2019-8-16 12:49
lr内部机制是这样的,我记得有种线程方式可以切换下

怎么切换呢,我们这边一个性能测试5,6年的同事说不能支持。
请问怎么配置,按理loadrunner这么多人用,也这么出名,应该跟浏览器相似才对,现在差别这么大,如果不能类似浏览器并发,那loadrunner测试的指标与事务感觉没啥指导意义。
不然测试不了支持多少用户,领导关注的是能支持用户数,串行的又没法计算,并发压力完全不一样
作者: 1qazlin    时间: 2019-8-17 09:41
海海豚 发表于 2019-8-16 15:47
首先需要分析性能场景,然后做出方案,LR并发都是可以配置的

怎么分析呢,能举例子吗。
我们这边老同事也没啥好建议

哎,测试就这样,不知道系统,不懂开发,完成没思路


作者: mouse12315    时间: 2019-8-18 17:10
你的问题一方面源于你对性能测试不够了解,其次则是对loadrunner不够了解。

对于脚本运行后执行结果与真实浏览器访问差异过大的问题,理论上你在做工具选型确认的时候就应该注意到了,其次则是脚本准备阶段也该注意到,这些可以算是性能测试需求调研过程中就该搞定的小问题,正常情况下就是你搞好脚本后回放得到的结果与你直接访问被测对象的差异在预期范围内;

并发设置方面,loadruner中运行时选项Runtime Settings-浏览器Browser设置项就是干这个的,根据业务用户的实际选择设定即可,除此之外,你还可以通过web_concurrent_start/end函数来控制哪些请求需要并发(这块限制我就不提了,你自行了解就行了),建议你有空了看看loadrunner内置函数的说明或者loadrunner的用户说明书,你才能认识到loadrunner到底可以干什么。
作者: linneiwei    时间: 2019-8-19 09:42
楼主可以使用下国产的kylinPET,它录制时记录了浏览器并发的时间与个数,以及浏览器发的HTTP请求的先后顺序和间隔时间。
然后在脚本编辑器scripter的“设置”窗口,选择模拟浏览器并发就行。
操作非常简单,由于录制时记录了浏览器的行为,在运行时每个虚拟用户都可以模拟浏览器并发多个。

不需要像上面说的那么复杂,测试工具就是提高测试人员的效率和帮助降低测试人员的技能。如果你要懂上面那些,你还得懂你们业务页面是怎么并发的,HTTP是怎么异步和关联的,超级麻烦,可能连开发人员都不懂,你费那些劲没用

浏览器并发知识可以看看这篇文档: http://bbs.51testing.com/thread-980437-1-1.html
作者: 1qazlin    时间: 2019-8-29 20:08
linneiwei 发表于 2019-8-19 09:42
楼主可以使用下国产的kylinPET,它录制时记录了浏览器并发的时间与个数,以及浏览器发的HTTP请求的先后顺序 ...

谢谢,用了下这个kylinPET,确实一个虚拟用户里面的请求可以并发了。
这个工具有点像loadrunner,感觉像它的山寨版,不过挺好用的,操作简单,出乎我意料的是,它的指标居然比loadrunner要详细,有每个http请求的数据,也有每个虚拟用户的http数据。  

可惜要收费,领导不想花钱。


作者: jadeyu712    时间: 2019-8-30 09:45
设置集合点。让我所有请求都到一处后再向服务器压力。

同时确认“结果一次用户培训,几个用户用一下系统就卡死,被组长骂”,这几个用户是什么业务。通过脚本模拟。
不经常上这里,如果不清楚,可以邮件到313537405@qq.com




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2