性能测试技术(一)

上传人:紫** 文档编号:243049948 上传时间:2024-09-14 格式:PPT 页数:51 大小:6.17MB
返回 下载 相关 举报
性能测试技术(一)_第1页
第1页 / 共51页
性能测试技术(一)_第2页
第2页 / 共51页
性能测试技术(一)_第3页
第3页 / 共51页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,北京中油瑞飞信息技术有限责任公司,性能测试技术简介,-,基础篇,PMO,管理部,课程内容,性能,测试培训,软件性能概念,性能测试目的,性能测试类型,性能测试策略,性能测试流程,目录,软件性能与性能测试,性能测试目的,性能测试类型,性能测试策略,性能测试的流程,性能测试人员组织结构,性能测试概念,Contents,软件性能,与性能测试,不同角度,性能的认识,性能测试,常用术语,软件性能与性能测试,软件性能,系统的性能是个很大的概念,覆盖面非常广泛,对一个软件系统而言,包括执行效率、资源占用、稳定性、安全性、兼容性、可扩展性、可靠性等等。,性能测试,性能测试主要是通过自动化工具模拟多种正常、峰值以及异常负载条件来对系统进行操作,以获得系统各项性能指标的一种测试。即对被测系统按照一定策略施加压力,获取系统响应时间、,TPS,、吞吐量、资源利用率等性能指标,以期保证系统的性能。,不同角度对性能测试的认识,用户角度,系统管理员角度,开发人员角度,软件对用户操作的响应时间,业务可用度,,或者系统的服务水平如何,并发压力,服务器端资源使用情况,,是否存在性能瓶颈,系统可扩展性如何,架构设计是否合理,数据库设计是否存在问题,代码是否需要优化如何通过,调整设计和代码实现,或如何通过调整系统设置提高软件的性能表现,性能测试常用术语,TPS,与,HPS,资源,利用率,命名用户数,在线用户数,吞吐量,交易成功率,响应时间,Performance,Test,Web Service,Web,(HTTP/HTML),性能测试指标,命名用户数,命名用户数是指在应用系统中注册的所有系统用户。,该用户数取决于系统应用范围和业务范围,可以通过统计应用系统数据库中用户登记表取得。,在线用户数,在线用户数是指同时登录应用系统的用户数量。,该数据可通过检查系统应用与数据库连接取得。,对于已投产系统,该数量一般通过系统跟踪监控获取。,新投产系统通过经验值估算。,性能测试指标,并发用户数(最佳、最大),并发用户数是指在某一给定时间内,某个特定点上进行会话操作的用户数。,响应时间,响应时间指的是从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,这个过程所耗费的时间。,性能测试指标,交易成功率,交易成功率指的是一段时间内成功的交易数在总交易数中所占的比例,金融行业应用系统一般要求在,99%,以上。,吞吐量,吞吐量是指单位时间内系统处理的客户请求的数量,直接体现应用系统的性能承载能力,。,性能测试指标,TPS,:,Transaction per second,TPS,是估算应用系统性能的重要依据;,TPS,是指应用系统每秒钟处理完成的交易数量;,一般而言,评价系统性能均以每秒完成的技术交易的数量来衡量;,系统整体处理能力取决于处理能力最低模块的,TPS,值。,交易分为业务层面和技术层面两种定义。业务层面交易是指完成一次完整的业务操作,例如进行一次取款、查询操作。技术层面的交易是指进行一次应用程序至应用程序、或者应用程序至数据库的系统操作。一般的一笔业务交易由多笔技术交易组成,根据业务交易的复杂度和系统应用架构的不同,其比例大致为,1,:,2-1,:,10,。,。,资源利用率,资源利用率是指系统在负载运行期间,数据库服务器、应用服务器、,web,服务器的,CPU,、内存、硬盘、外置存储,网络带宽的使用率。,据经验,低于,20%,的利用率为资源空闲,,20%-60%,的使用率为资源使用稳定,,60%-80%,的使用率表示资源使用饱和,超过,80%,的资源使用率必须尽快进行资源调整与优化,。,其他指标,在性能测试过程中还有大量与软件产品或硬件设备相关的测算指标;,随着性能测试的深入将逐渐积累汇总这些指标。,性能测试指标,性能测试目的,软件性能与性能测试,性能测试类型,性能测试策略,性能测试的流程,性能测试人员组织结构,目录,性能测试目的,目的,评估系统,目标,寻找瓶颈,验证稳定,系统,调优,预测未来,优化性能,为什么进行性能测试,性能测,试的目标,为什么进行性能测试,优化性能,最小化成本,最小化风险,交付高质量的系统,性能测试的目标,寻找瓶颈,优化性能,预测系统未来性能,可扩展性,评价系统当前性能,性能测试的目标,评价当前系统性能,1,寻找瓶颈,优化性能,2,系统刚上线,处于试运行,用户需要确定当前系统是否满足验收要求,系统已经运行一段时间,如何保证能够一直具有良好的运行性能,预测系统未来性能,可扩展性,3,用户提出业务操作响应时间长,如何定位问题,调整性能,系统运行一段时间后,速度变慢,如何寻找瓶颈,进而优化性能。,系统用户数增加时,当前系统是否能满足需求,如果不能,需要进行哪些调整?增加应用服务器?提高数据库服务器的配置?或是需要对代码进行调整?,目录,性能测试类型,性能测试目的,软件性能与性能测试,性能测试策略,性能测试的流程,性能测试人员组织结构,性能测试类型,基本类型,性能测试类型,负载测试,压力测试,大数据量测试,疲劳强度测试,失效恢复测试,实战类型,性能测试类型,负载测试,(Load Test),负载测试:主要用于描述常规的性能测试,通过模拟生产运行的业务压力和使用场景组合来测试系统的性能是否满足生产要求。,通俗的说,这种测试方法就是要在特定的运行条件下验证系统的能力状况。,压力测试,(Stress Test),压力测试:对系统不断施加压力的测试,是通过确定一个系统的瓶颈或者不能接收用户请求的性能点,来获得系统能提供的最大的服务级别的测试。通俗地讲,压力测试是为了发现在什么条件下应用程序的性能会变得不可接受。,性能测试类型,疲劳强度测试,通常是采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。,疲劳强度测试可以反映出系统的性能问题,例如内存泄漏等。,目标:通过综合分析交易执行指标和资源监控指标来测试系统长时间无故障稳定运行的能力,性能测试类型,大数据量测试,(Volume Test),大数据量测试包括独立的数据量测试和综合数据量测试。独立的数据量测试指针对某些系统存储、传输、统计、查询等业务进行的大数据量测试。综合数据量测试指系统在具备一定数据量时,在负载压力测试下,考查业务是否能够正常运行的测试。,目标:测试数据量较大时系统的性能状况。,失效恢复测试,失效恢复测试是针对有冗余备份或负载均衡的系统来说,检验如果系统局部发生故障,系统灾备措施是否可以正常启动,用户是否可以继续使用。,目标:通过实施失效恢复测试,评估系统的健壮性和可恢复性。,实战测试类型,性能测试,实战类型,单交易在系统无压力时,由基准测试数量的操作员连续执行,100,次完整操作,获得平均交易响应时间,单交易在系统无压力时,由,5,个虚拟用户连续执行,10,分钟操作,获得平均交易响应时间;,根据混合场景设计,依据单交易负载测试的结果,采用梯度发送的方式,直到出现性能拐点,获得混合交易系统处理最优时的用户数及响应时间,单交易,基准测试,单交易,负载测试,混合交,易测试,实战测试类型,性能测试,实战类型,在一定负载压力下,对系统长时间加压考察系统是否能够长时间稳定运行,利用系统自身特性,验证并发压力下其自身特性的有效性,如(负载均衡、,HA,等),在高并发的压力下,对系统模拟各种异常(服务异常、网络异常、主机异常等),,验证系统在异常状态下的处理能力,稳定,性测试,高可用,性测试,异常测试,实战测试类型,性能测试,实战类型,对系统跑批程序的执行,获取其执行效率、执行时间及资源使用等情况,利用系统自身流控机制,设置流控触发条件,模拟超出该条件时系统的状态,在正常压力下,通过调整系统关键参数,验证不同参数下系统性能情况,优化系统性能,批量程,序测试,流控超,时测试,参数调,优测试,目录,性能测试策略,性能测试目的,软件性能与性能测试,性能测试类型,性能测试的流程,性能测试人员组织结构,性能测试策略,性能测试策略一般从需求设计阶段就开始讨论如何制定了,它决定着性能测试工作将要投入多少资源、什么时间开始实施等后继工作的安排。其制定的主要依据是,“,软件自身特点,”,和,“,用户对性能的关注程度,”,两个因素,其中软件的自身特点起决定作用。,软件按照用途的不同可以分为两大类:系统类软件和应用类软件。系统类软件通常对性能要求比较高,因此性能测试应该尽早介入。应用类软件分为特殊类应用和一般类应用,特殊类应用主要指银行、电信、电力、保险、医疗、安全等领域类的软件,这类软件使用比较频繁,用户较多,一般也要较早进行性能测试;一般类应用主要指一些普通应用,例如办公自动化软件、,MIS,系统等。,28,28,性能测试策略,Contents,应用在客户,端的性能测试,应用在网络,的性能测试,应用在服务器,端的性能测试,应用在客户端的性能测试,应用在客户端的性能测试,负载测试,压力测试,大数据量测试,疲劳强度测试,测试系统在某一特定条件下的性能状况,以验证是否满足当前生产环境的需求。,通过逐步增加系统负载,获得系统的最大处理能力及相关的性能指标,大数据量测试包括独立的数据量测试和综合数据量测试,通常是采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程,.,应用在客户端的性能测试,测试机制,通过在一台或几台,PC,机上模拟成百或上千的虚拟用户同时执行业务的情景,对应用程序进行测试,通过可重复的、真实的测试能够彻底地度量应用的性能,确定问题所在。工程项目实践证明,其测试结果与实际情况完全符合。,应用在客户端的性能测试,测试机制,实现:模拟大量并发用户,测试环境一般包括主控台、代理机以及被测服务器,各部分采用网络连接。,测试工具使用的基本步骤,录制业务流程,形成测试脚本,优化调试脚本,执行测试场景,应用网络的性能测试,应用网络故障分析,测试网络带宽、延时、负载和,TCP,端口的变化如何影响用户的响应时间,网络应用性能监控,应用网络故障分析,通过测试优化性能,预测系统响应时间,确定网络带宽需求,定位应用程序和网络故障,应用在服务器端的性能测试,服务器端面临的风险,一般系统具有多台服务器,有不同服务器类型,,管理起来很困难,服务器的性能问题很难诊断,没有发现的简单问题可能引起许多用户的巨大问题,测试关键点,资源的占用情况,数据库性能,故障报警,应用在服务器端的性能测试,操作系,统监控,数据库,的监控,中间件,的监控,应用在服务器端的性能测试,监控内容,目录,性能测试的流程,性能测试目的,软件性能与性能测试,性能测试策略,性能测试类型,性能测试人员组织结构,测试流程,项目测试总结,技术性文档,专家评审,准备,执行,报告,总结,其他,接受,测试环境,测试方案,测试案例、测试数据,测试脚本、相关工具,案例执行,测试监控,调优与回归,收集,/,分析测试结果,阶段测试报告,项目测试报告,信息调研(测试目标),业务分析(测试模型),需求分析,计划制定(测试时间),工作日报,工作周报,评审记录,报文格式整理,某国有大型金融机构测试中心非功能测试流程图,测试流程,任务接受,测试目标,测试目标一般包含应用系统要达到的性能指标。,系统处理的最大并发用户数;,系统运行高峰时期,响应时间小于,X,秒;,TPS,不小于多少,X,;,服务器资源利用率不超过,80%,;,运行,7*24,小时,无明显的内存泄漏现象,(,根据系统要求,),。,测试模型,根据项目提供的业务模型进行分析提炼、抽取出所测的测试模型。,测试流程,准备阶段,测试环境,测试环境包含数据库服务器、应用服务器、,web,服务器,,Controller,机器、压力发生器的硬件配置与软件配置。,用途,主机,&,型号,资源配置,软件版本,数量,AP,服务器,IBM .,2C 4G,WebLogic 8.1,2,DB,服务器,HP .,4C 8G,Oracle 9.2.0,1,Controller,PC server,2C 4G,LR 8.1,1,Generator,PC Server,2C 4G,LR 8.1,2,测试流程,执行阶段,执行阶段输出,备注:,过程记录,:每一次测试都要进行记录,哪怕是调整了细微的参数,结果收集,:测试结果要按照一定命名格式保存,以备分析所用,LR Scenario *.lrs,形式,Html,形式和,LR Analysis Session Files,形式,测试场景,测试采集数据,LR Vuser Scripts *.usr,形式,测试脚本,目录,性能测试人员组织结构,性能测试目的,软件性能与性能测试,性能测试策略,性能测试类型,性能测试的流程,性能测试组织结构图,环境工程师,业务人员,业务,人员,性能测试组长,性能测试,工程师,性能测试,工程师,硬件,工程师,系统,管理员,业务协调人,业务组,技术组,环境组,应用,管理员,业务,专家,技术协调人,环境协调人,性能测试管理组,性能测试组织结构图,负责组建技术测试小组;,负责测试任务实施计划的管理与实施过程管理;,负责技术测试任务各关键成果的评审组织工作;,负责测试任务完成情况的汇报,以及与相关联组织,的沟通与协调;,负责实施过程的风险评估、风险防范与风险处理。,技术测试经理,性能测试组织结构图,负责技术测试任务需求调研与需求分析工作;,负责设计技术测试策略,以及技术测试方案的定制;,负责技术测试过程关键成果物的初步审核工作;,负责技术测试结果数据的汇总,以及问题的定位与分析;,负责技术测试报告的撰写工作;,负责技术测试过程中疑难问题的处理与解决;,技术测试分析师,性能测试组织结构图,负责测试脚本录制和调试;,负责测试数据的检查和确认;,负责执行过程记录;,负责测试结果数据的整理汇总;,负责测试实施中应用系统的口令管理;,负责测试脚本、文档等重要资源的版本管理;,负责应用版本更换、配置修改的记录和跟踪;,负责测试监控工具的部署和监控数据收集整理。,技术测试工程师,性能测试组织结构图,技术测试工作过程中涉及应用系统业务的分析、基础设施测试问题分析定位、基础软件性能诊断与分析,以及在应用系统调优的过程中涉及程序的修改与调试等工作由支持人员负责。支持人员不必全程测试技术测试工作,但须及时协助测试实施人员解决技术测试过程中相关领域的疑难问题。,技术支持人员,性能测试组织结构图,调研阶段,根据需要,业务人员参与典型交易业务分析工作,协助技术测试实施人员分析应用系统的典型业务场景、典型交易、交易发生规律,以及各类交易的操作人群;,准备阶段,业务人员协助技术测试实施人员分析业务功能的操作方法,业务数据间的关联关系等;,报告阶段,根据需要,业务人员参与报告的评审,分析测试结果对实际业务的满足程度。,业务人员,性能测试组织结构图,调研阶段,开发工程师负责协助技术测试实施人员分析应用系统的各类通信机制、系统内部结构、各类应用参数的含义,以及服务起停方法和系统日志记录规则等;,准备阶段,开发工程师配合技术测试工程师进行环境检查;,执行阶段,开发工程师负责协助技术测试工程师定位应用软件的瓶颈,分析测试过程中发现的软件问题并予以解决。在系统调优期间,负责应用软件的优化或协调相关开发人员进行优化工作;,报告阶段,根据需求,开发工程师参与技术测试报告的评审。,开发工程师,性能测试组织结构图,调研阶段,运维工程师在调研阶段协助技术测试实施人员进行生产业务量统计分析、生产环境的软硬件配置分析、生产环境的网络环境分析;,准备阶段,在环境搭建完毕后,运维工程师负责测试环境与生产环境的差异对比,包括硬件配置、软件配置、网络配置以及相关参数配置;,运维工程师,性能测试组织结构图,专有领域工程师包括:主机工程师、数据库工程师、网络工程师、中间件工程师,包括产品厂商委派的技术支持人员。,主机工程师负责测试执行阶段的主机性能瓶颈定位,以及与主机相关的性能问题分析与解决;,数据库工程师负责测试执行阶段的数据库问题的定位与解决,如数据库升级、数据库参数调整等;,中间件工程师负责测试执行阶段中间件产品的问题定位与解决;,厂商技术支持人员负责测试执行过程中对应产品的问题定位与解决。,专家领域工程师,huxifan,51,谢谢!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!