第5章性能测试_第1页
第5章性能测试_第2页
第5章性能测试_第3页
第5章性能测试_第4页
第5章性能测试_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、软件测试软件测试 主讲:许福主讲:许福 联系方式联系方式 电话:电话:62336516 手机:手机邮件:邮件: 地址:地址:信息学院软件教研室 主楼411 第五章第五章 性能测试性能测试 内容概要 1. 性 能 测 试 介 绍 2. 性 能 测 试 过 程 3. 性 能 测 试 举 例 1. 性能测试介绍 1.1 什么是软件性能 1.2 性能指标介绍 1.3 什么是性能测试 1.4 性能测试类型 1.1 什么是软件性能 系统的性能是个很大的概念,覆盖面非常 广泛,对一个软件系统而言,包括执行效 率、资源占用、稳定性、安全性、兼容性、 可扩展性、可靠性等等。 1.1 什

2、么是软件性能 1.1.1 用户视角的软件性能 从用户角度来说,软件性能就是软件对用户 操作的响应时间。 1.1 什么是软件性能 1.1.2 管理员视角的软件性能 系统的响应时间; 系统运行时服务器的状态,如CPU利用情况、 内存使用情况等; 系统是否能够实现扩展; 系统支持多少用户访问; 系统性能可能的瓶颈在哪里; 系统是否支持7*24小时的业务访问。 1.1 什么是软件性能 1.1.3 产品开发人员视角的软件性能 用户关心的响应时间; 管理员关心的系统可扩展性等; 架构设计是否合理; 数据库设计是否合理; 代码是否存在性能方面的问题; 系统中是否有不合理的内存使用方式。 1.2 性能指标介绍

3、 并发用户数 响应时间 吞吐量 资源利用率 1.2.1 并发用户数 并发用户数并发用户数是指在某一给定时间内,某 个特定点上进行会话操作的用户数。 1.2.2 响应时间 响应时间响应时间指的是客户端发出请求到得到响应的整 个过程所经历的时间。 1.2.3 吞吐量 吞吐量吞吐量是指单位时间内系统处理的客户请求 的数量,直接体现软件系统的性能承载能力。 一般来说,吞吐量用请求数/秒或页面数/秒 来衡量,从业务的角度,吞吐量也可以用访 问人数/天或处理的业务数/小时等单位来衡 量。从网络的角度来说,也可以用字节数/天 等单位来考察网络流量。 1.2.4 资源利用率 资源利用率资源利用率是指系统资源的

4、使用程度,比如 服务器的CPU利用率、内存利用率、磁盘利 用率、网络带宽利用率等。 1.3 什么是性能测试 性能测试主要是通过自动化的测试工具模拟 多种正常、峰值以及异常负载条件来对系统 的各项性能指标进行的一种测试。 1.4 性能测试类型 负载测试 压力测试 疲劳强度测试 1.4.1 负载测试 负载测试:负载测试:主要用于描述常规的性能测 试,通过模拟生产运行的业务压力和使用 场景组合来测试系统的性能是否满足生产 要求。 通俗的说,这种测试方法就是要在特定的 运行条件下验证系统的能力状况。 1.4.2 压力测试 压力测试:压力测试:对系统不断施加压力的测试, 是通过确定一个系统的瓶颈或者不能

5、接收用 户请求的性能点,来获得系统能提供的最大 的服务级别的测试。通俗地讲,压力测试是 为了发现在什么条件下应用程序的性能会变 得不可接受。 1.4.2 压力测试 用户量压力测试 数据量压力测试 1.4.3 疲劳强度测试 疲劳强度测试疲劳强度测试通常是采用系统稳定运行 情况下能够支持的最大并发用户数或 者日 常运行用户数,持续执行一段时间业务, 通过综合分析交易执行指标和资源监控指 标来确定系统处理最大工作量强度性能的 过程。 疲劳强度测试可以反映出系统的性能问题, 例如内存泄漏等。 2. 性能测试过程 测试需求分析 制定测试策略 制定测试方案 执行测试方案 测试结果分析 编写测试报告 2.1

6、 测试需求分析 测试需求分析主要有以下的几个关键点: 测试的目的是什么测试的目的是什么 性能符合性验证:验证是否满足应用的需要。 性能能力验证:确定性能极限、是否存在性 能瓶颈。 性能调优:对系统的性能进行调试、优化。 2.1 测试需求分析 测试要素分析测试要素分析: 用户数量 测试执行的功能 用户分布(即执行每种功能的用户数) 硬件环境(包括网络环境) 软件环境 数据量 其它分析其它分析 系统运行中所出现的问题有什么特征或规律 疲劳测试执行时间多少 性能需求的指标是什么等 2.2 制定测试策略 测试目的不同,则相应的测试策略不同。 性能符合性验证负载测试、疲劳强度测试。 性能能力验证压力测试

