云淡风轻,静下心来,倾听内心的声音。测试圈的朋友们,欢迎加入测试杂谈QQ群:77358592。

我的LoadRunner使用经历【原创】

上一篇 / 下一篇  2013-11-04 15:13:58 / 个人分类:软件测试

本文最先刊载于《51测试天地》第三十一期电子杂志,此处节选。

有这样一件事情一直记忆犹新,刚入行时,通过LoadRunner实现了性能测试,过程之艰辛非三言两语能概述。

  那时,公司急于推销一款产品,网页版的即时通讯系统,类似于现在的WebQQ。公司Boss侃侃而谈,把产品的优点如数家珍般的对客户描绘了一遍。可是,在当客户询问Boss,你们产品的性能如何时,我们心里顿时咯噔一下,心想完了,Boss也面露难色,杯具了。由于当时仅对产品的功能和兼容性做了全面的测试,性能测试压根就没做过。面对精明的客户,公司也拿不出数据说服他们。最后,这单生意不出意外的泡汤了。领导当时触动很大,把测试召集起来,表情凝重,语重心长地说,生意谈不成,没关系,我们还有下次机会,关键是拿不出客户想要的东西。先前测试主要测功能,性能测试是我们的弱项,说明我们还有提高的空间,如果能把性能测试做好,一方面自己的能力也提高了,另一方面公司也能给客户提供有力的数据,说服他们买我们的产品。大家下去后好好往这方面努力吧。
  带着Boss殷切的希望,测试负责人安排了我开展针对公司产品性能测试的探索和研究。有幸搞性能测试,可能领导也是觉得我平时工作比较踏实,比较勤奋,内心自然充满了无限感激。可是,性能测试是神马玩意,用什么测,怎么测,测到什么程度,还真是一头雾水。那就用最土最笨的方法,上网搜,泡论坛。

……………………

查看全文请点击下载:http://www.51testing.com/html/88/n-853288.html

  性能测试前的准备工作,前后花了将近一个月的时间,包括了解系统的架构,学习性能测试的理论知识,以及LoadRunner工具的使用等方面的内容。这一月,周例会是最难熬的,领导总是很关心的问,怎么样了,有进展吗,而我好像没什么可说的,也没什么实质性的进步,压力山大啊。这之后,有了一定积累后,就想把LoadRunner用在实际的项目中。
  真是说起来容易做起来难。录制了一个模拟用户登入登出的脚本。经过修改后,脚本可以回放,但是数据库的表中却查不到登出的用户。奇怪啊,明明回放成功了?!后来和MSN群友一起分析,我们一致认为是表面上成功了,实际上账号并没有成功登入系统。这个结论也得到了研发同事的认可。可是为什么会出这样的问题呢?经过查找,发现问题似乎出在了协议选择上。录制的时候只选用了Web(HTTP/HTML)协议,而实际上系统的实现不仅用到了Web协议,也用到了WindowsSockets协议。心中窃喜,以为找到了问题的答案,迫不及待的录制了多协议脚本,结果回放依然失败。真是希望越大,失望越大。怎么办?这个问题郁闷了好几天。
周例会的时候,做为重点问题,研发和测试都在讨论。不知谁冒出了一句,会不会是因为密码做了SHA1加密后导致的问题?对啊,我怎么没想到啊。于是和开发一起分析了脚本,发现脚本回放时,提交了上一次经过加密后的密文,而此时服务器端已经生成了新的密文,两端密文不一致,使得验证失败,自然登入失败。此时,才真正有种豁然开朗的感觉,同时也说明理解系统的工作方式对性能测试而言是多么重要。找到了症结后,解决方法就简单了,做一个加密算法的Dll文件,并在脚本中调用。
  方法虽然简单,但操作起来还是出问题了。脚本加载了Dll文件后,然后通过加密接口对密码和随机数序列做加密运算,发现每次的结果依然不变。头大了,怎么可能呢,当时甚至怀疑起自己智商有问题。最后,多亏了群友的鼓励,是不是哪儿用错了?
  我反复的查看脚本的每一句,这才发现每次加密用到的随机数居然是一样的。问题就来了,随机数是服务器返回的,不一样才对啊!后来把书里的相关的内容又仔仔细细的看了一遍,终于找到了问题的解决方法,为了保证脚本回放时能够动态的获取到这个随机数,需要做"关联"操作。果然,做了"关联"以后,返回值正确了,感觉又前进了一步。

……………………

查看全文请点击下载:http://www.51testing.com/html/88/n-853288.html

  在对系统做压力测试的时候,LoadRunner提示没有足够的虚拟用户分配给这个新的参数?这又是神马问题啊?百思不得其解。只能重新录制,修改脚本。像平时电脑崩溃了以后,重启电脑一样。这次居然误打误撞地解决了问题。原来,LoadRunner中在对用户名和密码或其他数据参数化了以后,不能删除参数,重新参数化,否则就会出现问题。
  以后的测试过程就顺利了。先设计测试场景,然后录制脚本,修改脚本,运行脚本,生产结果报告,分析结果数据。再后来,Boss与客户谈的时候,就底气很足地说,我们用LoadRunner对系统做性能测试,并骄傲地展示LoadRunner自动生成的测试报告。虽然有些图表还不知道什么意思,但在当时看来,公司在性能自动化的测试上边确实进步了不少。而这就是两个多月辛苦付出的回报。
......

TAG:

mcy16的个人空间 引用 删除 mcy16   /   2013-12-11 10:38:39
5
利勇lmm的个人空间 引用 删除 利勇lmm   /   2013-11-14 18:08:45
我现在一个人在公司学loadrunner,出现我问我上论坛找答案,有时候几天都没有人鸟我,好不容易改好了,结果还是失败了,实在打击超大,又没有同事一起探索,头大啊,楼主求指导!
利勇lmm的个人空间 引用 删除 利勇lmm   /   2013-11-07 16:57:41
昨天主管叫我去学习loadrunner,今天简单的录制和回放脚本,但是回放的时候报错了(HTTP Status-Code=500 (Internal Server Error)),在网上找的答案解决不了,公司就我一个人在学,纠结啊,不知道楼主有没有解决方法的,求搭救了,感激不尽,谢谢!
引用 删除 wc3918   /   2013-11-07 15:43:35
 

评分:0

我来说两句

jifang

jifang

一滴水中看世界,半瓣花上品人生。

日历

« 2024-02-08  
    123
45678910
11121314151617
18192021222324
2526272829  

数据统计

  • 访问量: 8680
  • 日志数: 16777215
  • 建立时间: 2007-04-12
  • 更新时间: 2013-11-04

RSS订阅

Open Toolbar