性能测试方法.doc_第1页
性能测试方法.doc_第2页
性能测试方法.doc_第3页
性能测试方法.doc_第4页
性能测试方法.doc_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

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

文档简介

目录目录 1简介简介 4 2常用测试方法常用测试方法 4 3性能测试流程介绍性能测试流程介绍 4 3 1分析系统制定测试目标 4 3 2制定详细的测试计划 5 3 3测试准备 5 3 4执行测试 6 3 5分析结果 6 4测试工具介绍测试工具介绍 6 4 1LOADRUNNER的组件架构 6 4 2LOADRUNNER工作原理 7 4 3LOADRUNNER测试流程 7 5性能测试中的观察指标性能测试中的观察指标 8 6测试实例测试实例 9 1 简介简介 随着应用软件用户负载的增加和愈来愈复杂的应用环境 用户的响应速度 系统的安全运行等性能问 题 逐渐成为软件系统必须考虑的指标之一 性能测试通常通过自动化的测试工具模拟多种正常 峰值以 及异常负载条件来对系统的各项性能指标进行测试 用来检测软件是否达到用户提出的性能指标 及 时发现软件系统中存在的瓶颈 优化软件 最后起到优化系统的目的 2 常用测试方法常用测试方法 一般性能测试中最常见的基本类型有基准测试 配置测试 负载测试 压力测试等 以下是各种测试 类型的具体概念 基准测试 把新服务器或者未知服务器的性能和已知的参考标准进行比较 配置测试 确认服务器在不同的配置下性能的可接受性 操作条件不变 负载测试 确认服务器在不同的负载条件下性能的可接受性 操作条件不变 压力测试 确认服务器在异常或者极限的条件时性能的可接受性 例如 减少资源或大数量的用户 竞争测试 确认服务器可以处理多个客户对同一个资源的请求竞争 容量测试 是在数据库中有较大数量的数据记录情况下对系统进行的测试 渗入测试 使用固定数目的并发用户测试系统的总体健壮性 峰谷测试 不断增加一些新用户直至达到固定数目的用户的测试方法 其目标是确定从高负载 例 如系统高峰时间的负载 恢复 转为几乎空闲 然后再攀升到高负载 再降低的能力 3 性能测试流程介绍性能测试流程介绍 3 1 分析系统制定测试目标分析系统制定测试目标 在进行性能测试前 对测试系统做全面的需求分析是很有必要的 首先我们要分析系统 了解系统的 组成 包括分析系统业务流程 实现架构 系统的功能 了解这些内容的本质其实是帮助我们明确测 试的范围 选者适当的测试方法来进行测试 要了解系统 至少要弄清以下几个问题 测试目的 性能指标如何描述 性能测试结束的标志是什么等 整个测试环境的体系结构及详细描述 测试环境的网络协议有哪些 具体连接方式如何 测试环境中相关软件的版本详细情况 对于一个开发中的 web 系统进行性能测试 可以根据开发目标和用户需求在体系结构的迭代过程中 不断调整测试目标 对于一个已经发布的 Web 系统 可以通过网站的管理人员收集测试数据 为以后 进行性能测试做好准备 收集的信息包括每小时在线用户数量 平均每小时的在线用户数量 不同时 段的在线用户峰值比较 收集被访问次数最多的的页面 系统正常运行时 CPU 的使用率等等 其次要定义测试目标 定义用户要求 包括响应时间 并发用户的数量等 制定测试的目标可以从以下三方面考虑 确定客户需求和期望 实际业务需求 系统需求 3 2 制定详细的测试计划制定详细的测试计划 在对测试需求充分了解的基础上 制定尽可能完善而详细的测试计划 对测试的实施是大有裨益的 性能测试计划包括了进行性能测试前期的准备工作 如时间与人员的安排 硬件与数据的准备 脚本 的介绍 测试过程中的观察点等 测试计划主要包括以下内容 测试参加人员测试参加人员 性能测试是一项团队合作的技术 每个角色在团队中的侧重点不同 及时组织相关人员参加性能测试 对判断性能瓶颈有良好的作用 性能测试中有以下这些角色 项目经理 协调多个性能测试 取得需要的软硬件 处理资源分配 发现问题 性能测试专家 负责建立并执行性能测试 搜集测试的结果 系统架构师 对测试结果进行分析诊断 进行系统性能调优 基础设施专家 包括数据库 网络管理员 对测试结果进行分析诊断 进行系统性能调优 测试用例测试用例 设计测试用例的原则是用最少的用例提供最多的测试信息 设计测试用例的目标是一次尽可能的包含 多个测试要素 这些测试用例必须是测试工具可以实现的 不同的测试场景将测试不同的功能 因为 性能测试不同于平时的测试用例 尽可能把性能测试用例设计的复杂 才有可能发现软件的性能瓶颈 3 3 测试准备测试准备 配置测试环境配置测试环境 在性能测试中 测试环境对测试结果的影响很大 在配置测试环境前 我们应该分析不同的用户环境 如软硬件规模 使用模式 应用背景等 不同的用户群使用软件的方式和深度都不尽一致 为了能够 让不同的用户都体验到软件的最佳表现 我们需要软件有灵活的可定制性 而性能测试则是对这种灵 活性的率先检验 在性能测试中 我们建议针对不同用户群的应用环境 配置不同的测试环境 当然我们不可能一开始 就清楚什么样的环境是最有代表性或是最好的 这本身也是要通过测试或参考一些其他因素 如行业 标准等 才能确定的 并且在配置测试环境时决对不能脱离用户的实际情况 总之 在配置测试环境 时我们一定要考虑到它的可代表性 稳定性和有效性 一个充分准备好的测试环境有三个优点 一个 稳定 可重复的测试环境 能够保证测试结果的正确 保证达到测试执行的技术需求 保证得到正确 的 可重复的以及易理解的测试结果 数据的准备数据的准备 在性能测试中 前期数据的准备工作也非常重要 在初始的测试环境中需要输入一些适当的测试数据 目的是识别数据状态并且验证用于测试的测试用例 在测试前选择的测试数据应有一定的精确性和代 表性 在正式的测试开始以前对测试用例进行调试 将正式测试开始时的错误降到最低 在测试进行 到关键过程环节时 非常有必要进行数据状态的备份 制造初始数据意味着将合适的数据存储下来 需要的时候恢复它 初始数据提供了一个基线用来评估测试执行的结果 准备运行脚本准备运行脚本 准备好运行环境 就可以录制脚本了 运用测试工具录制脚本后 还应调试脚本 增强脚本的功能 只有调试成功后的脚本才能运用到测试中 3 4 执行测试执行测试 执行测试的过程 就是创建场景 运行场景和测试用例的过程 在测试过程中 我们要监控客户端 网络 应用服务器 WEB 服务器 数据库服务器等设备的运行情况 测试过程中应准确完整地记录每 次测试的结果并进行维护 记录应包括 精确的系统配置 尤其是与前几次测试的不同之处 原始数据和性能监视工具所记录的结果 3 5 分析结果分析结果 对测试的总结 实际就是对测试数据的分析和处理 首先 我们最好从所有的测试数据中 筛选出具 有代表意义的数据 做出统计图 然后和开发人员一起 通过排除误差和其他因素 让测试结果体现 接近真实情况 不同的体系结构分析测试结果的方法也不同 B S 结构我们会分析网络带宽 流量对用 户操作响应的影响 而 C S 结构我们可能更关心会系统整体配置对用户操作的影响 在分析阶段有些 结果因为环境的限制或其他原因可能无法获取 这时适当的推算也是必要的 但一定要以事实为依据 此外 还应评估数据格式和数据量对测试的影响 如有必要 应准备多组数据 最后要围绕测试计划 中提出的问题 检查测试结果是否能够逐一解答 有含糊不清的地方就再补测 通过认真分析数据 找出软件存在的问题 得出测试结论 其次 一份好的性能测试报告不但要展示软件最好的性能 还应能定位软件的性能瓶颈 帮助开发人 员更好的改进软件性能 同时也指导用户更好的发挥软件的效能 4 测试工具介绍测试工具介绍 目前已经存在的性能测试工具林林总总 数量不下一百种 从单一的开放源码的免费工具如 OpenSTA TestMaker Jmeter 等 到商业性能测试工具 QALoad LoadRunner Webstress 等 任 何性能测试工具都有其优缺点 我们可以根据实际情况挑选用最合适的工具 在商业性能测试软件中 Mercury 公司出品的 LoadRunner 是一套功能全面的测试工具软件 它是一种 适用于各种体系架构的负载测试工具 它能预测系统行为并优化系统性能 LoadRunner 通过模拟实 际用户的操作行为和实行实时性能监测 来查找和发现问题 此外 LoadRunner 能支持广泛的协议 和技术 4 1 LoadRunner 的组件架构的组件架构 LoadRunner 由以下组件组成 虚拟用户脚本产生器 VUGen Virtual User Generator 录制脚本 模拟真实用户的操作 压力调度和监控系统 Controller 管理中心 用于创建 维护 执行和监视场景 它为场景分配虚拟用户和 LR Load Generator 负责 开始和结束负载测试 同时执行其他一些管理任务 Load Generator 运行虚拟用户 对要测试的运用程序产生负载 压力结果分析工具 Analysis 根据负载测试结果产生图片和报告 用于收集系统信息 定义瓶颈和性能问题 4 2 LoadRunner 工作原理工作原理 4 3 LoadRunner 测试流程测试流程 用 LoadRunner 进行性能测试的流程如下图所示 1 添加事务 2 参数化 3 关联参数 计划测试 创建脚本 创建场景 运行场景 结果分析 录制脚本增强脚本配置运行脚本 5 性能测试中的观察指标性能测试中的观察指标 性能测试中的观察招标可根据用户对各项指标提出的明确需求来确定 如果用户没有提出性能指标则 根据用户需求 测试设计人员的经验来设计各项测试指标 在实际中作中我们经常会对两种类型软件 进行测试 B S 和 C S 在自动化测试的过程中关注一些特定的性能指标有助于我们了解软件的性能 以下是常用的的一些性能指标 服务器的各项指标 CPU 内存占用率等 后台数据库的各项指标 网络流量 响应时间 B S 结构程序一般会关注的通用 Web 服务器指标如下 Avg Rps 平均每秒钟响应次数 总请求时间 秒数 Avg time to last byte per terstion mstes 平均每秒业务角本的迭代次数 Successful Rounds 成功的请求 Failed Rounds 失败的请求 Successful Hits 成功的点击次数 Failed Hits 失败的点击次数 Hits Per Second 每秒点击次数 Successful Hits Per Second 每秒成功的点击次数 Failed Hits Per Second 每秒失败的点击次数 Attempted Connections 尝试链接数 C S 结构程序 由于一般软件后台通常为数据库 所以我们更注重数据库的测试指标 a User 0 Connections 用户连接数 也就是数据库的连接数量 b Number of deadlocks 数据库死锁 c Butter Cache hit 数据库 Cache 的命中情况 在实际中我们还会察看多用户测试情况下的内存 CPU 系统资源调用情况 以下是性能瓶颈发生时系统的变化情况 仅供参考 CPU 限制 当 user sys 超过 80 时 磁盘 I O当 iowait 超过 40 AIX4 3 3 或更高版本 时 应用磁盘限制当 tm act 超过 70 时 虚存空间少当分页空间的活动率超过 70 内存每个 CPU 每秒大于 10 个页交换 6 测试实例测试实例 实例一 深圳供电局企业信息管理系统性能测试 1 了解系统需求 收集系统信息 深圳供电局企业信息管理系统是为深圳供电局提供的 包括生产 管理 物质管理的系统 测试的范围是 物资系统 申购单编辑 申购单审批 发送 生产系 统 缺陷新增 下发 操作票新增 审核 生成 目的是在系统正式上线前了解一下系统的大体 性能情况 在系统的基础数据方面与真实系统环境类似 由项目组提交性能测试任务单 测试的 要求如下表所示 模块名称功能按钮 数据准备说 明 并发用户 数量 备注 申购单编辑新增 30 50 申购单审批 发送到下一 步 16 条 并发 用户 30 50 项目组的目标是并发 50 个用户 测试时会 运行 30 50 两种情况 审批发送中每位用户有 16 条单据 缺陷登记新增30 50 缺陷登记下发30 50选择一页缺陷下发 每页有 13 条 生成操作票 新增 审核 生成 30 50新增由 典型票继承 功能来完成 2 编写测试计划 内容包括时间及人员的安排 硬件与数据的准备 设计测试用例等 3 测试准备 内容包括录制脚本 数据准备 本次测试使用 LoadRunner 录制脚本并完成测试前的 调试 脚本的功能有 物资申购单新增 物资申购单审批发送 物资申购单审批回退 生产缺陷 登记新增 生产缺陷处理下发 生产缺陷处理回退 生产操作票新增 审核 生成等 在生产数 据库表 PROD TECH OBJECT NODE 中有 2038040 条数据 已达到做性能测试至少须 2 万条 基础数据的要求 4 执行测试 由性能测试人员运行脚本 其他测试人员在客户端观察的记录页面端的运行情况 数据库管理员 观察和记录数据库的运行情况 系统设计人员从系统界面或 Weblogic 控制台等方面观察和记录测 试运行情况 5 测试总结 由性能测试人员收集所有的观察资料并提交性能测试任务单 开发人员根据结果进行性能调整 测试结果如下表所示 编号 并发用户 数 测试结果说明 130 系统总体运行速度较快 系统登录 1 27 秒 打开菜单页面 1 24 秒 返回桌面 1 2 秒 50 系统总体运行速度较快 系统登录 1 35 秒 打开菜单页面 1 28 秒 返回桌面 1 2 秒 应用服务器和数据库服

温馨提示

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

评论

0/150

提交评论