7、、疲劳强度测试。 性能调优测试-调整-测试。负载测试、压力测 试、疲劳强度测试。 2.3 制定测试方案 测试需求 测试策略 测试场景 测试环境 测试准备 人员及时间安排 问题与对策 2.4 执行测试方案 搭建测试环境 录制脚本、编辑脚本 布置测试场景 执行测试场景 2.5 测试结果分析 性能符合性验证性能符合性验证:查看测试结果是否满足要求, 比如响应时间、资源利用率、吞吐量等等。 性能能力验证性能能力验证:查看测试结果是否满足要求,记 录软件系统的性能变化曲线。 对于确定是否存在性能瓶颈,首先判断是否存在硬 件(包括网络)瓶颈问题,若不存在硬件瓶颈问题, 则按照应用软件到系统软件(应用服务器

8、、数据库 服务器、操作系统)的顺序进行分析,确定瓶颈点。 性能调优性能调优:同性能能力验证确定性能瓶颈分析方 法。 2.5 测试结果分析 硬件瓶颈分析方法 内存分析方法 处理器分析方法 磁盘I/O分析方法 网络分析方法 2.5 测试结果分析 内存分析方法 1.首先查看可用内存(MemoryAvailable Mbytes) 计数器指标。若值较小则可能有内存问题,需进 一步分析。 2.注意Pages/sec、Pages Read/sec和Page Faults/sec计数器的值。 Pages/sec和Page Faults/sec的值持续很高,很可能内存问题,若 Pages Read/sec的值

9、超过5,则可判断存在内存 问题。 3.根据Physical Disk计数器的值分析性能瓶颈。 如果磁盘的Average Disk Queue Length计数器增 加的同时Pages Read/sec并未降低,则可判断内 存有问题。 2.5 测试结果分析 处理器分析方法 1.首先查看System%Total Processor Time计数器的 值。该值体现的是CPU的平均利用率,若超过90%, 则说明存在处理器方面的瓶颈。 2.其次查看每个CPU的Processor%User Time计数 器的值。若应用服务器的%User Time值较大,可以 考虑是否能通过算法优化等方法降低这个值。若数

10、据库服务器的%User Time值较大,可考虑对数据库 系统进行优化。 3.查看SystemProcessor Queue Length计数器的值。 当该值大于CPU数量的总数+1时,说明存在处理器 方面的问题。 2.5 测试结果分析 磁盘I/O分析方法 1.查看%Disk Time计数器的值。该值较大,则可 能存在磁盘瓶颈问题。 2.与ProcessorPrivileged Time合并进行分析。 若%Disk Time值较大,而ProcessorPrivileged Time的值适中,则可判断存在磁盘问题。若 ProcessorPrivileged Time较大,持续超过80%, 则可能是

11、内存泄漏。 3.根据Disk sec/Transfer进行分析。该值超过 60ms,则磁盘存在问题。 2.5 测试结果分析 网络分析方法 1.查看Network Interface Bytes Total/sec计 数器的值。用Bytes Total/sec计数器的值和网 络的带宽进行比较,若超过50%,则说明网 络存在性能瓶颈问题。 2.5 测试结果分析 软件瓶颈分析方法 分析事务响应时间、吞吐量,确定是否存在 性能问题,若发现存在性能问题,则找出响 应时间不符合要求或者出现多个失败的事务, 对其进行分解,然后对其进行网页细分,以 确定影响性能的元素。 2.6 编写测试报告 测试指标测试指标

12、:描述与测试场景对应的事务平 均响应时间、事务吞吐率、资源消耗指标、 运行的用户数等信息。 结果分析与总结结果分析与总结:根据测试目标,描述最 后分析得到的结果,并给出相应的建议。 3. 性能测试举例 性能测试工具介绍 性能测试举例 3.1 性能测试工具介绍 常见性能测试工具介绍 性能测试工具的选择 3.1.1 常见性能测试工具 CompuWare 公司的QALoad; Mercury Interactive公司的LoadRunner; Microsoft公司的WAS ; RadView公司的WebLoad ; IBM公司的RPTRPT ; 开源工具:OPENSTA等。 QALoad 1、简介

