性能测试学习计划复习课程.docx

上传人:b****3 文档编号:26779608 上传时间:2023-06-22 格式:DOCX 页数:12 大小:24.39KB
下载 相关 举报
性能测试学习计划复习课程.docx_第1页
第1页 / 共12页
性能测试学习计划复习课程.docx_第2页
第2页 / 共12页
性能测试学习计划复习课程.docx_第3页
第3页 / 共12页
性能测试学习计划复习课程.docx_第4页
第4页 / 共12页
性能测试学习计划复习课程.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

性能测试学习计划复习课程.docx

《性能测试学习计划复习课程.docx》由会员分享,可在线阅读,更多相关《性能测试学习计划复习课程.docx(12页珍藏版)》请在冰豆网上搜索。

性能测试学习计划复习课程.docx

性能测试学习计划复习课程

性能测试学习计划

  篇一:

性能测试学习计划

  一概念理解

  1.性能测试目的

  答:

验证软件系统是否能够达到用户提出的性能指标。

  性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

  1)评估系统的能力----测试中得到的负荷和响应时间数据可被用于验证所计划的模型的能力,并帮助作出决策。

  2)识别体系中的弱点----受控的负荷被增加到一个极端水平,并突破它,从而修复体系的瓶颈或薄弱的地方。

  3)系统调优---重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。

检测软件中的问题,长时间的测试执行可导致程序发生由于内存泄漏引起的失败,揭示程序中的隐含问题或冲突。

  4)验证稳定性,可靠性---在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。

  2.系统实际用户数,系统在线用户数含义

  用户数:

是指计费系统所能允许记录的不同名称用户数量的最大值。

这个数值取决于计费系统硬件存储器容量和软件的支持能力

  系统实际用户数:

系统额定的用户数量,如一个OA系统,可能使用该系统的用户总数是XX个,那么这个数量,就是系统用户数

  系统在线:

在一定的时间范围内,同时在线用户数量

  3.并发概念?

  答:

并发是同时执行一个操作(同时像服务器提交申请)。

主要指当测试多个用户并同时访问同一个应用程序、同一个模块数据记录时是否存在死锁或其他性能问题,几乎所有的性能测试都会涉及并发测试。

  4.理解负载测试,压力测试,容量测试,配置测试,基准测试,并发测试,疲劳测试的含义和区别

  答:

负载测试(Loadtesting),负载测试是模拟实际软件系统所承受的负载条件的系统负荷,

  通过不断加载(如逐渐增加模拟用户的数量)或其它加载方式来观察不同负载下系统的响应时间和数据吞吐量、系统占用的资源(如CPU、内存)等,以检验系统的行为和特性,以发现系统可能存在的性能瓶颈、内存泄漏、不能实时同步等问题。

直接添加用户数双击Down-点击AddVuser(s)-点击Quantitytoadd输入框输入要添加的用户数,在原基础上添加用户。

  压力测试:

压力测试是在强负载(大数据量、大量并发用户等)下的测试,查看应用系统在峰值使用情况下操作行为,从而有效地发现系统的某项功能隐患、系统是否具有良好的容错能力和可恢复能力。

(压力测试就是不断的向服务器增加用户数,直到服务器返回响应时间过长。

)Initialize5Vusersevery00:

00:

15(HH:

MM:

SS)(初始化每5个Vuser00:

00:

15(HH:

MM:

SS)),

  StartVusersStart7Vusers:

2every00:

00:

15(HH:

MM:

SS)(开始Vuser的启动7个用户:

每15秒增加2个用户

  DurationRunfor00:

05:

00(程序运行时间00:

05:

00)

  StopVusersStopallVuserssimultaneously(停止Vuser的Vuser的同时停止所有)

  容量测试(界限或极限值):

通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等)

  ,系统在其极限值状态下没有出现任何软件故障

  或还能保持主要功能正常运行。

容量测试还将确定测试对象在给定时间内能够持续处理的最大负载(负载和或压力)的来的,和工作量。

  配置测试:

