基于Web 2.0的系统性能测试技术研究

2016-07-25 02:15宋士涛张佳佳刘文杰
山东开放大学学报 2016年3期
关键词:用户数性能指标性能

宋士涛,张佳佳,张 燕,刘文杰

(国家网络软件产品质量监督检验中心(济南)、山东省软件产品质量监督检验中心,山东 济南 250014)



基于Web 2.0的系统性能测试技术研究

宋士涛,张佳佳,张燕,刘文杰

(国家网络软件产品质量监督检验中心(济南)、山东省软件产品质量监督检验中心,山东济南 250014)

摘要:在分析Web性能测试模型WPTM (Web Performance Testing Model)的基础上,参考软件测试V模型和W模型,提出了一种性能测试PV模型(Performance V Model)。增加了用户思考时间、请求放弃率等用户特征,与其它性能指标结合,综合评价系统性能。该模型引入了项目管理,对性能测试各阶段进行明确规定,并评审以保证质量。测试结果表明,该模型能够客观、准确地评价被测软件的性能。

关键词:性能测试;Web 2.0系统;性能测试模型;WPTM

Web应用系统已经成为目前应用软件的主流,特别是随着Web 2.0时代的到来,基于Web 2.0的系统以其交互性、广泛性、易用性和快捷性等特点,受到了越来越多的企业和个人的青睐[1]。Web 2.0 是相对于Web 1.0的新的时代,主要包括异步 Java和XML(Ajax)、Adobe Flex、Web Services等技术。相对于之前的Web应用的性能测试,Web 2.0应用中对于请求和响应的匹配、Web Services相关的RFC文件等都对系统性能测试提出了新的挑战[2]。本文在分析原有的软件性能测试模型的基础上,结合用户的访问特征,加入项目管理过程,提出了一种新的基于Web 2.0的系统性能测试模型,并应用到性能测试过程中,说明该模型是有效和可靠的。

一、Web 2.0 性能测试模型的分析

(一)国内外性能测试研究现状

对于Web系统的性能测试研究,在国内外均已有了一定的成果,如印度Infosys Technologies公司提出了对象驱动性能测试模型,国内性能测试专家段念提出了Performance Testing General Model(性能测试通用过程模型,简称PTGM)等,这些模型,对于性能测试理论研究和实践均有一定的指导意义,并开发出了很多优秀的性能测试工具。

(二)现有性能测试模型(Web Perfoanance Testing Model, WPTM)

所有的Web系统的性能都可用3种模型来表示:负载模型、性能模型和成本模型。其中性能模型用来预测响应时问、系统吞吐量和资源利用率等性能指标[3]。

性能测试模型(Web Perfoanance Testing Model, WPTM)主要由性能指标、性能参数、性能指示器三个维度构成。通过在性能指示器中设置性能参数,得到性能指标,性能指标提供了性能度量的标准。性能指标是性能测试的出发点,测试前必须先确定要测试的性能指标[4],常用的性能指标主要有以下几项:

1.响应时间

从用户观点来看,响应时间是从发出一个请求到客户端收到服务器的响应所经历的延迟[5],通常以秒或毫秒来衡量。一般而言,响应时间与尚未利用的系统容量成反比,随着尚未利用的系统容量的减少而逐步变长。在性能测试中,一般取事务平均响应时间。

2.资源利用率

资源利用率指系统在运行过程中,所耗费的服务器各类资源的状况。资源利用率是分析系统性能的重要指标,实际测试时,通常考虑CPU利用率、内存占用率等服务器指标。

3.并发用户数

在同一时刻与服务器进行交互的在线用户数量,称为并发用户数。在测试时,要区分并发用户数和在线用户数、系统用户数的区别。在并发用户数增加时,一般资源利用率也会增加、并导致响应时间延长。

4.吞吐量

系统吞吐量是指在单位时间内系统所处理的用户请求数目,直接反映系统的性能承载能力,常用请求数/秒衡量。通常吞吐量与客户端请求数成正比。

(三)性能测试模型 (WPTM)的不足

现有的性能测试模型,对于Web 2.0系统的性能测试具有一定的指导意义,为性能测试指明了方向,但是也存在一定的不足。首先,在实际测试中,每个指标不能单独地说明系统性能的情况,比如验证响应时间是否满足用户需求,离不开一定的并发用户数、系统资源占用情况等前提条件。所以需要综合分析测试模型中的各个性能指标,形成一个整体的Web性能测试体系[6]。其次,该模型缺少对用户使用特征的分析,没有从用户行为出发,充分考虑用户实际行为对系统性能的影响[7]。因为不同用户的行为是不一样的,如不同用户操作速度不同,或者有些用户在提出一些请求后会放弃该请求,转而去进行其他业务操作,这些都会对系统的性能产生不同的影响。最后,该模型没有对性能测试各个阶段进行说明,也没有对性能测试过程进行质量控制。

二、改进的Web 2.0系统性能测试模型的提出

基于上文提到的性能测试模型的种种不足,本文根据多年Web 2.0系统性能测试实践,在WPTM模型的基础上,结合软件测试V模型和W模型[8],提出了一种改进的Web 2.0系统性能测试PV(Performance V)模型。如下图所示:

