peaksoftchen 发表于 2007-9-5 17:24:01

闲论LoadRunner的协议选择、Winsocket、C/S应用程序

关于Socket、C/S相关脚本开发可以参考我的最新作品《LoadRunner虚拟用户开发指南》,详见:http://bbs.51testing.com/thread-144156-1-1.html
    很多时候一提到不是基于浏览器的应用,很多人就会想到用WinSocket协议来录制,仿佛Form窗体都可以用Winsocket 。

         从道理上讲网络通讯的底层都是基于Socket的,例如TCP、UPD等,似乎所有的程序都可以用Socket协议来录制。但是事实不是这样的,因为选择的协议决定了LoadRunner如何捕获数据包。否则会多捕获很多无用的数据。

       因此,不是所有的程序都是适合WinSocket协议的。实际上,那些基于Socket开发的应用才真正适合Socket协议来进行录制。其他的,例如基于数据库的应用,就不太时候Socket协议,甚至可能录制不到脚本。

      很多C/S程序,一定要选择合适的协议。根据作者的经验,C/S的程序多数需要手工开发很多脚本,因为录制的很多回放时候或多或少都会有些问题,但是可以参考录制的结果。

         所以测试一个程序,一定要搞清楚开发人员用了什么技术、数据流是什么协议封装的。


         注:其实这也是测试人员为什么要懂得开发才更适合做性能测试,因为很多复杂的性能测试都需要很厚的基础。例如我们公司的性能测试所有代码都是自己手工开发的。

[ 本帖最后由 peaksoftchen 于 2009-5-15 17:31 编辑 ]

peaksoftchen 发表于 2007-9-5 17:33:36

附件是我们自己开发的Controller,我们自己用面向对象实现了并发测试架构(目前支持并发、迭代、thinktime、参数文件、启动时间间隔,集合点功能正在开发中)。借助我们自己开发的Agent,能很好的测试我们的C/S架构的程序。
      这个工具和LoadRunner配合起来,可以完成大多数性能测试。
      这个工具主要为我们测试视频播放效果而开发,呵呵。这是LoadRunner不太擅长的。

smallmark 发表于 2007-9-6 15:16:38

菜鸟也能论英雄?sdlkfj5

Spark.lee 发表于 2007-9-6 15:32:29

你个菜鸟 人家可是很NB的人物啊

他的书是相当的不错啊
晕死

423799223 发表于 2007-9-7 08:10:27

楼主的书我等着购书呢
早点出版呀
另外再请教一下许多同行都是苦于不会测试视频播放的测试
能不能将您的这个软件共享一下谢谢了楼主
再次支持

晴耕雨读 发表于 2007-9-7 09:00:39

请问楼主:2楼有附件么?

莫非您说的是一个截图……汗,我可不希望您的书中谈到截图时都说成附件。

peaksoftchen 发表于 2007-9-7 10:55:56

书中详细介绍了并发结构(在单机上如何并发)的设计过程以及部分源码,也就是Vugen部分。
但是我们自己开发的Controller部分没有进行介绍。倒是介绍了如何用LoadRunner的Controller来把我们自己开发的多线程程序送到客户端去并发执行。

peaksoftchen 发表于 2007-9-7 11:03:44

原帖由 423799223 于 2007-9-7 08:10 发表 http://bbs.51testing.com/images/common/back.gif
楼主的书我等着购书呢
早点出版呀
另外再请教一下许多同行都是苦于不会测试视频播放的测试
能不能将您的这个软件共享一下谢谢了楼主
再次支持

源代码限于版权目前还不能公布,但是我可以公布设计思想!

顺便说一句,我是怎么带着部门兄弟做到这一点的:

1、首先学懂LoadRunner,搞明白他的工作原理;
2、学会面向对象基本思想,明白继承、多态、抽象等如何实现;
3、学会一门开发语言,我最好选择了C#、其实VB也可以,但是.NET上的核心是C#。java界面设计太弱,而且windows程序最好还是跟着微软混。
4、然后重写了播放器、自己开了并发相关抽象类,我们部门的弟兄们就可以继承我的类来写程序了(相当于在vugen中开发脚本);
5、然后集中精力开发了自己的并发架构。

顺便说一句,这不是一件容易的工作,因为不是一般的公司能投入的起的。我们部门写程序的加上我就有7个。大断断续续家干了将近3个月。我们公司做视频领域的,所以必须得做这种测试。
不过不要灰心,认真学习,自己慢慢研究,努力提高自己,找个好的环境来进行测试开发。

423799223 发表于 2007-9-7 14:41:58

