基于LoadRunner实现网站负载自动化测试
2019-09-10刘俊波
摘 要:网站的有效负载,是网站性能的一项重要指标,也是软件质量的一个重要影响因素,相对于人工测试方式,自动化测试方式更加合理,能够通过模拟用户操作、不断加压的方式获取网站的有效负载,从而推测出现有资源情况下,网站所能提供的最大负载。本文充分利用自动化测试工具LoadRunner,大量模拟用户访问网站页面操作,对学习培训系统进行了负载测试。根据获取的测试结果,初步评估该系统的性能瓶颈,并针对此瓶颈提出改善系统性能的建议。
关键词:LoadRunner;负载测试;软件测试
中图分类号:TP393.092 文献标识码:A 文章编号:2096-4706(2019)15-0012-03
Realization of Web Load Automation Test Based on LoadRunner
LIU Junbo
(Open Laboratory of Air Traffic Control Software Development and Application,Middle-South China Air Traffic Management Bureau,Guangzhou 510403,China)
Abstract:The payload of a website is an important indicator of website performance and an important factor in software quality. Compared with the manual test method,the automated test method is more reasonable,and it can obtain the website through simulated user operation and constant pressure. The payload,which infers the maximum load that the site can provide in the presence of resources. This article makes full use of the automated test tool LoadRunner,a large number of simulated user access to the website page operations,load testing of the learning training system. And based on the obtained test results,the performance bottleneck of the system is initially evaluated,and suggestions for improving system performance are proposed for this bottleneck.
Keywords:LoadRunner;load test;software test
0 引 言
随着网络技术的日新月异以及网站用户的不断增长,对Web应用系统的性能要求也越来越高。网站负载测试是评价网站性能的重要手段,是为了测试Web应用系统在某一场景下的性能,通过承压测试,真实地反映出网站的有效负载,从而提供网站资源需求的参考依据。
1 相关概念
软件测试涉及软件开发的各个阶段,需要针对软件的各个功能的规格说明,设计出对应的一批测试用例。再选取最佳的測试方法来进行软件测试,从而最大程度地发现软件缺陷,保证软件的质量。而负载测试仅是软件测试的一个环节,通过该环节,可以直观地检测出软件系统的承压能力。
1.1 测试方法
软件测试贯穿于软件开发的整个过程,在软件研发的不同阶段,需要根据具体情况,选取不同的测试方法。软件开发的前期,采用静态测试方法,只针对源代码进行分析;软件开发后期,采用动态测试,设计测试用例,依据用例进行软件测试,从而判定执行结果是否符合预期,对程序的正确性、可靠性和有效性进行核验。
1.2 测试流程
测试流程需遵循软件工程中所明确的软件测试规范。
(1)制定详细的测试计划:包括测试目标、测试资源、测试进度、测试工具等。
(2)测试对象分析:通过分析测试系统,了解其应用场景,从而设计其极限压力值。
(3)编写测试案例:通过前期分析,针对系统中的各个功能模块,编写相应的测试案例。测试人员严格按此执行。
(4)搭建测试环境:所搭建的测试环境,需与系统正式运行环境尽量保持一致。
(5)系统测试:按照测试案例,对系统进行压力测试。
(6)测试结果分析:在压力测试完成之后,汇总测试所得的数据,编写测试报告,尽量以表格、图形等形式进行描述,并对测试结果进行深入分析,查找出系统的瓶颈所在,提出系统的改进意见。
1.3 测试工具
LoadRunner是一套专业测试工具,能够预测系统行为,并优化系统性能。通过模拟大量用户实时并发的场景,辅以实时性能监视来确认和查找问题。主要包含了三大组件:虚拟用户生成器、控制器、结果分析器。
2 案例分析
2.1 测试环境
2.1.1 软件环境
Web服务器软件:Windows Server 2003(+SP1)简体中文版 IIS 6.0或以上版本、NET Framework 2.0。
数据库服务器软件:Microsoft SQL Server 2005企业版。
2.1.2 硬件环境
服务器:Dell R910一台。
存储:Dell EqualLogic PS6000E一台。
2.2 测试方案
2.2.1 非视频类测试
模拟用户行为:
(1)打开首页,用域账号进行登录。
(2)“在线课程”中,点击学习“863空管项目”课程,在弹出的课件选取页面中选择某一课件进行学习,学习时长设置为2分钟。
(3)达到学习时长后,点击“结束学习”,查看学习记录。
(4)退出系统。
录制上述行为,模拟不同的并发用户数量:200、300、500、600、700、800、900,对系统持续加压。
2.2.2 视频类测试
模拟用户行为:
(1)打开首页,用域账号进行登录。
(2)进行一次课程查询操作。
(3)“在线课程”中,点击学习“外网VPN学习”课程,在弹出的窗口中选择“计算机网络”课件(流媒体课件)进行学习,学习时长设置为5分钟。
(4)达到学习时长后,点击“结束学习”,查看学习记录。
(5)退出系统。
录制上述行为,模拟不同的并发用户数量:20、30、40、50、60、70,对系统持续加压。
2.3 测试结果
2.3.1 参数说明
模拟用户:通过LoadRunner虚拟出多用户访问Web网站。
事务响应时间(s):从登录系统开始,直至退出系统为止,定义为一个事务,记录事务执行所需要的时间。
每秒点击数(次):每秒内,由虚拟用户向Web服务器提交的HTTP请求数。
每秒HTTP响应数:每秒内,由Web服务器响应返回的HTTP状态代码数。
连接数:测试过程中打开的TCP/IP连接数。
2.3.2 非视频类测试结果
如图1所示,当访问量达到500人次时,未出现访问失败的情况,此时系统运行稳定;随着访问量的增加,访问失败的数值也相应增加,当访问量达到800人次时,成功访问量处于峰值,将近700人次。当大于800人次时,成功访问量急剧减少。即系统的有效负载量为500人次,最大负载量为700人次。
当访问量达到800人次时,服务器CPU占用在88%左右,物理内存剩余200MB,此时的网络吞吐量维持在3MB/s(发送)、500KB/s(接收);此时,用户对于挂载的存放课件分区(atmb-learning-courseware)的访问量较存放数据库mdf文件以及log文件分区的访问量明显增多;对SQL Server的访问多以查询操作为主。
2.3.3 视频类测试结果
如图2所示,当访问量逐渐达到50人次时,未出现访问失败的情况;随着访问量的增加,访问失败的数值也相应增加,当访问量接近60人次时,成功访问量处于峰值,将近55人次。当访问量大于60人次时,成功访问量急剧减少。即系统的有效负载量为50人次,最大负载量为55人次。
当访问量达到60人次时,CPU占用在27%左右,物理内存剩余176MB,此时的网络吞吐量维持在4MB/s(发送)、170KB/s(接收);此时,用户对于挂载的存放课件分区(atmb-learning-courseware)的访问量较存放数据库mdf文件以及log文件分区的访问量明显增多;对SQL Server的访问多以查询操作为主。
2.3.4 测试结论
通过结合视频类、非视频类测试结果,发现当访问量达到峰值时,服务器内存消耗较大,只剩余200MB左右的内存容量;此时,CPU、网络、SQL Server连接均正常;IIS连接波动较明显;当系统访问人数超过峰值时,访问成功数迅速下降,因此建议如下:
(1)适当增加服务器的内存,以缓解内存资源不足的问题。
(2)单个IIS可承载连接数有限,可采用负载均衡技术,搭建负载均衡群集,由群集多个节点共同分担负载。
3 结 论
网站负载测试,是为了測量网站在特定场景下的极限性能,从而保证网站在各种情况下均能够正常工作。单纯地依靠手工来进行测试,是无法获取到准确测试数据的。必须结合强大的自动化测试工具。在实际的测试环境中,可以通过其模拟实际用户的操作、不断向系统加压的方式来获取监控数据。通过分析所得数据,找出系统瓶颈。从而为系统的功能扩展、性能提升提供依据。
参考文献:
[1] 朱少明.软件测试方法和技术 [M].北京:清华大学出版社,2005.
[2] 李东昱,苗放.LoadRunner在Web应用程序性能测试中的应用 [J].软件导刊,2007(19):49-51.
[3] 丁秀兰.Web测试中性能测试工具的研究与应用 [D].太原:太原理工大学,2008.
[4] 陈小辉.Web性能测试技术的研究与实践 [D].上海:华东师范大学,2010.
作者简介:刘俊波(1983-),男,汉族,湖南益阳人,研发人员,主任工程师,硕士研究生,研究方向:民航空管应用软件。