图1 性能测试PV(Performance V)模型

Fig.1 Chart of performance testing PV(Performance V) model

本模型针对原有的性能测试模型,不再孤立地对系统的性能指标进行单独考察,而是综合各个性能指标,从各个指标的相互影响去评价系统性能。同时为了更贴近用户的真实操作行为,加入了以下指标对用户使用特征进行模拟。

(一)思考时间

思考时间是指用户在使用系统过程中,两次操作或两个事务之间等待的时间间隔。由于不同用户的思考时间是不一样的,所以在性能测试时,不同的思考时间会对系统的性能造成不一样的影响,较短的思考时间一般会造成较大的系统压力,从而使得系统性能指标下降。

(二)请求放弃率

请求放弃率是针对放弃浏览这个用户特征的,它是请求放弃的次数与总的请求次数之间的比值。请求放弃分为主动放弃与被动放弃两种情况。主动放弃指用户提交一个请求后不等服务器返回响应,而直接去提交其它请求;被动放弃常常由于请求超时而产生。请求放弃是多个性能指标共同作用的结果,包括响应时间、CPU和内存的利用率、并发用户数等。例如,当服务器可利用资源过少或网络带宽不足时,继续提交大量用户请求,使系统不堪重负,从而处理速度变慢,此时用户或失去耐性主动放弃请求,或服务器响应超时造成用户被迫放弃请求,最终导致Web系统的请求放弃率提高[9]。

在性能测试PV模型中,还引入了项目管理的概念,不仅对测试过程中各个阶段的工作进行明确划分,而且对于每个阶段产生的中间结果进行评审,验证其正确性,并加入控制库作为基线进行严格控制,以对测试过程提供质量保障。

三、Web 2.0系统性能测试实例

本文将采用上文中描述的性能测试PV模型制定测试流程,对中国合格评定国家认可委员会(CNAS)于2014年11月份组织的性能测试实验室能力验证样品“信息报送平台”,进行性能测试,以验证该模型的可靠性和有效性。“信息报送平台”是一个用于信息报送的Web 2.0系统,不同权限的用户可通过本系统执行创建信息、报送至其它部门、审核等功能操作。

(一)测试需求分析

测试需求分析一般包含三个过程:测试需求采集、测试需求分析、测试需求评审。测试需求分析主要解决“测什么”的问题,即细化测试对象,它通常以软件开发需求为基础进行分析,通过对开发需求的细化和分解,形成可测试的内容。在本次测试中,确定了事务平均响应时间、并发用户数、吞吐量、资源利用率等性能指标,同时综合考虑用户思考时间、请求放弃率等用户特征。

(二)测试计划

测试计划从组织管理的角度对测试活动进行规划,对整个测试过程的组织、资源等进行规定和约束,并制订测试全过程各个阶段的任务以及时间进度安排,提出对各项任务的评估、风险分析和需求管理。本过程中,核心是明确测试工作任务,包括进行测试工作量估计、测试任务的划分、人员和物质资源分配、明确任务时间进度和安排、以及测试应交付的工作产品等。测试计划制定完成后需经评审加入控制库,以指导测试方案的制定等后续环节的有序进行。

(三)测试方案

测试方案是测试过程的根本,是测试设计、测试执行阶段的指导性文件[10]。测试方案从技术的角度对测试活动进行规划,描述测试方法、测试策略、测试环境的规划、测试工具设计和选择原则、测试用例的设计方法、测试代码的设计方案等。本过程要形成最终的测试方案,并经过评审后加入控制库形成基线。

(四)测试设计

在性能测试PV模型中,测试设计特指测试用例的设计。测试用例需要描述所测功能的执行步骤、需要参数化的参数项、并发时集合点的位置及策略、测试执行过程中的运行时设置、需要监控的性能指标及其预期结果等。本次测试中,将设计多个测试用例,包括单功能场景、混合功能场景、单用户场景、并发场景等,对“信息报送平台”的性能进行综合评估。用例设计完成后,必须经过评审后才能作为后续测试执行过程的依据。

(五)测试环境准备及工具选择

本过程主要是根据软件需求中的运行环境准备测试环境,测试环境应完全符合需求,以保证性能测试结果的有效性。

由于被测软件为Web 2.0系统,Web 2.0对软件测试带来的挑战之一是将不同的中间件技术结合应用在一个独立的客户端上,因此需要测试工具提供“多种协议”的录制方式,此外结合测试需求中对并发用户数等的要求,本次测试采用HP LoadRunner作为测试工具。

(六)测试执行

测试执行是执行测试用例的过程,与功能测试不同,性能测试的用例执行包括脚本录制、脚本编辑、场景创建、场景运行及结果分析等过程。首先根据测试用例录制脚本,并对脚本进行参数化、关联等一系列的编辑,使脚本能够模拟多用户同时运行,在编辑成功的基础上,创建运行场景,并根据测试方案中的测试策略进行并发用户数设定、运行时设置、选取监控指标等操作,最终得到运行完成之后的结果分析。

