web系统性能测试实验报告

时间:2024.5.2

附录  实验报告格式

一、实验目的

应用Web测试工具对Web系统进行功能和性能测试;

二、实验内容

2.题目二:对博客测试网站进行性能测试

1、 题目内容描述

要求使用LoadRunner,对博客网站进行性能测试。重点进行用户并发测试。并发测试模块自己确定。

具体要求:

(1)   拟定测试计划

(2)   撰写测试方案

(3)   设计测试用例

(4)   录制测试脚本

(5)   用LoadRunner实施测试

(6)   分析测试结果

2、 测试过程

(1)             测试计划

使用loadrunner对博客网站进行性能测试,主要测试其负载能力

(2)  测试方案

第一、   生成脚本

第二、   播放脚本

第三、   准备用于负载测试的脚本

第四、   创建负载测试场景

第五、   运行负载测试

第六、   分析场景

(3)测试用例

设计10个用户同时注册博客网站。

具体操作:

1、  让其每10秒启动2个用户进行注册

2、  计划在加压完成之后运行3分钟

3、  每10秒停止2个用户

            (4)录制脚本

      下图为录制的脚本:

对脚本解释分析:

(5)进行测试

创建负载测试场景,把用例设计运用到测试中,模拟实际的负载行为和不同类型的用户,在controller中执行测试场景,得出结果。

(6)测试结果及分析


第二篇:成功的-Web-应用系统性能测试


由安博测试空间技术中心/提供

成功的 Web 应用系统性能测试性能测试是 Web 应用系统的一项重要质量保证措施。在现实中,很多 Web 性能测试项目由于性能测试需求定义不合理或不明确,导致性能测试项目不能达到预期目标或进度超期。本文针对 Web 应用系统的技术架构和系统使用特点,探讨如何有效实施性能测试过程,并重点介绍如何分析获得合理的性能测试需求,最终对 Web 应用系统性能进行科学、准确的评估。

1 引言

基于Web服务器的应用系统由于提供浏览器界面而无须安装,大大降低了系统部署和升级成本,得以普遍应用。目前,很多企业的核心业务系统均是Web应用,但当Web应用的数据量和访问用户量日益增加,系统不得不面临性能和可靠性方面的挑战。因此,无论是Web应用系统的开发商或最终用户,都要求在上线前对系统进行性能,科学评价系统的性能,从而降低系统上线后的性能风险。 在很多性能测试项目中,由于不能合理定义系统的性能测试需求,不能建立和真实环境相符的负载模型,不能科学分析性能测试结果,导致性能测试项目持续时间很长或不能真正评价系统性能并提出性能改进措施。

本文在总结许多Web应用系统性能测试实践经验和教训的基础上,从与性能测试工具无关的角度介绍Web应用系统性能测试的方法和实施过程,以及如何定义合理的性能测试需求。

1.1 术语定义

性能测试:通过模拟大量浏览器客户端同时访问Web服务器,获得系统的性能数据。

虚拟用户:模拟浏览器向Web服务器发送请求并接收响应的一个进程或线程。

响应时间:浏览器向Web服务器提交一个请求到收到响应之间的间隔时间。 思考时间:浏览器在收到响应后到提交下一个请求之间的间隔时间。 请求成功率:Web服务器正确处理的请求数量和接收到的请求数量的比。 吞吐量:单位时间内Web服务器成功处理的HTTP页面或HTTP请求数量。 在线用户:用户通过浏览器访问登录Web应用系统后,并不退出该应用系统。通常一个Web应用服务器的在线用户对应Web应用服务器的一个Session。

并发用户数:Web服务器在一段时间内为处理浏览器请求而建立的HTTP连接数或生成的处理线程数。当所有在线用户发送HTTP请求的思考时间为零时,Web服务器的并发用户数等于在线用户数。

1.2 Web应用系统技术架构

Web应用系统的前端为浏览器,后台为Web服务器(如Apache,Microsoft Internet Information Server),浏览器和Web服务器之间的交互基于HTTP协议。HTTP协议本身是无连接的,Web服务器通过Session机制来建立一个浏览器所发出的先后连接之间的关联。通过实验证明,当浏览器客户端在首次访问Web服务器后,如果该浏览器客户端不发送后续请求,服务器维持该浏览器客户端的Session变量所消耗的系统资源非常小。

2 Web应用系统性能测试过程

标准的Web应用系统性能测试过程包括确定性能测试需求,开发性能测试脚本,定义性能测试负载模型,执行性能测试和形成性能测试报告。本章将分别介绍上述过程,并通过举例说明如何完成每一环节。

