性能测试需求分析的一个示例
1 前言
一些性能测试人员常犯的错误就是,测试一开始就直接就对系统加压,不弄清楚性能测试的目的,其实性能测试和其他类型的测试一样,都需要先进行测试需求的分析,做相应的测试设计工作,否则测试工作无的放矢。那么性能测试需求从哪里来?怎么判断出用户提出的性能测试需求是否过于理想化 ?
答案和也和其他类型测试一样,性能测试需求需要从需求文档、各种招标文档中来,从和项目组人员、客户交流的信息中获取和分析。对于无法和用户直接沟通的测试人员来说,建议先从需求、招标等文档中获得一些明确的信息点(包括用户情况和系统运行环境情况、各个系统的运行场景),通过一些明确的信息点来挖出一些隐含的性能测试需求;挖掘的角度可以按照性能测试侧重的角度去分析,如:系统的用户访问量、系统的处理能力(响应时间)、系统的数据量、网络要求等方面。
下面以某个数据中心项目为例,进行说明,恳请网友同仁们多评论多给意见。
1.1 项目背景
在“数字国土”和“金土工程”的推动下,经过多年努力,A市各级国土资源管理部门建立了大量的国土资源应用系统,数量已达13个之多,这些系统的应用范围几乎覆盖了国土管理的所有业务领域。同时积累了大量的国土资源数据,包括基础地理、不同年代的遥感影像和土地利用现状、土地利用规划、建设项目用地审批、矿业权审批、不同年代的土地调查成果、土地登记数据(含地籍测量)、基准地价、土地市场动态监测、土地市场交易等数据成果。
虽然A市国土资源局在基础数据库和电子政务系统建设方面发展迅速、成绩斐然,信息化工作已经成为促进国土资源管理职能转变、机制创新和管理创新的源泉和动力。然而,由于在信息化的开始阶段,总体建设思路不明确,导致在具体建设项目过程中必然统筹不到位,各应用系统职责边界不清,系统集成整合度不高,数据资源隶属于某个系统,无法方便地被其他系统使用,每建设一个系统,就形成“信息孤岛”一座。这严重制约了数据资源的共享和应用,造成大量基础信息资源的闲置和浪费,使信息化工作在国土资源管理和促进科学发展机制中的作用大打折扣。如果不消除“信息孤岛”,不仅在今后的信息共享所付出的代价将呈级数上涨,还将严重影响全局信息化建设的持续健康发展。
本期项目目标和建设任务有:
1、实现A市国土资源系统信息资源科学分类与组织,制定一个适用可行的、融多个数据库为一体的数据组织规范,建立A市国土资源科学数据整体模型。
2、完成A市国土资源标准主体数据库设计和初始建库,实现国土资源业务系统成果数据融合和信息共享,实现国土系统科学数据资源集中存储。
3、完成A市国土资源标准主体数据库维护平台的开发,实现多源、异构数据(包括GIS)统一管理和集中展示,并能够为各业务应用系统和社会公众提供完善的信息服务。
4、完成主体数据库应用服务的开发,在主体数据库的基础上,建立一些应用服务,提供给用户做二次开发。
5,在主体数据库应用服务的基础上,开发二个主题应用,来验证服务正确性、稳定性、可扩展性。
1.2 系统介绍
1、 数据采集系统 ,该系统从已经建成的13个系统中抽取数据、转换和装载到标准主体数据库中,该系统为C/S架构,在整个项目体系中,充当数据入口的作用。
2、 标准主体数据库维护平台,对主体数据库的初始建库、元数据定义、日常的维护工作。包括创建数据集合、表定义等,该系统为B/S架构,提供给系统管理员使用。
3、 GIS数据管理系统:对标准主体数据库中的GIS数据的进行更新、查询、制图输出等,该系统为C/S架构。
4、 标准主体数据库应用服务系统:在主体数据库的基础上,提供一个数据共享和应用的服务层,这些服务层,为客户方提供二次开发的目的,同时系统一些常用的业务查询、报表统计分析功能,如土地利用报表的输出。
2 获取原始信息
2.1 获取文档的信息
从需求文档中了解到,对A市国土资源局数据中心的性能要求如下:
l 主体数据库的数据装载速度必须远大于新数据的产生速度,不允许出现主体数据库数据更新不及时的现象发生;
l 报表展现时间<5s;数据分析时间<5s;空间数据表现时间<5s;
l 数据中心的数据是实时更新的,要求标准主体数据库的数据装载数据必须大于数据的产生速度;
l 所有的系统以一个中心数据库展开(本项目中称标准主体数据库)。
l 用户对报表的展现、分析、空间数据的表现最关心,要求时间在5秒之内;因为这些功能是体现数据中心、数据共享价值的功能;
l 数据中心的数据是实时更新的,要求标准主体数据库的数据装载数据必须大于数据的产生速度;这是一个要求,但是具体数据才生的速度和更新的速度是怎么样的?
2.2 系统运行环境
网络带宽:电子政务专网100M到桌面;网络拓扑结构:有内外分离器,中间有防火墙隔离。
2.3 系统业务量
11月16日 |
11月17日 |
11月18日 |
11月19日 |
11月20日 |
11月23日 |
11月24日 |
11月25日 |
11月26日 |
11月27日 |
平 均 值 |
最大值 |
最小值 |
512 件 |
442件 |
398件 |
423件 |
436件 |
500件 |
480件 |
494件 |
418件 |
483件 |
458.6件 |
512件 |
398件 |
其他的业务日交易量比较少,如土地利用现状调查、土地利用规划等相关业务的数据量少,基本按照年度进行更新。
2.4 系统使用情况
标准主体维护平台:给信息中心系统管理人员用,通过录入标准主体数据库元数据,来完成数据的建库、数据错误维护工作,争取不用arccatalog 和oracle工具。系统结构为B/S结构;
标准主体应用服务:给所有业务处室人员用,系统同时提供一个二次开发框架,由信息中心人员做二次开发。
2.5 用户关心功能
局领导:最关心每年收取的“土地出让金”,土地出让的面积;数据从土地市场数据库中获取;
业务处室人员:常用的查询、分析、统计功能,如:土地利用报表统计、;
信息中心管理人员:数据采集系统的更新功能能够及时、正确的更新到标准主体中心库中。
3 分析性能需求
1、按照成熟的性能测试策略,从前端、服务端、网络几个层次来分析。(为以后的测试指标做基础)前端:并发用户数、服务端:系统处理能力和硬件选型等 ;网络端:网络流量和带宽;
3.1.1 系统整体架构分析
统一身份验证服务的压力较大,并发登录的压力在这个上面,需要考虑。
BS部分的压力可以一共分到5层上面(我们可以逐层来分析)(客户端、web服务器、arcgis server、arcsde 、oracle)
ETL数据采集系统是整个数据中心的入口,数据更新效率对发挥数据中心的效果影响深远。
因为13个系统是不间断运行的,数据要求实时更新,所以本系统要求7×24小时运行,测试时需要增加疲劳强度的测试。
3.1.2 软件系统耗时功能分析
标准主体数据库维护平台:元数据树的浏览,因为需要从多个表中构建多一个元数据,A市的数据量很大,所以应该重点测试;数据库结构的创建,需要在数据库中创建实例和结构,所以耗用时间长,需要测试。
3.1.3 用户访问量
到目前为止,如果不在标准主题数据库上面增加别的应用的话,则整个标准主题数据库需要支持62+21=83最大并发数。
序号 |
系统名称 |
最大并发数 |
备注 |
1. |
标准主体数据库维护平台 |
2人次 |
信息中心管理人员使用 |
2. |
GIS空间数据库管理系统 |
42人次 |
业务处室和信息中心管理人员使用 |
3. |
标准主体数据库应用服务系统 |
42人次 |
业务处室和信息中心管理人员使用 |
4. |
数据采集系统 |
2人次并发 |
不间断数据采集 |
5. |
执法核查主题 |
27人次 |
执法监察处和分局人员使用 |
6. |
土地市场主题 |
6人次 |
3.1.4 系统业务量和系统处理能力
目的:知道业务量,可以分析出系统处理能力,每分钟、每小时,要查询、交易的业务个数。
在第2部分“获取原始信息/系统业务量”中,我们了解到,在用的13个系统中,土地登记系统和建设用地审批系统的业务量最大(每年达到1000个),土地登记日登记业务峰值达到2000个。
业务量较大的情况:每年1000个项目,那么每天需要办理的建设用地审批项目有:1000 /(11×22)=4.1个项目 (扣除节假日)约=5个项目。
按照固定资产投资比例,假如每年以20%的速度增长,2009年每天需要完成6个项目的更新,也就是16分钟必须完成一个建设用地项目的数据更新(一个业务的数据量约为2KB,5MB的空间数据)。
年份 |
2008年 |
2009年 |
2010年 |
2011年 |
2012 |
2013 |
建设用地审批的更新 |
19分钟 |
16分钟 |
13分钟 |
11.1分钟 |
9.2分钟 |
7.7分钟 |
基础地理数据:根据数据量的大小来计算出每小时、每分钟的交换数据量等等性能测试需求。
3.1.5 系统存储能力和数据量分析
截止到2008年,A市国土各种数据情况约200GB(这个是初略数据,从现场数据人员获得),假如以每年30%的速度递增,则以后
年份 |
2008年 |
2009年 |
2010年 |
2011年 |
2012年 |
2013年 |
现状数据 |
200GB |
260 |
338 |
439.4 |
571.2 |
742.586 |
数据中心至少支撑如上数据量的运行。按照每年保留2个数据备份,系统存储要求至少有,压缩比率为20%,则总体的存储能力如下表。
年份 |
2008年 |
2009年 |
2010年 |
2011年 |
2012年 |
2013年 |
现状数据 |
200GB |
260 |
338 |
439.4 |
571.2 |
742.586 |
备份数据 |
320GB |
416 |
540.8 |
703.4 |
913.92 |
1188.1376 |
总存储能力要求 |
520GB |
676 |
878.8 |
1142.8 |
1485.12 |
1930.7236 约2TB |
3.1.6 网络流量
根据每个业务办理需要的数据量,假如一个业务办理需要20KB的数据,那么并发20个业务是,需要400KB的数据。说明带宽在1M左右就可以满足要求。
办理一个业务网络带宽简单算法:数据包的单位大小(跟操作系统有关)*(发送包个数+接受包个数)
4 得出性能测试需求
在基于2008年的数据量的情况,可以将用户最初的初略需求完善成如下更加明确的要求:
当前至少满足:总数据量在200GB,总存储能力在520GB下面,网络带宽在100M的情况下:
n 标准主体应用的报表展现时间<5s; 标准主体数据分析和GIS的数据分析数据分析时间<5s;空间数据浏览和定位空间数据表现时间<5s; 这些是领导关心的功能,需要重点满足。
n 标准主体应用服务的统计分析和图表结果累计时间小于10秒,如空间数据管理系统的制图功能、二次土地调查的报表输出。
n 系统最大的用户数要满足62+21=83人次对标准主体数据库的访问。
n 要求满足83人次统一身份验证功能;标准主体数据库oracle能满足并发83人的访问;
n 系统需要满足7×24小时的不间断运行,运行一段时间后,整体执行效率不衰减。
如果用户2009年以后需要在标准主体数据库上面进行扩展、开发一些新的应用,那性能需求还需要进一步进行分析,性能要求将更加高。
性能测试需求分析的一个示例相关推荐
- 性能测试需求分析 业务PV量,响应时间、QPS、TPS
一. 性能测试需求分析 1.1 性能测试需求内容 性能测试需求应包括以下内容: a) 测试场景及用例,用例访问URL: b) 目标接口方法的入参.出参: c) 外部依赖的服务 ...
- Go Mvc的一个示例
2019独角兽企业重金招聘Python工程师标准>>> 下载 Go Mvc的一个示例,项目后台用户管理部分,包括用户的添加,修改,删除,分页,查询等操作.分享出来供大家参考. dat ...
- 普鲁克分析(Procrustes Analysis)评估物种-环境/功能关联度的一个示例
R包vegan的普鲁克分析(Procrustes Analysis)示例 几天前,同学咨询这篇文献中的分析方法,先来看一下(部分截图). (Zhao et al, 2019) 大体意思是,作者测量了活 ...
- 最大似然估计的一个示例
最大似然估计的一个示例 发表于1年前(2015-01-03 11:15) 阅读(21) | 评论(0) 0人收藏此文章, 我要收藏 赞0 最大似然估计(又"极大似然估计",Ma ...
- b树的阶数如何确定_通过一个示例来聊聊如何规划一个PLC项目
对于一些朋友在编程或看别人的程序时,总是杂乱无章,让人看着迷糊和繁琐,也更容易造成错误. 这就是没有一个好的标准化的编程思路,其实,对于一些自动化公司都是有自己的标准,但是,其基本思路是一致的,今天就 ...
- Lackey:一个示例工具
目录 13.1.概观13.2.Lackey命令行选项 要使用此工具,必须--tool=lackey在Valgrind命令行上指定 . 13.1.概观 Lackey是一个简单的Valgrind工具,可进 ...
- mysql复杂查询示例_找到时间和内存复杂性之间的平衡-一个示例
mysql复杂查询示例 by Anmol Uppal 通过Anmol Uppal 找到时间和内存复杂性之间的平衡-一个示例 (Finding the balance between time and ...
- Android Studio 导入 so 简明教程:通过一个示例让你理解整个过程
Introduction 如果你是一名 C/C++ 开发人员,正在尝试将 C/C++ 的代码往安卓上迁移,那么这篇文章对你有很大的帮助 如果你是一名 Android 开发人员,正在尝试将外部 so 嵌 ...
- NetBPM工作流的一个示例-请假审批
NetBPM工作流的一个示例:请假审批 Made by LuBen:2007年8月12日 目录 请假流程描述 流程定义之processdefinition.xml 流程定义之webinterfa ...
最新文章
- Tensorflow-gpu1.13.1 和 Tensorflow-gpu2.0.0共存之安装教程
- iOS进阶之架构设计MVVM的实现示例(5)
- 在MFC单文档中,如何操作状态栏
- mysql迁移、备份数据表,导出表数据与结构
- 【PL/SQL】触发器示例:记录加薪
- 负载均衡技术沙龙2期圆满结束(现场图文、PPT)
- 拉格朗日/循环群的子群都是子群
- {基于Applet的J2ME模拟器}和{microemulator}[J2ME推荐]
- Python-密码字典生成
- 动易 mysql_动易数据转成dedecms的php程序
- ADC0808ad转换实验程序c语言,模数转换器ADC0808的应用
- 刷 百度排名,百度(google)搜索提示下拉关联词的一个简易思路··
- 农用化学活性成分的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- dede密码修改 php,dede忘记后台密码修改程序
- 云原生安全之容器级网站防篡改
- 昆石VOS3000_2.1.6.0.0安装交流 vos5000服务
- python中关于Process finished with exit code -1073740791 (0xC0000409)的解决办法
- Oracle安装手册
- 较新版本的git安装教程
- 剪视频到底要什么样的电脑配置?