




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. .自动化性能测试摘要在过去的20年中,很多公司已经转向用软件将工作数字化方式。在软件应用的推动下,已经产生了巨大生产效率,同时,为全球经济的协作和信息共享提供了新的方式。软件应用实际上已经成为业务关键信息共享和各种事务处理两领域的主要渠道。当前,软件应用-从到CRM客户关系管理到事务处理-就意味着业务本身。软件开发技术在这段时期内已经发生改变并且相当成熟,现代应用软件的复杂性也正在爆发。应用可以使用数十和数百种组件完成曾经使用纸X或手工的工作。复杂性直接导致业务过程中出现更多的潜在故障点,从而使分析问题的根源更为困难。此外,软件应用的运行与汽车不同。它们没有那些当磨损后可直接更换的耐久部件
2、。不管目标是为了建立竞争优势还是为了满足业务的变化,软件应用每周每月每年都在改进。这一连串的变化使公司不得不面对另外一系列风险。难以置信的改变速度和爆炸性的软件复杂性给软件开发过程带来了巨大风险。严格的测试,对于量化和降低业务风险,是最常用的策略。开发人员,测试团队和管理层等会提出一个相似的问题:在投入运行前如何准确,全面地验证系统性能,而不超出预算。通过性能测试,公司可以在投入运行之前检验应用是否满足业务需求,量化最终用户体验的变化的影响,并且快速分析和解决发生故障的组件,因而在部署时就较少出现意外。然而,自动化性能测试的美好前景需要面对一些新问题:1. 什么是性能测试?2. 为什么要使它自
3、动化?3. 性能测试正确的过程?-设计-构建-执行-分析,诊断,和调整4. 好的性能测试涉及到哪些人?5. 谁需要看结果并且如何报告结果来量化ROI?6. 当比较自动化负载测试方案时,哪些特性是最重要的?通过我们的负载测试经历和大量的顾客输入和回馈,我们已经在正确的方法中积累了大量的专门技术,使得性能测试的步骤自动化。这篇文章总体介绍了自动化性能测试和最正确覆盖性能测试方法的益处。什么是性能测试?性能测试是在上线前对系统进展端到端性能测试的唯一方法。性能测试解决方案是:1. 使用最少的硬件模拟成百上千的用户与系统进展交互。2. 测量最终用户的响应时间3. 以一致的方式重复负载4. 在负载下监测
4、系统组件5. 提供强健的的分析和报告机制自动化测试方案通常使用4个主要的组件来构建和运行测试。这些包括:1. 虚拟用户发生器可以捕获最终用户业务过程,并转化为自动化脚本。2. 控制器将组织、驱动、管理、和监测负载3. 执行期间负载发生器执行虚拟用户4. 分析引擎观测、分析和比照结果为什么使性能测试自动化?自动化测试是一种方法,发挥人力,过程,技术的作用,以降低应用,升级或补丁部署的风险。其核心,自动化性能测试是在预部署的系统上施加生产环境的负载,同时测量系统性能和最终用户的体验。构建良好的性能测试可以答复类似下面的问题:1. 应用响应时间对于方案的用户足够快么?2. 应用是否能够处理期望的用户
5、负载或更多?3. 应用是否能处理业务所需的事务数量?4. 应用在期望内或期望外的用户负载下是否稳定?5. 你确定用户会在上线时得到积极的体验么?通过答复这些问题,自动化性能测试采用业务术语量化改变所带来的影响。这样,就明确了部署的风险。一个有效的自动化性能测试过程可以帮助制定考虑周详的发布决策并防止系统故障和可用性问题。自动化性能测试过程一些已经成功实行自动化性能测试的组织,已经将这个过程分解为独立的阶段。虽然具体的实施可能有所不同,但是,广泛地说,性能测试可以分为四个阶段设计,构建,执行和诊断/调整。每个阶段有具体的任务,涉及到不同的角色,这些任务在转到下一阶段前必须完成。在最高级别,四个阶
6、段可以被描述如下:1. 设计阶段包括定义系统中所要测试的业务过程,在平均或峰值生产时间的综合业务过程,和用户和响应时间的全面目标。2. 构建阶段包括建立和配置测试系统和根底设施,并且使用自动化性能测试解决方案来构建测试脚本和负载场景。3. 执行阶段由运行负载场景和测量系统性能组成。4. 诊断和调整反复迭代的阶段超出了测量系统性能和负载测试,到达另外一个层次,关键是要查明问题来快速帮助解决问题,并且调整系统参数来最优化性能让我们详细分析关系到每个阶段成功与否的必要任务。设计这是性能测试团队向业务部门搜集性能需求的主要阶段。需求可以被认为分为四个方面业务,技术,系统和团队需求。业务需求一般通过与主
7、题专家SME,subject matter expert的会议来搜集。这些人可以是业务分析师和最终用户。当下面内容准备好后,一套全面的业务需求就形成了:1. 应用概要:系统用法的演示使得性能团队得到更高层次的理解,应用是如何被使用的。2. 业务过程列表:最终用户在系统上所执行的关键业务过程列表。3. 业务流程:Word文档,详尽记录每个业务过程的准确步骤和屏幕。4. 事务列表:业务过程中关键活动的列表例如登录或转移资金需要在负载下测量。5. 业务过程图:业务流程图说明业务流程的分支条件。技术需求可以通过与系统管理员和数据库管理员DBA的会议来搜集。这些人可以隶属于开发或运营部门,或者隶属于两者
8、。一套全面的技术需求仅当以下内容齐备时完成:1. 环境评审:按照测试体系构造由系统或根底设施组进展走查评审。2. 系统范围的会议:召开会议,讨论和确认在测试过程中系统需要排出的局部。3. 生产图:一个生产根底设施图,用于说明测试与生产环境的差异,当从QA向生产迁移时可能对性能造成影响。最后,重要的是,必须收集系统需求。这些是系统的高层次目标,决定着负载测试过程的通过/失败状态。这些一般在与LOB的工程经理工作中达成一致。系统需求包括对以下问题的答复:1. 系统在正常和最顶峰时期必须支持多少用户?2. 每秒钟它必须处理多少个事务?3. 对于可业务关键事务最大和最小可承受的响应时间是多少?4. 用
9、户群体如何联系?5. 生产中系统承受的工作负载是什么?以及混合的事务?团队需求是进展到构建阶段前需要解决的最后一个问题。这只不过是决定适合的性能团队成员来参与到未来的负载测试。最初,这也许被自动确实定例如,当只有一个团队。然而,如果性能测试成为卓越中心CoE的一局部,那么资源分配,内部后勤就应该在设计阶段考虑和解决。预先收集一套完整的业务,技术,系统,和团队需求是使负载测试有效和成功的根底。构建构建阶段将在设计阶段确定的业务过程和工作负载转变为自动化组件,这局部可以驱动可重复的,实际的负载。这可以分为两个方面:自动化设置和环境设置。自动化设置是由性能工程师完成的一系列连续的工作。1. 脚本:将
10、确定的业务过程记录为自动脚本。2. 事务:插入定时器来产生业务所需的逻辑计时。3. 参数化:用一个池替代所有的输入数据,例如ID和密码,这样每个虚拟用户用唯一的数据应用。4. 场景:通过给用户组分配不同的脚本,连通性和用户行为等方法,创立生产工作负载。5. 监测器:确定负载下所要监控的效劳器或机器。环境设置由执行成功,现实的负载测试所需的硬件,软件,和数据组成。这些可能涉及到系统,DBA,运营和业务团队。构建阶段的最终成果就是可以执行在可用的,已配置的环境上的一系列自动化“资产。执行对于刚接触性能测试的新手来说,经常存在一个误解,就是执行是一个单一事件。实际上,它是一个由多种类型的性能测试组成
11、的多步骤的过程。每种测试都提供了理解发布应用所带来风险的必要信息。负载测试的类型包括:1. 基线测试验证了系统和其周围环境可在合理的技术参数下运行。性能测试按5到10个用户执行,作为最终用户事务性能的基线。这些测试应该在性能测试的开场和完毕时执行,来测量响应时间的绝对改进。2. 性能测试在环境中模仿负载,并确定系统可以支撑的最正确和最大用户数量。这些测试应该仿效平均和峰值时间的生产用法,他们应当最大限度地仿真用户的真实行为,例如思考时间,调制解调器的仿真,和各种类型的浏览器。同时,采用其它专用的监控和诊断工具,有效地查看系统内部行为,诊断系统衰变和瓶颈。3. 基准测试被设计来测量和比照理想情况
12、下的各种机器类型,环境,或应用的版本。当系统经过扩展性测试后,执行这些测试可以帮助了解不同体系构造的影响。4. 渗透测试被设计用于在长时间的负载下检测系统的执行情况。5. 峰值测试被设计用于模拟系统在峰值负载下运行一段时间来保证应用和其硬件可以在合理的时间段内支持高负载分析,诊断,和调整如何确定性能测试的 ROI良好的性能测试的ROI有双重意义:1. 缓解风险保证工程到达正确的扩展性和性能。缓解风险是标准的性能测试好处。大多数自动化性能测试的用户可以向开发部门或工程团队反响清晰的,可量化的信息,预测系统在生产环境的扩展和性能情况。2. 性能最优化以量化方式改善系统的性能,通过测量改进的最终用户
13、响应时间,或者通过减少所需的全面硬件根底设施如何优化性能在性能测试后的阶段中,提供了很多有利于改善系统性能的有价值信息。1. 监测性能测试期间的监测显示出根底设施中每一层发生的情况,在性能测试期间提供了数据库效劳器,Web效劳器,应用效劳器,或单独的应用和过程的更加清晰的记录。例如,这些信息可以快速说明应用效劳器的CPU使用率在200用户的时候到达100%,而不能到达300用户的目标。这意味着要么需要更多的应用效劳器容量要么需要优化应用自身。2. 分析:在负载测试完成之后,用户可以关联分析例如创立虚拟用户对抗CPU或应用效劳器CPU到Web效劳器来测定应用行为更深一层次的信息。3. 调整:许多
14、公司在应用部署的前中后期使用压力测试工具来实施自动化性能测试。同时可以采用其它工具允许用户通过修改系统配置设置系统地识别,隔离,和解决根底设施的性能瓶颈。通过反复实施解决根底设施的瓶颈的过程,用户可以建立当前最优的黄金配置。4. 诊断:当前的技术可以允许,性能工程师在负载条件下对各个层,组件和SQL语句如何影响整个业务过程性能有一个统一的认识。诊断时,性能工程师使用诊断工具可以看到最终用户事务当前涉及到的所有组件。此外,用户也可以看到每一个组件花费的时间和被调用的次数。依靠这些信息,工程和QA经理可以定位到最重要的Web,应用,和数据库效劳器瓶颈,集中资源来改善用户体验。它为开发者提供了如此有效的实际数据以至于用户把它称为“性能测试的圣杯。良好的性能测试涉及到哪些人?1. 工程经理协调多个性能工程,管理测试进度,获得必要的硬件或软件,处理资
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能机器人生产制造合同
- 广东省珠海市斗门区2024-2025学年八年级上学期期末生物学试题(含答案)
- 酒店行业阅读题及答案
- 超级计算中心建设运营合同
- 顶入法法的桥、涵工程 现场质量检验报告单
- 商业综合体设计与施工合同
- 教育培训行业学员个人信息保护合同
- 安徒生童话故事中的道德评析
- 农业产业化发展方案
- 高中英语单词复习策略及实践教案
- 部编人教版五年级下册小学道德与法治全册课时作业(一课一练)
- 世界著名童话故事英文绘本故事丑小鸭
- 《工程化学》课程教学大纲
- 马小跳玩数学课件
- 三年级劳动课1ppt
- 《乘法交换律和结合律》教学课件数学四年级下册
- 大数据在金融领域的应用方案
- 锚杆(索)检验批质量验收记录
- 生产作业指导书SOP表格模板
- 建筑装饰设计收费标准
- 传统体育养生概论
评论
0/150
提交评论