2.1 确定性能测试需求

科学定义Web应用系统性能测试需求对一个成功的性能测试非常重要。通常,Web应用系统的性能测试需求有如下两种描述方法。

2.1.1 基于在线用户的性能测试需求

该需求描述方法主要基于Web应用系统的在线用户和响应时间来度量系统性能。当Web应用系统在上线后所支持的在线用户数以及操作习惯(包括操作和请求之间的延迟)很容易获得,如企业的内部应用系统, 通常采用基于在线用户的方式来描述性能测试需求。以提供网上购物的Web应用系统为例,基于在线用户的性能测试需求可描述为:10个在线用户按正常操作速度访问网上购物系统的下定单功能,下定单交易的成功率是100%,而且90%的下定单请求响应时间不大于8秒;当90%的请求响应时间不大于用户的最大容忍时间20秒时,系统能支持50个在线用户。

2.1.2 基于吞吐量的性能测试需求

该需求描述方法主要基于Web应用系统的吞吐量和响应时间来度量系统性能。当Web应用在上线后所支持的在线用户无法确定,如基于Internet的网上购物系统,可通过每天下定单的业务量直接计算其吞吐量,从而采取基于吞吐量的方式来描述性能测试需求。以网上购物系统为例,基于吞吐量的性能测试需求可描述为:网上购物系统在每分钟内需处理10笔下定单操作,交易成功率为100%,而且90%的请求响应时间不大于8秒。

2.2 开发性能测试脚本

在确定Web应用系统性能测试需求后,就要根据性能测试需求中确定的功能开发性能测试脚本。比如,针对前面定义的网上购物系统的性能测试需求,将开发下定单功能的性能测试脚本。

性能测试脚本是描述单个浏览器向Web服务器发送的HTTP请求序列。每个性能测试工具(如IBM Rational Performance Tester, LoadRunner)所提供的测试脚本语法是不同的。测试人员利用性能测试工具可从头手工编写测试脚本,也可以通过录制浏览器和Web服务器之间的网络通信数据而自动形成测试脚本。 任何性能测试工具都不能保证录制形成的性能测试脚本的正确性,测试人员应通过在单用户下运行性能测试脚本对其正确性进行验证。测试脚本不正确的一个重要原因就是脚本的数据关联不正确,也就是并没完全建立一个测试请求和前面的响应内容之间的关联。测试脚本HTTP请求和响应之间的数据关联是否正确的一个重要标准是单用户运行脚本,脚本能完成期望的功能。

在完成性能测试脚本的数据关联后,需要对脚本进行参数化,也就是把脚本中的某些请求数据替换成变量,变量的值来于一个独立的数据文件,从而保证在多虚拟用户运行脚本的情况下,每个虚拟用户所提交的数据是不同的。

此外,为了测试Web应用的可靠性,还需要对请求所收到的响应进行验证(比如验证响应的HTTP返回码或验证响应的内容),便于性能测试完成后统计请求成功率。

2.3 建立性能测试负载模型

性能测试负载模型定义了测试工具如何向Web应用系统提交请求,包括向Web应用系统发送请求的虚拟用户数,每个虚拟用户发送请求的速度和频率。针对前面介绍的网上购物系统的性能测试需求,在性能测试工具中定义的性能测试负载模型应包括如下信息:

虚拟用户数:性能测试不仅仅是执行一次,而且每次执行时虚拟用户数也不固定,因此在性能测试负载模型中定义的虚拟用户数将在测试执行时进行设置。 虚拟用户发送请求的思考时间和迭代次数:虚拟用户发送请求的思考时间长短是决定Web应用系统负载量的重要因素之一,而迭代次数将决定性能测试的执行持续时间。对基于在线用户的性能测试需求,将基于录制脚本时记录的思考时间,而且由于现实中不同用户访问系统的思考时间不同,可把思考时间设置为在一定范围内的随机值。对于基于吞吐量的性能测试需求,将把思考时间设置为零,此时Web应用系统的在线用户数量将等于并发用户数。同时,为了避免性能测试压力的随机性,将增加请求的迭代次数来增加测试执行持续时间,从而获得系统在稳定压力下的性能数据。

虚拟用户启动模式:在现实中,Web应用系统的用户不太可能同时做相同的操作,因此为了让Web应用系统所承担的压力随时间均匀分布,建议虚拟用户依次启动,同时也避免大量用户同时登录造成系统阻塞。以10个虚拟用户模拟下

