版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件性能测试流程David_sheng编写目的本文档从性能工程的角度提出开展性能测试任务的流程,和进展性能测试任务的战略,下面我们讨论性能工程的需求阶段、设计阶段、实施阶段、产品部署阶段、维护阶段所要开展的任务,和相应要采取的战略。我如今调研的这个工程,一个内网网站,前台包括:新闻,公告,资料上传和下载,视频播放,留言,投票,专题活动,后台包括:用户管理,权限管理,规划设置,系统设置对于投票来说,会要求省和地市的用户在某个时间段进展投票。我想问用户的是:1网站的在线访问人数估计有多少人,并发人数有多少人 2功能的系统呼应时间可接受的范围 3系统支持的最大吞吐量是多少 4用户频繁运用的功能模块是
2、什么 5用户普通习惯的场景操作有什么 6网站的顶峰时段是何时?为什么进展性能测试?性能测试努力于减少运用程序、晋级程序或修补程序部署中的风险。性能测试的中心原理是经过将消费时的任务量运用于部署系统来衡量系统性能和最终用户体验。构造严密的性能测试可回答如下问题: 运用程序能否可以很快地响运用户的要求? 运用程序能否能处置预期的用户负载并具有盈余才干? 运用程序能否能处置业务所需的事务数量? 在预期和非预期的用户负载下,运用程序能否稳定? 能否能确保用户在真正运用软件时获得积极的体验?经过回答以上问题,性能测试可以量化改动业务目的所产生的影响。进而可以阐明部署的风险。有效的性能测试过程将有助于您做
3、出更明智的发布决策,并防止系统出现缺点和处理可用性问题。性能测试流程性能测试通常由五个阶段组成:测试方案、脚本创建、场景定义、场景运转和结果分析。测试方案:定义性能测试要求,例如并发用户的数量、典型业务流程和所需呼应时间。脚本创建:将最终用户活动捕获到Vuser自动脚本中。场景定义:运用 LoadRunner Controller 设置性能测试环境。场景运转:经过 LoadRunner Controller 驱动、管理和监控性能测试。结果分析:运用 LoadRunner Analysis 创建图和报告并评价性能。性能测试问题及对应人员性能测试需求的来源性能测试需求的来源有三个方面:需求文档设计
4、文档与客户沟通确定性能测试需求的处理方法在没有需求文档和设计文档的情况下,我们需求对客户业务运用情况进展分析,提出我们所关注的性能测试需求,并告知业务人员。让业务人员来判别我们的性能需求能否能满足客户的真实要求。1、确定当前系统的业务运用情况:经过日志记录客户端模块运用情况了解在某个时间段内,客户执行某个操作的详细情况。2、了解不同视角的用户性能:用户视角:呼应时间:用户所能感遭到的呼应时间,也是用户最注重的性能体验。 确立呼应时间的原那么:2/5/10原那么 2:2秒钟用户会觉得是一个很好的体验。 5:5秒钟用户能够会觉得差了一点,还行,比较好。 10:10秒钟是用户所能接受的最大极限。鉴于
5、不同地域的网络环境,将用户所能接受的呼应时间极限定为1215秒。此部分需与业务人员讨论。稳定性:系统长时间运转不会出现错误的才干。验证方法:系统在满负载的运转8小时,系统能否会出现效力不可用,Connection Refused 404,500错误。系统视角:延迟,系统资源运用情况 延迟:包括数据库延迟和网络延迟此部分需与DBA及系统部人员讨论。 系统资源运用情况:效力器的CPU运用率能否长期高于80,到达90,100的程度,整个磁盘的I/O能否到达极限。内存的运用数能否只剩下极少的几兆,几十兆。开发者视角:从代码实现和数据库实现来思索性能。看看这两方面得到实现能否足够好。3、了解真正的性能测
6、试需求方法:识别工程干系人:指的是和工程相关的人,开发人员,设计人员,需求人员,业务人员,上层指点,了解他们对性能测试的思索。 隐藏在“性能测试之后的实践想法,比如:是由于开发人员对所完成的代码没有自信心,又不情愿做修正,要求我们对其所作的程序进展性能测试,还是设计人员运用了一项新技术,心里没低,所要求作的性能测试,等等。确立性能测试目的1、以“需求为本思索系统需不需求作性能测试,性能测试的内容和范围。2、测试目确实定的经济性思索投入到性能测试的人员是多少?具备可以确定性能测试需求,制定性能测试方案的人员是多少?可以执行性能测试的人员是多少?这些人员需求投入多长时间?所要开发系统的运转环境和设
7、备,这些设备的配置对于性能测试的影响,比如说:tomcat4.1的运用效力器,它的配置文件缺省的jvm的运用空间是64M,一个机器的内存为1G,我们将jvm的运用空间设置为512M对性能测试的影响。 内部的人员无法满足性能测试的要求,经过外聘,采用外聘的方式,公司所能接受的本钱是多高。3、基于风险的测试目确实定系统假设不做性能测试,会有多大的风险,假设在性能目的上达不到用户的要求会有多大的风险。需求进展评价。假设做性能测试会有多大的风险,性能测试的投入会有多大,会有多大的风险需求进展评价。确定性能测试目的的方法我们要确定系统的吞吐量和并发用户数的设计目的可以采用以下三种方式:确定在某个特定时间
8、端内,估计系统会有多少用户同时访问在某个特定的时间端内,正在访问系统的用户的典型操作是什么?哪个页面的访问量最大?在某个特定的时间端内,系统需求处置多少种用户场景这些数据可以在系统效力器的日志文件、TSP监视数据种找到,也可以经过监视数据库的活动情况来获得。不同阶段的性能测试目的设计阶段的性能测试目的设计阶段的性能测试目的为调查系统能否满足预期的性能要求。开发阶段的性能测试目的将开发阶段的性能测试目的作为对系统进展调优的参考:思索在每个开发阶段,性能能否可以到达规范,思索当前阶段的性能瓶颈,及其性能瓶颈出现的缘由是在于数据库访问SQL语句或者存储过程写的不够好还是其他的缘由。 用性能测试手段发
9、现系统存在的问题:经过模拟真实场景,发如今现场测试中能够存在的问题,比如说:用户数的忽然添加,导致的运用程序解体,效力器解体的问题。产品部署阶段的性能测试目的提供部署方案的参考,确定适宜的硬件设备,虽然更高的设备可以获取商业上的利益,但应思索客户的详细情况。系统维护阶段的性能测试目的调查系统的可扩展性:从系统的视角思索,在用户数扩展,在业务量增大的情况下,是一个怎样的表现。性能测试方案确实立在确立性能测试方案之前,需求作的任务1、确定测试目的和需求这里的灵敏性比较大,与性能测试成败有很大的关系。2、了解现状 业务运用情况经过日志记录,在某个时间段内,用户的操作。了解环境:包括网络条件,效力器条
10、件,软硬件条件,运用效力器环境及各种配置信息。3、确定需求监控的目的:CPU运用率 内存运用情况 在此应优先监控运用效力器的性能目的。对于Tomcat或者Weblogic来说,监控他的JVM运用情况,衔接池的衔接数量,内存运用情况等信息。对于数据库来说监控cache的命中率,索引的运用情况,数据库的衔接数。用例和场景设计用例和场景设计的步骤:1、对业务的分析和分解2、根据业务确定用例3、不同用例按照不同的发生比例组成场景 4、了解每个场景的实践意义 对场景执行测试,搜集结果5、了解业务的分布情况,根据业务确定用例,在设计用例的时候,根据前期搜集的数据,设计不同的场景来组成用例,并了解每个场景的
11、实践意义,执行场景,搜集结果数据。设定需求监控的资源设定需求监控的资源主要有一下几个方面:1、CPU利用率2、内存运用情况3、数据库监控4、JVM运用情况监控应优先监控运用效力器的性能目的。对于Tomcat或者Weblogic来说,监控他的JVM运用情况,衔接池的衔接数量,内存运用情况等信息。对于数据库来说,cache的命中率,索引的运用情况,数据库的衔接数,详细的监控目的请性能测试工程师,根据性能需求确定。性能测试的运用领域系统性能测试的主要运用领域是验证才干、性能调优。1、验证才干包括验证新的系统,新的架构能否满足用户的需求。向用户提供性能测试报告,阐明系统的性能到达了预期设计的规范。确定
12、新平台的产品架构,假设以前用ASP,如今用.net,或者换到j2ee平台上,验证新系统架构能否满足性能要求,这个要求不是用户提出来的,也不是直接用户体验的,而是在架构设计过程中要确定的目的。2、性能调优在系统开发过程中,经过性能测试,了解当前系统瓶颈比如说在于数据库访问,SQL语句或者存储过程写的不够好,或者说数据库设计的问题,索引做的不够好,所选择的运用效力器有问题,或者说代码这一层,业务逻辑实现的不够好,导致它性能的缺陷。以确定问题出如今运用层,数据库层,代码层。实施阶段将影响性能的要素按照以下顺序进展判别:1、网络情况2、硬件设备3、系统/运用效力器/数据库配置4、数据库设计和数据库访问
13、实现SQL5、业务的程序实现但是在开发阶段做性能调优时关注的顺序:请更多的关注SQL 一级和代码一级。假设是对于一个实践在线上运转的系统,请直接按照以上5点的顺序。注:很多的性能问题,是由于运用效力器的配置完全不合理,比如:tomcat4.1的运用效力器,没有修正它的配置文件中缺省的jvm的运用空间。各阶段所要进展的性能测试设计阶段的性能测试在设计阶段的性能测试主要的目的是验证他的架构。验证的方式有两种:1、在对于系统架构有一个预期的性能目的的情况下,去验证当前架构能否满足预期的性能目的。2、系统架构是基于以前的架构修正正来的,对于两者进展一个对比测试,了解两种架构各有什么优势。实施阶段的性能
14、测试在实施阶段进展性能测试的目的是为了阶段性的验证系统性能,进展性能调优,并经过系统调优发现系统缺陷。产品部署阶段的性能测试在产品部署阶段,将性能测试作为验收测试的一部分。维护阶段的性能测试在维护阶段调查系统的可扩展性/定位系统缺陷,调查系统的可扩展性用来定位系统的缺陷。系统稳定性的度量为了验证系统的稳定性,我们需求对系统进展一个可靠性度量,在目前没有一个行业或者国际规范进展可靠性度量的前提下,我们又无法获得确切的用户需求用户提不出系统稳定性的量化规范,我们可以采用如下方式来验证系统的稳定性。经过在做性能测试的过程中得到系统稳定性数据的方式来验证系统的稳定性手段:对一个系统进展一个长时间的运转
15、,察看它的可用内存,cpu运用率有无显著的变化,假设在长时间运用的情况下,cpu,内存无显著变化,那么可以以为系统具有稳定性。性能测试的根本概念1、呼应时间: 客户端从发送恳求的那一刻起到收到运用程序呼应的最后一个字节时止而不得不等待的时间长度。2、点击数: 对每一个对象的恳求,比如说:一个页面有五个部分组成,一个框架,四张图片,这样算做5个点击数。3、页面恳求: 恳求了一个页面,不论这个页面包括了多少对象。4、吞吐量: i按照流量来计算的吞吐量,用来衡量网络情况或者运用效力器的处置才干,在指定的时间内,每秒钟字节的出入.ii用点击数来衡量吞吐量,每个固定的时间段内有多少点击数,用于银行系统。
16、5、并发用户:从业务上的并发:200人同时在线。从效力器上的并发:200人同时向效力器发出恳求。200人同时做一个提交的操作,效力器接遭到多少恳求。6、资源利用率:cpu利用率,内存利用率,磁盘I/O情况等在性能测试中需求留意的问题1、环境设计的问题2、其他需求留意的地方环境设计的问题1、网络环境2、软硬件环境3、环境的维护方案4、时间同步问题5、“镜像环境时间同步问题:各种效力器部署在不同的机器上,在进展性能测试分析呼应时间的时候就需求进展时间同步,经过日志来对比时间,但日志上记录的是本地时间,让日志记录的时间有可比性,需求做时间同步。同步的方法:在UNIX操作系统上用NTP协议可以做时间同
17、步,在windows系统上可以经过参与域来时间同步,“镜像环境的问题:做才干验证的测试的时候,普通要求在现场做,由于这种测试结果和运用效力器网络环境本身会有很大的关系,假设不能做现场测试,采用的两个处理方法:i尽能够的模拟出用户环境:包括网络情况,效力器情况,ii和用户去协商:去做现场测试。其他需求留意的地方1、运用效力器的Warm up问题J2ee运用或者.net运用如今都会涉及本地编译的过程,在第一次做运转的时候,在第一次访问的时候速度会很慢,第二次访问才会快起来,由于从本地Cache中读取信息,所以在运用效力器重启了以后,都必需多测几次,等效力器Warm up后再测试,否那么的话,前面的
18、结果没有有效性。整个的结果还会有误差。2、运用效力器的Cache在多次测试的过程中,把Cache功能给去掉,或者把cache给清空。3、阅读器或客户端运用的Cache客户端和阅读器的cache在录制脚本的时候都应该去掉。确定最小用户负载确定最小用户负载的目的为了全面掌握运用程序的性能不仅是重压条件下,而且是在更为理想的条件下。这是很重要的,由于运用程序通常将大部分的时间破费在这些低负载条件下。峰值操作通常很少发生。确定最小用户负载的方法从需求上处理,了解业务分布情况,将业务分布情况划分成不同的场景,确定一个负载运用情况最小的场景。执行此场景,察看系统在此场景下的运转情况。性能测试的两个根本类别
19、 预备测试预备测试:最初的试探性测试,让我们可以感受一下运用程序的性能并优化测试环境。正式测试有四个正式的性能测度,我们的分析就建立在这些测度上。可以将这些正式测试按照类型分成如下几个子类:单实例压力测试、耐久测试、体系构造测试一旦按照初步测试结果设置好了环境和测试参数测试脚本、思索时间、采样方法等等,这些要素就必需对任何特定的性能测试都坚持不变。假设在某个特定的性能测试中修正任何参数,那么我们就破坏了结果的可比较性,将不得不重新执行测试。性能测试生存周期规划性能分析创建有效的压力脚本执行压力测试分析性能测试数据来确定和处理性能瓶颈规划性能分析阶段的任务包括搜集重要的原始数据,然后根据这些信息制定测试方案。规划阶段搜集到的信息至少应该描画两个方面的内容:用来复制一个接近消费环境的测试环境的细节。对该运用程序的运用方式的了解,以及临界性能表现的迹象等。这些信息可以来源于市场预测报告、站点的WEB日志、站点的性能日志和站点功能阐明等。创建高效的压力测试脚本 在搜集了所需信息并搭建了测试环境后,下一步就是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/Z 141-2025蓄电池和蓄电池组起动用铅酸蓄电池减少爆炸危险的装置性能检验的试验方法
- 设备租赁合同2026年保密合作协议
- 2026年电影制作投资合同协议
- 2026年美食探店剪辑合作合同
- 网络维护合同协议2026年服务承诺条款
- 广告合同争议解决方式协议
- 2026年艺术表演合作合同
- 2026年保险合同保险合同通知协议
- 2026年物流仓储行业标准化合同协议
- 2026年火车站垃圾清运协议合同
- 小型手持式采茶机
- 太空交通管理规则-洞察及研究
- 化学反应原理大题集训(含解析)-2026届高中化学一轮复习讲义
- 腹腔镜手术应用推广方案与技术指南
- 北京市西城区中学课余训练:现状洞察与发展探究
- 规划展馆改造项目方案(3篇)
- 玉米dh育种技术
- 头孢曲松钠过敏的观察与急救
- 幼儿园后勤人员培训会议记录2025
- 广告材料供货方案(3篇)
- 四上语文《快乐读书吧》作品导读《世界经典神话与传说》
评论
0/150
提交评论