前言:

XXX性能测试终于告一段落了,心情也轻松了许多,感觉一块大石头落地了。从先前的协助调优,到之后的天天熬性能,前前后后断断续续几个月的时间,总算媳妇熬成婆了。这么长的时间,咱不能白忙活了呀,总得把学到的想到的听到的以后可能会用到的记录下来,与天下人共享,这才叫“境界”,借用曹雪芹老先生的话“满纸荒唐言,一把辛酸泪”,当然我这份资料可是滴“不荒唐”,反倒是“粉实在粉实在”。这可是第一手资料哦,值得珍藏ing……

不过“辛酸”的的确确是真实的,现在俺只能告诉各位看官“辛酸”的滋味真滴不好受。曾经有那么一段时间,俺是真的失望了,对整个性能的失望,甚至是对自己的绝望,特打击自信滴。俺像一只没头苍蝇,天天面对着LoadRunner,AutoRunner,TestCenter不停的乱试。那时候真的都不知道自己还能做什么了,还会做什么了,曾经一度没有了方向,整个人都要垮掉了,提不起精神,觉得自己特没用,这也许是所谓的“ 挫败感”吧。不知各位看官是否有过类似的感受,如有过那咱们先握个手吧,兄弟,知己呀。如果没有,我向您致敬,您运气真好。

还好,俺这“苍蝇式的战斗精神”总算感动了上天,本以为看不到头了,没得救了,突然那么,上帝眷顾俺咧,怜悯俺咧,这么好的一个娃儿,不能让她这么废的老,让性能好起来吧,性能真的好啦O(∩_∩)O ~。哈哈,开个玩笑,It is just a story!其实主要是想告诉大家,遇到任何事情都不要回避气馁,坚持一点,再坚持一点,也许会“柳暗花明又一村”咯。当然,我们性能的优化经历了千辛万苦,与“苍蝇式的探索”和开发兄弟们的辛苦努力是分不开滴。为了纪念“苍蝇”兄弟给俺的启发,特地以此命名。

正文:

言归正转,下面把俺这段时间所学所想所感记录下来,让“苍蝇精神”永垂千古。

(一)总体统筹

1、作为性能测试,挖掘用户需求是非常重要的。

对客户来讲,他可能只需要知道这个页面我要几秒钟能看到,不能低于几秒钟,超过几秒我接受不了了。或者说我需要这个系统能支持多少用户,以后公司发展了,还需要支持更多的用户使用等等。

这个时候我们要进行需求的分析和细化,把这个几秒钟、多少个用户具体的整理归纳成性能测试所需要的东西。有效的性能测试需求分析才是整个性能测试过程中的重中之重。

2、性能需求固然重要,更重要的还要做好性能测试计划,测试计划可以说是整个项目的总指挥。

这个计划不应该是泛泛而谈,为应付而应付的东西。它不仅仅应该是测试计划,更应该是计划测试。计划测试是要让测试活起来,有生气,有内容。

经过XXX的测试,个人觉得性能测试计划好使用Excel表格,这样便于及时的记录结果、修订内容,而且看起来会非常的清晰。

3、一定要有测试用例,如果说测试计划是总指挥的话,测试用例是总指挥手中的魔法棒,它指导着用户的操作过程。

因为性能测试比较繁琐,可能需要不停的反复,因此测试用例要做到及时更新,并且必须要及时的记录一些重点的测试结果。“好脑筋不如烂笔头”,记录下来不容易忘记了,而且也能更好的做到有据可循。

众所周知,凡是有人的地方会有矛盾,会有责任的纷争和归属,如果有据可循,避免了大量麻烦。其实这种事情我想每个做测试的兄弟姐妹们都应该遇到过,尤其是功能测试的时候。系统上线啦,咱们的辛劳没人太在意,一旦系统出了问题,得啦,好日子来啦,测试是怎么做的,这种问题怎么没有测到。嗳,这个时候如果有证据说明你确实做过了,而且是没有问题的,那自然……当然,这也不能成为我们推卸责任的理由,出现问题了,还是需要积极的去面对,及时的去修正,不管是不是你的责任。

(二)细节把握

1、录制脚本前要先熟悉系统,这样才能做到“知己知彼,百战不殆”。其实不需要这么冠冕堂皇的理由,如果连系统都不熟悉,“丈二和尚摸不着头”的,谈何而来的脚本录制。

2、脚本要优化。脚本不是录制完算完事了,可以使用了,而是要根据需要进行优化,脚本分割、创建事务、参数化等等。我在实际过程中总结了下面几点:

(1)脚本删减。因为LoadRunner是模拟用户之间的通信过程的,不是所有的脚本都是必需的,事实上有些垃圾代码可能会影响性能测试结果的准确性。因此可以对脚本进行删减,只保留关键部分。删减的过程中需要注意的是如果你不确定,可以先把不需要的脚本注释掉,然后在VUGen中执行一遍,如果成功执行,这些被注释掉的脚本可以删除了。

经过实践发现,脚本中的这些地方是可以删除的:web_add_cookie函数、一些非必须的web_url函数等等,还有每个函数EXTRARES之后LAST之前的部分。或者通过Tree View视图查看,没有Server Response返回值的,或者返回值中的内容对整个脚本无关紧要的,不需要用到它的返回值来做关联或者其他操作的,都可以删掉。这是个很实用的技巧,屡试不爽。

有人可能会产生这样的困惑,哎呀,这么删来删去的,万一删错怎么办呢,还要重新录制脚本,岂不是很麻烦。不要着急,试试Regenerate Script…吧,VUGen-> Tools -> Regenerate Script…可以还原到初始脚本哦。