系统/项目名称性能测试方案修订记录目录1引言 (1)1.1测试背景 (1)1.2测试目的 (1)1.3术语和缩略语 (1)2测试需求分析 (2)2.1系统架构 (2)2.2业务模型 (2)2.3性能指标 (2)3性能测试环境 (3)3.1测试架构示意图 (3)3.2软硬件配置 (3)4测试约束 (3)4.1启动准则 (4)4.2结束准则 (4)4.3暂停/再启动准则 (4)5测试准备 (5)5.1测试工具 (5)5.1.1测试工具列表 (5)5.1.2工具环境及部署 (5)5.2测试数据 (5)5.2.1基础数据 (5)5.2.2参数化数据 (6)5.2.3数据管理策略 (6)5.3监控策略 (6)5.3.1主机监控 (6)5.3.2应用监控 (7)5.3.3数据库监控 (7)6测试场景设计 (8)6.1常规性能测试场景 (8)6.1.1单交易基准测试 (8)6.1.2单交易负载测试 (8)6.1.3混合负载测试 (9)6.1.4混合压力测试 (9)6.1.5批处理测试 (9)6.1.6稳定性测试 (10)6.2可恢复性测试场景 (10)6.2.1应用服务器可恢复性测试 (10)6.2.2数据库服务器可恢复性测试 (11)6.3异常测试场景 (11)6.3.1浪涌测试场景 (11)6.3.2主机故障场景 (12)6.3.3网络故障场景 (12)6.3.4存储故障场景 (12)7项目实施计划 (13)7.1人员分工 (13)7.2进度计划 (13)8项目实施风险分析 (14)11.1测试背景(描述为什么要实施此次性能测试任务,待测系统做了哪些改变,本次性能测试的重点关注内容等等。
此处蓝色斜体字为注释说明性内容,在正式编写文档请删除此段落内容,下同)1.2测试目的本次性能测试的目的包括:(1)(2)(3)1.3术语和缩略语2测试需求分析2.1系统架构(列出待测系统和外围系统的连接架构示意图<一般从系统需求或概要设计文档中获取>,并圈出待测系统范围。
)2.2业务模型本次性能测试选取的典型交易及其交易量统计数据如下表:2.3性能指标3性能测试环境3.1测试架构示意图(一般通过Visio图画出压力发起点、待测系统、外围配合系统或挡板程序设置等)3.2软硬件配置生产环境和性能测试环境的软硬件配置对比表:4测试约束(本章主要描述性能测试活动中的一些入口条件等,各项目有一定的相似度,请根据实际项目和情况更新下面的说明<下面以核心柜面系统为例>)4.1启动准则(1)柜面系统负载均衡主机、应用服务器主机、数据库服务器主机环境安装并调试成功(2)加密机部署完成,并且可以正常使用(3)柜面系统应用服务器和性能测试环境中的核心系统和核心卡系统主机连接畅通(4)网络配置正确且连接通畅,可以满足压力测试需求(5)测试数据已经准备完毕,并经过脱密,初始数据量满足测试要求(6)测试计划、测试方案审核完毕,项目组已确认4.2结束准则(1)在计划日期前完成所有性能测试场景的执行(2)发现的系统性能问题经过调优并复测通过,或经过项目组确认无须调优(3)提交的性能测试报告评审通过4.3暂停/再启动准则⏹暂停准则在测试计划执行的过程中,如遇到下述情况,需要暂停测试:(1)系统环境变化:包含系统主机硬件损坏、网络终端时间超长、压力发生器出现损坏、系统主机因别的原因需升级暂停。
(2)系统测试冲突:测试执行时间与其它项目的执行时间冲突,别的紧急项目需要临时暂用测试环境。
(3)系统测试发现重大问题:测试过程中若发现被测系统重大BUG需要暂停修复。
(4)系统测试需求变更:包含测试目的变更领导要求暂停,或由于测试需求变更后优先级降低需要暂停。
⏹再启动准则如果在测试计划范围内,当暂停准则条件发生变化后符合需要继续测试时,就可以重新启动测试:(1)系统环境恢复正常(2)系统测试环境冲突解决(3)测试发现重大问题解决(4)系统测试需求变更后需要继续测试5在测试软、硬件环境准备就绪后,性能测试还需要作下列的准备工作,包括性能测试工具软件及环境准备、测试数据准备、监控部署准备等。
5.1测试工具5.1.1测试工具列表本性能测试项目需要使用的测试工具包括:5.1.2工具环境及部署性能测试工具的LoadRunner的Controller(控制器)部署在1台VMWare Windows 虚拟机上,Load Generator(压力产生器)部署在3台VMWare Windows虚拟机。
各主机的配置信息如下:5.2测试数据本次性能测试中需要准备的测试数据包括基础数据和测试数据。
5.2.1基础数据基础数据也称铺底数据,是为了模拟被测系统已经达到的业务量而提前预埋在被测系统数据库中的数据。
本次性能测试准生产环境中柜面系统的铺底数据来源于之前性能测试环境的柜面铺底数据,为生产数据经过脱敏等安全预处理得到的数据。
基础数据量需求如下:基础数据准备责任人:冯振兴5.2.2参数化数据脚本中需要使用的参数化数据从基础数据中提取,按虚拟用户分块使用的原则(每个虚拟用户循环使用200条数据)计算参数化数据量需求:参数化数据准备责任人:5.2.3数据管理策略(===本节没有内容时请删除)(铺底数据造数策略:通过造数工具、通过LR脚本、通过SQL语句插入)(数据准备策略:如修改账号余额、取消次数限制、屏蔽卡BIN校验、密码重置、批量数据文件准备、数据筛选过滤等)(数据备份恢复策略)5.3监控策略5.3.1主机监控(AIX主机监控策略)(Linux主机监控策略)(Windows主机监控策略)(。
其他类型主机监控策略,如HPUX、AS400等)本次性能测试需要资源监控的主机包括:(1)20台柜面系统应用服务器(2)2台柜面系统数据库服务器(3)1台LoadRunner Controller主机(4)3台Load Generator主机上述所有主机均为Windows操作系统,采用LoadRunner自带的性能监控器Monitor进行监控,监控指标包括:(1)System - %Total Processor Time(总的CPU使用率)(2)Memory – Available Mbytes(可用物理内存MB数)(3)Memory – Pages/sec(页交换率)(4)Physical Disk - %Disk Time(磁盘使用率)5.3.2应用监控(===本节没有内容时请删除)(WAS监控策略)(WebLogic监控策略)(Tuxedo监控策略)(IIS监控策略)5.3.3数据库监控(Oracle监控策略:实时监控、统计分析)(DB2监控策略)(SQLServer监控策略)本次性能测试需要监控柜面系统2台SQLServer 2008数据库服务器的性能指标,可通过LoadRunner自带的性能监控器Monitor或SQLServer 2008自带的性能分析工具Profiler进行监控,主要监控指标包括:CPU占用率、内存使用情况、缓存命中率、连接池使用情况等。
6(下面列出一些常用的性能测试场景供参考,各项目根据情况进行裁剪)6.1常规性能测试场景6.1.1单交易基准测试⏹测试目的:典型交易在无压力情况下(无额外进程运行并占用系统资源)情况下,获取系统处理单笔交易的平均响应时间,为下一步模拟多个用户、混合交易的性能测试提供一个基本数据参考。
⏹场景设置:VU数:1延迟设置:无场景加压策略:无场景减压策略:无场景运行时间:100次迭代场景脚本配置:6.1.2单交易负载测试⏹测试目的:对业务模型中重要交易或优化相关交易进行单交易多并发测试,考察该典型交易自身是否存在并发处理的性能瓶颈。
⏹场景设置:VU数:延迟设置:场景加压策略:场景减压策略:场景运行时间:10分钟场景脚本配置:6.1.3混合负载测试⏹测试目的:典型交易按一定的交易占比,按照业务分析中的现有负载和预期负载对被测系统加压,检验系统在给定负载下的性能表现、系统资源利用情况等,验证是否达到预期性能指标。
⏹场景设置:VU数:延迟设置:按设计的思考时间和延迟进行设置场景加压策略:场景减压策略:场景运行时间:1小时场景脚本配置:6.1.4混合压力测试⏹测试目的:典型交易脚本按混合负载场景设计的VU配比,通过对待测系统不断增加压力,获取TPS、响应时间、资源利用率随压力变化的趋势,以获得待测系统的最大服务能力。
⏹场景设置:VU数:延迟设置:无场景加压策略:场景减压策略:场景运行时间:1小时场景脚本配置:6.1.5批处理测试⏹测试目的:批处理是银行业务系统中比较重要、对性能影响较大的特殊交易,对批处理的测试主要包括在背景压力情况下批处理交易的处理效率(一定量的批处理交易完成的时间窗口)以及启动批处理交易后对联机交易的影响。
银行业务系统中常用的批处理包括联机批量交易和日终批处理交易。
⏹场景设置:采用混合负载测试场景的设置。
⏹执行步骤:(1)执行背景压力场景,直至TPS曲线稳定;(2)手动或通过系统启动按需准备的批处理交易,观察TPS变化情况,获取一定量业务的批处理完成时间;(可运行多种情况下的批处理的对比测试)(3)批处理交易完成后,继续执行背景压力场景一段时间,观察TPS变化情况直至稳定。
6.1.6稳定性测试⏹测试目的:采用典型交易混合并发模式,对被测系统进行长时间的稳定性测试,获得系统一定压力下的性能表现数据,考察是否会出现宕机、响应时间变长、交易成功率下降、内存使用率持续上升等异常现象。
一般指定稳定性运行8小时。
⏹场景设置:采用混合负载测试场景的设置。
6.2可恢复性测试场景6.2.1应用服务器可恢复性测试⏹测试目的:针对应用服务器有冗余备份或负载均衡的待测系统,检验如果应用服务器发生局部故障(如部分应用服务器宕机),用户是否能够继续使用系统,以及用户受影响程度;并验证故障排除后系统能否恢复。
⏹场景设置:采用混合负载测试场景的设置。
⏹执行步骤:(1)执行背景压力场景,直至TPS曲线稳定;(2)对某一台应用服务器主机手工掉电或重启(模拟一台应用服务器宕机的情形),观察TPS、响应时间、主机资源的变化情况以及交易出错情况;(根据需求可模拟多台故障的情况)(3)逐步恢复故障应用服务器,观察TPS、响应时间、主机资源的变化情况,验证系统处理能力是否恢复到正常水平。
6.2.2数据库服务器可恢复性测试⏹测试目的:针对数据库服务器有冗余备份(如RAC)的待测系统,检验若数据库服务器主节点发生故障,系统是否能够正确切换到备份节点、切换时间是否满足要求;并验证故障排除后系统能否恢复切换到主节点。
⏹场景设置:采用混合负载测试场景的设置。
⏹执行步骤:(1)执行背景压力场景,直至TPS曲线稳定;(2)对数据库服务器主节点杀掉数据库服务进程或重启/关机(模拟数据库服务器故障情形),观察TPS、响应时间、主机资源的变化情况以及交易出错情况;(3)恢复故障数据库服务器,观察TPS、响应时间、主机资源的变化情况,验证数据库服务能否自动切换到主节点。