对于性能测试,很多人不以为然!
自然我们有时候也把会性能测试==会使用LoadRunner。
诚然会使用LoadRunner是不错的,但性能测试不同我们常说的功能测试、界面测试。对于这类测试我们总可以直接找出软件的BUG,只要你有足够的耐心,细心!反复的错误。
软件的错误总是会“大白于天下”!
而性能测试则不样,在常规的性能测试时候,你需要大量的并发数的时候,你不太可能一下子操作10台PC,LR自然也是上佳的选择!
当你成功的使用LR录制脚本,然后调优,再然后成功的回放!这时候我想你的心情一定是很愉悦的!然后,LR的分析结果也出来了,你发现其中大部分好像超标,且有几个fail的事务和一堆不太明白的数据!
问题:真的是软件自身的问题?还是网络瓶颈、参数设置、硬件性能、脚本?
我之前做过性能测试分析,但事实上用LR并不是很多,在这分享一下自己的经验,权当抛砖引玉。希望过来捧场的朋友也跟我们分享自己的遇到一些性能测试的问题或是自己针对性能测试的一些经验、解决问题的途径&技巧
1)性能测试的关键,在进行任何一个性能测试前,一定要明确性能测试的目标,写好测试策略!
如并发数,如何加压?【10minute,30.......】,这部分是场景设计的基石!
2)关于集合点,设置集合点可以大限度的量测系统的性能指标!
但有时候,真实的场景并非如此,所以如果性能指标的要求比较苛刻的,可以考虑加入集合点!一般常规的性能测试,可以考虑不要加集合点了!
3)执行事务时间,一般后不要超过5秒,3秒之内合适,超过了5秒,你可以打开网页细分图,确定时间只要
是花费在哪?network time?server time?还是那个组件太大了?另外脚本录制的时候,事务要定义清楚,不要把不相关的操作也录制在事务里面!
4)在进行场景测试时候,一般测一个用户的情况,不要加压,然后再增加并发数......
这样的话,出了事情,也知道孰是孰非?
5)不要轻易的下结论,针对运用排除法进行分析
下面我说一下我曾经遇到过的case:
1、使用LR测试一个网上调查系统【ASP+IIS】
2、我用LR录制这个调查的过程,并用户名和密码参数化,地方名参数化
3、录制完结束,回放OK
4、场景测试:10个并发测试,Duration:run until complete,测试ok
5、但加压20Minute时候,出问题!Duration:20
fail的事务数比较,且是这样用户每迭代的时候,提示error:requested form not found
6、后来经过排查,发现是脚本的问题。
那各位认为可能是脚本那出问题了呢?知道的话,告诉大家一下,不知道的话,问我好了?