性能测试简介PPT

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

45
自动化负载压力测试
利用或开发负载压力测试的 自动化测试方法,包括:程序、 工具、流程等等。
46
自动化负载压力测试优势
自动化测试优势分析
快速
可靠 可重复
比手工操作绝对快
每一次运行精确地执行相同的操作,可以排除手工操 作错误 测试相同操作重复执行时软件如何响应
可编程的 综合测试 可重用的
可以编程实现得到应用系统隐藏信息的复杂测试 可以实现覆盖应用系统每个特征的一套综合测试方案 针对应用系统的不同版本,测试脚本可重复使用,即 使用户界面发生变化
62
测试典型案例分析
系统故障定位与分析
最难的问题
63
系统瓶颈分析举例
经验举例1 交易的响应时间如果很长,远远超过系统性能需求, 表示耗费CPU的数据库操作,例如排序,执行 aggregate functions(例如sum、min、max、 count)等较多,可考虑是否有索引以及索引建立的 是否合理;尽量使用简单的表联接;水平分割大表格 等方法来降低该值。
49
自动化负载压力测试实现机制
自动负载测试
50
自动化负载压力测试工具
LoadRunner-美国Mercury Interactive公司 QALoad-美国Compuware(康博)公司 Rational Robot -美国IBM公司 SILK PERFORMER V -美国Segue 公司 Benchmark Factory-美国Quest软件公司
58
测试结果指标分析
服务器资源使用指标-UNIX
59
测试结果指标分析
服务器资源使用指标-Windows2000 Server
60
测试结果指标分析
服务器资源使用指标-Windows2000 Server(续)
61
测试结果指标分析
网络监控指标: 吞吐量 容量(信道容量或带宽) 利用率 最优利用率 可提供负载 有效率 延迟 延迟变化量 响应时间
42
性能调优
查找系统瓶颈的根本原因 评估性能调整的效果
在测试环境下再现性能问题
43
编写一个完整的测试方案
应用在客户端性能的测试 应用在网络上性能的测试 应用在服务器上性能的测试
一个测试方案的例子 一个测试计划的例子
44
测试指标
客户端交易处理性能指标