定单为例,可设置每个虚拟用户间隔30秒启动,这样10个虚拟用户可在5分钟后完成启动,并保证10个虚拟用户不会在同一时刻下定单,从而更符合实际情况。

2.4 执行性能测试

执行性能测试是指通过多次运行性能测试负载模型,获得系统的性能数据。在执行过程中,需利用测试工具、操作系统、系统软件(如Web Server或DB Server)提供的资源监控手段对资源进行监控和分析,帮助发现资源瓶颈,并在系统层面进行优化。同时,还需对应用进行性能分析,帮助定位应用代码中的性能问题,切实解决系统的性能问题。

2.5 形成性能测试报告

性能测试项目的最后阶段就是向相关人员提交性能测试报告,汇报性能测试结果。在向相关人员汇报性能测试结果时,并不是性能测试报告越丰富、性能数据越多越好。好的性能测试报告是能准确、简单地传递性能测试结论,而不需太多的技术细节。

针对基于在线用户数的性能测试需求,可通过下图总结性能测试结论。其中横轴是在线用户数,纵轴是响应时间,如40在线用户访问网上购物系统时,90%的下定单请求响应时间不超过10秒。

图一:在线用户数和响应时间时间的趋势图

成功的Web应用系统性能测试

针对基于吞吐量的性能测试需求,可通过下图的曲线来描述性能测试结果。以网上购物系统为例,下图描述下定单的并发用户、下定单响应时间以及吞吐量(服务器每秒处理定单笔数)之间的关系,从而快速判断系统是否能满足性能测试需求。从下图中可看出,并发用户增加,请求的响应时间也增加。服务器的吞吐量是先随并发用户数增加而增加,当吞吐量到达一定峰值后,再增加并发用户数,吞吐量会减少。原因在于当并发用户数少时,向Web服务器提交的请求量不大,服务器处理能力还有富余,所以吞吐量逐步增大;但当并发用户数超过某一值时,由于向服务器提交的请求太多,造成服务器阻塞,反而导致吞吐量减少。

图二:响应时间、吞吐量和并发用户数的趋势图

成功的Web应用系统性能测试

3 如何获取合理的性能测试需求

前一章介绍了Web应用系统的性能测试过程,确定性能测试需求是整个性能测试的起点和成功的重要因素。性能测试需求定义得过高,虽然确保系统上线后能满足性能需求,但可能会造成硬件资源的浪费;性能测试需求定义得过低,系统上线后可能会出现性能问题。如何通过分析系统上线后可能的用户访问行为,来获得合理的性能测试需求指标呢?

假设现有一个基于Web的办公自动化系统(简称OA系统),该系统提供公文收发和查询功能。在部署该系统前,将对该系统进行性能测试。下面将详细介绍如何分析该OA系统的使用情况,定义合理的性能测试需求。

3.1 如何获得OA系统的在线用户数量

在线用户数量是指在特定时间区间内,有多少用户访问Web应用系统(对应到Web服务器的Session数),根据系统可能访问用户数以及每个用户访问系统的时间长短来确定。

对于将要部署的OA系统,通过分析获得该系统有8000个注册用户,基本上所有的用户每天(8小时工作时间)都会访问OA系统,平均在线时间(从登录OA系统到退出OA系统之间的时间间隔,也可以是多次在线时间的合计)为12分钟,那么该OA系统的平均在线数(也就是Web应用Session变量数)为200个(8000 * 0.2 / 8),假设峰值在线用户数是平均在线用户数的3倍(该倍数可根据实际情况调整),则性能测试需求的在线用户数为600。

3.2 如何确定OA系统的性能测试用例

由于时间和资源限制,不可能对Web应用系统的所有功能进行性能测试,而是从业务的角度(如某一功能操作的用户多)和技术的角度(如某一功能虽然访

问用户不多,但内部处理逻辑复杂或处理数据量大)来选择Web应用系统的特定功能作为性能测试用例。

以OA系统为例,由于所有用户都经常公文查询功能,因此确定的性能测试用例为公文查询。

3.3 如何确定OA系统的响应时间

响应时间的快慢直接影响了系统使用用户的满意度,采用平均响应时间来描述系统系统性能测试需求是不科学的,因为无法直接和客户的满意度挂钩。而且,在做性能测试,如果某一请求的响应时间过长或过短,将导致平均响应时间和实际情况偏离。

以OA系统为例,定义的响应时间需求为:90%(该百分比和要求的系统用户满意度相关)的查询请求响应时间不超过8秒(该时间可根据实际情况确定)。

3.4 如何确定OA系统的交易吞吐量

