想着暂且跳过Controller,单使用主控去跑脚本吧,至少要先调通一次啊。结果要命的Analysis居然也开始作对了,出现在“任务管理器”中有Analysis的进程,但是没有Analysis的界面的情况。网上提问、百度谷歌无果后,再次尝试不停重装,重设配置。老天有眼,终于Virtual User Generator、Controller、Analysis都能正常使用了,出去喝一杯庆祝一下…哈哈~
最后只能重新分配虚拟机资源,将测试机变为1台主控机而解决了这个问题(后面会提一下Error : Compilation process failed怎么解决)。环境和脚本稳定后后,终于可以开始正常的压力测试了。结果发现,并发数量在一定数量后,就开始各种报错,各种timeout,查看服务器日志时,发现由于突然出现的大量并发,负载均衡未能正确合理的分配用户,导致将大量用户分配至某两台服务器上了,结果,这两台服务器就玩挂了。打电话回“大本营”,调脚本,优化,上版本,几个来回后,问题解决。之后还出现了种种问题,在不停的打电话,调优,上版本,测试后,算是圆满完成了任务。
记忆非常深刻的三周,测试软件一次次的出现问题,脚本一次次的出错,客户一次次质问(你要是知道了这些用户是谁,你肯定会觉得被他们质问是件非常不好玩的事),一次次被要求拖长时间。也经历了有史以来唯一的一次连续工作40个小时未睡觉的经历。来自个方面的压力。报告如何写。如何和客户解释等等,回来后突然感觉成长了好多,发现需要学的东西也还有好多好多。
附:
后来那个Error: Compilation process failed的问题回来后又研究了好一段时间,还是无果,后因没有环境了,就没有继续研究下去,最近在一个网友的帮助下,找出了一些解决办法:
1)远程运行java vuser协议的脚本的时候,需要安装完整的loadrunner,只安装generator不行;
2)需要在负载机上loadrunner主目录下面的classes中保存完整的目录结果;
如果import时,调用的class文件,有路径,则放到classes时,也需要对应放置
如:import org.test.JAVATest;
那么,放到D:\Program Files\HP\LoadRunner\classes下的,也要为org\test\JAVATest.class
即,完整路径为:D:\Program Files\HP\LoadRunner\classes\org\test\JAVATest.class
3)负载机中loadrunner/classes中目录中保存脚本相关的所有jar包;
4)在controller机器中的loadrunner/classes中也要保存所有的jar包,但是相关的.class文件可以不用保存;
5)一些项目使用的额外的jar包,即在Run-time Settings中,需要在Java Environment Settings-Java VM中特别指定的jar包;
6)直接放到LoadRunner安装路径下的classes目录下,是没有用的,会提示找不到类;这些jar包,需要在负载机上,相同的路径下放置;
在这位网友的尝试下,他的问题解决了,没有再报Compilation process failed的错。
【新的挑战】
自从上次出差回来后,又回到了自动化测试中,然后跳槽,进入了新的公司,然后又开始做Sap的性能测试。
经过了上一次的出差经历,回来后又好好学习了一下LoadRunner使用,并尝试通过测试结果的图表分析出系统的瓶颈。
这次是要做SAP系统下的一个登录、查询表单等功能的压力负载测试。这次做起来显然要比上一次要熟悉多了。只是还是问题不断,SAP脚本录制录制完成后,脚本无法回放,尝试关联后,关联了七八个参数,回放还是不行,最后发现加上Header才能回放成功,而Header中又有N多的加密语句,经过了长达一个月的尝试无果。最后尝试使用了TruClient协议。算是一种类似QTP的界面识别的工作原理再进行并发测试。只需要录制GUI界面操作就能完成脚本的编辑,简单是简单,但是用起来感觉很不爽,而且资源占用非常大,要不是是在脚本没办法正常使用,真不会使用这样的鸡肋协议。
附:
Loadrunner 11.5版本的TruClient的基本用法在日志中也写了。
【结束语】
性能测试这块,我一直觉的我还只是个新手,有很多地方,还在不停的摸索这,接下来会把云层的《性能测试进阶指南-LoadRunner11实战》好好研读一番。
如果哪位性能测试上的高人愿意收我为徒,必将感激不尽。
版权声明:本文出自 黑羽祭 的51Testing软件测试博客:http://www.51testing.com/?307440
原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。