LoadRunner在软件性能测试中的应用与研究

2018-10-16 01:29郭旭敏王小厅
太原学院学报(自然科学版) 2018年3期
关键词:用户数单点脚本

郭旭敏,王小厅

(1.山西青年职业学院,山西 太原 030032;2. 太原清众鑫科技有限公司,山西 太原 030006)

引言

随着信息化的建设,软件在各行各业愈显重要,软件的规模也越来越大,架构越来越复杂,导致软件的质量得不到保障,给软件开发单位和用户带来很大的损失。软件测试是保证软件质量的重要手段,软件测试包括功能测试和性能测试,功能测试主要依据设计方案测试软件能否满足设计需求,而性能测试主要指压力测试,目的是发现系统存在的性能瓶颈从而进行优化[1]。LoadRunner是软件性能测试领域中常使用的一款软件,它可以模拟多个用户来对软件进行压力测试。

1 性能测试的方案

性能测试是在软件开发已经完成且通过了单元测试和集成测试之后,通过选取一些常用的操作和可能会对系统产生重大压力的操作来作为测试用例,通过性能测试来判断系统是否满足用户的非功能性需求,从而保证软件的质量[2]。

性能测试通常由第三方专业的软件测试机构来执行,并出具软件测试报告。因此,在设计性能测试方案之前需要仔细查看开发方提供的软件需求规格说明书来确定测试方案,测试方案中通常包括测试的范围和对象、测试的方法和步骤、测试环境、工作量和进度、风险分析和输出结果等。

1.1 测试指标

系统实施性能测试的目的:第一,查看系统在一定负载的情况下能否达到系统设计的要求;第二,通过在一定负载下观测系统运行指标分析系统可能出现的性能瓶颈,从而对系统进行优化。本次性能测试主要关注的指标有[3]:

响应时间:指在给定并发用户数下,从客户端发出请求到得到服务器的响应的整个过程的平均时间。并发用户数是指同一时刻与服务器同时进行交互的用户的数量,在测评过程中通常使用模拟用户。

每秒事务处理量(TPS):用来描述系统处理性能的指标,指每秒中待测系统能够处理的事务的数量。

吞吐率(ThroughPut):在指定并发用户数下,单位时间内网络中所传输的数据量或者单位时间内系统能够处理的客户端请求的数量。吞吐率是衡量系统网络性能的重要指标。

资源消耗情况:在给定的并发用户数下,服务器的CPU、内存和硬盘等资源的消耗情况。

1.2 测试方法

1.2.1测试工具

软件性能测试的工具主要有LoadRunner、JMeter、WAS、SilkPerformer、QALoad和WebLoad等。LoadRunner是由惠普公司开发的,虽然操作较复杂和自动性较其他工具稍差,但其能够真实地模拟系统的生产环境和用户的操作场景,因此其广泛地应用于工业上。本文性能测试使用的工具是LoadRunner。

LoadRunner是一款能够预测系统行为和性能的负载测试工具。其原理是利用内部的VU Generator所产生的上千万用户来模拟实施并发负载和实时系统性能监测的方式来确认和查找系统中所存在的问题,LoadRunner能够对整个系统架构进行测试[4]。LoadRunner支持主流的开发平台(如.NET和Java)和大量的协议标准(如Web Service、XML、SOAP、WAP、oracle NCA、HTTP、HTML、Streaming),因此LoadRunner被广泛地应用于工业中进行软件负载测试。通过LoadRunner工具,可以最大限度地缩短系统性能测试时间,优化系统的性能,加速应用系统的发布周期。

1.2.2测试流程

LoadRunner对软件进行性能测试时通常由计划、创建脚本、定义场景、执行场景和分析结果五个步骤组成[5]。

计划:根据系统设计定义性能测试所需的并发用户数量、业务流程和每个操作的响应时间等。

创建脚本:把用户的操作捕捉到脚本。

定义场景:利用LoadRunner Controller设置性能测试的环境。

执行场景:利用LoadRunner Controller驱动、监控和管理测试。

分析结果:利用LoadRunner Analysis创建结果图和报告,并评估系统的性能。

2 测试案例

本次测试依据GB/T 25000.51-2016《系统与软件工程系统与软件质量要求和评价(SQuaRE)第51部分就绪可用软件产品(RUSP)的质量要求和测试细则》,从安全、可靠、稳定的角度出发验证被测系统的性能[6]。

