性能测试总结基础理论篇_第1页
已阅读1页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、性能测试总结(一)-基础理论篇随着软件行业的快速发展,现代的软件系统越来越复杂,功能越来越多,测试人员除了需要保证基本的功能测试质量,性能也随越来越受到人们的关注。但是一提到性能测试,很多人就直接连想到Loadrunner。认为lr就等于性能测试,其实这是不对的。lr只是性能测试的一个工具,但性能测试不仅仅是dr。本文会从以下几个方面介绍基础的性能测试理论,后续也会持续更新相关文章,尽量理论结合实践,让性能测试学习不在是工具的学习。目录:一、什么是软件性能二、不同群体眼中的性能三、性能测试类型四、性能测试应用场景五、性能测试基本概念六、理发店模型和地铁进站模型七、做好性能测试需要掌握的知识正文

2、:一、什么是软件性能定义:软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性。由定义可知性能关注的是软件的非功能特性,所以一般来说性能测试介入的时机是在功能测试完成之后。另外,由定义中的及时性可知性能也是一种指标,可以用时间或其它指标来衡量,通常我们会使用某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试。性能测试定义:指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。二、不同群体眼中的性能不同的人由于人生观、世界观、价值观以及教育背景、知识体系、人生阅历的不同,对于同一事物或问题的看

3、法可能不同。对于软件性能也是如此,不同的人由于视角的不同,所关注的点也可能不同。下面来看看在不同的人群眼中性能分别是什么样的。用户眼中的性能用户视角仪为卄么总是竟败宁稳定性开发眼中的性能址対貓ST系貓塑*系统管理员眼中的性能栗构设计是否合理?一餐怎设计i数揖库设计是否合理。一一数据库设计代码是否存在性能问题?一一代码是否有不合理扰刀存使用?一一代书量否有不合理区議程目步接作?一一代码是否有不合理旌资源竞争,一一代码代玛算法是否込能有注一步提升?一一代西拮多支播莎髮乱口访诃?-测试眼中的性能是什么样的呢?貝牺购翘沁幕;:审L测试人员做为软件质量控制的一个角色,不仅仅是找bug,需要对整个软件的质

4、量负责,性能也属于质量的一部分,因此测试人员眼中的性能应该是全面的,考虑的东西也需要全面:考虑全面的性能,包括用户、开发、管理员等各个视角的性能。1、2、测试人是否合理?代码是测试人员需故性能测试时除开要关注表面的现象如响应时间,也需要关注本质,比如用户看不到的服务器资料利用率,架构设计理等言方方面面。三、性能测试类型基准测试:在给系统施加较低压力时,查看系统的运行状况并记录相关数做为基础参考负载测试:是指对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到安全临界值,例如某种资源已经达到饱和状态等。压力测试:压力测试是评估系统处于或超过预期负载时系统的运行情况,关

5、注点在于系统在峰值负载或超出最大载荷情况下的处理能力。稳定性测试:在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题,四、性能测试应用场景(领域)1、性能测试应用场景(领域)主要有:能力验证、规划能力、性能调优、缺陷发现、性能基准比较,下表简单介绍和对比了这几个场景的各自用途和特点:主要用途典型场景常用性能特点测试方法a)要求在已确定的环境下运能力验证规划能力性能调优缺陷发现关注在给定的软硬件条件下,系统能否具有预期的能力表现在要求平均响应时间小于行2秒的前提下,如何判断b)

6、需要根据典型场景设计测系统是否能够支持50万试方案和用例,包括操作序用户/天的访问量?列和并发用户量,需要明确的性能目标。a)负载测试b)压力测试c)稳定性能测试某某系统计划在一年内获关注如何使系统具有客量在到xxx万,系统到a)它是一种探索性的测试a)负载测试我们要求的性能能力时候是否能支持这么多用b)常用于了解系统性能和b)压力测试户量?如果不能需要如何获得扩展性能的方法c)配置测试调整系统的配置?主要用于对系统性能进行调优某某系统上线运行一段时间后响应速度越来越慢,此时应该如何办?每次只改变一个配置无休止的调优切忌a)并发测试切心b)压力测试c)配置测试某些缺陷只有在高负载的做为系统测试