在本次测试中,为了模拟用户特征,需要录制前一个请求尚未返回结果之前,又提交另一请求的操作,所得到的脚本与执行其它功能的脚本组成混合功能场景;同时在运行时设置中,设置思考时间为录制时思考时间值的50%-150%之间的随机数,并在一次执行过程中同时考察事务平均响应时间、并发用户数、资源利用率、吞吐量等多项指标。

(七)测试结果评估

测试执行完成后,需要对测试结果进行评估、分析、回溯,以验证测试结果的合理性,为软件性能的评价提供客观依据。结果评估时,要综合考虑各项性能指标的表现,找出各个指标间的相应关系,对软件性能进行正确合理的评价。评估完成后,要填写结果评估审核表,并加入控制库进行统一管理。下图为本次测试中,多用户并发操作某功能点时,数据库服务器CPU资源利用率、内存占用情况、并发用户数、事务平均响应时间等的性能指标。

图2 功能点多用户并发时各性能指标

Fig.2 Performance metrics of multiple users concurrency operation

本次测试结果表明,在模仿用户实际使用特征的情况下,被测软件能够满足至少100用户并发进行功能操作,事务平均响应时间在100用户并发时不超过10s,CPU资源利用率、内存占用率均不超过35%,能够符合系统需求。

(八)回归测试

经结果评审及回溯后,在确认测试过程及方法不存在问题的情况下,对于需要修改的软件错误或缺陷,需反馈开发方进行修改。修改完成之后,对修改模块及相关联模块进行回归测试。本次测试由于为实验室能力验证项目,不存在修改软件并回归测试的问题,所以本步骤在本次测试中可省略。在此也说明,本文提出的性能测试PV模型,是一个灵活的测试过程,每一个环节并不是要必须存在的。如除了回归测试外,对于一些比较小的测试项目,也可将测试方案合并到测试计划中,以提高测试效率。

(九)测试报告

测试结果评估完成后,进入测试报告编制阶段。测试报告要包括被测软件介绍、测试需求、测试方法与策略的简要介绍、测试环境与工具、测试结果评价原则、测试评价最终结论等各个方面,确保测试报告的说服力。测试报告经评审后,分发给测试委托方,并在控制库中保留副本。

四、结语

Web 2.0系统性能已经受到了越来越多的关注。本文根据原有的性能测试模型,提出了改进的性能测试PV模型,并将该模型应用到了实际项目中。经过与实验室能力验证组织方提供的被测软件性能指标参考值进行比较,本次测试所得结果完全在参考范围之内,并以满分的成绩通过了本次性能测试能力验证。说明了本文提出的PV模型是可靠、有效的,通过该模型的应用,能客观、准确地评价软件性能。我们将在此后的性能测试项目中继续应用本文提出的PV模型,在实践中不断改进,使之能够更加完善。

参考文献:

[1]杜香和. Web性能测试模型研究[D].重庆:西南大学,2008.

[2]Ian Molyneaux. The Art of Application Performance Testiong[M]. New York: O'Reilly Media, Inc.,2009:23-24.

[3]张熙. Web应用性能优化模型及测试框架的研究[D].南京:南京航空航天大学,2008.

[4]惠斌武,陈明锐,杨登攀.Web应用系统性能测试研究与应用[J].计算机应用,2011,31(7):1769-1772.

[5]Menasce, D.A. Load testing of Web sites. Internet Computing,IEEE, 2005:70-74.

[6]Rahurm S. Thpuri,"Automatic Functional Test Generation- A Reality”. ITC’99, EEE1999.

[7]乔志杰,田剑.基于用户访问特征的Web性能测试模型[J].智能计算机与应用,2015,5(4):5-8.

[8]柳纯录. 软件评测师教程[M].北京: 清华大学出版社,2005:13-15.

[9]邓璐娟,范乃梅等.基于Web应用的性能测试模型研究[J].计算机工程与应用,2013,49(1):75-77.

[10]宋士涛.一种Web应用系统性能测试流程及其应用研究[J].山东科学,2015,28(4):94-100.

收稿日期:2016-04-22

基金项目:山东省质量技术监督局科技计划项目(2013KY22)。

作者简介:宋士涛(1983-),男,山东聊城人,工程师,硕士,主要从事软件工程、软件测试技术研究和应用。

中图分类号::TP311

文献标识码:A

文章编号:1008—3340(2016)03—0086—04

张佳佳,女,工程师,硕士,研究方向:软件测试。

张燕,女,工程师,硕士,研究方向:软件测试及管理。

刘文杰,男,工程师,硕士,研究方向:软件工程。

猜你喜欢
用户数性能指标性能
沥青胶结料基本高温性能指标相关性研究
提供将近80 Gbps的带宽性能 DisplayPort 2.0正式发布
储热水箱分层性能指标的研究进展
WebGIS关键性能指标测试技术研究
Al-Se双元置换的基于LGPS的thio-LISICON的制备与性能表征
基于VBS实现BRAS在线用户数的自动提取
强韧化PBT/PC共混物的制备与性能
磁共振成像仪主磁场计量性能指标的选择
2016年6月电话用户分省情况
2013年12月电话用户分省情况