13、 QALoad模拟成百上千的用户并发执行关键业务而完 成对应用程序的测试,并针对所发现问题对系统性能 进行优化,确保应用的成功部署。 QALoad不单单测 试WEB应用,还可以测试一些后台的东西,比如SQL Server等,只要是它支持的协议,都可以测试。 2、特征 1)自动捕获实际执行过程,自动生成测试脚本; 2)通过控制台控制各个Agent,进行脚本分配; 3)应用广泛,支持多种协议,如DB2、ODBC、 WWW、Winsock等等。 LoadRunner 1、简介 LoadRunner 是一种预测系统行为和性能的负载测试工具。通过模拟上 千万用户实施并发负载及实时性能检测来确认和查找问题

14、,能够对整 个企业架构进行测试。通过使用Loadrunner,企业能够最大限度的缩 短测试时间,优化性能和加速应用系统的发布周期。LoadRunner 能支 持广范的协议和技术,功能比较强大,可以为特殊环境提供特殊的解 决方案。 2、特征 )轻松创建虚拟用户; )创建真实的负载; )定位性能问题; )分析结果以精确定位问题所在; )重复测试保证系统发布的高性能; )支持Enterprise Java Beans的测试; 7 )支持无线应用协议; 8 )支持Media Stream应用。 WAS 、简介:简介: WAS-Web Application Stress是由微软的网站测试人员所 开发,

15、专门用来进行实际网站压力测试的一套工具。透过这 套功能强大的压力测试工具,您可以使用少量的Client端计 算机仿真大量用户上线对网站服务所可能造成的影响。 、特征:、特征: 1)可以数种不同的方式建立测试指令:包含以手动、录制 浏览器操作步骤、或直接录入IIS的记录文件、录入网站的 内容及录入其它测试程序的指令等方式; 2)支持多种客户端接口; 3)支持多用户:利用多种不同的认证方式仿真实际的情况。 WebLoad 、简介:、简介: WebLoad是RadView公司推出的一个性能测试和分析工具,它 让web应用程序开发者自动执行压力测试;WebLoad通过模拟 真实用户的操作,生成压力负载

16、来测试web的性能。 、特征:、特征: )用户创建的是基于javascript的测试脚本,称为议程 agenda,用它来模拟客户的行为,通过执行该脚本来衡量web 应用程序在真实环境下的性能。 )如有需要可以在做负载测试的同时,使用服务器监控工 具对服务器端的内容进行记录那样使负载测试更加全面。 RPT 1、简介 RPT-Rational Performance TesterRational Performance Tester是IBM基于Eclipse 平台开发出来的最新性能测试解决方案。它可以有效地 帮助测试人员和性能工程师验证系统的性能,识别和解 决各种性能问题。 2、特征 在为性能测试

17、员和性能优化人员提供了前面所提到 的各种性能测试能力以外,它还提供了可视化编辑器, 一方面可以使新的测试人员可以在无需培训和编程的情 况下,即可快速上手完成性能测试;另一方面,也为需 要高级分析和自定义选项的专家级测试人员,提供了对 丰富的测试信息的访问和定制能力、自定义 Java 代码 插入执行能力、自动检测和处理可变数据的能力。 OPENSTA 1、简介 OpenSTA- Open System Testing Architecture是专用于 B/S结构的、免费的性能测试工具,可以模拟很多用户来访 问需要测试的网站,它是一个功能强大、自定义设置功能 完备的软件。 2、特征 1)免费、源代

18、码开放; 2)自定义功能设置大部分需要通过Script来完成,因此, 在真正的使用这个软件之前,必须学习好它的Script编写。 3.1.2 性能测试工具的选择 创建还是购买 如何选择一种商业工具 创建还是购买 创 建购 买 能够开发出最适合应用的测试 工具 依赖于工具本身提供的特性,较 难扩展 易于学习和使用依赖于工具的易用性和所提供的 文档 工具的稳定性和可靠性不足稳定性和可靠性优一定保证 可形成组织特有的测试工具体 系 很难与其他产品集成 如何选择一种商业工具 需要注意的几点需要注意的几点: 工具是否支持被测系统运行的平台(软硬件环境、 数据库环境); 工具能否支持被测系统使用的协议; 工具是否能够支持我们的特殊要求,如防火墙、负 载均衡等; 工具是否能够提供对我们关心的服务器类型计数器 的监控; 工具的价格。 3.2 性能测试举例 某网站测试需求 可以支持100个并发用户执行各种查询操作, 要求各查询操作的响应时间在5秒以内,服务 器CPU利用率在80%以下。 3.2 性能测试举

温馨提示

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

评论

0/150

提交评论