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