服务器资源监控,例如: UNIX 数据库资源监控,例如: Oracle Web服务器监控,例如: Apache 中间件监控,例如: TUXEDO等等
IBM Rational Robot
测试管理工具:TestDirector8 .0 IBM Rational TestManager
6
性能测试
系统的性能是一个很大的概念,覆盖面非常 广泛,对一个软件系统而言包括执行效率、资 源占用、稳定性、安全性、兼容性、可扩展性、 可靠性等等,我们这里重点讨论的负载压力是 系统性能的一个重要方面。 性能测试用来保证产品发布后系统的性能满 足用户需求。性能测试在软件质量保证中起重 要作用。
55
测试结果指标分析
客户端负载压力指标
为了完成一个任务,用户对应用程序执行的一组操作,例如登陆一个 Web站点、搜索一个飞机票信息、在网上买一本书等等。 虚拟并发用户数(Total Virtual Users) 交易响应时间(Response Time)
每分钟交易数(Trans Rate)
7
负载测试
负载测试是确定在各种工作负载下系统的性能, 目标是测试当负载逐渐增加时,系统组成部分 的相应输出项,例如通过量、响应时间、CPU 负载、内存使用等如何决定系统的性能,例如 稳定性和响应等。 负载测试通常描述一种特定类型的压力测试, 即增加用户数量以对应用程序进行压力测试。
8
压力测试
压力测试通过确定一个系统的瓶颈或者不能 接收的性能点,来获得系统能提供的最大的服 务级别的测试。通俗地讲,压力测试是为了发 现在什么条件下您的应用程序的性能会变得不 可接受。
39
测试目的
在真实环境下检测系统性能,评估系统 性能以及服务等级的满足情况 预见系统负载压力承受力,在应用实际部 署之前,评估系统性能 帮助软件厂商或用户分析系统瓶颈、优 化系统
40
测试目的
实现目的的测试方法:
性能检测 性能调优
41
性能检测
在真实生产环境下,检测系统性能,评 估并报告整个系统的性能和健壮情况 检查服务等级的满足情况 对系统的未来容量作出预测和规划
12
负载压力测试
疲劳强度测试
通常是采用系统稳定运行情况下能够支持的最大并发用 户数或 者日常运行用户数,持续执行一段时间业务,通过 综合分析交易执行指标和资源监控指标来确定系统处理最 大工作量强度性能的过程。 疲劳强度测试案例制定的原则是保证系统长期不间断运 行的业务量,并且应该尽量去满足该条件。
50自动化负载压力测试实现机制自动负载测试51自动化负载压力测试工具loadrunner美国mercuryinteractive公司qaload美国compuware康博公司rationalrobot美国ibm公司silkperformer美国segue公司benchmarkfactory美国quest软件公司was美国mcrosoft公司52自动化负载压力测试工具53自动化负载压力测试工具选择依据模拟您的客户机运行多个模拟的客户机脚本化执行并能编辑脚本支持会话可配臵的用户数量报告成功错误和失败54自动化负载压力测试工具缺陷缺乏功能点的校验对有些控件支持得不好不能达到真实模拟负载脚本的支持不够灵活报错定位不够详细55自动化负载压力测试工具盲点在负载测试中不进行功能校验就是当功能错误发生时测试工具不能够记录产生的功能性错误这就忽略了负载压力情况下的功能不稳定问题
13
负载压力测试
大数据量测试
大数据量测试的两种类型 独立的数据量测试
针对某些系统存储、传输、统计、查询等业务进行大 数 据量测试 综合数据量测试 和压力性能测试、负载性能测试、并发性能测试、疲劳性能 测试相结合的综合测试方案
14
测试计划
分析应用程序 定义测试目标 计划方案实施 检查测试目标
吞吐量图 (ThroughOut)
56
测试结果指标分析
客户端负载压力指标-交易处理指标
. . . . . . . . 平均事务响应时间图 每秒事务数图 每秒事务总数 事务摘要图 事务性能摘要图 事务响应时间(负载下)图 事务响应时间(百分比)图 事务响应时间(分布)图
57
测试结果指标分析
9
负载压力测试
负载压力测试是性能测试的重要组成部分,负 载压力测试包括: 并发性能测试(重点) 疲劳强度测试 大数据量测试
10
负载压力测试
11
负载压力测试
并发性能测试 考察客户端应用的性能,测试的入口是客户端 并发性能测试的过程,是一个负载测试和压力测试的 过程。即逐渐增加并发虚拟用户数负载,直到系统的 瓶颈或者不能接收的性能点,通过综合分析交易执行 指标、资源监控指标等来确定系统并发性能的过程。 并发性能测试是负载压力测试中的重要内容。
36
确定瓶颈举例
您可以运行测试以确定系统的瓶颈,并确定哪些因素导致性能下降,例如, 文件锁定、资源争用和网络过载。
37
度量系统容量举例
查看现有系统中性能与负载间的关系,并确定出现响应时间显 著延长的位臵 “拐点”。可以确定是否需要增加资源以支持 额外的用户。
38
测试流程步骤
测试需求分析 测试案例制定 测试环境、工具、数据准备 测试脚本录制、编写与调试 负载压力场景制定 测试执行 结果分析与定位问题 测试报告与测试评估
25
定义性能度量的范围
度量应用程序中不同点的响应时间。 根据测试目标确定在哪里运行虚拟用户 运行哪些虚拟用户
26
应用程序中不同点的响应时间
度量端到端的响应时间:
27
应用程序中不同点的响应时间
度量网络和服务器响应时间:
28
应用程序中不同点的响应时间
度量GUI 响应时间: GUI 响应时间= 端到端响应时间- 网络和服务器响应时间
3
测试结果指标分析
客户端负载压力指标 服务器资源使用指标 网络监控指标
4
测试典型案例分析
系统故障定位与分析 数据库服务器典型性能调优与评估 Oracle数据库性能调优 案例测试经验交流
5
测试工具的使用技巧
负载压力测试工具:LoadRunner8.0 IBM Rational Performance Tester 功能回归测试工具:WinRunner7.6
高级性能测试
IBM Innovation Center
ZHU TING 2007年6月
1
课程内容介绍
测试策略制定 测试结果指标分析 测试典型案例分析 测试技术讨论 测试工具的使用技巧
2
测试策略制定
概念 测试计划 测试流程包括哪些步骤 测试要达到什么目的 选择什么协议进行测试 如何编写一个完整的测试方案 测试指标包括哪些内容 自动化负载压力测试策略
47
选择自动化负载压力测试方法
利用自动化负载压力测试工具
开放资源(OpenSource)测试
自主开发代码测试
48
自动化负载压力测试概念
通过在一台或几台PC机上模拟成百或上千的虚拟用户
同时执行业务的情景,对应用程序进行测试,通过可重
复的、真实的测试能够彻底地度量应用的性能,确定问 题所在。工程项目实践证明,其测试结果与实际情况完 全符合。
客户端负载压力指标-Web请求指标

