基于LoadRunner的Web网站性能测试实施与分析——以小说网站为例.doc
-
资源ID:96762966
资源大小:1.03MB
全文页数:30页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于LoadRunner的Web网站性能测试实施与分析——以小说网站为例.doc
摘要本文研究和分析了LoadRunner的工作原理和流程,通过使用性能测试工具LoadRunner对Web网站进行测试实施,并对测试结果进行研究分析。在设计完测试用例以后,使用LoadRunner自带的Vugen工具选用相应协议录制小说网站的测试脚本,并对所录脚本设置检查点、事务、参数化等增强操作,通过Controller工具实现应用模拟产生多虚拟用户的并发操作,设计场景并对场景进行合理配置,最后使用Analysis工具对本次性能测试的运行结果进行有序的梳理和合理分析,从而得出Web网站性能指标的满足情况以及找到网站的性能瓶颈。关键词: LoadRunner 性能测试Web网站AbstractThis paper studies and analyzes the working principle and process of LoadRunner, through the use of performance testing tool LoadRunner to test the implementation of Web sites, and research and analysis of the test results.After designing the test cases, use the Vugen tool that comes with LoadRunner to select the corresponding protocol to record the test script of the novel website, and set the checkpoint, transaction, parameterization and other enhanced operations on the recorded script, and use the Controller tool to implement application simulation to generate multiple virtual The user's concurrent operation, design the scene and configure the scene reasonably, and finally use the Analysis tool to sort out and reasonably analyze the running results of this performance test, so as to obtain the satisfaction of the Web site performance indicators and find the performance of the site bottleneck.Keywords: LoadRunner performance test web site目 录第一章 绪论11.1课题研究背景11.2课题研究目的与意义11.3国内外研究现状21.3.1软件测试技术研究现状21.3.2Web应用研究现状21.4课题研究的主要内容31.5本章小结3第二章 性能测试技术与测试工具研究42.1测试分类研究42.1.1动态测试42.1.2自动化测试42.1.3性能测试52.2性能测试技术研究52.3主流性能测试工具的研究62.4测试工具LoadRunner的研究72.4.1LoadRunner简介72.4.2LoadRunner工作原理72.4.3LoadRunner工具的研究82.5本章小结8第三章 项目测试过程及管理93.1测试环境部署93.2项目测试流程103.3项目评测标准113.4本章小结11第四章 Web小说网站项目测试设计与实施124.1测试用例设计124.2脚本的录制与开发134.3测试场景的设计与开发164.4Analysis分析的结果194.5本章小结21第五章 总结与展望225.1 总结225.2 后续研究展望225.3 本章小结23参 考 文 献24致谢25图表目录图 1.2018年公司常用性能工具统计106图 2.虚拟机的硬件环境9图 3.测试流程10图 4.“登录”用例设计12图 5.“搜索书籍”用例设计12图 6.“阅读书籍”用例设计13图 7.“登录”功能添加事务脚本14图 8.参数化“目录”配置14图 9.登录功能脚本15图 10.搜索书籍功能脚本16图 11.阅读书籍功能脚本16图 12.lr场景设置18图 13.测试报告1-登录模块响应时间表19图 14.测试报告2-场景2数据摘录19图 15.测试报告3-场景3并发用户8020图 16.测试报告4-场景3并发用户12020图 17.测试报告5.场景3数据摘录21广东东软学院本科生毕业设计(论文)第一章 绪论1.1课题研究背景随着互联网的蓬勃发展,软件更新换代的速度加快,软件的性能测试也因此越来越被开发者所重视。一个软件在起步期时影响度低,用户数量少,软件系统性能要求不高,但随着软件在不断的推广中,影响范围变广,用户数量开始迅速上涨,可能会呈现数十倍甚至上百倍的几何数量级增长,这个时候如果不经过软件仍然没有进行过性能测试,那通常软件系统将很容易出现崩溃的现象,因为软件系统已经承载不住如此数量的用户同时使用。性能测试的作用在此时就展现出来了。为确保软件的良好运行,就很有必要对已开发的软件进行相应的测试,通过一系列的性能测试,得到该软件系统的各项数值,就可以在面临崩溃前及时进行软件的维护和升级,确保软件的质量。判断一个软件系统的性能如何,主要通过观察执行速度的快慢与占用资源多少的情况而定。与软件功能相对应的,软件性能是一种相当关键的非功能特性,表明了软件系统对时间及时性及资源经济型的要求1。Web应用软件在岁月的沉淀中,逐渐变成了庞然大物,功能愈发齐全、处理的业务量也随机增多。特别是随着Web应用技术进入到2.0后,用户已经不满足与过往已有的功能,Web服务应用在开发工程师的努力下,不管是质量还是功能上,都上了更高一层楼2。同时Web 服务器也不再和往常一样,只需处理少量数据请求,但随着互联网全球化,大量异地IP用户的数据请求涌入各个Web服务器,一旦Web服务器超过了它所能承载的最大能力,系统就会崩溃,甚至会让企业停止运行,给企业造成巨额的资金损失和赔掉商业口碑。于是不管是用户还是企业或者是开发者,都开始对网站的稳定性提出了更高的要求3 。本文针对Web网站的性能测试进行研究,以现有的小说网站为例,使用性能测试工具,对该Web网站进行性能测试。1.2课题研究目的与意义通过本次性能测试的实验研究与分析,能够了解到如何借助测试工具来对Web网站进行有效合理的性能测试,大致掌握初等的性能测试思路,学会制定性能测试方案,从而让自己日后能够适应越来越复杂的Web软件测试的需要,尽可能做到保证Web应用的质量。1.3国内外研究现状1.3.1软件测试技术研究现状按照国外的常规经验,测试人员一般很熟悉所测试部分的开发内容,所以能够迅速找到测试的关键点着重测试。但实际上在我国,测试和开发呈现出一种割裂的状态,也就是测试归测试,开发归开发,互不相干,主要原因在于我国测试起步的时间远远晚于开发,导致技术支持不对等,因为测试技术水平欠缺,测试人员对潜在问题的把控也比较不到位,逐渐就形成了这种各立门户的尴尬情形。在国外,这样的关系是难以想象的。还有一个原因,在于我国目前的经济水平,决定了企业只能追求效益优先,而非质量优先,测试人员的薪资水平不高,很难将优秀的资源分配到测试环节中。在国外的开发项目中,软件测试占据了大部分工作内容,这汇总工作方式将用户体验度的重要性淋漓尽致地体现出来,而在我国,以现今的技术仍未具备相应的能力用来充分为使用者考虑,信息化水平相对与发达国家落差仍较大,目前的开发项目主要是停留在一个以实用为前提、市场化推广的阶段,想要缩短与发达国家信息化水平,仍有相当长的一段路要走。1.3.2Web应用研究现状自1993年第一款Web浏览器公之于众后,在现今全球化的潮流下,Web应用的开发呈现井喷式的增长,从静态到动态,再到如今所说的Web2.0。现今Web的行业的发展趋势,主要围绕着区块链技术、单页网站、语音搜索、JavaScript技术人工智能、和多设备体验这六大方面上。并且随着5G时代的到来,之后在移动互联网领域的开发场景又将会是焕然一新,其中包括了自动驾驶、车联网、物联网、智能家居、人工智能还有可穿戴设备等领域,一系列的新兴技术课题又将带来数量庞大的前端开发需求。中国Web应用开发水平的发展是在国际上处于相当落后的境地,抛开互联网发展时间较短的缘由不谈,其中最主要的一点是:中国的Web技术圈子比较狭隘,信息交流力度非常差,大家都没有分享的觉悟,仍然处于死守自己的代码状态。而在国外,在不涉及核心技术的情况下,相关工作者则更加热衷于通过技术交流来进行对话,圈子相当广阔。纵观历史,不止是互联网,电子设备、生物技术、基因工程等等,都是在各国间的合作交流中,蓬勃的发展。1.4课题研究的主要内容本课题围绕Web小说网站展开性能测试实施与分析。首先研究性能测试的相关技术,接着研究判断性能测试瓶颈依据的性能测试指标,然后收集相关资料选用合适的性能测试工具,经过工具的对比以及实际情况,最后选定LoadRunner作为本课题做性能测试实施的工具。以下是论文的章节安排:1、绪论。介绍了软件测试、Web应用的国内外研究现状和课题意义、明确本次课题的研究方向以及对课题的内容和结构安排。2、性能测试技术与测试工具研究分析。开始先介绍了了测试分类和本次测试所设计到的测试手法,其次是通过资料对比,选定性能测试工具并对相关测试工具进行探讨和分析。3、项目测试过程管理。阐述本次测试所需要的设备与如何对软件硬件环境进行配置,基础的测试流程以及评价标准。4、用LoadRunner对Web小说网站进行性能测试。第一步要做好性能测试准备工作,设计性能测试用例,通过使用VuGen录制测试脚本后对脚本进行二次开发,其次是在Controller设计测试场景生成测试报告后凭借Analysis对测试的结果进行分析。5、结论与讨论。对本次性能测试做一次全面的总结,包括测试前后遇到的问题以及实验心得,还有就是对未来的展望。1.5本章小结本章节主要对本次课题的研究背景、目的、意义、研究现状以及相关课题的内容安排。第二章 性能测试技术与测试工具研究2.1测试分类研究2.1.1动态测试(一)黑盒测试黑盒测试主要工作是通过一系列测试活动来检查软件的功能性以及是否符合设计中提出的需求分析。简单来说,黑盒测试方法能够从用户角度,以一种看得见摸得着的方式来了解测试系统的是否满足需求实现情况,包括测试用例,也是基于该系统部件所定义的功能以及测试需求说明书。但其缺点同样明显:按照用户的角度来进行测试,无法对系统内部进行检查,而且并不具备对程序代码缺陷的审查,因而需要具备高素质的敏感性来发现潜在错误。(二)白盒测试不同于黑盒测试针对系统外部的检查探索,白盒测试是从系统内部出发的,依仗已有的程序代码内部进行测试,因此又称为结构测试。也因为如此,白盒测试就对测试工程师提出了更加苛刻的要求:不仅要具备相关的测试能力,同时还要有丰富的程序代码开发经验,否则在测试过程时就会像一只无头苍蝇一样找不到测试方向,白白浪费时间而毫无作为。白盒测试的优势在于能对保证代码结构的正确性和合理性,但白盒测试也存在着不足,单凭审查测试代码与对系统的整体了解,是无法确保系统在交付期是否依照需求说明书;而且白盒测试在实践中所花费的测试成本相较黑盒测试来说更大4,并且涉及的人员众多,一般以团队的方式进行测试。本课题中主要使用的动态测试方法为黑盒测试方法,对小说网站进行测试实施和分析。2.1.2自动化测试自动化测试是来通过机器来替代手工测试进行一系列动作的测试,通常是使用脚本或其他代码驱动应用程序 5 。顾名思义自动化测试就是借助某种方法或者测试工具,来让程序自动进行测试,在这个过程中很少需要或者不要人为参与,即可完成测试到结果比对;测试人员需要准备的工作是测试脚本,测试场景,结果输出等。自动化测试主要用于手工测试不能正常使用或者效率很低的测试,例如压力测试和并发测试。自动化测试的普及,解放了传统因为手工测试花费的大量人力物力,提高了测试的效率和降低了测试的失误率,而且只要测试脚本的逻辑性严谨,结构性强,不管是任何时候都能被在软件的生命周期内多次使用6。本课题中使用了自动化测试工具对小说网站进行测试实施和分析。2.1.3性能测试性能测试在测试领域里,是属于一个很重要的概念,几乎出现在各种测试场合,它涉及的范围包括执行效率、资源占用、响应时间、系统稳定性、安全性、兼容性、可靠性、可扩展性等7。性能测试借助如JMeter、LoadRunner这类型的自动化测试工具8,通过模拟真实用户在使用软件系统时的各类场景作为负载条件,来测试软件系统的各项性能指标。通常情况下,性能测试包括以下类别:基准测试:通过一个压力较低的测试环境,记录系统该环境运行时的数据,为后续的各类测试提供一个基础指标的参考值。是一种基本的测量和评估软件性能指标的测试方式。负载测试:通过对系统的不断加压或者持续一段时间的高承载负荷加压方式,迫使系统性能指标(一项或者多项)达到临界值,以得到被测试系统的性能指标阈值。在本次测试中,将会用到该项测试技术。压力测试:让系统保持负载状态,通过不断地增加系统的负载,在一个高负荷的环境观察系统的性能指标是否仍然可以保持稳定运行或出现加载失败等情况。主要用于测试系统软件的峰值。在本次测试中,将会用到该项测试技术。稳定性测试:用于整项性能测试基本结束之后,这时根据测试数据对软件系统施加压力,重新进行测试,随后对测试结果进行分析,一般来说稳定性测试是用来评估系统的基础性能。并发测试:说到性能测试,就少不了并发测试。并发测试的原理,就是通过采用多线程或多进程的方式,模拟多个用户对同一目标进行访问操作,看是否会出现性能问题。7这是非手工测试能够完成的,通过并发测试能够找到软件或系统的瓶颈,但前提必须要保证测试环境足够稳定。9 在本课题中,主要使用了负载测试、压力测试及并发测试技术对小说网站进行测试实施和分析。2.2性能测试技术研究软件性能它针对的不是软件在开发时带来的功能是否完整可用,而是关注该功能能否在完成后及时地展示出来。以下是日常在性能测试过程中常会遇到的一些性能测试指标:(1)响应时间:广义上指的是系统对请求作出响应的时间。即用户将请求发出后经过网络层、服务器等最后到达系统的时间。(2)吞吐量:吞吐量是系统在单位时间内处理的交易个数,即每秒处理的事务数,吞吐量越大,系统单位时间内处理的数据越多,系统的负载能力越强。8(3)并发用户数:所谓并发,就是指多个业务操作正在同时进行,而并发用户数就是指系统在正常使用时,所能承受的用户数量。是一项直观的性能指标。(4)资源利用率:用于分析系统瓶颈的重要数据,指的是在一段时间内系统各个资源平均占用的情况,这个值的需求要根据实际应用来使用,例如一般公司的正常情况下,只需要保证利用率达到80%即可,而类似银行行业这类需要高精度的工作,一般都不会超过60%。(5)性能计数器:是描述服务器或操作系统性能的一些数据指标。主要用于检测windows的数据资源。(6)思考时间:也被称为"休眠时间",就是让虚拟用户“人性化”,完成一个动作,等待数秒钟之后再前进的样子,不过应用中还需要根据不同功能不同场景对思考时间进行合理判定。2.3主流性能测试工具的研究图 1.2018年公司常用性能工具统计10根据2018年51testing软件测试网对公司常用性能工具统计的调查结果显示,软件测试从业人员最常使用的性能测试工具是JMeter和LoadRunner,两者占据了大半江山;LoadRunner作为目前市面上性能测试的热门工具之一,在国内的各大公司中都有普遍使用,在性能测试领域,它仍然保持着卓越的地位,本次性能测试所使用的工具选定为LoadRunner。选用原因:相较于JMeter,LoadRunner拥有IP欺骗功能,IP欺骗是指在测试机中能够通过调用不同的IP分配给并发用户,最大程度上模拟真实用户的多IP访问的能力,但是JMeter并未具备IP欺骗的功能。其次LoadRunner对性能测试的初学者来说非常友好,因为在2017年前,LoadRunner曾一度是国内最受欢迎的性能测试工具,我们能够从互联网中得到相当详尽的攻略和使用教程。大学课程中,有系统地对LoadRunner进行过初步学习,并且配有相应的LoadRunner使用工具书,上手难度降低了不少。2.4测试工具LoadRunner的研究2.4.1LoadRunner简介LoadRunner作为一款时下热门的性能测试工具,能够通过模拟真实用户在日常生活中对相关系统的操作行为,收集性能测试数据。并且Load Runner有着高规模适应的特性,它几乎支持目前我们在互联网中的能够接触到的常用协议,如:Web(HTTP/HTML)S协议,web services常用数据库协议(ODBC,ORACLE,SQL SERVER),邮件(SMTP、pop3)等其它协议。2.4.2LoadRunner工作原理Load Runner的组成部件包括:虚拟用户发生器(VuGen),压力调度监控中心(Controller)和压力产生器(Load Generator)以及结果分析工具(Analysis)。虚拟用户发生器(VuGen)负责录制脚本和开发脚本,本质上是一个集成开发环境;Controller负责设置测试场景与监测测试数据,是一个框架程序和监控程序;Analysis相当于一个数据采集程序,主要采集Controller接受Load Generator反馈回来的测试数据,生成图表,用于测试后的结果分析。 2.4.3LoadRunner工具的研究Vugen应用介绍LoadRunner能够被各大公司青睐的原因,其最主要的就是能够通过录制Vuser脚本来模拟多个用户在系统中同时访问系统,简单来说,就是用虚拟用户来模拟现实生活中的人使用该系统的场景。用于创建Vuser脚本的工具是虚拟用户发生器,即VuGen。VuGen不仅仅可以录制Vuser脚本,还可以对已有的Vuser脚本进行二次加工。由于不需要依靠录制Vuser脚本的原系统,即便是原系统尚未开发完全,只要Vsuer脚本没有出现逻辑错误,就可以正常运作,用于检测系统的性能。Controller应用介绍Controller是LoadRunner的核心组件与控制中心,它能为在VuGen组件中录制的脚本,提供了手动设计和面向目标两种测试场景。脚本录制完成后,打开Controller,就可以创建虚拟用户以在场景中模拟真实用户来对系统中的典型业务进行操作。Analysis应用介绍场景执行完成以后,Load Generator会把测试的结果汇总至Controller,通过Controller把数据结果反馈到Analysis中去,这时候就需要打开Analysis,Analysis会自动生成一系列数据图表以供测试人员对测试结果进行分析和评估,确定系统瓶颈。不仅如此,Analysis还支持将图表导出至外部应用程序,极大地方便了信息交流和其他测试人员对测试信息的二次使用和处理。2.5本章小结本章主要研究了软件测试的性质、类别以及本次涉及的主要测试工具LoadRunner,均进行了比较详细的介绍和分析。第三章 项目测试过程及管理3.1测试环境部署硬件环境:英特尔Core i7-6500U 2.50GHz 双核VM ware虚拟机2GB/4GB/85GB(SATA)操作系统:Microft Windows(W)版本号:Windows 7浏览器:IE 8.0测试工具:HP LoadRunner软件测试的一个重要前提,是要保证测试环境的干净11,但由于本课题使用的测试机在长年使用过程中,已经安装过许多软件,对各类环境进行过配置,无法确保测试环境的干净。因而本课题选择在虚拟机中进行,虚拟机可以最大程度保证干净测试环境的搭建,避免因为环境配置的问题导致测试失败。本课题所用的测试工具为HP LoadRunner 11.0,该工具最高支持的IE浏览器版本号为IE9.0,选用操作系统为Windows 7的最大原因是该系统自带IE8.0,不需要担心录制脚本时会出现浏览器无法正常运作的情况。关于本次虚拟机的硬件环境详细情况如图2所示:图 2.虚拟机的硬件环境3.2项目测试流程本课题中性能测试的主要测试流程如图3所示:图 3.测试流程测试人员第一步要根据测试用例,确定接下来要进行的测试业务,做好录制准备,在开启了VuGen的录制功能后,在系统里的操作会被记录下来,录制结束后,VuGen就自动生成一份虚拟用户脚本。VuGen录制完成后检查虚拟用户脚本,对录制过程中出现的重复脚本进行删除,对脚本进行加工,如(添加事务、插入检查表等),通过试运行的方式来确定脚本在回放时不会出现错误。打开Controller,对已经修改完毕的Vuser脚本进行场景配置,预设SLA指标,通过控制Load Generator,设置加压方式和操作行为,添加各类性能计数器,用于搜集系统在场景运行时的性能数据。开始运行,Controller通过控制Load Generator对虚拟用户在场景中运行时所产生的性能数据进行监测,压力运行结束后,Load Generator再将场景中检测到的虚拟用户数据发送回至Controller中,由Controller对测试结果进行汇总打包,随后就会自动生成lrr文件并通过Analysis进行分析。Analysis能够生成各类性能测试数据报表,测试人员能够根据报表对测试系统进行分析和评估。评估完成后,针对所出现的问题、某部分的性能缺陷,对系统进行调优,然后回到Controller中再次启动测试。一直循环整个流程直到系统需求得到满足。3.3项目评测标准性能测试最重要的前置工作就是配置好测试环境,测试开始前,要尽可能把真实环境模拟出来,否则得出的结果就失去了真实性,测试的结果也将失去意义。以下是环境配置的参考标准,但不同场景中,环境的配置的要求也会不一样,仅供参考说明:并发用户数一般是该系统在使用过程中预设的在线用户数的2%3%;事务响应时间:性能测试中,事务响应时间评测标准正常状态下遵循3、5、8原则:3秒之内(用户体验非常好)、35秒(用户体验一般)、58秒(用户体验勉强接受)、8秒以上(用户体验不能接受)12;每秒事务数:性能测试中,目前社会上的评测标准主要是以二八原则为主:即用20%的时间内去完成80%的事务;在受压情况下,服务器内存的占用率最好在60%80%这个标准之内13,超过80%时,CPU容易不堪重负,会有过载的危险,而低于60%又会造成资源浪费;在不受压的情况下,服务器内存占用率应当小于或等于为25%14,如果超过最佳内存占用率,则会对服务器性能造成影响。3.4本章小结本章节主要描述了本课题所需要的设备与软件环境配置,以及本次性能测试的主要流程,同时对测试结果提出了评测标准。第四章 Web小说网站项目测试设计与实施4.1测试用例设计登录功能的测试用例如图4所示:图 4.“登录”用例设计 搜索功能的测试用例如图5所示:图 5.“搜索书籍”用例设计阅读书籍功能的测试用例如图6所示:图 6.“阅读书籍”用例设计 4.2脚本的录制与开发首先启动LoadRunner,用VuGen进行测试脚本按照事务进行的分次录制,选用Web-HTTP/HTML协议,选择与测试机适应的IE浏览器(IE 8)在地址栏处输入 Record开始录制。按照预设步骤录制完脚本后,开始检查和优化已录制脚本,此时可以根据测试用例的需求来添加事务、插入检查点等。脚本详情已放入附录。查阅脚本,对在录制时因操作等问题出现的部分重复性脚本进行删除。添加事务:表示一个事务的前后,一定要有Lr_start_transaction()(开始事务)以及Lr_end_transaction()(结束事务),如图7所示;注意若是没有特殊要求,think_time函数(思考时间)并不适合放入事务当中,因为思考时间会延长事务响应时间,造成测试的结果失真。图 7.“登录”功能添加事务脚本添加检查点:插入检查点,能够让系统明确通过某项操作,降低多个虚拟用户在并发过程时常遇到的请求失败现象(error27729),提高执行成功率。参数化:真实的模拟实际环境,会出现多个不同ip用户同时使用软件,因而需要在脚本中把常量值参数化如图8所示,在参数化时,要添加足够数据。图 8.参数化“目录”配置思考时间:现实用户在操作软件时,因为种种原因不会每次都以最短时间去完成一系列操作,因为在测试过程中,为某些执行动作就有必要去添加思考时间,达到接近真实用户使用系统的假象。核心脚本主要包含以下:图 9.登录功能脚本图 10.搜索书籍功能脚本图 11.阅读书籍功能脚本4.3测试场景的设计与开发Vugen录制的脚本在经过手工优化和调试完成后,在工具栏内选择创建Controller场景,在Controller中根据已有的测试用例,添加监控的服务器计算机localhost,然后添加需要监控的windows性能计数器指标,根据不同的测试需求选择不同加压方式,设置完成后即可开始测试场景,并控制Load Generator对用户的性能计数器和数据指标实施实时监控。一般来说,在Controller中有两种测试场景设置,分别是手动和面向目标两种场景。其中本次测试主要使用的是按照需求设计目标的手动场景。场景一:登录单业务场景,20用户并发本次测试选用手动设置测试场景。在Run Mode处选择真实场景模式。加压策略:添加监控的服务器计算机localhost,然后添加需要监控的windows性能计数器指标;根据实际情况。第一步设置每个Vuser在运行前进行初始化,场景中每20秒增加2个Vuser,增加至10个Vuser;然后每20秒递减2个Vuser,减少至0个Vuser。并且根据实际情况,定义Service Level Agreement指标。场景设计完成后开始模拟真实用户场景测试,并控制Load Generator对用户的性能计数器和数据指标实施实时监控。添加监控的服务器计算机localhost,然后添加需要监控的windows性能计数器指标;根据实际情况。第一步设置每个Vuser在运行前进行初始化,场景中每20秒增加4个Vuser,增加至20个Vuser;然后每20秒递减4个Vuser,减少至0个Vuser。并且根据实际情况,定义Service Level Agreement指标。场景设计完成后开始模拟真实用户场景测试,并控制Load Generator对用户的性能计数器和数据指标实施实时监控。模拟场景结束后,打开Analysis进行结果对比,如果响应时间仍满足给出的要求,则继续加压,直至响应时间超出给定要求的数值。场景二:登录查询混合业务场景,并发用户比例为80%、20%本次测试选用手动设置测试场景。在Run Mode处选择真实场景模式。加压策略:分别将并发用户数取为20,40,50,100,150用户四个场景进行性能测试,场景设计需要遵循所述加载策略:添加监控的服务器计算机localhost,添加监控的windows性能计数器指标;根据实际情况。第一步设置每个Vuser在运行前进行初始化,场景中每20秒增加5个Vuser,直到至当前Vuser数量为30个,持续2分钟;然后每20秒递减4个Vuser直到当前Vuser数量减少至20个,持续2分钟;接着每30秒增加5个Vuser,直到至当前Vuser数量增加至30个,持续1分30秒;最后每20秒减少5个Vuser直到Vuser数量归0;并且根据实际情况,定义Service Level Agreement指标。场景设计完成后开始模拟真实用户场景测试并控制Load Generator对用户的性能计数器和数据指标实施实时监控。具体如图12所示:图 12.lr场景设置场景三:阅读书籍单业务场景,持续增加并发用户。本次测试选用手动设置测试场景。在Run Mode处选择真实场景模式。加压策略:添加监控的服务器计算机localhost,然后添加需要监控的windows性能计数器指标;第一步设置每个Vuser在运行前进行初始化,场景中每20秒启动4个Vuser,直到至当前Vuser数量增加至20个,持续3分钟;然后每20秒递减4个Vuser,直到至当前Vuser数量减少至0个。并且根据实际情况,定义Service Level Agreement指标。场景设计完成后开始模拟真实用户场景测试,并控制Load Generator对用户的性能计数器和数据指标实施实时监控。添加监控的服务器计算机localhost,然后添加需要监控的windows性能计数器指标;第一步设置每个Vuser在运行前进行初始化,场景中每20秒启动8个Vuser,直到至当前Vuser数量增加至40个,持续3分钟;然后每20秒递减8个Vuser,直到至当前Vuser数量减少至0个。并且根据实际情况,定义Service Level Agreement指标。场景设计完成后开始模拟真实用户场景测试,并控制Load Generator对用户的性能计数器和数据指标实施实时监控。添加监控的服务器计算机localhost,然后添加需要监控的windows性能计数器指标;第一步设置每个Vuser在运行前进行初始化,场景中每20秒启动12个Vuser,直到至当前Vuser数量增加至60个,持续3分钟;然后每20秒递减12个Vuser,直到至当前Vuser数量减少至0个。并且根据实际情况,定义Service Level Agreement指标。场景设计完成后开始模拟真实用户场景测试,并控制Load Generator对用户的性能计数器和数据指标实施实时监控。每一次模拟场景结束后,load Generator都会把测试数据汇总到Controller中,这时就可以打开Analysis,每一次模拟场景的结果进行数据对比,如果该网站能够在当前并行操作用户数能够较好地满足当前规模的用户使用要求,则继续加压,直至响应时间超出给定要求的数值。4.4Analysis分析的结果系统性能测试的目的是查找系统的性能问题,找到系统的瓶颈并分析原因。图 13.测试报告1-登录模块响应时间表场景一:由图13测试报告1中可以看出,当并发用户数为10的时候,平均响应时间为0.393秒,最大响应时间为1.064秒,能够满足当前用户的性能需求;而当并发用户数为20的时候,平均响应时间为0.896秒最大响应时间为3.328秒,不能够满足平均响应时间不超过0.5秒,最大响应时间不超过3.0秒的当前用户性能需求。场景二:图 14.测试报告2-场景2数据摘录从图14测试报告2中可以看出:当并发用户为20-50个虚拟用户时,吞吐率和点击率变化幅度不大,说明当前系统的压力较小。但随着不断加压当并发用户数为100个时,吞吐率尚未保持平稳,每秒的点击率与对比组的数据相比,增加了将近一倍,说明由于并发用户的数量接近甚至超过了系统本身的瓶颈值,以至于服务器正处于高负载状态,此时更多的用户就会引起每秒点击率的增长,服务器不能及时处理请求,出现部分请求超时的现象,说明当前系统压力较大,平均响应时间大约为7.289秒,已经接近不符合系统的响应时间需求了。当并发数达到150个用户时,系统的error数量明显增多,部分功能不能使用,甚至无法正常运行,服务器请求超时,当前系统基本将近崩溃。因此,得出结论如下:系统的登录模块的最大并发数为100,在此场景下服务器还能保证所有事务请求被处理,但由于系统压力较大,响应时间偏高,服务器处理请求速度变慢,性能将近瓶颈。图 15.测试报告3-场景3并发用户80图 16.测试报告4-场景3并发用户120图 17.测试报告5.场景3数据摘录场景三:由图17测试报告5中可以看出,该网站能够在并发用户数为40时,最大响应时间已经超过了预定值的3秒,但仍可以稳定地满足使用需求,在没有超过120个时,系统均能够满足当前规模的用户使用要求,但是最小响应时间,和平均响应时间已经超过了预定值1秒和3秒;一旦并发用户数超过160个以后,系统就不能满足需要,事务出现了error27728,error27729、error27492错误,主要是由于事务加载时间超时、服务器端繁忙和HTTP请求连接超时,不能及时响应请求所导致的,此时就需要进行硬件资源的添置。4.5本章小结本章主要介绍了在Web小说网站性能测试实践中所需要做到工作以及性能测试后的结果分析。第五章 总结与展望5.1 总结首先总结一下经验,测试前最好保证测试环境足够干净,测试工具能够在当前测试机上运行或者根据实际情况使用虚拟机配置合适的Windows版本安装LoadRunner,并且,盲目开始测试会导致LoadRunner在录制脚本出现录制失败、录制的action为空值或者无法正常打开浏览器等问题,例如本次使用测试工具为LoadRunner11.0,其最高支持的IE浏览器为IE9,而电脑的操作系统为Windows 10,IE浏览器系统默认为IE 11,导致无法打开浏览器,因为一开始对这些版本支持的注意事项并不熟悉,不仅白白浪费了许多时间,而且会极大地打击自信心,对使用LoadRunner进行测试产生畏惧心理。对于初学者来说,LoadRunner是相当友好的,虽然功能繁多,但因为是时下最热门的性能测试工具之一,我们很容易在百度、博客等网站搜索到相关教程和使用说明包括安装汉化包等,大大降低了操作难度。录制脚本前,要先熟悉整个操作流程,本次毕业设计里给予我最大帮助的,莫过于学校配发的专业书籍,该工具书对LoadRunner的工作原理以后各部件的使用方法进行了面面俱到的分析,在工具书的辅助下,事半功倍。录制脚本前可以先找到相关网站熟悉操作流程,减少不必要的操作步骤;其次在Controller的使用过程中,一定要根据虚拟机所能承受的硬件水平来进行虚拟用户场景制定,高估自己的虚拟机系统水平,往往导致场景运行时出现各类error;其次在选用localhost为监视的服务器计算机后,首