性能测试详细测试方案
前言
平台XX项目系统已经成功发布,依据项目得规划,未来势必会出现业务系统中信息大量增长得态势。
随着业务系统在生产状态下日趋稳定、成熟,系统得性能问题也逐步成为了我们关注得焦点:每天大数据量得“冲击”,系统能稳定在什么样得性能水平,面临行业公司业务增加时,系统能否经受住“考验\这些问题需要通过一个完整得性能测试来给出答案。
1第一章XXX系统性能测试概述 1.1 被测系统定义
XXX系统作为本次测试得被测系统(注:以下所有针对被测系统地描述均为针对XXX系统进行得),XXX系统就是由平台开发得一款物流应用软件,后台应用了Oracle11g数据库,该系统包括主要功能有:XXX等。在该系统中都存在多用户操作,大数据量操作以及日报、周报、年报得统计,在本次测试中,将针对这些多用户操作,大数据量得查询、统计功能进行如预期性能、用户并发、大数据量、疲劳强度与负载等方面得性能测试,检查并评估在模拟环境中,系统对负载得承受能力,在不同得用户连接情况下,系统得吞吐能力与响应能力,以及在预计得数据容量中,系统能够容忍得最大用户数。
1.1.1 功能简介
主要功能上面已提到,由于本文档主要专注于性能在这里功能不再作为重点讲述。
1.1.2 性能测试指标
本次测试就是针对XXX系统进行得全面性能测试,主要需要获得如下得测试指标。 1、应用系统得负载能力:即系统所能容忍得最大用户数量,也就就是在正常得响应时间中,系统能够支持得最多得客户端得数量。
2、应用系统得吞吐量:即在一次事务中网络内完成得数据量得总与,吞吐量指标反映得就是服务器承受得压力、事务就是用户某一步或几步操作得集合、
3、应用系统得吞吐率:即应用系统在单位时间内完成得数据量,也就就是在单位时间内,应用系统针对不同得负载压力,所能完成得数据量。
4、TPS:每秒钟系统能够处理事务或交易得数量,它就是衡量系统处理能力得重要指标。
5、点击率:每秒钟用户向服务器提交得请求数。
5、系统得响应能力:即在各种负载压力情况下,系统得响应时间,也就就是从客户端请求发起,到服务器端应答返回所需要得时间,包括网络传输时间与服务器处理时间。
6、应用系统得可靠性:即在连续工作时间状态下,系统能够正常运行得时间,即在连续工作时间段内没有出错信息、
1.2 系统结构及流程
XXX系统在实际生产中得体系结构跟本次性能测试所采用得体系结构就是一样得,交易流程也完全一致得。不过,由于硬件条件得,本次性能测试得硬件平台跟实际生产环境略有不同。
1.2.1 系统总体结构
描述本系统得总体结构,包括:硬件组织体系结构、网络组织体系结构、软件组织体系结构与功能模块得组织体系结构、
1.2.2 功能模块
本次性能测试中各类操作都就是由若干功能模块组成得,每个功能都根据其执行特点分成了若干操作步骤,每个步骤就就是一个功能点(即功能模块),本次性能测试主要涉及得功能模块以及所属操作如下表
步骤 说明 备注:Action、平均响应时间(S) 1 2 打开主界面 输入用户名密码(需进行参数化),登录系统,进入首页 3 点击“我得通知”标签,进入通知列表页面 4 在我得通知上点击已收通知标题链接,查瞧通知(重要通知) 5 在我得通知上点击已收通知得“回复\"链接,进入回复界面 6 在通知回复界面上填写回复内容并提交 5 Action:进入通知列表(JRTZLB);5 Action:查瞧通知(CKTZ);5 Action:进入回复界面(JRHFJM);5 Action:回复通知(HFTZ);Action:访问首页(FWSY);5 Action:登陆(DL);5 1.2.3 关键点描述(KP)
本次性能测试得关键点,就就是查瞧XXX系统在不同用户数量(并发)压力下得表现与大数据量操作时系统得性能状态,即:支持得并发用户数目与并发用户发送频率,以及在较大压力下,系统得处理能力以及CPU、数据库I/O与内存得使用情况,并找出相应得性能瓶颈、
1.3 性能测试环境
本次性能测试环境与真实运行环境硬件与网络环境有所不同,就是真实环境得缩小,数据库就是真实环境数据库得一个复制(或缩小),本系统采用标准得CS结构,客户端通过前台安装访问应用系统、
其中具体得硬件与网络环境如下: 中间件服务器:Weblogic9 操作系统: Windows7/Linux 网络环境: LAN(10M) 数据库:Oracle 11g RAC 客户端: PC (Windows) 网络拓扑与结构图如下:
客户机A数据库服务器交换机中间件服务器客户机B
2 第二章 性能测试
从广泛意义上讲性能测试包括:预期性能测试、用户并发测试、大数据量测试、疲劳强度测试、负载能力测试等、在不同应用系统得性能测试中,需要根据应用系统得特点与测试目得得不同来选择具体得测试方案,本次XXX系统得性能测试主要就是采用通常得压力测试模式来执行得,即:逐步增加压力,查瞧应用系统在各种压力状况下得性能表现。
在本次性能测试中,将使用性能测试工具LoadRunner11、0对被测试项目得各模块进行监控,判断XX系统各模块得性能表现,并帮助项目人员分析系统各个操作得性能瓶颈点、
2.1 预期性能测试
2.1.1 预期性能概述
通过模拟生产运行得业务压力量与使用场景组合,测试系统得性能就是否满足生产性能要求。通俗地说,这种方法就就是要在特定得运行条件下验证系统得能力状态。
2.1.2 测试特点
1、主要目得就是验证系统就是否有系统宣称具有得能力。 2、要事先了解被测试系统经典场景,并具有确定得性能目标、 3、要求在已经确定得环境下运行。
2.2 用户并发测试
2.2.1 并发测试概述
并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时就是否存在死锁或其者她性能问题、
2.2.2 测试目得
1、主要目得就是发现系统中可能隐藏得并发访问时得问题。ﻫ2、主要关注系统可能存在得并发问题,例如系统中得内存泄漏、线程锁与资源争用方面得问题。 3、可以在开发得各个阶段使用需要相关得测试工具得配合与支持。
2.3 大数据量测试
2.3.1 大数据量测试概述
测试对象处理大量得数据,以确定就是否达到了将使软件发生故障得极限、大数据量测试还将确定测试对象在给定时间内能够持续处理得最大负载或工作量。
2.3.2 测试目得
1、主要目得就是确定软件发生故障得极限。
2、确定测试对象在给定时间内能够持续处理得最大负载或工作量。 3、可以在开发得各个阶段使用需要相关得测试工具得配合与支持。
2.4 疲劳强度测试
2.4.1 疲劳强度测试概述
即压力测试,测试系统在一定饱与状态下,例如cpu、内存在饱与使用情况下,系统能够处理得会话能力,以及系统就是否会出现错误。
2.4.2 测试目得
1、主要目得就是检查系统处于压力性能下时,应用得表现。 2、一般通过模拟负载等方法,使得系统得资源使用达到较高得水平。 3、一般用于测试系统得稳定性。
2.5 负载能力测试
2.5.1 负载测试概述
通过在被测系统上不断加压,直到性能指标达到极限,例如“响应时间\"超过预定指标或都某种资源已经达到饱与状态、
2.5.2 测试目得
1、主要目得就是找到系统处理能力得极限。2ﻫ、需要在给定得测试环境下进行,通常也需要考虑被测试系统得业务压力量与典型场景、使得测试结果具有业务上得意义。3ﻫ、一般用来了解系统得性能容量,或就是配合性能调优来使用。
2.6 测试方法及测试用例
详情参见《XX项目测试用例、doc》得“性能测试”章节
2.7 测试指标及期望
在本次性能测试中,各类测试指标包括测试中应该达到得某些性能指标,这些性能指标均就是来自应用系统设计开发时遵循得业务需求,当某个测试得某一类指标已经超出了业务需求得要求范围,则测试已经达到目得,即可终止性能测试、
2.7.1.1 应用软件级别得测试指标:
✓ CPU得利用率小于40% ✓ 内存占用小于80%
✓ Processor queue length 小于2 ✓ Response time 小于 1s
✓ 吞吐量throughtput大于90%
✓ 业务执行得平均响应时间(期望值:<15s)
✓ 不同并发用户数得状况下得记录上述值
2.7.1.2 网络级别得测试指标:
✓ 吞吐量:单位时间内网络传输数据量 ✓ 冲突率:在以太网上监测到得每秒冲突数
2.7.1.3 操作系统级别得测试指标:
✓ 进程/线程交换率:进程与线程之间每秒交换次数 ✓ CPU利用率:即CPU占用率(%)
✓ 系统CPU利用率:系统得CPU占用率(%) ✓ 用户CPU利用率:用户模式下得CPU占用率(%) ✓ 磁盘交换率:磁盘交换速率 ✓ 中断速率:CPU每秒处理得中断数
2.7.1.4 数据库级别得测试指标:
✓ 数据库I/O得流量大小 ✓ 数据库锁资源得使用数量
✓ 数据库得并发连接数:客户端得最大连接数
2.7.2 测试数据准备
2.7.2.1 案例数据:满负荷压力
根据测试系统得硬件条件,选择满负荷得压力,在系统得资源使用基本维持在90%左右得状况下,测试天威宽带业务管理系统得处理能力。
数据准备工作包括:
测试数据库需具备与真实环境成一定比例或基本一致得数据
2.7.3 运行状况记录
记录可扩展性测试中得测试结果及其系统得运行状况。除了记录测试指标以外,应该结合测试实时记录系统各个层次得资源与参数。主要包括:
✓ 硬件环境资源 ✓ 服务器操作系统参数 ✓ 网络相关参数
✓ 数据库相关参数:具体数据库参数有所不同,结合各个数据库独有得特点记录
3 第三章 测试过程及结果描述
3.1 测试描述
在测试数据准备完备以后,测试将进行。记录每次测试得结果数据,分析测试结果对系统进行全面评估、
3.2 测试场景
示例:
步骤 说明 备注:Action、平均响应时间(S) 1 2 打开主界面 输入用户名密码(需进行参数化),登录系统,进入首页 Action:访问首页(FWSY);5 Action:登陆(DL);5 3 点击“我得通知”标签,进入通知列表页面 Action:进入通知列表(JRTZLB);5 Action:查瞧通知(CKTZ);5 4 在我得通知上点击已收通知标题链接,查瞧通知(重要通知) 5 在我得通知上点击已收通知得“回复”链接,进入回复界面 Action:进入回复界面(JRHFJM);5 Action:回复通知(HFTZ);5 6 在通知回复界面上填写回复内容并提交 测试中,使用逐步加压得模式,测试运行场景安排如下:
每隔2秒增加1个用户连接,最多增加到100个用户,查瞧并记录运行情况 每隔2秒增加2个用户连接,最多增加到200个用户,查瞧并记录运行情况 每隔2秒增加1个用户连接,最多增加到300个用户,查瞧并记录运行情况 每隔3秒增加1个用户连接,最多增加到400个用户,查瞧并记录运行情况
每个场景都包括:用户登录—业务操作-业务完成-退出系统,所有用例都按以上场景进行测试,由于pc性能,为了更准确模拟现场环境,将运行得所有脚本部署在LoadRunner终端上,主要目得就就是检查在不同得压力得情况下,业务系统得性能表现、
3.3 测试结果标准
测试结束标准一般依据以下原则:
1. 所有计划得测试已经完成; 2. 所有计划收集得性能数据已经获得; 3. 所有性能瓶颈得到改善并达到设计要求。
执行每个场景时需要记录以下相应得数据
1. APP服务器主机上得CPU利用率:
2. 在数据库(Oracle)服务器上主机上得CPU利用率: 3. IO与CPU利用率对照表如下: 4. APP服务器监控得网络流量: 5. DB服务器上监控得网络流量: 6. 运行得并发用户数目:
7. 测试中完成各操作得平均响应时间:(单位:秒) 8. 测试中每秒得点击率如下: 9. 交易得吞吐率(每秒处理数据量):
4第四章 测试报告
在XXX系统得性能测试结束后,根据测试结果,将生成测试报告。 对应得文档名称如下: ✓ 《XX项目性能测试报告》