lsekfe 发表于 2016-5-6 14:19:02

【转】记一次性能测试过程

作者:luming
去年的时候,一个项目经理生小孩,公司待遇不好新人都跑光了,老人手里都一堆的项目忙不开,实在没有人了,最后找我接手了此项目.
    去年下半年,就和一个开发一样,写代码,见客户,现场实施维护,做需求.测试的工作几乎都放下了.
    当然了,公司测试方面有事情,还是需要找我们测试处理的.
    上周五下午,突然说要测试一个项目,还说老总很重视,周一就要结果.
    这个事情本来和我无关,是我们集团的另外一个G子公司负责的,他们主要开发硬件,对软件不了解,所以最后这个活儿还是需要我来做.
    东西不很麻烦,就是测试一个webservice接口的性能,开发人员是我们的部门副经理L,他主管研发中心技术方面的工作,我开发方面有问题,也经常询问他.我原先测试过类似的接口,所以觉得这个应该不算麻烦.
    接口说明文件给我了,客户的要求很简单,50并发3秒内就可以,那就测试吧.
    但是实际做的不算很顺利,本来想在G公司的的机器上安装一个lr,用他们的机器测试,但是lr怎么都安装不上,换了win7/win8/虚拟机都不行.最后没有办法,用我的笔记本测试.因为我们子公司公司要求网络物理隔离,所以网管不给我开通网络,最后没有办法使用他们的wifi走无线进行测试.
    开始测试的时候,文档写的是https接口,但是我访问网址没有wsdl内容,去问L,L说https的不行,我给你http的吧,http访问就没有问题了.这个时候已经下午4点了,我还以为周六周日要加班,问他们的经理说加班能打车不,她既然说不是有公交吗.我当时就想骂人了,外面零下20多度,我个人义务给你们帮忙,打个车都不行(公司很偏,公交半小时一趟,有两次都是等车太冷,最后我都打车走的).好在后来他们的研发副总说,接口测试需要调第三方的接口,那个需要花钱的,所以尽量少测试.
    那就好办了,原先按照测试的要求,需要慢慢持续压的,但是要求少测试,那就50并发一次完事.这样加了会班,晚上7点弄完了,大概只用了200多次接口调用吧,基本符合客户要求.写测试报告,给一圈领导检查,没问题了,回家,耶~~.
    事情这么简单结束,我就不用写这么多了.这件事情我们老总还是很重视的,一直督促着,客户那边也有测试,突然告诉我说,客户那边的测试结果很糟糕,根本不满足需要.
    既然事情是我做的,所以最后还得是我来处理.
    客户给我们的邮件有错误说明,但是我既然看不懂,最后和客户建了一个QQ**流了一下,发现他们用的是java vuser.我知道lr可以使用java和vb,但是第一次看到真的有人用java写lr脚本.有交流就好办了,两方把lr测试脚本交换,大家都用对方的测试,果然我这边测试也出现了同样的问题.
    其实出现问题的原因很简单,他们使用的https的网址,我使用http的.我问了我们的部门经理,到底使用http还是https的,结果他告诉我必须使用https的,因为客户就是这么要求的,那么当时测试的时候怎么不告诉我啊.
    lr的c风格的vuser测试https还是比较简单的,感觉lr直接调用了系统的证书;客户那边的java vuser就很麻烦,必须进行证书转换,好在有baidu,还是能搞定的.
    测试过程也总出问题,lr不能使用线程压,一用线程就组件错误,只能用进程压,但是进程方式vuser就经常会崩掉,在网上找了很多的内容,改了一堆的参数都没有解决.其实这样也是很正常的,进程方式,比如我用50并发,就是50个mmdv.exe,一个大概3~5%cpu,5~15M内存,我的笔记本烂的很,还是酷睿2,一跑cpu就瞬间100%,应该使用多台机器做负载,但是我嫌麻烦懒得弄,就这么坚持测了.最后的解决方法就是出错就手动继续run进程,反正就是保持50在线并发,磕磕绊绊的过来了.
    L还总在质疑测试方法是否对,lr是否有问题,说他用程序写测试没有问题.我最后告诉L,所有的测试人员都是这么测试的,即使我说测试通过了,客户那边使用同样的方法测试,结果还是不会通过的.
    反正最后测试的结果,我们调用的第三方接口速度就很慢,结果给了客户,那边也没有说什么,继续怎么样就不清楚了.
    其实从测试过程说,一个很简单的接口,lr的代码不超过20行,但是周围一大堆的问题很难处理,比如网络总坏,客户那边还总在催,开发人员还不信任测试结果.一个很简单的东西,弄的麻烦死了.
    年前应该没什么事情了,年后总觉得这件事情还会继续.

luming 发表于 2016-5-6 19:29:23

原先是我写的啊,这两天还做做后续的测试.
公司上了负载平衡,找的硬件公司做技术支持,这两天我就负责给服务器加压.
当然了,过程还是很多的问题,昨天的测试结果很糟糕,单线程就10多秒,一堆人检查都不知道问题在哪里,后来才发现数据库一直在倒数据,数据库忙,所以测试结果不好.
今天也一样,开发人员有一个机器总是很慢,但是我这里测试速度比较快,后来找了L,他说是jdk版本的事情,1.5版本有问题,换成1.7就可以了.
后来的结果就正常了,下午的时候,负载厂家的技术人员回去了,等正式上线的时候,还需要测试.
看书上都说lr测试怎么怎么样,但实际测试过程中,真的很难预料到会发生什么.
比如今天我60并发没有问题,但是20并发的时候,又出现了进程崩溃的事情,最后还是放弃了,就这样吧.

佐夜羽翼 发表于 2016-5-18 11:30:11

luming 发表于 2016-5-6 19:29
原先是我写的啊,这两天还做做后续的测试.
公司上了负载平衡,找的硬件公司做技术支持,这两天我就负责给服务 ...

你好,我想自学性能测试,但是买的《精通软件性能测试与LoadRunner最佳实战》这本书,看了一半,一直觉得书上再讲LoadRunner上面各功能点的使用方法,看到后面越来越看不懂了。我不是软件专业出身,但是现在做了3年的功能测试,想要往性能测试的方面转,应该要怎么学习呢?协议方面的东西,我也都不是很懂
请问有没有什么书是能推荐的吗?

Worley 发表于 2016-5-30 11:27:25

luming 发表于 2016-5-6 19:29
原先是我写的啊,这两天还做做后续的测试.
公司上了负载平衡,找的硬件公司做技术支持,这两天我就负责给服务 ...

书上也无法预料实际操作情况 我最近也在自学lr11但挺没有头绪的

laoguofei 发表于 2016-6-13 11:23:55

luming 发表于 2016-5-6 19:29
原先是我写的啊,这两天还做做后续的测试.
公司上了负载平衡,找的硬件公司做技术支持,这两天我就负责给服务 ...

我们公司也有个系统原先地址是HTTPS的,每次用LR录脚本浏览器都崩溃停了,但是录制其他的HTTP网址的系统都没有问题,我让开发配置了个HTTP还是崩溃,百度很多方法都试过还是没有解决,我最后用的火狐浏览器录的脚本,想问下这种脚本情况下测试出来的结果可靠吗?

luming 发表于 2016-6-13 13:28:51

laoguofei 发表于 2016-6-13 11:23
我们公司也有个系统原先地址是HTTPS的,每次用LR录脚本浏览器都崩溃停了,但是录制其他的HTTP网址的系统 ...

lr的运行机制和浏览器无关。lr更关注的是请求和响应信息。
应该没有影响。
页: [1]
查看完整版本: 【转】记一次性能测试过程