7、的补充,用来a)并发测试发现缺陷或问题重情况下才能暴露出来,如发现并发问题,或是对系统b)压发测试现、定位手段线程锁、资源竞争或内存已经出现的问题进行重现和)试泄露。定位常用于敏捷开发过程中,敏捷开发流程的特点是小步快走,快速试错,迭代周期性能基准比短,需求变化频繁。很难定义完善的性能测试目标,也没有时间在每个迭代开展详细的性较能测试,可以通过建立性能基线,通过比较每次迭代中的性能表现变化,判断迭代是否达到了目标。2、通常在某个性能场景(领域)中需要联合使用多种性能测试方法一起进行性能测试,下表为性能测试应用领域与测试方法关联:能力验证规划能力性能调优缺陷发现性能基准比较基准测试负载测试压力测

8、试并发测试稳定性测试五、性能测试基本概念1、响应时间a)定义:从用户发送一个请求到用户接收到服务器返回的响应数据这段时间就是响应时间b)关键路径:下图为一次http请求经过的路径,请求会经过网络发送到web服务器进行处理,如果需要操作DB,再由网络转发到数据库进行处理,然后返回值给web服务器,web服务器最后把结果数据通过网络返回给客户端。网络时间+应用程序处理时间)2、Latency1、2、3、通常吞吐量图中拐点说明:响应时间突然增加意味着系统的二i多种资源利用达到的极限可以利用拐点来进行性能测试分析与定位定义:单位时间内系统处1户端请求的数量a)b)计算单位:一般使用请求数/秒做为吞吐量

9、的单位,出可以使用页面数/秒表表示。另外,从业务角度来说也可以使用访问人数/天或页面访问量/天做为单位。c)d)吞吐量-负载对应关系:图中拐点说明:1、吞吐量逐渐达到饱和3、2、3、并发数:意味着系统的一种或多种资源利用达到的极限通常可以利用拐点来进行性能测试分析与定位计算方法:Throughput=(numberofrequests)/(totaltime).并发用户数:某一物理时刻同时向系统提交请求的用户数,提交的请求可能是同一个场景或功能,也可以是不同场景或功能。在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求系统用户数:系统注册的总用户数据4、资源利用率三者之

10、间的关系:系统用户数=在线用户数=并发用户数a)定义:指的是对不同系统资源的使用程度,通常以占用最大值的百分比来衡量b)通常需要关注的服务器资源如下:1、CPU:就像人的大脑,主要负责相关事情的判断以及实际处理的机制2、内存:大脑中的记忆块区,将眼睛,皮肤等收集到的信息记录起来的地方,以供Cpu进行判断,但是是临时的,访问速度快,如果关机或断电这里的数据会消失。3、磁盘IO:大脑中的记忆区块,将重要的数据保存起来(永久保存,关机或断电不会丢失,速度慢),以便将来再次使用这些数据。4、网络:c)资源利用-负载对应关系:Utilization图中拐点说明:1、服务器某2、通常可以利用拐点来进行性能

11、测试分析与定位荐资源使用逐渐达到饱和5、其它常用概念:nsPerSecond,每秒事务数a)TPS:Transab)思考时间:用每个操作后的暂停时间,或者叫操作之间的间隔时间,此时间内是不对服务器产生压力的c)点击数:每秒钟用户向WEB服务器提交的HTTP请求数。这个指标是WEB应用特有的一个指标:WEB应用是请求-响应模式,用户卜理一次,所以点击是WEB应用能够处理的交易的最小单位。如果把每次点击定义为一个交易,点击率和TPS就操作中,客户端可能向服务器发出多个HTTP请求.UV:作为一个独立的用户点的所有页面均算作一个UV(UniqueVisitor用户访问)发出一次申请,服务器就要处是一个概念。容易看出,点击率越大,对服务器的压力越大。点击率只是一个性能参考指标,重要的是分析点击时产生的影响。需要注意的是,这里的点击并非指鼠标d)PV:访问一个URL,产生一个PV(PageView,页面访问量),每日每个网站的总PV量是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论