原帖由 peaksoftchen 于 2007-9-7 11:03 发表 http://bbs.51testing.com/images/common/back.gif


源代码限于版权目前还不能公布,但是我可以公布设计思想!

顺便说一句,我是怎么带着部门兄弟做到这一点的:

1、首先学懂LoadRunner,搞明白他的工作原理;
2、学会面向对象基本思想,明白继承、多态 ...


感谢楼主的介绍
正如楼主所说这个不是一般公司投入的起的
不光说是投入的起连技术要求上也很高
在如今测试领域来说有这样开发水平的测试人员少得可怜
如果你为了保护源码你可以不开放源代码 大家也应该尊重你但是能不能把程序拿出来给测试同行们一起研究
毕竟C/S和视频领域这样的测试会的人较少我想大家都会感激你的


等楼主的回复谢谢

[ 本帖最后由 423799223 于 2007-9-7 15:16 编辑 ]

peaksoftchen 发表于 2007-9-7 16:11:03

原帖由 423799223 于 2007-9-7 14:41 发表 http://bbs.51testing.com/images/common/back.gif



感谢楼主的介绍
正如楼主所说这个不是一般公司投入的起的
不光说是投入的起连技术要求上也很高
在如今测试领域来说有这样开发水平的测试人员少得可怜
如果你为了保护源码你可以不开放源代码 ...

这个产品下一步是要卖给客户进行测试的,所以抱歉不能公布出来。

423799223 发表于 2007-9-7 17:25:50

卖给客户是不是卖测试这方面的人员
能不能说个价格不会是像Mercury似的吧依据License、协议、时间、用户数定价格吧?
能不能提供一个Demo版的给我们

peaksoftchen 发表于 2007-9-8 13:11:14

原帖由 423799223 于 2007-9-7 17:25 发表 http://bbs.51testing.com/images/common/back.gif
卖给客户是不是卖测试这方面的人员
能不能说个价格不会是像Mercury似的吧依据License、协议、时间、用户数定价格吧?
能不能提供一个Demo版的给我们

不知道了,公司方面来做运营了。

leetc123 发表于 2007-9-8 17:01:01

自己开发测试工具,是我的目标!

corrine-li 发表于 2007-9-10 14:51:51

回复 #1 peaksoftchen 的帖子

我现在正在测试C/S结构的应用程序。我现在不知道该选何种协议,应用程序采用了C#,数据库采用了MS SQL Server。

peaksoftchen 发表于 2007-9-10 18:58:02

原帖由 corrine-li 于 2007-9-10 14:51 发表 http://bbs.51testing.com/images/common/back.gif
我现在正在测试C/S结构的应用程序。我现在不知道该选何种协议,应用程序采用了C#,数据库采用了MS SQL Server。

搞到.NET插件,然后用.NET虚拟用户,LoadRunner支持C#语言来开发测试脚本。书里面详细论述了.NET平台产品的测试方法。

corrine-li 发表于 2007-9-11 09:13:21



搞到.NET插件,然后用.NET虚拟用户,LoadRunner支持C#语言来开发测试脚本。书里面详细论述了.NET平台产品的测试方法。

是不是选择这个协议“”呢?
我们公司现在的水平还是做不到自己开发测试脚本,因为就我一个人在做很多项目的测试。
目前要做这个项目的性能测试,感觉和你写的《web性能测试实战》中案例二很相似,只是用LR录制脚本、运行脚本、创建场景、运行场景,然后分析结果。

peaksoftchen 发表于 2007-9-11 13:04:29

原帖由 corrine-li 于 2007-9-11 09:13 发表 http://bbs.51testing.com/images/common/back.gif


是不是选择这个协议“32662”呢?
我们公司现在的水平还是做不到自己开发测试脚本,因为就我一个人在做很多项目的测试。
目前要做这个项目的性能测试,感觉和你写的《web性能测试实战》中案例二很相似,只 ...

你说的这个协议在8.1中可以使用,但是适用于Fram1.0,也就是.NET2003.
不知道9.0怎么样。

我说的是.NET插件。

423799223 发表于 2007-9-11 13:21:43

.NET插件大家都没有
你书上有也没用呀 呵呵
估计是不会共享的理解

RuisTar 发表于 2007-9-11 13:50:50

回复 #17 peaksoftchen 的帖子

以前就又碰到过.net2005开发的C/S模式系统,苦于LR8.1不支持Framwork2.0,所以不知道用什么协议,有办法解决吗?

corrine-li 发表于 2007-9-11 14:44:14

大家有什么好的办法呢?期待ing.
页: [1] 2 3 4 5 6
查看完整版本: 闲论LoadRunner的协议选择、Winsocket、C/S应用程序