参考文档一:性能测试---测试方案
性能测试详细测试方案
前言
平台XX项目系统已经成功发布,依据项目的规划,未来势必会出现业务系统中信息大量增长的态势。
随着业务系统在生产状态下日趋稳定、成熟,系统的性能问题也逐步成为了我们关注的焦点:每天大数据量的“冲击”,系统能稳定在什么样的性能水平,面临行业公司业务增加时,系统能否经受住“考验”,这些问题需要通过一个完整的性能测试来给出答案。
1第一章XXX系统性能测试概述
1.1 被测系统定义
XXX系统作为本次测试的被测系统(注:以下所有针对被测系统地描述均为针对XXX系统进行的),XXX系统是由平台开发的一款物流应用软件,后台应用了Oracle11g数据库,该系统包括主要功能有:XXX等。在该系统中都存在多用户操作,大数据量操作以及日报、周报、年报的统计,在本次测试中,将针对这些多用户操作,大数据量的查询、统计功能进行如预期性能、用户并发、大数据量、疲劳强度和负载等方面的性能测试,检查并评估在模拟环境中,系统对负载的承受能力,在不同的用户连接情况下,系统的吞吐能力和响应能力,以及在预计的数据容量中,系统能够容忍的最大用户数。
1.1.1 功能简介
主要功能上面已提到,由于本文档主要专注于性能在这里功能不再作为重点讲述。
1.1.2 性能测试指标
本次测试是针对XXX系统进行的全面性能测试,主要需要获得如下的测试指标。
1、应用系统的负载能力:即系统所能容忍的最大用户数量,也就是在正常的响应时间中,系统能够支持的最多的客户端的数量。
2、应用系统的吞吐量:即在一次事务中网络内完成的数据量的总和,吞吐量指标反映的是服务器承受的压力。事务是用户某一步或几步操作的集合。
3、应用系统的吞吐率:即应用系统在单位时间内完成的数据量,也就是在单位时间内,应用系统针对不同的负载压力,所能完成的数据量。
4、TPS:每秒钟系统能够处理事务或交易的数量,它是衡量系统处理能力的重要指标。
5、点击率:每秒钟用户向服务器提交的HTTP请求数。
5、系统的响应能力:即在各种负载压力情况下,系统的响应时间,也就是从客户端请求发起,到服务器端应答返回所需要的时间,包括网络传输时间和服务器处理时间。
6、应用系统的可靠性:即在连续工作时间状态下,系统能够正常运行的时间,即在连续工作时间段内没有出错信息。
1.2 系统结构与流程
XXX系统在实际生产中的体系结构跟本次性能测试所采用的体系结构是一样的,交易流程也完全一致的。不过,由于硬件条件的限制,本次性能测试的硬件平台跟实际生产环境略有不同。
1.2.1 系统总体结构
描述本系统的总体结构,包括:硬件组织体系结构、网络组织体系结构、软件组织体系结构和功能模块的组织体系结构。
1.2.2 功能模块
本次性能测试中各类操作都是由若干功能模块组成的,每个功能都根据其执行特点分成了若干操作步骤,每个步骤就是一个功能点(即功能模块),本次性能测试主要涉及的功能模块以及所属操作如下表
步骤 |
说明 |
备注:Action、平均响应时间(S) |
1 |
打开主界面 |
Action:访问首页(FWSY);5 |
2 |
输入用户名密码(需进行参数化),登录系统,进入首页 |
Action:登陆(DL);5 |
3 |
点击“我的通知”标签,进入通知列表页面 |
Action:进入通知列表(JRTZLB);5 |
4 |
在我的通知上点击已收通知标题链接,查看通知(重要通知) |
Action:查看通知(CKTZ);5 |
5 |
在我的通知上点击已收通知的“回复”链接,进入回复界面 |
Action:进入回复界面(JRHFJM);5 |
6 |
在通知回复界面上填写回复内容并提交 |
Action:回复通知(HFTZ);5 |
1.2.3 关键点描述(KP)
本次性能测试的关键点,就是查看XXX系统在不同用户数量(并发)压力下的表现和大数据量操作时系统的性能状态,即:支持的并发用户数目和并发用户发送频率,以及在较大压力下,系统的处理能力以及CPU、数据库I/O和内存的使用情况,并找出相应的性能瓶颈。
1.3 性能测试环境
本次性能测试环境与真实运行环境硬件和网络环境有所不同,是真实环境的缩小,数据库是真实环境数据库的一个复制(或缩小),本系统采用标准的CS结构,客户端通过前台安装访问应用系统。
其中具体的硬件和网络环境如下:
中间件服务器:Weblogic9
操作系统:Windows7/Linux
网络环境: LAN(10M)
数据库:Oracle 11g RAC
客户端: PC (Windows)
网络拓扑和结构图如下:
在本次性能测试中,将使用性能测试工具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.1测试目的
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的流量大小
ü 数据库锁资源的使用数量
ü 数据库的并发连接数:客户端的最大连接数
根据测试系统的硬件条件,选择满负荷的压力,在系统的资源使用基本维持在90%左右的状况下,测试天威宽带业务管理系统的处理能力。
测试数据库需具备与真实环境成一定比例或基本一致的数据
2.7.3 运行状况记录
记录可扩展性测试中的测试结果及其系统的运行状况。除了记录测试指标以外,应该结合测试实时记录系统各个层次的资源和参数。主要包括:
ü 硬件环境资源
ü 服务器操作系统参数
ü 网络相关参数
ü 数据库相关参数:具体数据库参数有所不同,结合各个数据库独有的特点记录
在测试数据准备完备以后,测试将进行。记录每次测试的结果数据,分析测试结果对系统进行全面评估。
步骤 |
说明 |
备注:Action、平均响应时间(S) |
1 |
打开主界面 |
Action:访问首页(FWSY);5 |
2 |
输入用户名密码(需进行参数化),登录系统,进入首页 |
Action:登陆(DL);5 |
3 |
点击“我的通知”标签,进入通知列表页面 |
Action:进入通知列表(JRTZLB);5 |
4 |
在我的通知上点击已收通知标题链接,查看通知(重要通知) |
Action:查看通知(CKTZ);5 |
5 |
在我的通知上点击已收通知的“回复”链接,进入回复界面 |
Action:进入回复界面(JRHFJM);5 |
6 |
在通知回复界面上填写回复内容并提交 |
Action:回复通知(HFTZ);5 |
每隔2秒增加1个用户连接,最多增加到100个用户,查看并记录运行情况
每隔2秒增加2个用户连接,最多增加到200个用户,查看并记录运行情况
每隔2秒增加1个用户连接,最多增加到300个用户,查看并记录运行情况
每隔3秒增加1个用户连接,最多增加到400个用户,查看并记录运行情况
测试结束标准一般依据以下原则:
执行每个场景时需要记录以下相应的数据
2. 在数据库(Oracle)服务器上主机上的CPU利用率:
在XXX系统的性能测试结束后,根据测试结果,将生成测试报告。
转:https://wenku.baidu.com/view/483a98aff71fb7360b4c2e3f5727a5e9846a2709.html
参考文档一:性能测试---测试方案相关推荐
- Hibernate中文参考文档(JFIS)
HIBERNATE - 符合Java习惯的关系数据库持久化 下一页 HIBERNATE - 符合Java习惯的关系数据库持久化 Hibernate参考文档 3.0.4 目录 前言 1. 翻译 ...
- Spring Boot 3.0.0-M1 Reference Documentation(Spring Boot中文参考文档) 9-16
9. 数据 Spring Boot与多个数据技术集成,包括SQL和NoSQL. 9.1. SQL数据库 Spring Framework提供扩展支持用于与SQL数据工作,从使用JdbcTemplate ...
- Node.js API参考文档(目录)
Node.js v11.5.0 API参考文档 Node.js®是基于Chrome的V8 JavaScript引擎构建的JavaScript运行时. 关于文档 用法和示例 断言测试 稳定性:2 - 稳 ...
- Facebook 游戏开发更新文档 API 参考文档 v6.0
Facebook 游戏开发更新文档 API 参考文档 v6.0 更新日志 1.排行榜 此版本全新推出排行榜 API!提供一套强大的 API, 使得游戏可获取排行榜.查询得分 情况和设置新分数(支持分数 ...
- Grails 1.2参考文档速读(4):第3章剩余内容
本系列的2.3部分对参考文档第3章的配置基础.环境和日志配置部分进行了快速扫描,在这一篇中,让我们完成第3章的剩余部分. GORM无疑是Grails中的亮点,在第3章中关于它的配置选项有2个: 1. ...
- jacob.jar 操作word文件 添加水印、图片(附查阅Microsoft Office VBA参考文档方式)
jacob.jar 操作word文件 添加水印.图片 1.准备jacob.jar包和dll文件 将jacob.jar引入到工程, 64位: 将jacob-1.17-M2-x64.dll 放在C:\Wi ...
- 【Android Gradle 插件】自定义 Gradle 插件优化图片 ① ( Android 中的 WebP 图片格式使用 | WebP 格式转换 | WebP 参考文档 )
文章目录 一.Android 中的 WebP 图片格式使用 二.WebP 格式转换 三.WebP 参考文档 Android Plugin DSL Reference 参考文档 : Android St ...
- 2503平台GPS MT3333秒定参考文档整理 - MTK物联网在线解答 - 技术论坛
2503平台GPS MT3333秒定参考文档整理 [DESCRIPTION] 以下是目前整理的给客户参考的2503秒定测试及GPS介绍的文档,其中均可在DCC上下载. [SOLUTION] 2 ...
- 微软文档权限管理(RMS)方案分析
转自:http://youmiss.blog.163.com/blog/static/218865920061190306660/ 微软文档权限管理(RMS)方案分析 针对现有企业对文档管理方面的信息 ...
- 【毕业设计】60-基于ZigBee无线智能消防\烟雾报警逃生系统设计(原理图工程、源代码、低重复率参考文档、实物图)
[毕业设计]60-基于ZigBee无线智能消防\烟雾报警逃生系统设计(原理图工程.源代码.低重复率参考文档.实物图) 文章目录 [毕业设计]60-基于ZigBee无线智能消防\烟雾报警逃生系统设计(原 ...
最新文章
- 计算机408考研重点
- python写入csv文件中文乱码解决方案
- 用hundred造句子_6分以上的人句子长啥样?
- ELK学习8_ELK数据流传输过程_问题总结1
- 异步加载metadata
- SHELL 分析 列出当天访问次数最多的IP
- C# BackgroundWorker组件学习
- 模块化编程和Jigsaw项目最新早期访问版本使用教程
- es搜索引擎架构_集群日志收集架构ELK
- 手动 将exe加入到系统启动服务、卸载服务的方法
- 51单片机农历转换公历c语言算法,51单片机阳历转农历(仅仅是阳历转阴历例程)...
- 怎样对系统进行优化?
- iphone浏览器显示服务器已停止响应,苹果手机自带浏览器停止响应请大家支招 - 卡饭网...
- 路由器技术彻底解决路由器IP地址冲突问题
- laravel与TP的区别
- cutoff shader
- Matlab积分运算
- Swift(一)语言介绍
- vsc 代码另起一行_VSCode 快捷键大全
- 办公软件excel表格_Office 办公软件教程丨Word,Excel,PPT
热门文章
- mysql 中文数字转换_数据库中数字和中文的转换问题
- S重构重命名的快捷键
- 【Linux】Linux 下socket 编程
- Firefox人气火红 能否取代龙头IE?
- RuntimeError: DataLoader worker is killed by signal: Killed.报错解决
- 最积极的搜索引擎蜘蛛有哪些可以屏蔽掉
- C语言:srand函数与rand函数的使用(纯干货)【易懂】
- RC吸收和单C吸收对模式VDS和后级肖特基二极管的影响?
- 浅谈cookie跨域的解决方案(domain)
- win10系统 纯净版 安装