LoadRunner解决并发测试问题 下载本文

LoadRunner解决并发测试问题

随着软件工程技术、软件开发方法和软件开发工具的发展,使得人们能够更加快速的开发应用,也使得软件的规模越来越大,架构越来越复杂。但随之而来的软件性能问题也越来越多。如今在软件开发与测试的过程中,性能方面的“亚健康”问题一直伴随大多数的软件产品而存在。人们往往注重一些功能上的缺陷与问题,而忽视性能上的不足。一方面可能是由于测试的时间不足,没有充分的时间进行性能测试,另一方面也有可能是测试人员在性能测试方面的技术也有所欠缺。但如果不进行性能测试,很有可能会导致系统由于性能问题最终停止使用,对企业以及客户都会带来一定的损失,所以解决软件性能问题是一项十分必要的工作,对于企业与客户都具有重要的意义。

几乎所有的性能测试都会涉及并发测试,就是当测试多个用户同时访问同一个应用程序、同一个模块或数据记录时是否存在死锁或其他性能问题。最近我们在二级工程实践中对一个网站进行测试时,就对这个并发测试产生了困扰,我们该如何对其进行并发测试,一个测试小组所有人加起来才十余人,就算大家一起同时对网站进行访问也未必会对网站造成负担,而且人工测试毕竟不会达到十分同步,大家在点击鼠标或输入数据也不会是统计时刻,这样测试并不能做到并发访问的效果。

不过这个问题也不是不能解决的,解决方案也有很多,如果忽略不同人同时操作的极短的时差,可以多找一些人来测,大家坐到一起,同时对网站的同一模块进行访问,但这样会消耗很多人力物力,每个人的时间安排不同,空余时间就会很难凑到一起,而且这样还需要有很多机器,很费财力,所以虽然是个解决方案,但不太可取。

还可以用Microsoft Web Application Stress Tool,它能有效测试一个网站的负载性能,可以通过脚本模拟上百个强并发用户的访问,并模拟实际用户的一些点击操作,还可以连接上远程Windows网站服务器的性能计数器(Performance Counter),通过对服务器性能的性能分析来找到系统瓶颈。每次测试运行结束后WAS会生成详细的报表。但对我们组的测试人员来说,相比LoadRunner,WAS之前没有人接触过,所以要学会用WAS需要一定的时间,而且它的功能也没有LoadRunner强大。

所以最后决定使用LoadRunner模拟并发虚拟用户来进行测试,选择LoadRunner,是因为一提到性能测试,大家都能想到LoadRunner证明它的知名度高,这也代表了它好用。其实主要选择LoadRunner的原因是因为,它的适用范围很广,几乎支持各种主流平台产品的性能测试。通过模拟成千上万的用户,可以很快地帮助用户确认和查找性能问题。LoadRunner的Virtual User Generator既可以执行Java开发的程序,也可以执行.NET开发的程序,更支持基础的C语言开发的程序。可以说,LoadRunner几乎支持

所有的主流开发平台。这为快速开发虚拟用户脚本提供了方便。

通过LoadRunner的Virtual User Generator,性能测试开发工程师可以模拟真正的用户行为。同时,借助参数化等功能可以实现并发用户的不同行为,进而在Controller中借助结合点来实现真正意义上的并发。LoadRunner对服务器的操作是真正进行的,因而压力也是真实的。

LoadRunner拥有强大的实时监控及测试数据采集功能。通过实时监控场景运行状态,测试人员可以把握测试进展,并及时发现问题。在测试结束后,LoadRunner可以通过汇总全部测试结果,快速找到性能问题。尤其是LoadRunner的Web页面分解功能,可以详细地了解每个元素的下载情况,进而找出问题所在。所以基于以上这些特点,决定选择LoadRunner来进行并发测试。

具体解决方案打算通过使用以下四个步骤完成LoadRunner的性能测试:

1、Virtual User Generator创建脚本(创建脚本、选择协议,录制脚本,编辑脚本,检查修改脚本是否有误)。

启动Virtual User Generator后,通过菜单新建一个用户脚本,选择系统通讯的协议。因为是测试Web应用,所以选择Web(HTTP/HTML)协议+SQL SERVER协议,确定后,进入主窗体。通过菜单来启动录制脚本的命令。在URL中添加我们测试的Web的站点地址,并选择要把录制的脚本放到默认情况下的“Action”,开始录制脚本。

2、中央控制器(Controller)来调度虚拟用户(创建Scenario、选择脚本,设置机器虚拟用户数,设置Schedule,如果模拟多机测试,设置Ip Spoofer)。

3、运行脚本(分析Scenario)。

4、分析测试结果。脚本执行完毕后,LoadRunner会自动分析结果,生成分析结果图或表。