peaksoftchen 2007-9-5 17:24
闲论LoadRunner的协议选择、Winsocket、C/S应用程序
很多时候一提到不是基于浏览器的应用,很多人就会想到用WinSocket协议来录制,仿佛Form窗体都可以用Winsocket 。
从道理上讲网络通讯的底层都是基于Socket的,例如TCP、UPD等,似乎所有的程序都可以用Socket协议来录制。但是事实不是这样的,因为选择的协议决定了LoadRunner如何捕获数据包。否则会多捕获很多无用的数据。
因此,不是所有的程序都是适合WinSocket协议的。实际上,那些基于Socket开发的应用才真正适合Socket协议来进行录制。其他的,例如基于数据库的应用,就不太时候Socket协议,甚至可能录制不到脚本。
很多C/S程序,一定要选择合适的协议。根据作者的经验,C/S的程序多数需要手工开发很多脚本,因为录制的很多回放时候或多或少都会有些问题,但是可以参考录制的结果。
所以测试一个程序,一定要搞清楚开发人员用了什么技术、数据流是什么协议封装的。
注:其实这也是测试人员为什么要懂得开发才更适合做性能测试,因为很多复杂的性能测试都需要很厚的基础。例如我们公司的性能测试所有代码都是自己手工开发的。
peaksoftchen 2007-9-5 17:33
附件是我们自己开发的Controller,我们自己用面向对象实现了并发测试架构(目前支持并发、迭代、thinktime、参数文件、启动时间间隔,集合点功能正在开发中)。借助我们自己开发的Agent,能很好的测试我们的C/S架构的程序。
这个工具和LoadRunner配合起来,可以完成大多数性能测试。
这个工具主要为我们测试视频播放效果而开发,呵呵。这是LoadRunner不太擅长的。
smallmark 2007-9-6 15:16
菜鸟也能论英雄?sdlkfj5
Spark.lee 2007-9-6 15:32
你个菜鸟 人家可是很NB的人物啊
他的书是相当的不错啊
晕死
423799223 2007-9-7 08:10
[size=4]楼主的书我等着购书呢
早点出版呀
[color=Magenta][b]另外再请教一下 许多同行都是苦于不会测试视频播放的测试
能不能将您的这个软件共享一下 谢谢了楼主[/b][/color]
[color=Blue][size=7]再次支持[/size][/color][/size]
晴耕雨读 2007-9-7 09:00
请问楼主:2楼有附件么?
莫非您说的是一个截图……汗,我可不希望您的书中谈到截图时都说成附件。
peaksoftchen 2007-9-7 10:55
书中详细介绍了并发结构(在单机上如何并发)的设计过程以及部分源码,也就是Vugen部分。
但是我们自己开发的Controller部分没有进行介绍。倒是介绍了如何用LoadRunner的Controller来把我们自己开发的多线程程序送到客户端去并发执行。
peaksoftchen 2007-9-7 11:03
[quote]原帖由 [i]423799223[/i] 于 2007-9-7 08:10 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=704654&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
楼主的书我等着购书呢
早点出版呀
另外再请教一下 许多同行都是苦于不会测试视频播放的测试
能不能将您的这个软件共享一下 谢谢了楼主
再次支持 [/quote]
源代码限于版权目前还不能公布,但是我可以公布设计思想!
顺便说一句,我是怎么带着部门兄弟做到这一点的:
1、首先学懂LoadRunner,搞明白他的工作原理;
2、学会面向对象基本思想,明白继承、多态、抽象等如何实现;
3、学会一门开发语言,我最好选择了C#、其实VB也可以,但是.NET上的核心是C#。java界面设计太弱,而且windows程序最好还是跟着微软混。
4、然后重写了播放器、自己开了并发相关抽象类,我们部门的弟兄们就可以继承我的类来写程序了(相当于在vugen中开发脚本);
5、然后集中精力开发了自己的并发架构。
顺便说一句,这不是一件容易的工作,因为不是一般的公司能投入的起的。我们部门写程序的加上我就有7个。大断断续续家干了将近3个月。我们公司做视频领域的,所以必须得做这种测试。
不过不要灰心,认真学习,自己慢慢研究,努力提高自己,找个好的环境来进行测试开发。
423799223 2007-9-7 14:41
[quote]原帖由 [i]peaksoftchen[/i] 于 2007-9-7 11:03 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=705127&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
源代码限于版权目前还不能公布,但是我可以公布设计思想!
顺便说一句,我是怎么带着部门兄弟做到这一点的:
1、首先学懂LoadRunner,搞明白他的工作原理;
2、学会面向对象基本思想,明白继承、多态 ... [/quote]
[color=Red][size=4]感谢楼主的介绍
正如楼主所说 这个不是一般公司投入的起的
不光说是投入的起 连技术要求上也很高
在如今测试领域来说 有这样开发水平的测试人员少得可怜
[color=Magenta][b][size=6]如果你为了保护源码 你可以不开放源代码 大家也应该尊重你 但是能不能把程序拿出来给测试同行们一起研究[/size][/b][/color]
毕竟C/S和视频领域这样的测试 会的人较少 我想大家都会感激你的[/size][/color]
[size=7][color=Red]等楼主的回复 谢谢[/color][/size]
[[i] 本帖最后由 423799223 于 2007-9-7 15:16 编辑 [/i]]
peaksoftchen 2007-9-7 16:11
[quote]原帖由 [i]423799223[/i] 于 2007-9-7 14:41 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=705576&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
感谢楼主的介绍
正如楼主所说 这个不是一般公司投入的起的
不光说是投入的起 连技术要求上也很高
在如今测试领域来说 有这样开发水平的测试人员少得可怜
如果你为了保护源码 你可以不开放源代码 ... [/quote]
这个产品下一步是要卖给客户进行测试的,所以抱歉不能公布出来。
423799223 2007-9-7 17:25
卖给客户 是不是卖测试这方面的人员
能不能说个价格 不会是像Mercury似的吧 依据License、协议、时间、用户数定价格吧?
能不能提供一个Demo版的给我们
peaksoftchen 2007-9-8 13:11
[quote]原帖由 [i]423799223[/i] 于 2007-9-7 17:25 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=706131&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
卖给客户 是不是卖测试这方面的人员
能不能说个价格 不会是像Mercury似的吧 依据License、协议、时间、用户数定价格吧?
能不能提供一个Demo版的给我们 [/quote]
不知道了,公司方面来做运营了。
leetc123 2007-9-8 17:01
自己开发测试工具,是我的目标!
corrine-li 2007-9-10 14:51
回复 #1 peaksoftchen 的帖子
我现在正在测试C/S结构的应用程序。我现在不知道该选何种协议,应用程序采用了C#,数据库采用了MS SQL Server。
peaksoftchen 2007-9-10 18:58
[quote]原帖由 [i]corrine-li[/i] 于 2007-9-10 14:51 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=708573&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
我现在正在测试C/S结构的应用程序。我现在不知道该选何种协议,应用程序采用了C#,数据库采用了MS SQL Server。 [/quote]
搞到.NET插件,然后用.NET虚拟用户,LoadRunner支持C#语言来开发测试脚本。书里面详细论述了.NET平台产品的测试方法。
corrine-li 2007-9-11 09:13
[quote]
搞到.NET插件,然后用.NET虚拟用户,LoadRunner支持C#语言来开发测试脚本。书里面详细论述了.NET平台产品的测试方法。 [/quote]
是不是选择这个协议“[attach]32662[/attach]”呢?
我们公司现在的水平还是做不到自己开发测试脚本,因为就我一个人在做很多项目的测试。
目前要做这个项目的性能测试,感觉和你写的《web性能测试实战》中案例二很相似,只是用LR录制脚本、运行脚本、创建场景、运行场景,然后分析结果。
peaksoftchen 2007-9-11 13:04
[quote]原帖由 [i]corrine-li[/i] 于 2007-9-11 09:13 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=709551&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
是不是选择这个协议“32662”呢?
我们公司现在的水平还是做不到自己开发测试脚本,因为就我一个人在做很多项目的测试。
目前要做这个项目的性能测试,感觉和你写的《web性能测试实战》中案例二很相似,只 ... [/quote]
你说的这个协议在8.1中可以使用,但是适用于Fram1.0,也就是.NET2003.
不知道9.0怎么样。
我说的是.NET插件。
423799223 2007-9-11 13:21
.NET插件大家都没有
你书上有也没用呀 呵呵
估计是不会共享的 理解
RuisTar 2007-9-11 13:50
回复 #17 peaksoftchen 的帖子
以前就又碰到过.net2005开发的C/S模式系统,苦于LR8.1不支持Framwork2.0,所以不知道用什么协议,有办法解决吗?
corrine-li 2007-9-11 14:44
大家有什么好的办法呢?期待ing.
ebuluo 2007-9-11 15:06
lr9.0支持framework到3。0
corrine-li 2007-9-11 15:32
[quote]原帖由 [i]ebuluo[/i] 于 2007-9-11 15:06 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=710635&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
lr9.0支持framework到3。0 [/quote]
我无法破解LR9.0,谁能告诉我呢?
peaksoftchen 2007-9-12 11:40
[quote]原帖由 [i]corrine-li[/i] 于 2007-9-11 15:32 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=710716&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
我无法破解LR9.0,谁能告诉我呢? [/quote]
目前江湖上好像没有什么破解方法吧。
peaksoftchen 2007-9-12 11:42
[quote]原帖由 [i]RuisTar[/i] 于 2007-9-11 13:50 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=710354&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
以前就又碰到过.net2005开发的C/S模式系统,苦于LR8.1不支持Framwork2.0,所以不知道用什么协议,有办法解决吗? [/quote]
找些正版用户的朋友去要2005版本的。net插件吧。
peaksoftchen 2007-9-12 11:43
[quote]原帖由 [i]423799223[/i] 于 2007-9-11 13:21 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=710271&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
.NET插件大家都没有
你书上有也没用呀 呵呵
估计是不会共享的 理解 [/quote]
我确实无法提供,但是2003插件也可以。以前好像是免费的。
网上应该能够找到吧。
beckham516 2007-9-12 11:57
.NET插件开发脚本太麻烦了,debug都不行
pplive 2007-9-12 17:11
看看
最近对loadrunner有兴趣
peaksoftchen 2007-9-12 18:04
[quote]原帖由 [i]beckham516[/i] 于 2007-9-12 11:57 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=712587&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
.NET插件开发脚本太麻烦了,debug都不行 [/quote]
在.NET环境debug啊,lr的开发环境哪能和微软的比,而且开发完成后必须编译,你在lr里即使能修改脚本也不能编译。
corrine-li 2007-9-13 09:25
回复 #1 peaksoftchen 的帖子
你所说的“数据流是什么协议封装的”。
是指在网络中传送数据所使用的协议吗?
corrine-li 2007-9-13 10:21
我尝试选用LR8.1下socket协议录制C#开发的C/S结构的邮件系统,
可以录制,而且还有脚本。但是当运行的时候出现这样的错误:“socket0 - Software caused connection abort. Error code : 10053”。
是什么原因引起的呢?
兰色犹豫 2007-9-13 10:40
向高手致敬!!
peaksoftchen 2007-9-13 11:07
[quote]原帖由 [i]corrine-li[/i] 于 2007-9-13 09:25 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=714168&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
你所说的“数据流是什么协议封装的”。
是指在网络中传送数据所使用的协议吗? [/quote]
指我们程序中直接用的协议——如果我们程序写的是Winsocket程序,那使用socket非常合适。
但是如果调用ODBC来访问数据库,这个用socket协议录制就不合适了。
不过一定要明白,所有的基于网络的应用程序程序员操作的最底层都是socket、再往下就是IP层了,再往下就快是硬件通讯了。
[[i] 本帖最后由 peaksoftchen 于 2007-9-13 14:11 编辑 [/i]]
peaksoftchen 2007-9-13 11:11
[quote]原帖由 [i]corrine-li[/i] 于 2007-9-13 10:21 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=714329&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
我尝试选用LR8.1下socket协议录制C#开发的C/S结构的邮件系统,
可以录制,而且还有脚本。但是当运行的时候出现这样的错误:“socket0 - Software caused connection abort. Error code : 10053”。
是什么原 ... [/quote]
可以录制,但是能工作的可能性不高。可以选择邮件相关的协议来录制。
我的帖子已经说了,最适合socket协议就是的网络通讯程序。。。。。
建议这类程序自己来开发。
peaksoftchen 2007-9-13 11:13
[quote]原帖由 [i]兰色犹豫[/i] 于 2007-9-13 10:40 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=714386&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
向高手致敬!! [/quote]
大家一起学习,都可以成为高手,只要努力付出就行了。
都做过菜鸟的!!!
corrine-li 2007-9-13 12:22
谢谢lz。
peaksoftchen 2007-9-13 14:12
[quote]原帖由 [i]corrine-li[/i] 于 2007-9-13 12:22 发表 [url=http://bbs.51testing.com/redirect.php?goto=findpost&pid=714763&ptid=89417][img]http://bbs.51testing.com/images/common/back.gif[/img][/url]
谢谢lz。 [/quote]
一起努力。
lijunwsp 2007-9-13 14:22
楼主只是说叫我们努力
没一点表示 具体怎么做多少也要给点代码呀
corrine-li 2007-9-13 14:57
公司又有一个项目,还是基于C/S结构下的结算系统。
1.应用程序在VS2005下开发的,使用C#,数据库用SQL Server2000。
2.LR8.1不支持framework2.0,当前的情况是我无法找到.net插件,2005的。
3.此程序是调用ado.net来访问数据库的。所以socket协议排除。
4.如果我选择MS SQL Server协议录制此结算系统,是否可行?此项目正在开发中,我现在再做性能测试的设计。
5.如果需要自己编写测试脚本的话,我现在又没有这个能力。
6.我现在该怎么办吧!此系统的需求说明中,还有包括性能测试。
是告诉领导LR8.1不支持Framework2.0还是怎么的?期望lz给予意见。
lytesting 2007-9-13 15:19
peaksoftchen 我非常想知道你的书里有没有写关于lr二次开发的部分,有没有类似模板的东西,一个思路也行,谢谢!!!
zhangj8826 2007-9-13 15:20
LZ你是我的偶像啊