来这里之前,在中国外汇交易中心做过一段时间软件外包工作,无意中发现其他外包公司的专业的性能测试团队工作中遇到的问题如下:

(1)用户对性能测试团队的测试结果的质疑:为什么你的测试结果中300个用户的并发反而比100个用户的并发的响应时间少这么多?

(2)你的另外一个脚本在场景中运行的时候,为什么总是显示红色Error信息?但是无论如何这个专业的性能测试团队都不能把脚本成功的调试运行通过?

-----那天,外汇中心的年长者(看样子应该是外汇中心的一个负责人)在对这二个专业的性能测试团队的成员在火气很大的发飙。


关于第一种情况:有可能是在300个用户并发访问的时候,事务已经失败了,但是loadrunner测试工具并不知道事务已经失败了,举例:假如一个Web系统,在大量的用户的访问情况下,系统提示“系统繁忙,请稍后”,但是Loadrunner测试工具中只要返回的http200的代码,Loadrunner就认为正常,其实系统此时已经不正常了。这个时候就要Loadrunner中手工写事务了。


关于第二种情况:我当时看了一下对方的测试情况:外汇中心的交易系统是用java写的C/S结构的程序(外汇中心的所有系统无论是C/S结构还是BS结构都是基于java开发的,基本上没有用微软的开发平台去开发的),测试人员用的是Loadrunner中的socket协议的。

socket协议是loadrunner中最底层的协议,在用其他协议都不行的情况下,一般才考虑使用socket协议。


但是socket协议经常录制的是send数据包,和receive数据包,也就是说数据库相关层面的东西经常录制不到,在这点上我以前深受其害。因为我以前在其他他地方用过loadrunenr测试过C#开发的Winform程序。后来打上HP的最新补丁(因为微软的发展速度太快了,HP后来的补丁才执行微软的frameworks3.5),采用Win.NET协议。


但是在录制向数据库中写入大量记录的时候,insert into  tables values(-------)的时候,系统会报错,此时要用一个变量去替换values后面的主键的字段。然后脚本调试通过,并且在负载的场景下通过C#写的Winform程序UI层向数据库中写入大量的订单记录,证明采用这样的测试方法是可行的。OK

老金