就是查看配置项的内容是不是符合标准,也就是说是不是配置项起到了先前所预期的功能。

个人计算机;部件;外设;接口;可选项和内存;设备驱动程序。

  基准测试:

是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。

  并发测试:

主要指当测试多个用户并同时访问同一个应用程序、同一个模块数据记录时是否存在死锁或其他性能问题,几乎所有的性能测试都会涉及并发测试。

  疲劳测试:

通常是采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程(内存溢出)场景结束,没有释放内存(前提要清理内存)。

总结压力测试可以看作是容量测试,不是直接的测试目标。

压力测试的重点在于发现功能性测试所不易发现的系统方面的缺陷。

  而容量测试是系统测试的主要目标内容,

  也就是确定软件产品或系统的非功能性方面的质量特征,包括具体的特征值。

容量测试更着力于提供性

  能与容量方面的数据,为软件系统部署、维护、质量改进服务,并可以帮助市场定位、销售人员对客户的解释、广告宣传等服务。

压力测试、容量测试,测试的方法相似、相通,在实际测试工作中,往往结合起来进行,以提高测试效率。

一般会设置专门的性能测试实验室,完成这些工作。

即使用虚拟的手段模拟实际操作,所需要的客户端有时还是很大的,所以性能测试实验室的投资较大。

(并发测试(获得最佳用户数和最大用户数)是为疲劳测试做准备)

  5.性能测试指标包括哪些,每项的含义是什么?

  答:

I/O(vmstat、iostat)、CPU(top)、内存(sar)、事务通过数、事务的响应时间(ART)、交易成功率、事务点击数、用户数)

  6.怎么理解响应时间是从什么时候开始什么时候结束?

答:

(是通过记录用户请求的开始时间和服务器返回内容到客户时间的差值来计算用户操作响应时间)响应时间是提交请求和返回该请求的响应之间使用的时间。

  7.每秒处理请求数,响应时间,点击率的缩写?

  答:

事务的请求数(TPS),平均响应时间(ART),点击率(HPS)

  8.什么是事务?

  答:

事务是指用户在客户端做一种或多种业务的操作集,通过事务函数可以标记完成该业务所需要的操作内容(响应时间等)就是把多件事情当做一件事情来处理叫做事物.

  9.什么是性能调优,什么情况下需要调优?

答:

通过指标的监控发现系统存在的性能缺陷,利用分析工具定位并修正性能问题。

系统响应速度太慢。

每秒所完成的系统输出/入低于预期。

相同的环境,但每秒钟所完成的批操作较先前少。

系统资源(如CPU、内存、硬盘或络等)长时间处于耗尽的状态。

(环境、基准负载、性能指标响应时间多少S)

  10.性能测试通用流程?

  答:

性能测试需求(性能指标)

  环境搭建(模拟现实环境)数据、

  工具选择(性能

  性能方案计划文档

  场景设计

  脚本设计

  测试执行

  结果分析(page/sec内存),CPU(top),内存(sar),I/O(iostat)

  调优方案(代码级调优,数据库调优,架构调优)

  性能测试报告在本公司写好的脚本,到现场要改脚本的地方是(1.脚本请求的地址,证书(握手证书和加密证书)象EWP人员要)

  11.怎么理解协议,http是指什么协议?

  答:

协议:

计算机通信络中两台计算机之间进行通信所必须共同遵守的规定或规则。

httP:

超文本传送协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到Web浏览器。

(双方共用的协议)

  12.分析简单http请求和http应答的报文体?

  答:

http请求是从客户端到服务器端的请求消息包括,消息首行中,对资源的请求方法、资源的标识符及使用的协议。

http应答的报文体是xml格式的utf-8编码的字节流报文具体的内容包含在某个标签内

  web_custom_request("EMP_HandShake","Method=POST",

  "URL=http:

//{HostAdress}/user/handshakeota_version=&app={AppName}&o=i",

  "RecContentType=application/octet-stream",

  "Body={ClientHelloBody}",LAST);

  协议:

通行双方共同约定的规则。

  http协议(超文本传输协议):

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。

  HTTP协议的主要特点可概括如下:

  1.支持客户/服务器模式。

  2.简单快速:

客户向服务器请求服务时,只需传送请求方法和路径。

请求方法常用的有GET、

  篇二:

如何写一份性能测试计划

  上一章节中我们对性能的需求进行了分析,知道了测试对象,了解了测试需求,那么下面就需要制定一份详细的计划,来规划和指导性能测试工作的进行。

为了使你对性能测试计划更清晰明白,这里以测试计划的格式来描述。

  一.简介

  简介部分就不用过多描述了,无非项目的背景,进行此次性能测试的原因,以及性能测试覆盖的范围等等,几乎所有项目文档都在开端对项目进行简单的阐述。

  二.性能测试需求

  寻找的被测试对象和压力点

  要测试的对象不是凭空想象出来,而是经过分析与系统数据收集得到。

下取几个典型的压力点

  登录:

对于一般的系统来说,登录是用户操作系统的前提,如果用户根本就登录不了,那么其它功能将毫无用处。

例如游戏,开新服的时候,玩家挤破了脑袋只为登录。

查询:

查询一般比较消耗系统和数据库资源。

搜索引擎的查询功能就是典型,如果你在输入框内输入内容,很久就得不到结果。

我想被称为“互联入口”的搜索引擎就不会存在。

交易:

对于一些电子商务系统来说,交易过程的性能要求是很高的,如果交易过程消耗用户很长时间的话。

我宁愿去超市买东西了。

当然,除了交易速度外,对交易的成功率要求也是非常高的。

不然,造成的损失也是不可估量的。

  被测的系统应该是最重要的最基本的功能,也是用户使用最频繁的功能。

  一般的性能要求包括:

  系统容量:

系统最大容纳多少个用户注册。

  访问数:

同时访问系统的用户数。

  并发数:

一个操作同时执行的并发数目,一个系统中应该有不同操作的并发数的组合(一般是有权限进行操作的用户)。

  系统的最大用户数与最佳用户数:

系统在承受的最大并发用户数量,系统在最佳状态下承受的并发用户数据。

  响应时间:

用户提交一个操作到得到响应的时间间隔。

  吞吐率:

系统每秒钟处理的TPS

  性能测试关键的一个因素就是压力,性能是在系统设计满足的最大压力下的性能。

并发数要不小于系统正常运行的峰值,数据总量不小于系统正常运行3个月的数据量。

  在描述并发用户数目时,总是会带有相应的时间段限制。

系统的性能指标实质上应当使用单位时间内系统处理请求的个数以及请求响应时间描述。

单位时间内能处理的请求个数就是系统的业务吞吐量。

虚拟并发用户的数量可以使用如下的公式换算:

(真实用户数×每个真实用户请求数)/(总请求响应时间+真实用户总思考时间)=(虚拟用户数×每用户请求个数)/(总请求响应时间+虚拟用户总思考时间)=吞吐量。

  三.测试环境

  这里的测试环境主要指的软件硬件环境和络环境。

  笔者认为性能测试最好在一个独立的环境内进行,这样不会受到外界的干扰,能够保证测试的数据是独立有效的。

如果现你对某个已经上线的站进行压力测试,那么你得到的数据不是独立的,因为你在做压力测试的时候,其它散户也在访问系统。

  软件环境:

  这里的软件环境主要指项目运行的环境,比如采用什么样的操作系统、中间件、和数据库。

  硬件环境:

  这里的硬件环境除了主要包括主机内部部件,cpu、内存、磁盘以及主板、卡等,传输介质和路由器也应该考虑在内,

  络环境:

  络环境除了考虑测试机与被系统服务器在一个局域中进行,还应该保证这个络的独立性。

如果在在性能测试的过程中,其它机子也在消耗着路由器资源。

那么路由器也会影响到数据库的传输速度。

  四.数据准备

  在很多时候,我们是要准备测试数据的,例如系统不允许相同用户的重复登录,那么必须要生成合法的用户数据。

有时要对系统进行查询测试,只有在系统有一定数据量进才能验证出系统的真实性能。

一个数据库中有两条数据和有两千万条数据,同相一条查询操作,对系统造成的压力是完全不一样的。

  系统所需数据的分析可以参考以下方式:

  历史数据分析有助于数据量级的确定。

从历史数据入手,找出高峰期数据量。

从其他相似或者相同系统入手,进行数据分析,找出高峰期数据量。

  无历史或者相关系统可以参考的时候,就要对系统的性能数据进行估算,包含系统容量,并发数等数据,估算以后给相关人员进行评审或者修订以后,按照大家同意的性能指标进行测试。

  …………

  测试数据最好和真实数据相同,如果能够获得真实系统运行3个月的数据,我们就可以在此基础上进行性能测试。

  关于数据的生成,我们可以祝一个工具完成,如数据库数据生成工具,大小文件生成工具等。

  五.测试工具

  前面已经介绍如何分析需求,需求确定下来之后,我们可以考虑引入什么样的工具适合性能需求。

  当然,在引入工具的时候除了考虑可以是否满足需求,还应该考虑工具的成本,这不单指工具的购买成本,还有测试人员对工具的学习成本。

  关于测试工具的选择,后面会单独有一章节介绍,这里就不细说了。

  如果你选择的性能测试工具不是足够的强大的话,你可能还需要其它的辅助的工具。

如果jmeter利用badboy来录制脚本,更能提高脚本开发效率。

在压力测试的过程中也可能

  需要性能计数器来记录软硬件的性能。

如监控服务器cpu、内存的计数器,记录中间件日志的监控中工具,监控数据库性能的监控工具等。

  六.测试策略

  对于一个特定的业务系统,用户一般会分散在一天的各个时间段进行访问。

在不同的时间段中,用户使用业务系统的频率不同,而系统的繁忙程度不同。

在一些特定的条件下,可能出现短时间内用户集中访问某个业务系统的情况。

例如对于公文处理子系统而言,可能就存在短时间内大量用户查看并办理某条公文的情况。

在进行性能测试时,应当使用“考虑最坏情况的原则”。

也就是应当在用户使用业务系统最频繁、对系统造成最大压力的情况下对系统的功能进行测试,判断各功能和页面是否能够满足性能的要求,系统的响应时间是否过长。

  另一方面,系统性能的验证必须做到“覆盖全面”。

虽然系统中各个功能的使用频率并不相同,一些功能的使用频率相对于其他功能来说比较低,但是在进行性能测试和优化时,不能忽略这些功能,编制测试用例时也不能仅仅选择最常用功能。

例如可能所有的用户都会访问我的通知列表,但是一般只有5%的用户会使用通过系统设置模块查找某个用户的信息;但是在测试时,我们并不能因为查看用户信息功能的使用频率相对较少,而忽略掉这项功能的测试。

所以,这里进行系统性能测试时,对于不同业务,用户的访问比例应该做一个合理分配。

在测试策略上,我们还应该考虑,同一个系统在不同硬件环境下的性能表现。

从而让系统满足需求的情况下,硬件配置也能达到一个最佳的状态。

过份的增加硬件来满足需求也是一种浪费。

再说增加硬件设备不是能解决所有性能问题的。

  七.人力与时间安排

  最后一条,就是要根据项目的进度要求以及规模,来进行人力与时间的安排。

对于大型的性能测试,项目前期的需求调研,环境的部署,工具的选购或开发,人员对测试工具的学习与使用,性能测试的后进行,后期数据的分析与调优。

都需要人员安排的。

有可以需要专业的,系统工程师、数据库工程师、软件开发工程师、络工程师以及性能测试工程师的共同参与配合完成。

不是一个性能测试人员就可以全部搞定的。

  笔者听说,最牛x的性能测试,需要几个国家的十几个城市的性能测试团队同步时行。

前期的准备工作就需要几个月的时间。

如何把控性能测试的同步进行。

后期测试数据的汇总与分析。

是一个非常复杂的过程。

这个例子有待考证,我想说明的是,对于大项目的性能测试,人员与时间安排也至关重要。

  ----------------------

  根据项目的不同,我们在做性能测试计划椒考虑的问题不仅仅上面这些内容,这一节所罗列的内容是基本需要考虑的因素。

  篇三:

性能测试学习总结

  一、性能测试

  性能测试的概念

  性能测试(PerformanceTesting)是系统测试的一种,在一定的负载情况下,系统的响应时间等特性是否满足特定的性能需求;从某些角度来说,性能其实是功能的一种。

  作为一个优秀的系统测试工程师,需要通过系统的角度来分析测试被测系统,分析包含以下两点:

  1.功能测试:

某个功能点是否实现

  2.性能测试:

整个系统,包括软件和硬件的性能指标

  而在软件质量当中,性能测试归属到效率的行列。

  软件效率(efficiency):

在规定条件下,相对于所用资源的数量,软件产品可提供适当性能的能力。

其中资源可能包括其他软件产品、系统的软件和硬件配置,以及物质材料(如打印纸、磁盘等)。

  衡量一个软件的性能,需要从软件效率的以下3点考虑:

  ·时间特性

  在规定条件下,软件产品执行其功能时,提供适当的响应和处理时间以及吞吐率的能力。

  ·资源利用性

  在规定条件下,软件产品执行其功能时,使用合适数量和类别的资源的能力。

  ·效率依从性

  软件产品遵循与效率相关的标准或约定的能力。

  一个性能测试工程师的主要工作目标就是确保系统能够在一定的硬件、软件环境下达到一定的性能指标。

  负载的概念

  负载的概念包含以下3点:

  1.系统实际用户

  可能会有很多人使用同一个系统,但并不是所有的用户都会同时使用该系统,所以系统的实际用户是一个容量的问题,而不是负载的问题。

  2.系统在线用户

  当系统用户对系统进行操作时,我们认为该用户为在线用户,这些用户对系统形成了负载,在线用户和实际用户的比例是根据系统特性决定的。

  3.并发操作

  用户在线后会对系统产生负载,但是用户和用户之间的操作却不是并发的,这是因为首先用户的操作需要延时等待,其次每个用户的操作并不是完全相同。

并发操作会对系统产生很大的负载,当多个用户同时对某个功能进行操作时,服务器必须对这些请求进行队列管理,依次处理。

  性能测试的分类

  负载测试(LoadTesting)

  负载测试是指在一定的软件、硬件及络环境下,运行一种或多种业务,在不同虚拟用户数量的情况下,测试服务器的性能指标是否在用户的要求范围内,以此确定系统所能承载的最大用户数、最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率。

  负载测试强调的是在一定的环境下系统能够达到的峰值指标,大多数的性能测试都是负载测试。

  压力测试(StressTesting)

  压力测试是指在一定的软件、硬件及络环境下,模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下并长时间连续运行,以测试服务器在高负载情况下是否能够稳定工作。

与负载测试获得峰值性能数据不同,压力测试强调在极端情况下系统的稳定性,这个时候处理能力已经不重要了。

  容量测试(VolumeTesting)

  容量测试是指在一定的软件、硬件及络环境下,在数据库中构造不同数量级别的数据记录,运行一种或多种业务在一定虚拟用户数量的情况下,获取不同数量级别的服务器性能指标,以确定数据库的最佳容量和最大容量。

容量测试不仅可以对数据库进行,还可以对硬件处理能力、各种服务器的连接能力等进行,以此来测试系统在不同容量级别下是否能达到指定的性能。

  容量测试和负载测试的区别在于,容量测试主要关心howmuch,而负载测试则同时强调howmuch和howfast。

  配置测试(ConfigurationTesting)

  配置测试是指在不同的软件、硬件以及络环境配置下,运行一种或多种业务,在一定的虚拟用户数量情况下,获得不同配置的性能指标,用—f选择最佳的设备及参数配置。

通过产生不同的配置,来得到系统性能的变化状况。

  基准测试(BenchmarkTesting)

  基准测试是指在一定的软件、硬件及络环境下,模拟一定数量的虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或系统评测的过程中,通过运行相同的业务场景比较测试结果,确定调优的结果是否达到预期效果或者为系统的选择提供决策数据。

基准测试一般基于配置测试,通过配置测试得到数据,并将这个数据作为基准来比较每次调优后的性能是否有所改善。

  并发测试(ConcurrencyTesting)

  并发测试是指通过模拟多个用户并发访问同一个应用、存储过程或数据记录以及其他并发操作,测试是否存在死锁、数据错误等故障。

为了避免数

  据库或函数方法在并发下的错误,需要专门针对每个模块进行并发测试。

  性能测试的时间

  编码阶段(压力/并发)

  在编码阶段,当每个函数、方法、存储过程被开发出来并通过单元测试后,都应该进行压力和并发测试,确认接口和被测对象能否健壮地处理极端情况,并且能否正确处理并发请求。

  在大多数情况下,这个阶段的性能测试都是开发人员自行负责。

而作为一个架构设计师,在设计软件时即应该考虑整个系统的性能,并进行建模测试,确保设计的正确。

随后程序员对架构进行实现时就需要对自己编写的代码进行并发测试和压力测试。

  编码一测试之间(容量测试)

  在系统编码完成时,应该及时进行容量测试,确认系统能否满足在指定容量下的性能需求。

例如导入5年的历史数据量,检查在这种容量下系统的性能是否可以接受,进一步再构造未来5年的数据量,检查系统是否正常工作。

  测试阶段(负载/配置/基准)

  在进入测试阶段之后,在确保功能正确实现后需要进行负载测试,得到系统在当前硬件及软件环境下的性能指标(响应时间、吞吐量、资源利用率),进一步形成性能数据基准,然后通过配置测试进行性能瓶颈的定位和优化。

  在负载测试后可以得到系统的性能,如果该结果满足用户需求,则可以考虑结束性能测试,也可以考虑进一步进行配置和基准测试,定位系统中的性能瓶颈,并进行进一步的优化。

  二、性能指标

  响应时间

  响应时间反映完成某个业务所需要的时间。

  例如从单击登录按钮到登录完成返回登录成功页面需要消耗1秒钟,那么就说这个操作的响应时间是1秒。

  在性能测试中是通过事务函数来完成对响应时间的统计,事务是指做某件事情的操作,事务函数会记录开始做这件事情和该事情做完之间的时间差,使用TransactionResponseTime这个词来说明,也称为事务响应时间。

  吞吐量

  吞吐量反映单位时间内能够处理的事务数目。

  例如对于系统来说一个用户登录需要1秒钟,如果系统同时支持10个用户登录,且响应时间是1秒钟,那么系统的吞吐量就是10个/秒。

在性能测试工具中,吞吐量也被称为TPS(TransactionPerSecond,每秒事务数)也就是说在单位时间内能完成的事务数目。

TPS的计算一般是通过的事务数除以时间。

  服务器资源占用

  服务器资源占用反映在负载下系统的资源利用率。

资源的占用越低,说明系统越优秀。

资源并不仅仅指运行系统的硬件,而是支持整个系统运行程序的一切软硬件平台。

在性能测试中,我们需要监控系统在负载下的硬件或者软件上各种资源的占用情况,例如CPU的占用率、内存使用率、查询cache命中率等。

  对于一个终端用户来说,最关心的指标只有响应时间,如果响应时间长了,那么用户就会觉得系统慢。

用户并不关心有多少人使用这个系统以及系统的资源是不是足够,所以从某个角度来说,性能测试必须保证在任意情况下终端用户使用的操作响应时间不大于5秒。

    

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1