. . . . . . . . . . . .
每秒点击次数图 点击次数摘要图 吞吐量图 吞吐量摘要图 HTTP 状态代码摘要图 每秒HTTP 响应数图 每秒下载页面数图 每秒重试次数图 重试次数摘要图 连接数图 每秒连接数图 每秒SSL 连接数图
54
自动化负载压力测试工具盲点
在负载测试中,不进行功能校验,就是当功能错误发生时, 测试工具不能够记录产生的功能性错误,这就忽略了负载 压力情况下的功能不稳定问题。
在负载压力测试过程中记录所有虚拟用户的操作及服务器的 响应是当前负载压力测试技术发展的最大挑战。 但测试过程中的附加记录会导致资源消耗、操作行为增加以 及产生大量日志等问题。
64
系统瓶颈分析举例
经验举例2 分段排除错误。测试工具可以模拟不同的虚拟 用户来单独访问Web服务器、应用服务器和 数据库服务器,这样,就可以在Web端测出 的响应时间减去以上各个分段测出的时间就可 以知道瓶颈在哪并着手调优。
65
系统瓶颈分析举例
经验举例3 UNIX资源监控(NT操作系统同理)中指标 内存页交换速率(Paging rate),如果该值 偶尔走高,表明当时有线程竞争内存。如果持 续很高,则内存可能是瓶颈。也可能是内存访 问命中率低。“Swap in rate”和“Swap out rate”也有类似的解释。
19
分析使用模型
考虑哪些用户使用系统 每种类型用户的数量 每个用户的典型任务
20
任务分布
确定数据库活动峰值期的发生时间 负载峰值期间的典型活动
21
定义测试目标
22
定义测试目标
以可度量的指标制定目标 确定测试的时间
23
确定测试的时间
24
计划方案实施
定义性能度量的范围 定义Vuser活动 选择Vuser 选择测试硬件和软件
15
制定测试计划的目的
构建能够精确地模拟您的工作环境的 测试方案。 了解测试需要的资源。 以可度量的指标定义测试成功条件。
16
分析应用程序
确定系统组件 描述系统配臵 分析使用模型 任务分布
17
确定系统组件
客户机、网络、中间件和服务器
18
描述系统配置
连接到系统的用户数 应用程序客户端计算机的配臵情况(硬件、内 存、操作系统、软件、开发工具等) 使用的数据库和Web 服务器的类型(硬件、 数据库类型、操作系统、文件服务器等) 服务器与应用程序客户端之间的通信方式 前端客户端与后端服务器之间的中间件配臵和 应用程序服务器 可能影响响应时间的其他网络组件(调制解调 器等)
29
应用程序中不同点的响应时间
度量服务器响应时间:
30
应用程序中不同点的响应时间
度量中间件到服务器的响应时间:
31
选择Vuser
32
选择测试硬件和软件
硬件和软件应该具有强大的性能和 足够快的运行速度,以模拟所需数 量的虚拟用户 。
33
检查测试目标
度量最终用户响应时间 定义最优的硬件配臵 检查可靠性 确定瓶颈 度量系统容量
WAS-美国Mcrosoft 公司
51
自动化负载压力测试工具
自自动化负载压力测试工具选择依据
模拟您的客户机 运行多个模拟的客户机 脚本化执行并能编辑脚本 支持会话 可配臵的用户数量 报告成功、错误和失败
53
自动化负载压力测试工具缺陷
缺乏功能点的校验 对有些控件支持得不好 不能达到真实模拟负载 脚本的支持不够灵活 报错定位不够详细
34
定义最优的硬件配置举例
例如,您可以设臵三种不同的服务器配臵,并 针对各个配臵运行相同的测试,以确定性能上 的差异: . 配臵1:200MHz、64MB RAM . 配臵2:200MHz、128MB RAM . 配臵3:266MHz、128MB RAM
35
检查可靠性举例
确定系统在连续的高工作负载下的稳定性 级别。 强制系统在短时间内处理大量任务,以模 拟系统在数周或数月的时间内通常会遇到 的活动类型。
相关文档
最新文档