XX项目性能测试方案.docx
《XX项目性能测试方案.docx》由会员分享,可在线阅读,更多相关《XX项目性能测试方案.docx(19页珍藏版)》请在冰点文库上搜索。
系统/项目名称
性能测试方案
文档编号:
版本号:
编写:
审核:
批准:
批准日期:
XXX性能测试方案
修订记录
版本号
修订日期
章节号
修订内容
修订人
批准人
目录
1 引言 2
1.1 测试背景 2
1.2 测试目的 2
1.3 术语和缩略语 2
2 测试需求分析 2
2.1 系统架构 2
2.2 业务模型 2
2.3 性能指标 2
3 性能测试环境 2
3.1 测试架构示意图 2
3.2 软硬件配置 2
4 测试约束 2
4.1 启动准则 2
4.2 结束准则 2
4.3 暂停/再启动准则 2
5 测试准备 2
5.1 测试工具 2
5.1.1 测试工具列表 2
5.1.2 工具环境及部署 2
5.2 测试数据 2
5.2.1 基础数据 2
5.2.2 参数化数据 2
5.2.3 数据管理策略 2
5.3 监控策略 2
5.3.1 主机监控 2
5.3.2 应用监控 2
5.3.3 数据库监控 2
6 测试场景设计 2
6.1 常规性能测试场景 2
6.1.1 单交易基准测试 2
6.1.2 单交易负载测试 2
6.1.3 混合负载测试 2
6.1.4 混合压力测试 2
6.1.5 批处理测试 2
6.1.6 稳定性测试 2
6.2 可恢复性测试场景 2
6.2.1 应用服务器可恢复性测试 2
6.2.2 数据库服务器可恢复性测试 2
6.3 异常测试场景 2
6.3.1 浪涌测试场景 2
6.3.2 主机故障场景 2
6.3.3 网络故障场景 2
6.3.4 存储故障场景 2
7 项目实施计划 2
7.1 人员分工 2
7.2 进度计划 2
8 项目实施风险分析 2
-III-
1引言
1.1测试背景
(描述为什么要实施此次性能测试任务,待测系统做了哪些改变,本次性能测试的重点关注内容等等。
此处蓝色斜体字为注释说明性内容,在正式编写文档请删除此段落内容,下同)
1.2测试目的
本次性能测试的目的包括:
(1)
(2)
(3)
1.3术语和缩略语
序号
术语/缩略语
全称
说明
1
LR
LoadRunner
HP公司提供的一种自动负载测试工具,能预测系统行为,优化性能,是目前业界市场占有率最高的性能测试工具。
2
Transaction
交易(事务)
在测试脚本中定义的、完成一种业务操作的过程,性能测试主要关注定义事务的处理能力及其响应时间。
每个测试脚本中根据需要可定义多个事务。
3
TPS
每秒事务数
TransationsperSecond,系统每秒能够处理的事务数量,是衡量系统处理能力的重要性能指标。
交易有两种理解,一种是业务人员角度的一笔业务过程;另外一种是系统角度的一次交易申请和响应过程。
前者称为业务交易过程,后者称为事务交易过程的STEP。
两种交易指标都可以评价应用系统的处理能力,一般的建议与系统交易日志保持一致,以便于统计业务量或者交易量。
4
ART
平均响应时间
AverageResponseTime,各事务响应时间的统计平均值,是用户视角的软件性能的主要体现。
计算的是端到端的时间,说的通俗一点,从点击Web页面中的某个控件,到从数据库返回数据到客户端,整个过程都被计算在交易的响应时间内。
交易响应时间的指标包括最小响应时间(Min)、平均响应时间(Avg)、最大响应时间(Max)、90%交易的最大响应时间(90%)等。
5
VU
虚拟用户
LoadRunner中特定术语,为模拟现实中的实际用户,测试软件使用虚拟用户代替真实的用户。
6
Scenario
场景
LoadRunner中专门术语。
它是所有测试资源包括测试脚本、运行设置、运行用户数等的集合。
在这个场景中,可以定义并发用户的数目,定义要运行的脚本,或者说运行的流程类型。
在一个场景中,可以是单个流程,也可以是多个流程的混合。
2测试需求分析
2.1系统架构
(列出待测系统和外围系统的连接架构示意图<一般从系统需求或概要设计文档中获取>,并圈出待测系统范围。
)
2.2业务模型
本次性能测试选取的典型交易及其交易量统计数据如下表:
序号
交易码
交易名称
交易量
交易占比(%)
1
2
3
4
5
6
7
8
9
10
2.3性能指标
序号
指标类型
性能指标
指标值
备注
1
交易类指标
TPS(每秒通过事务数)
2
交易平均响应时间
3
交易最大响应时间
4
交易成功率
5
资源类指标
CPU利用率
<60%
6
MEM利用率
<60%
3性能测试环境
3.1测试架构示意图
(一般通过Visio图画出压力发起点、待测系统、外围配合系统或挡板程序设置等)
3.2软硬件配置
生产环境和性能测试环境的软硬件配置对比表:
序号
对比项
生产环境
性能测试环境
对比情况
1
XX系统
应用服务器
主机型号
物理机硬件配置(CPU/MEM)
虚拟机硬件配置(CPU/MEM)
操作系统及版本号
应用系统/中间件及版本号
2
XX系统
数据库服务器
主机型号
物理机硬件配置(CPU/MEM)
虚拟机硬件配置(CPU/MEM)
操作系统及版本号
数据库系统及版本号
4测试约束
(本章主要描述性能测试活动中的一些入口条件等,各项目有一定的相似度,请根据实际项目和情况更新下面的说明<下面以核心柜面系统为例>)
4.1启动准则
(1)柜面系统负载均衡主机、应用服务器主机、数据库服务器主机环境安装并调试成功
(2)加密机部署完成,并且可以正常使用
(3)柜面系统应用服务器和性能测试环境中的核心系统和核心卡系统主机连接畅通
(4)网络配置正确且连接通畅,可以满足压力测试需求
(5)测试数据已经准备完毕,并经过脱密,初始数据量满足测试要求
(6)测试计划、测试方案审核完毕,项目组已确认
4.2结束准则
(1)在计划日期前完成所有性能测试场景的执行
(2)发现的系统性能问题经过调优并复测通过,或经过项目组确认无须调优
(3)提交的性能测试报告评审通过
4.3暂停/再启动准则
n暂停准则
在测试计划执行的过程中,如遇到下述情况,需要暂停测试:
(1)系统环境变化:
包含系统主机硬件损坏、网络终端时间超长、压力发生器出现损坏、系统主机因别的原因需升级暂停。
(2)系统测试冲突:
测试执行时间与其它项目的执行时间冲突,别的紧急项目需要临时暂用测试环境。
(3)系统测试发现重大问题:
测试过程中若发现被测系统重大BUG需要暂停修复。
(4)系统测试需求变更:
包含测试目的变更领导要求暂停,或由于测试需求变更后优先级降低需要暂停。
n再启动准则
如果在测试计划范围内,当暂停准则条件发生变化后符合需要继续测试时,就可以重新启动测试:
(1)系统环境恢复正常
(2)系统测试环境冲突解决
(3)测试发现重大问题解决
(4)系统测试需求变更后需要继续测试
5测试准备
在测试软、硬件环境准备就绪后,性能测试还需要作下列的准备工作,包括性能测试工具软件及环境准备、测试数据准备、监控部署准备等。
5.1测试工具
5.1.1测试工具列表
本性能测试项目需要使用的测试工具包括:
#
工具名称
用途及说明
厂商
版本
1
LoadRunner
性能测试工具(HTTP协议)
HP
11.04英文版
2
Nmon
AIX和Linux服务器资源监控工具
IBM
3.3.4
3
AWR
数据库分析工具
Oracle
10g
4
Lisa
服务虚拟化工具(性能挡板程序)
CA
7.0
5.1.2工具环境及部署
性能测试工具的LoadRunner的Controller(控制器)部署在1台VMWareWindows虚拟机上,LoadGenerator(压力产生器)部署在3台VMWareWindows虚拟机。
各主机的配置信息如下:
LR控制器
主机型号
VMWareWindows虚拟机
主机名/IP
CPU
MEM
硬盘容量
网络环境
同一网段局域网
操作系统及版本
WindowsServer2003
应用系统及版本
LoadRunnerController11.04
LR压力产生器
主机型号
VMWareWindows虚拟机
主机名/IP
CPU
MEM
硬盘容量
网络环境
同一网段局域网
操作系统及版本
WindowsServer2003
应用系统及版本
LoadRunnerAgentProcess11.04
5.2测试数据
本次性能测试中需要准备的测试数据包括基础数据和测试数据。
5.2.1基础数据
基础数据也称铺底数据,是为了模拟被测系统已经达到的业务量而提前预埋在被测系统数据库中的数据。
本次性能测试准生产环境中柜面系统的铺底数据来源于之前性能测试环境的柜面铺底数据,为生产数据经过脱敏等安全预处理得到的数据。
基础数据量需求如下:
#
数据项名称
数据库表名
当前记录数
预计未来3年记录数
1
2
3
4
5
基础数据准备责任人:
冯振兴
5.2.2参数化数据
脚本中需要使用的参数化数据从基础数据中提取,按虚拟用户分块使用的原则(每个虚拟用户循环使用200条数据)计算参数化数据量需求:
#
数据项
数量需求
说明
1
登录柜员账号
300
含机构号、终端号等信息,密码初始化为默认值
2
借记卡号
3
支票号
4
5
参数化数据准备责任人:
5.2.3数据管理策略
(===本节没有内容时请删除)
(铺底数据造数策略:
通过造数工具、通过LR脚本、通过SQL语句插入)
(数据准备策略:
如修改账号余额、取消次数限制、屏蔽卡BIN校验、密码重置、批量数据文件准备、数据筛选过滤等)
(数据备份恢复策略)
5.3监控策略
5.3.1主机监控
(AIX主机监控策略)
(Linux主机监控策略)
(Windows主机监控策略)
(。
。
。
其他类型主机监控策略,如HPUX、AS400等)
本次性能测试需要资源监控的主机包括:
(1)20台柜面系统应用服务器
(2)2台柜面系统数据库服务器
(3)1台LoadRunnerController主机
(4)3台LoadGenerator主机
上述所有主机均为Windows操作系统,采用LoadRunner自带的性能监控器Monitor进行监控,监控指标包括:
(1)System-%TotalProcessorTime(总的CPU使用率)
(2)Memory–AvailableMbytes(可用物理内存MB数)
(3)Memory–Pages/sec(页交换率)
(4)PhysicalDisk-%DiskTime(磁盘使用率)
5.3.2应用监控
(===本节没有内容时请删除)
(WAS监控策略)
(WebLogic监控策略)
(Tuxedo监控策略)
(IIS监控策略)
5.3.3数据库监控
(Oracle监控策略:
实时监控、统计分析)
(DB2监控策略)
(SQLServer监控策略)
本次性能测试需要监控柜面系统2台SQLServer2008数据库服务器的性能指标,可通过LoadRunner自带的性能监控器Monitor或SQLServer2008自带的性能分析工具Profiler进行监控,主要监控指标包括:
CPU占用率、内存使用情况、缓存命中率、连接池使用情况等。
6测试场景设计
(下面列出一些常用的性能测试场景供参考,各项目根据情况进行裁剪)
6.1常规性能测试场景
6.1.1单交易基准测试
n测试目的:
典型交易在无压力情况下(无额外进程运行并占用系统资源)情况下,获取系统处理单笔交易的平均响应时间,为下一步模拟多个用户、混合交易的性能测试提供一个基本数据参考。
n场景设置:
VU数:
1
延迟设置:
无
场景加压策略:
无
场景减压策略:
无
场景运行时间:
100次迭代
场景脚本配置:
6.1.2单交易负载测试
n测试目的:
对业务模型中重要交易或优化相关交易进行单交易多并发测试,考察该典型交易自身是否存在并发处理的性能瓶颈。
n场景设置:
VU数:
延迟设置:
场景加压策略:
场景减压策略:
场景运行时间:
10分钟
场景脚本配置:
6.1.3混合负载测试
n测试目的:
典型交易按一定的交易占比,按照业务分析中的现有负载和预期负载对被测系统加压,检验系统在给定负载下的性能表现、系统资源利用情况等,验证是否达到预期性能指标。
n场景设置:
VU数:
延迟设置:
按设计的思考时间和延迟进行设置
场景加压策略:
场景减压策略:
场景运行时间:
1小时
场景脚本配置:
6.1.4混合压力测试
n测试目的:
典型交易脚本按混合负载场景设计的VU配比,通过对待测系统不断增加压力,获取TPS、响应时间、资源利用率随压力变化的趋势,以获得待测系统的最大服务能力。
n场景设置:
VU数:
延迟设置:
无
场景加压策略:
场景减压策略:
场景运行时间:
1小时
场景脚本配置:
6.1.5批处理测试
n测试目的:
批处理是银行业务系统中比较重要、对性能影响较大的特殊交易,对批处理的测试主要包括在背景压力情况下批处理交易的处理效率(一定量的批处理交易完成的时间窗口)以及启动批处理交易后对联机交易的影响。
银行业务系统中常用的批处理包括联机批量交易和日终批处理交易。
n场景设置:
采用混合负载测试场景的设置。
n执行步骤:
(1)执行背景压力场景,直至TPS曲线稳定;
(2)手动或通过系统启动按需准备的批处理交易,观察TPS变化情况,获取一定量业务的批处理完成时间;(可运行多种情况下的批处理的对比测试)
(3)批处理交易完成后,继续执行背景压力场景一段时间,观察TPS变化情况直至稳定。
6.1.6稳定性测试
n测试目的:
采用典型交易混合并发模式,对被测系统进行长时间的稳定性测试,获得系统一定压力下的性能表现数据,考察是否会出现宕机、响应时间变长、交易成功率下降、内存使用率持续上升等异常现象。
一般指定稳定性运行8小时。
n场景设置:
采用混合负载测试场景的设置。
6.2可恢复性测试场景
6.2.1应用服务器可恢复性测试
n测试目的:
针对应用服务器有冗余备份或负载均衡的待测系统,检验如果应用服务器发生局部故障(如部分应用服务器宕机),用户是否能够继续使用系统,以及用户受影响程度;并验证故障排除后系统能否恢复。
n场景设置:
采用混合负载测试场景的设置。
n执行步骤:
(1)执行背景压力场景,直至TPS曲线稳定;
(2)对某一台应用服务器主机手工掉电或重启(模拟一台应用服务器宕机的情形),观察TPS、响应时间、主机资源的变化情况以及交易出错情况;(根据需求可模拟多台故障的情况)
(3)逐步恢复故障应用服务器,观察TPS、响应时间、主机资源的变化情况,验证系统处理能力是否恢复到正常水平。
6.2.2数据库服务器可恢复性测试
n测试目的:
针对数据库服务器有冗余备份(如RAC)的待测系统,检验若数据库服务器主节点发生故障,系统是否能够正确切换到备份节点、切换时间是否满足要求;并验证故障排除后系统能否恢复切换到主节点。
n场景设置:
采用混合负载测试场景的设置。
n执行步骤:
(1)执行背景压力场景,直至TPS曲线稳定;
(2)对数据库服务器主节点杀掉数据库服务进程或重启/关机(模拟数据库服务器故障情形),观察TPS、响应时间、主机资源的变化情况以及交易出错情况;
(3)恢复故障数据库服务器,观察TPS、响应时间、主机资源的变化情况,验证数据库服务能否自动切换到主节点。
6.3异常测试场景
6.3.1浪涌测试场景
n测试目的:
模拟业务系统中某些特殊日期某些交易突然增多的情形(如网点开门时柜员集中登录、国债发行日购买国债交易集中并发等),验证待测系统是否能应付某些突然的并发交易。
n场景设置:
采用混合负载测试场景的设置。
n执行步骤:
(1)执行背景压力场景,直至TPS曲线稳定;
(2)在Controller中手动增加突发交易脚本的VU,并根据需要设置集合点,模拟某些交易集中并发的情形,观察系统处理情况及对其他交易的影响;
(3)在Controller中手动停止上一步中增加的VU,观察系统恢复情况。
6.3.2主机故障场景
n测试目的:
模拟待测系统中部分主机突然掉电等异常故障,验证系统受影响程度。
n场景设置:
采用混合负载测试场景的设置。
n执行步骤:
(1)执行背景压力场景,直至TPS曲线稳定;
(2)对选定的某主机实施虚拟机关机或物理机掉电,观察系统处理情况;
(3)重新打开上一步关闭的主机,观察系统恢复情况。
6.3.3网络故障场景
n测试目的:
验证部分网络故障对系统的影响程度。
n场景设置:
采用混合负载测试场景的设置。
n执行步骤:
(1)执行背景压力场景,直至TPS曲线稳定;
(2)拔掉某主机的某一路网线,观察系统处理情况;
(3)重新插上上一步拔掉的网线,观察系统恢复情况。
6.3.4存储故障场景
n测试目的:
验证存储系统(独立裸设备存储)故障对系统的影响程度。
n场景设置:
采用混合负载测试场景的设置。
n执行步骤:
(1)执行背景压力场景,直至TPS曲线稳定;
(2)停止多路存储系统中的一路,观察系统处理情况;
(3)恢复出故障的存储系统,观察系统恢复情况。
7项目实施计划
7.1人员分工
序号
角色
人员
职责
联系电话/飞秋
1
项目组性能测试支持
XXX系统:
确定业务模型、确认性能指标
环境搭建、版本更新
日志监控、系统优化
帮助解决测试中遇到的问题
2
测试环境管理
华夏性能负责人:
冯振兴
测试环境搭建、维护与技术支持
测试工具环境准备
测试数据准备
3
行方测试经理
华夏性能负责人:
冯振兴
项目进度总体把关
协调人员支持
组织测试方案、测试报告评审
4
公司方测试经理
软通现场项目经理:
孙冬
和行方接口,向行方汇报
组内测试实施人员支持和协调
与行方人员沟通和协调
参与测试方案制订、测试报告编写
5
测试分析师
XXX项目负责人:
测试方案制订、测试报告编写
人员培训、实施过程中的疑难解答
指导测试脚本调试、测试执行与监控
和项目组支持人员沟通实施过程中问题
6
测试工程师
测试脚本录制和调试
参数化测试数据准备和校验
测试场景执行、性能监控
测试数据整理和结果分析
7.2进度计划
阶段
编号
任务
工期
计划
开始日期
计划
结束日期
责任人
配合方
产出物
测试
计划
1
性能需求调研
2013-08-23
2013-08-23
测试调研表
2
制定《性能测试方案》
性能测试方案
3
评审《性能测试方案》
方案评审会议纪要
测试准备
4
测试环境准备
环境准备检查表
5
测试脚本准备
测试脚本
6
测试数据准备
测试数据
7
测试场景及监控准备
测试场景
测试执行
8
执行测试场景
结果记录/监控记录
9
调优分析和回归验证
问题分析报告
测试总结
10
测试结果整理和分析
测试结果记录表
11
编写《性能测试报告》
性能测试报告
12
评审《性能测试报告》
报告评审会议纪要
8项目实施风险分析
(分析性能测试实施过程会遇到的各种风险,并提前提出规避措施。
下表中为柜面项目性能测试的风险分析示例,一定要根据具体项目分析其可能存在的风险,逐条分析,不符合的要删除。
)
风险编号
风险描述
风险发生可能性(高、中、低)
风险影响
(高、中、低)
责任人
规避措施
1
测试工具LoadRunner工作环境和待测准生产环境网络无法连通
高
高
尽早申请跳板机,打开相关端口访问权限
2
柜面系统环境或版本变更后,原有脚本回放不成功
高
高
重新录制调试回放不成功的脚本
3
部分参数化测试数据不可重用
高
高
过滤掉出错数据;重新提取参数化数据
4
测试过程中出现大量交易出错的情况
中
高
提高稳定性测试的数据准备质量
5
测试脚本、测试数据准备工作量大
高
高
增加脚本调试和数据准备人员,从其他组中抽调人员支持
6
测试过程中发现系统性能问题,需要较长时间的修改、调优,影响进度
中
高
为调优留出时间余量;各方人员参与调优组,集体讨论分析问题
7
核心系统、核心卡系统需要同时支持其他项目测试,测试环境使用冲突
中
中
以柜面系统测试为主,充分利用午休和夜间测试资源闲置时间执行测试场景
8
测试环境的硬件与生产环境硬件存在差别,用户群的未来大小和操作习惯也不确定,性能环境的测试结果与生产环境不尽一致
高
中
准生产环境的软硬件配置尽量和生产一致,或允许可评估的差异
第15页/共15页