2.1 系统概述

本次待测软件是客户信息管理系统软件,本样品软件是一个简化的“客户信息管理系统”,仅包含一个“客户管理”模块,涉及“系统登录”、“创建客户”、“信息删除”和“信息查询”四个功能点。

2.2 测试目标

待测系统部署在阿里云上,测试环境包括两台服务器(一台应用服务器和一台数据库服务器)和一台测试机。

样品软件是采用 JAVA 开发的 B/S 系统,测试环境如下:

2.2.1应用服务器

硬件配置:Intel Xeon Gold 6149 3.10G/4G/40G

操作系统:Windows Server 2012 R2 Datacenter

此外,法国鼓励学校利用当地资源开展活动。学校可以通过与文化机构结成“姊妹合作单位”,通过签署协议的方式设立地方教育计划。学生的部分艺术与文化教育活动可安排在相关文化机构中开展。

浏览器:IE 11.0

中间件:Tomcat 9.0

2.2.2数据库服务器

硬件配置:Intel Xeon Gold 6149 3.10G/4G/40G

操作系统:Windows Server 2012 R2 Datacenter

浏览器:IE 11.0

数据库:MySQL 5.5

2.2.3测试机

操作系统: Windows Server 2008 R2 Enterprise

浏览器: IE 9.0

2.3 测试需求

样品软件应用于局域网环境,并要满足以下性能效率要求:

1)主要功能的单点操作在 2 秒钟内完成;

2)系统支持 50 用户并发,响应时间在 5 秒以内;

3)在 20%用户处于系统登录, 20%用户处于创建客户, 20%用户处于信息删除,40%用户处于信息查询状态下,系统 50 用户在线的吞吐率(TPS)应达到30 事务/秒。

2.4 场景及脚本设计

待测系统需要从登录、创建用户、查询用户和删除用户四个方面对系统进行测试。限于篇幅,以下单点操作和并发操作仅以创建用户为例。

2.4.1单点操作

脚本设计:在打开网站首页后进行登录,登录成功后进行创建操作,录制测试脚本单点操作-创建;

场景设计:运行测试脚本,运行单点操作创建;设计迭代次数一次;忽略思考时间;加载用户数为1;运行时间持续20分钟;监控单点操作-创建事务平均响应时间。

结果记录如图1所示。

图1 创建用户单点操作

2.4.2并发操作

脚本设计:在打开网站首页后进行登录,登陆成功后进行创建操作,录制测试脚本并发创建。

场景设计:运行测试脚本,运行并发创建;设计迭代次数一次;忽略思考时间;加载用户数为50;运行时间持续20分钟监控并发创建事务平均响应时间。

并发操作结果记录如图2所示。

图2 创建用户并发操作

2.4.3在线用户吞吐率

脚本设计:在打开网站首页后分别进行登录、创建、查询和删除操作,分别录制测试脚本登录、创建、查询、删除,在测试点前后插入事务,分别是登录、创建、查询、删除。

场景设计:同时运行测试脚本登录、创建、查询、删除;设计迭代次数一次;忽略思考时间;加载用户数为50,用户比例为20%、20%、40%、20%;运行时间持续20分钟;监控总事务数。

在线用户吞吐率如图3所示。

图3 在线用户吞吐率

3 总结

此次测试用户操作流程简单,并未对服务器造成高负载,从各功能点在单点操作测试结果可以得出,单用户在持续运行20分钟后得到测试结果(平均事务响应时间)均满足指标要求,都小于2s,并且在测试过程中平均事务响应时间浮动较小,系统运行平稳。在50用户并发持续运行20分钟后得到测试结果(平均事务响应时间)均满足指标要求,都小于5s。TPS测试中,测试的每秒事务数达到30个,符合测评需求中对性能指标的要求。

猜你喜欢
用户数单点脚本
酒驾
安奇奇与小cool 龙(第二回)
我国IPTV总用户数3.07亿户,同比增长6.7%
历元间载波相位差分的GPS/BDS精密单点测速算法
快乐假期
小编的新年愿望
数字电视地面传输用单频网与单点发射的效果比较
企业信息门户单点登录方案设计
前后向平滑算法在精密单点定位/ INS 紧组合数据后处理中的应用
支付宝用户数达到两亿