4 软件性能测试

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.5 测试结果分析
• 性能符合性验证:查看测试结果是否满足要求 性能符合性验证
,比如响应时间、资源利用率、吞吐量等等。
• 性能能力验证 查看测试结果是否满足要求,记 性能能力验证:
录软件系统的性能变化曲线。 对于确定是否存在性能瓶颈,首先判断是否存在 硬件(包括网络)瓶颈问题,若不存在硬件瓶颈问 题,则按照应用软件到系统软件(应用服务器、数 据库服务器、操作系统)的顺序进行分析,确定瓶 颈点。
性能符合性验证—负载测试、疲劳强度测试。 性能能力验证—压力测试、疲劳强度测试。 — 性能调优—测试-调整-测试。负载测试、压力测
试、疲劳强度测试。
2.3 制定测试方案
• • • • • • • 测试需求 测试策略 测试场景 测试环境 测试准备 人员及时间安排 问题与对策
2.4 执行测试方案
• • • • 搭建测试环境 录制脚本、编辑脚本 布置测试场景 执行测试场景
• 分析结果
– 从数据中找出性能瓶颈。
性能测试工具LoadRunner
• LoadRunner介绍
– 建立测试计划 -> 制作测试脚本 -> 设 定测试场景 -> 运行测试场景 -> 监视 测试场景 -> 分析测试结果 – LoadRunner的测试原理很简单,用多线程 或多进程的方式向服务器端发送大量的数据 包,同时接收服务器的返回结果。
2.5 测试结果分析
• 磁盘I/O分析方法
1.查看%Disk Time计数器的值。该值较大,则可 能存在磁盘瓶颈问题。 2.与Processor\Privileged Time合并进行分析。 2. Processor\Privileged Time 若%Disk Time值较大,而Processor\Privileged Time的值适中,则可判断存在磁盘问题。若 Processor\Privileged Time较大,持续超过80% ,则可能是内存泄漏。 3.根据Disk sec/Transfer进行分析。该值超过 60ms,则磁盘存在问题。
性能测试工具LoadRunner
• LoadRunner中分别不同的工具对应测试流 程中的每一பைடு நூலகம்。
– 制作测试脚本 ----- Virtual User Generator – 设定测试场景 ----- Controller – 运行测试场景 ----- Controller – 监视测试场景 ------ Controller – 分析测试结果 ------ Analysis
负载测试
• 负载测试:主要用于描述常规的性能测 负载测试:
试,通过模拟生产运行的业务压力和使用 场景组合来测试系统的性能是否满足生产 要求。 通俗的说,这种测试方法就是要在特定的 运行条件下验证系统的能力状况。
压力测试
• 压力测试:对系统不断施加压力的测试, 压力测试:
是通过确定一个系统的瓶颈或者不能接收用 户请求的性能点,来获得系统能提供的最大 的服务级别的测试。通俗地讲,压力测试是 为了发现在什么条件下应用程序的性能会变 得不可接受。
2.5 测试结果分析
• 处理器分析方法 1.首先查看System\%Total Processor Time计数器 的值。该值体现的是CPU的平均利用率,若超过 90%,则说明存在处理器方面的瓶颈。 2.其次查看每个CPU的Processor\%User Time计数 器的值。若应用服务器的%User Time值较大,可以 考虑是否能通过算法优化等方法降低这个值。若数 据库服务器的%User Time值较大,可考虑对数据库 系统进行优化。 3.查看System\Processor Queue Length计数器的值 。当该值大于CPU数量的总数+1时,说明存在处理 器方面的问题。
性能测试举例
• 制作测试脚本
– 制作一系列的操作动作,以B/S结构为例我们 要告诉测试工具我们需要打开哪些链接,输入 哪些数据。
• 设计测试场景
– 是标明制作好的脚本应该如何运行,要多少个 虚拟用户?虚拟用户如何运行?运行多少时间 ?
性能测试举例
• 监视测试场景
– 在测试运行过程中对指定服务器的性能进行监 视,监控数据用于后期的数据分析。
用户视角的软件性能 管理员视角的软件性能 产品开发人员视角的软件性能
1.1 什么是软件性能
• 用户视角的软件性能
– 从用户角度来说,软件性能就是软件对用户操 作的响应时间。
1.1 什么是软件性能
• 管理员视角的软件性能
– 系统的响应时间; – 系统运行时服务器的状态,如CPU利用情况 、内存使用情况等; – 系统是否能够实现扩展; – 系统支持多少用户访问; – 系统性能可能的瓶颈在哪里; – 系统是否支持7*24小时的业务访问。
1.1 什么是软件性能
• 产品开发人员视角的软件性能
– 用户关心的响应时间; – 管理员关心的系统可扩展性等; – 架构设计是否合理; – 数据库设计是否合理; – 代码是否存在性能方面的问题; – 系统中是否有不合理的内存使用方式。
1.2 性能指标介绍
• • • • 并发用户数 响应时间 吞吐量 资源利用率
• 性能调优 同性能能力验证确定性能瓶颈分析方 性能调优:
法。
2.5 测试结果分析
• 硬件瓶颈分析方法 内存分析方法 处理器分析方法 磁盘I/O分析方法 网络分析方法
2.5 测试结果分析
• 内存分析方法 • 1.首先查看可用内存(Memory\Available
Mbytes)计数器指标。若值较小则可能有内存问 题,需进一步分析。 2.注意Pages/sec、Pages Read/sec和Page Faults/sec计数器的值。 Pages/sec和Page Faults/sec的值持续很高,很可能内存问题,若 Pages Read/sec的值超过5,则可判断存在内存 问题。 3.根据Physical Disk计数器的值分析性能瓶颈。 如果磁盘的Average Disk Queue Length计数器增 加的同时Pages Read/sec并未降低,则可判断内 存有问题。
2.6 编写测试报告
• 测试指标 测试指标:描述与测试场景对应的事务平 均响应时间、事务吞吐率、资源消耗指标 、运行的用户数等信息。 • 结果分析与总结 结果分析与总结:根据测试目标,描述最 后分析得到的结果,并给出相应的建议。
3 性能测试举例
• 某网站测试需求 可以支持100个并发用户执行各种查询操作 ,要求各查询操作的响应时间在5秒以内, 服务器CPU利用率在80%以下。
2. 性能测试过程
• • • • • • 测试需求分析 制定测试策略 制定测试方案 执行测试方案 测试结果分析 编写测试报告
2.1 测试需求分析
• 测试需求分析主要有以下的几个关键点:
测试的目的是什么 性能符合性验证:验证是否满足应用的需要 性能能力验证:确定性能极限、是否存在性 能瓶颈。 性能调优:对系统的性能进行调试、优化。
资源利用率
• 资源利用率是指系统资源的使用程度,比
如服务器的CPU利用率、内存利用率、磁 盘利用率、网络带宽利用率等。
1.3 什么是性能测试
• 性能测试主要是通过自动化的测试工具模 拟多种正常、峰值以及异常负载条件来对 系统的各项性能指标进行的一种测试。
1.4 性能测试类型
• 负载测试 • 压力测试 • 疲劳强度测试
需要进行测试。 对于单独业务模式,虽然实际情况中很难出现, 但这是一种极限的情况,也应该把这种情况下的 测试结果呈现给用户。
性能测试举例
• 测试场景 场景1:100个用户同时执行仪器信息与使用预约操作 场景 场景2:100个用户同时执行大型精密仪器机组查询操 场景 作。 场景3:100个用户同时执行交流平台搜索操作。 场景 场景4:100个用户同时执行会展信息搜索操作。 场景 场景5:100个用户同时执行不同的操作,其中25个用 场景 户执行仪器信息与使用预约操作,25个用户执行大型精 密仪器机组查询操作,25个用户执行交流平台搜索操作 ,25个用户执行会展信息搜索操作。
2.1 测试需求分析
测试要素分析: 测试要素分析 用户数量 测试执行的功能 用户分布(即执行每种功能的用户数) 硬件环境(包括网络环境) 软件环境 数据量 其它分析 系统运行中所出现的问题有什么特征或规律 疲劳测试执行时间多少 性能需求的指标是什么等
2.2 制定测试策略
• 测试目的不同,则相应的测试策略不同
2.5 测试结果分析
• 网络分析方法 1.查看Network Interface\ Bytes Total/sec 计数器的值。用Bytes Total/sec计数器的值 和网络的带宽进行比较,若超过50%,则 说明网络存在性能瓶颈问题。
2.5 测试结果分析
• 软件瓶颈分析方法 分析事务响应时间、吞吐量,确定是否存 在性能问题,若发现存在性能问题,则找 出响应时间不符合要求或者出现多个失败 的事务,对其进行分解,然后对其进行网 页细分,以确定影响性能的元素。
压力测试
• 用户量压力测试 • 数据量压力测试
疲劳强度测试
• 疲劳强度测试通常是采用系统稳定运行
情况下能够支持的最大并发用户数或 者日 常运行用户数,持续执行一段时间业务, 通过综合分析交易执行指标和资源监控指 标来确定系统处理最大工作量强度性能的 过程。 疲劳强度测试可以反映出系统的性能问题 ,例如内存泄漏等。
性能测试举例
• 性能需求分析 测试目的:验证是否满足应用要求(性能符合性
验证)。
测试要素:
并发用户数--100。 测试功能--仪器信息与使用预约、大型精密仪 器机组查询、交流平台搜索、会展信息搜索。 用户分布--平均分配。 数据量、软件、硬件环境委托方负责准备。
性能测试举例
• 测试策略 负载测试—单项业务模式、混合业务模式。 说明:混合业务模式和实际应用是非常接近的,
并发用户数
• 并发用户数是指在某一给定时间内,某
个特定点上进行会话操作的用户数。
响应时间
• 响应时间指的是客户端发出请求到得到响应的整
个过程所经历的时间。
吞吐量
• 吞吐量是指单位时间内系统处理的客户请
求的数量,直接体现软件系统的性能承载 能力。 一般来说,吞吐量用请求数/秒或页面数/秒 来衡量,从业务的角度,吞吐量也可以用 访问人数/天或处理的业务数/小时等单位来 衡量。从网络的角度来说,也可以用字节 数/天等单位来考察网络流量。
课后调研
1 常用的性能测试工具有哪些?它们各自的 常用的性能测试工具有哪些? 特点是什么? 特点是什么? 要求:制作PPT并汇报。 并汇报。 要求:制作 并汇报
2 学习一种性能测试工具的使用。 学习一种性能测试工具的使用。 要求:制作PPT并汇报。 并汇报。 要求:制作 并汇报
总结
• 衡量软件的常用性能指标有哪些? • 什么是软件性能测试? • 软件性能测试的过程有哪些?
软件性能测试
内容概要
• 1. 性 能 测 试 介 绍 • 2. 性 能 测 试 过 程 • 3. 性 能 测 试 举 例
1. 性能测试介绍
• 1.1 什么是软件性能 • 1.2 性能指标介绍 • 1.3 什么是性能测试 • 1.4 性能测试类型
1.1 什么是软件性能
系统的性能是个很大的概念,覆盖面非常 广泛,对一个软件系统而言,包括执行效 率、资源占用、稳定性、安全性、兼容性 、可扩展性、可靠性等等。
相关文档
最新文档