01性能测试培训_第1页
01性能测试培训_第2页
01性能测试培训_第3页
01性能测试培训_第4页
01性能测试培训_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

性能测试 广联达软件股份有限公司测试管理部贲驰 内容概要 1 性能测试介绍2 性能测试过程3 性能测试举例 1 性能测试介绍 1 1什么是软件性能1 2性能指标介绍1 3什么是性能测试1 4性能测试类型1 5性能测试原理 1 1什么是软件性能 什么是性能 1 1什么是软件性能 新华字典定义 性能指器物所具有的性质与效用 两层含义1性质 该器物具有什么特性 能够做什么 2效用 该器物能够干的怎么样 1 1什么是软件性能 我们身边的性能案例1F1比赛 1 1什么是软件性能 2个人电脑 1 1什么是软件性能 软件 1 1什么是软件性能 系统的性能是个很大的概念 覆盖面非常广泛 对一个软件系统而言 包括执行效率 资源占用 稳定性 安全性 兼容性 可扩展性 可靠性等等 用户视角的软件性能管理员视角的软件性能产品开发人员视角的软件性能 1 1什么是软件性能 1 1 1用户视角的软件性能从用户角度来说 软件性能就是软件对用户操作的响应时间 1 1什么是软件性能 1 1 2管理员视角的软件性能系统的响应时间 系统运行时服务器的状态 如CPU利用情况 内存使用情况等 系统是否能够实现扩展 系统支持多少用户访问 系统性能可能的瓶颈在哪里 系统是否支持7 24小时的业务访问 1 1什么是软件性能 1 1 3产品开发人员视角的软件性能用户关心的响应时间 管理员关心的系统可扩展性等 架构设计是否合理 数据库设计是否合理 代码是否存在性能方面的问题 系统中是否有不合理的内存使用方式 1 2性能指标介绍 用户数响应时间吞吐量资源利用率 1 2 1用户数 并发用户数 是指在某一给定时间内 某个特定点上进行会话操作的用户数 在线用户数 所有正在访问系统的用户 不一定做操作 系统用户数 系统额定的用户数量 设计容量 1 2 2响应时间 响应时间指的是客户端发出请求到得到响应的整个过程所经历的时间 1 2 3吞吐量 吞吐量是指单位时间内系统处理的客户请求的数量 直接体现软件系统的性能承载能力 一般来说 吞吐量用请求数 秒或页面数 秒来衡量 从业务的角度 吞吐量也可以用访问人数 天或处理的业务数 小时等单位来衡量 从网络的角度来说 也可以用字节数 天等单位来考察网络流量 1 2 4资源利用率 资源利用率是指系统资源的使用程度 比如服务器的CPU利用率 内存利用率 磁盘利用率 网络带宽利用率等 1 3什么是性能测试 性能测试重要性 性能测试主要是通过自动化的测试工具或手段模拟多种正常 峰值以及异常负载条件来对系统的各项性能指标进行的一种测试 1 3什么是性能测试 性能测试重要性 1 3性能测试重要性 失败案例奥运订票系统 1 4性能测试类型 负载测试压力测试疲劳强度测试 1 4 1负载测试 负载测试 主要用于描述常规的性能测试 通过模拟生产运行的业务压力和使用场景组合来测试系统的性能是否满足生产要求 通俗的说 这种测试方法就是要在特定的运行条件下验证系统的能力状况 1 4 2压力测试 压力测试 对系统不断施加压力的测试 是通过确定一个系统的瓶颈或者不能接收用户请求的性能点 来获得系统能提供的最大的服务级别的测试 通俗地讲 压力测试是为了发现在什么条件下应用程序的性能会变得不可接受 1 4 2压力测试 用户量压力测试数据量压力测试 1 4 3疲劳强度测试 疲劳强度测试通常是采用系统稳定运行情况下能够支持的最大并发用户数或者日常运行用户数 持续执行一段时间业务 通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程 疲劳强度测试可以反映出系统的性能问题 例如内存泄漏等 1 5性能测试原理 1 5性能测试原理 多用户向应用服务器发数据包 并且数据包对应用服务器来说 必须遵循某种规范 即协议 性能测试不关心界面 只关心发的数据 性能测试基本原理 线程 协议 1 5性能测试原理 2 性能测试过程 系统的关注点 2 性能测试过程 系统的关注点 2 性能测试过程 2 性能测试过程 回顾功能测试的过程 2 性能测试过程 测试需求分析制定测试策略制定测试方案执行测试方案测试结果分析编写测试报告 2 1测试需求分析 测试需求分析主要有以下的几个关键点 测试的目的是什么性能符合性验证 验证是否满足应用的需要 性能能力验证 确定性能极限 是否存在性能瓶颈 性能调优 对系统的性能进行调试 优化 2 1测试需求分析 测试要素分析 用户数量测试执行的功能用户分布 即执行每种功能的用户数 硬件环境 包括网络环境 软件环境数据量其它分析系统运行中所出现的问题有什么特征或规律疲劳测试执行时间多少性能需求的指标是什么等 2 2制定测试策略 测试目的不同 则相应的测试策略不同 性能符合性验证 负载测试 疲劳强度测试 性能能力验证 压力测试 疲劳强度测试 性能调优 测试 调整 测试 负载测试 压力测试 疲劳强度测试 2 3制定测试方案 测试需求测试策略测试场景测试环境测试准备人员及时间安排问题与对策 2 4执行测试方案 搭建测试环境录制脚本 编辑脚本布置测试场景执行测试场景 2 5测试结果分析 性能符合性验证 查看测试结果是否满足要求 比如响应时间 资源利用率 吞吐量等等 性能能力验证 查看测试结果是否满足要求 记录软件系统的性能变化曲线 对于确定是否存在性能瓶颈 首先判断是否存在硬件 包括网络 瓶颈问题 若不存在硬件瓶颈问题 则按照应用软件到系统软件 应用服务器 数据库服务器 操作系统 的顺序进行分析 确定瓶颈点 性能调优 同性能能力验证确定性能瓶颈分析方法 2 5测试结果分析 硬件瓶颈分析方法内存分析方法处理器分析方法磁盘I O分析方法网络分析方法 2 5测试结果分析 内存分析方法1 首先查看可用内存 Memory AvailableMbytes 计数器指标 若值较小则可能有内存问题 需进一步分析 2 注意Pages sec PagesRead sec和PageFaults sec计数器的值 Pages sec和PageFaults sec的值持续很高 很可能内存问题 若PagesRead sec的值超过5 则可判断存在内存问题 3 根据PhysicalDisk计数器的值分析性能瓶颈 如果磁盘的AverageDiskQueueLength计数器增加的同时PagesRead sec并未降低 则可判断内存有问题 2 5测试结果分析 处理器分析方法1 首先查看System TotalProcessorTime计数器的值 该值体现的是CPU的平均利用率 若超过90 则说明存在处理器方面的瓶颈 2 其次查看每个CPU的Processor UserTime计数器的值 若应用服务器的 UserTime值较大 可以考虑是否能通过算法优化等方法降低这个值 若数据库服务器的 UserTime值较大 可考虑对数据库系统进行优化 3 查看System ProcessorQueueLength计数器的值 当该值大于CPU数量的总数 1时 说明存在处理器方面的问题 2 5测试结果分析 磁盘I O分析方法1 查看 DiskTime计数器的值 该值较大 则可能存在磁盘瓶颈问题 2 与Processor PrivilegedTime合并进行分析 若 DiskTime值较大 而Processor PrivilegedTime的值适中 则可判断存在磁盘问题 若Processor PrivilegedTime较大 持续超过80 则可能是内存泄漏 3 根据Disksec Transfer进行分析 该值超过60ms 则磁盘存在问题 2 5测试结果分析 软件瓶颈分析方法分析事务响应时间 吞吐量 确定是否存在性能问题 若发现存在性能问题 则找出响应时间不符合要求或者出现多个失败的事务 对其进行分解 然后对其进行网页细分 以确定影响性能的元素 2 6编写测试报告 测试指标 描述与测试场景对应的事务平均响应时间 事务吞吐率 资源消耗指标 运行的用户数等信息 结果分析与总结 根据测试目标 描述最后分析得到的结果 并给出相应的建议 3 性能测试举例 性能测试工具介绍性能测试举例 3 1 1常见性能测试工具 CompuWare公司的QALoad Microsoft公司的WAS RadView公司的WebLoad IBM公司的RPT 开源工具 OPENSTA等 MercuryInteractive公司的LoadRunner QALoad 1 简介QALoad模拟成百上千的用户并发执行关键业务而完成对应用程序的测试 并针对所发现问题对系统性能进行优化 确保应用的成功部署 QALoad不单单测试WEB应用 还可以测试一些后台的东西 比如SQLServer等 只要是它支持的协议 都可以测试 2 特征1 自动捕获实际执行过程 自动生成测试脚本 2 通过控制台控制各个Agent 进行脚本分配 3 应用广泛 支持多种协议 如DB2 ODBC WWW Winsock等等 WAS 简介 WAS WebApplicationStress是由微软的网站测试人员所开发 专门用来进行实际网站压力测试的一套工具 透过这套功能强大的压力测试工具 您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响 特征 1 可以数种不同的方式建立测试指令 包含以手动 录制浏览器操作步骤 或直接录入IIS的记录文件 录入网站的内容及录入其它测试程序的指令等方式 2 支持多种客户端接口 3 支持多用户 利用多种不同的认证方式仿真实际的情况 WebLoad 简介 WebLoad是RadView公司推出的一个性能测试和分析工具 它让web应用程序开发者自动执行压力测试 WebLoad通过模拟真实用户的操作 生成压力负载来测试web的性能 特征 用户创建的是基于javascript的测试脚本 称为议程agenda 用它来模拟客户的行为 通过执行该脚本来衡量web应用程序在真实环境下的性能 如有需要可以在做负载测试的同时 使用服务器监控工具对服务器端的内容进行记录那样使负载测试更加全面 RPT 1 简介RPT RationalPerformanceTester是IBM基于Eclipse平台开发出来的最新性能测试解决方案 它可以有效地帮助测试人员和性能工程师验证系统的性能 识别和解决各种性能问题 2 特征在为性能测试员和性能优化人员提供了前面所提到的各种性能测试能力以外 它还提供了可视化编辑器 一方面可以使新的测试人员可以在无需培训和编程的情况下 即可快速上手完成性能测试 另一方面 也为需要高级分析和自定义选项的专家级测试人员 提供了对丰富的测试信息的访问和定制能力 自定义Java代码插入执行能力 自动检测和处理可变数据的能力 OPENSTA 1 简介OpenSTA OpenSystemTestingArchitecture是专用于B S结构的 免费的性能测试工具 可以模拟很多用户来访问需要测试的网站 它是一个功能强大 自定义设置功能完备的软件 2 特征1 免费 源代码开放 2 自定义功能设置大部分需要通过Script来完成 因此 在真正的使用这个软件之前 必须学习好它的Script编写 LoadRunner 1 简介LoadRunner是一种预测系统行为和性能的负载测试工具 通过模拟上千万用户实施并发负载及实时性能检测来确认和查找问题 能够对整个企业架构进行测试 通过使用Loadrunner 企业能够最大限度的缩短测试时间 优化性能和加速应用系统的发布周期 LoadRunner能支持广范的协议和技术 功能比较强大 可以为特殊环境提供特殊的解决方案 2 特征 轻松创建虚拟用户 创建真实的负载 定位性能问题 分析结果以精确定位问题所在 重复测试保证系统发布的高性能 支持EnterpriseJavaBeans的测试 7 支持无线应用协议 8 支持MediaStream应用 LoadRunner 早期的性能测试方法 以及产生的问题 LoadRunner LoadRunner面对上面的问题 他是怎么解决的 LoadRunner组成 Lr主要组件Vugen 编剧 打造剧情 写脚本 Controller 导演 把vugen放到lgenerator上 Controller设计有多少线程施加压力 告诉压力机 loadgenerator 相当于执行导演 有多少用户 在运行时 controller还要去监控sup 被测系统 收取执行结果 并且控制压力机 分析器 相当于观众 看结果 分析信息 LoadRunner组成 LoadRunner组成 LoadRunner组成 LoadRunner组成 LoadRunner工作流程 基本流程 先vugen写脚本 虽然简单 但是很重要 然后设计场景 对业务的熟悉程度 然后施加压力 最后收集结果 分析 重点 LoadRunner中的重点概念 Lr可以把一个vuser作为线程 也可以模拟成进程 默认是线程 LoadRunner中的重点概念 场景 定义谁什么时候做什么事 LoadRunner安装 LoadRunner安装 LoadRunner安装 LoadRunner安装 LoadRunner安装 LoadRunner安装 LoadRunner LoadRunner LoadRunner 性能测试过程的主要角色与职责 性能测试过程的主要角色与职责 性能测试过程的主要角色与职责 性能测试过程的主要角色与职责 3 2性能测试举例 机票预订系统1登录2订票3查询 3 2性

温馨提示

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

评论

0/150

提交评论