单位时间内Web应用系统需处理多少笔特定的交易可通过统计获得。以OA系统为例,假设每个用户每天(一天按8小时计算)平均会查询公文4次,那OA应用的Web服务器平均每分钟要能处理8000 * 4 / ( 60 * 8 ) = 66.67笔查询公文交易,考虑到峰值因素,要求每分钟能处理66.7 * 3=200笔查询公文交易。

3.5 OA系统性能测试需求描述

通过前面的分析,能明确定义合理的性能测试需求。OA系统性能测试需求定义如下:

基于在线用户数的性能测试需求:600个在线用户按正常操作速度访问OA系统的查询公文功能,所有查询请求的成功率是100%,而且90%的查询请求响应时间不大于8秒。

基于吞吐量的性能测试需求:OA系统在每分钟内需处理200笔查询公文操作,交易成功率为100%,而且90%的请求响应时间不大于8秒。

4 总结

Web应用性能测试项目成功的关键不在于性能测试工具,而在于有效的性能测试分析方法和实践。只有切实掌握性能测试需求分析方法,性能测试实践经验,才能保证一个Web应用性能测试的成功。

更多相关推荐:
性能测试报告模板

ltXX产品系统项目gt性能测试报告目录1测试概述2111213142项目背景2测试目的2测试内容2里程碑计划2测试方案221测试环境221121221322232425拓扑结构2配置清单2测试数据2测试策略3...

WEB性能测试报告

WEB性能测试报告1总述11测试对象web系统12测试目的确定系统支持的最大并发用户数13测试环境14测试依据15参考资料16术语及缩写词测试时间一轮测试从开始到结束所使用的时间并发线程数测试时同时访问被测系统...

范例(web系统性能测试报告)

系统性能测试报告南海东软信息技术职业学院YYYY年MM月DD日文档说明本文档所涉及到的文字和图表仅限开发方和需求方内部使用未经开发方的书面许可请勿扩散到任何第三方目录1总述111测试对象112测试目的113测试...

web系统性能测试报告

web系统性能测试报告1总述11测试对象web系统数据库建表sql的版本是20xx02281程序代码的版本是20xx0310112测试目的确定系统支持的最大并发用户数系统的处理能力能达到2次请求分钟13测试环境...

性能测试报告模板

系统项目性能测试报告XXX部XXXXXXXXXXXX有限公司性能测试报告修订控制页112性能测试报告目录123测试目的4测试地点4测试环境4313245服务器客户端环境4测试工具5测试规模及限制5测试过程说明5...

性能测试报告

性能测试报告xxxx有限公司xxxx年xxxx月版本记录1目录第1章系统概述3第2章测试环境4212223网络环境4硬件环境4环境的模拟图错误未定义书签第3章测试性质错误未定义书签第4章整体工作起止日期错误未定...

性能测试报告_模板

Xxx系统性能测试报告Xxx系统性能测试报告拟制审核批准王道勇日期日期日期20xx78密级内部公开第1页共7页Xxx系统性能测试报告1概述11编写目的本次测试报告为xxx系统的性能测试总结报告目的在于总结性能测...

web服务器性能测试

WEB性能测试种类压力测试确定一个系统的瓶颈或者不能接收用户请求的性能点来获得系统能提供的最大服务级别的测试负载测试在被测系统上不断增加压力直到性能指标达到极限响应时间超过预定指标或者某种资源已经达到饱和状态这...

标准的Web应用系统性能测试过程包括哪些步骤

标准的Web应用系统性能测试过程包括哪些步骤标准的Web应用系统性能测试过程包括确定性能测试需求开发性能测试脚本定义性能测试负载模型执行性能测试和形成性能测试报告性能测试需求21确定性能测试需求科学定义Web应...

性能测试报告模板

外贸服装企业工贸一体化新技术管理项目性能测试报告信息技术部宁波华艺服饰有限公司性能测试报告目录123测试目的3测试地点3测试环境3313245服务器客户端环境3测试工具4测试规模及限制4测试过程说明451525...

性能测试报告模板

压力测试报告XXXX性能测试报告第2页拟制PreparedBy审核ReviewedBy日期Date日期DateXXXX性能测试报告第3页目录第1章第2章第3章3132第4章4142第5章第6章系统概述4方案设计...

性能测试报告模板

性能测试报告模板一目的1描述此次测试的目的以下目的请做参考验证改进的性能效果需要和以前的测试结果进行比对新的业务上线验证新系统能够满足系统的上线指标验证系统稳定性验证系统的架构是否存在瓶颈二测试环境提供网络拓扑...

web性能测试报告(32篇)