软件评测:软件系统对比测试分析模型
来源:互联网 发布:飞越疯人院原著 知乎 编辑:程序博客网 时间:2024/05/06 19:52
【IT168 评测】当前,对于同类软件的对比测试需求越来越多,例如某甲方需要在几家提供同种类的数据库厂商中选择一家采购的选型测试,某一家开发操作系统的公司计划将其下操作系统与目前流行的操作系统进行一下对比,找出其之间的优势和差距等。但是如何将多个测试结果中快速分析结果,直观得出优略差距好了结论,目前还未有好的解决方法。针对这个问题本文提出了软件系统对比测试分析模型。
1、软件系统对比测试分析模型原理
软件系统对比测试分析模型采用单位元作为基准坐标系。单位圆指的是半径为1的圆。在三角学中,单位圆通常是指欧几里德平面直角坐标系中圆心为(0,0)、半径为 1 的圆。
假设在对比测试过程中,考察了n个测试内容,那么就需要将单位圆平均分成n等分。如下图所示:
▲图1 对比分析模型示意图
在这个对比坐标系之上,可以对一款被测将进行详细的描述,设本次考察的被测件分别问S和R,并且在n个测试内容的评测结果分别为{s1,s2,…,sn}和{r1,r2,…rn}
评价S和R被测件的整体能力描述如下
通过S:R就可以比较出两个被测件的整体特性。单个测试内容i可以通过si:ri进行结果分析。但是有些测试内容是有固定的上限范围的,也就是说可以计算出其相对100%符合要求的百分比,例如SQL92标准符合性等测试。而大部分测试内容无上限要求,因此本对比分析模型引出了如下单位化转换方法。对于某个测试内容x,需要进行单位化转化后,在对比坐标系上描点。单位化公式如下:
Tsx=sx/Max(sx,rx)
经过单位化后的评测结果分别为{Ts1,Ts2,…,Tsn}和{Tr1,Tr2,…Trn},因此可以得出最后单位化后的能描述方法如下:
因此可以得出通过TS:TR就可以比较出两个被测件的整体特性。单个测试内容i可以通过Tsi:Tri进行结果分析。
2、对比分析模型应用
2.1浏览器性能对比测试分析结果
2.1.1 浏览器性能对比测试内容
浏览器性能测试所有数据结果均来自中国软件评测中心国家科技专项测评服务项目,其中隐藏了关键信息。结合在浏览器
性能对比测试中通用方法和准则,总结归纳出10项浏览器性能对比评价指标,如下表所示。
标号种类种类别名性能测试评价指标性性能测试评价指标别名1启动测试R冷启动时间特性P12热启动时间特性P23标准符合测试SAcid2P34Acid3P45标准符合测试SHTML5P56标准符合测试
SavaScript1P67avaScript2P78标准符合测试SCSS渲染P89页面加载测试P标准页面加载速度测试P910硬件加速测试H硬件加速P10
▲表1 浏览器性能对比测试评价指标
启动类测试中主要考察冷启动时间特性和热启动时间特性,而对启动过程中资源(例如:内存、CPU等)的消耗,作为辅助考察项,被记录在测试结果中。这是因为目前硬件发展越来越快速,目前市场上浏览器对在启动测试时消耗相对于都很小,因此资源消耗并不在本次的具体评价标准中。
标准符合测试类主要考察浏览器对标准的支持,JavaScript的解释速度以及CSS的渲染速度。 JavaScript基准测试方面有两款公认的测试工具,分别是SunSpider和V8 JavaScript。
SunSpider:Mozilla公司开发的JavaScript引擎性能基准测试工具,屏蔽了浏览器类型和语言的差别,仅针对JavaScript进行测试,与Dom和浏览器接口均无关。SunSpider主要协助开发者解决现实世界的问题,拥有对象、函数调用、数学、递归等测试类型,共测试3d、access、bitops、controlflow、crypto、date、math、regexp、string九项内容,执行时间越短,代表浏览器的JavaScript解码速度越快。
V8 JavaScript:Google公司开发的JavaScript引擎性能基准测试工具,分别对Richards、DeltaBlue、Crypto、RayTrace和EarleyBoyer五项内容进行测试,running times/s值越高,表明浏览器的JavaScript解码速度越快,分值也相应越高。
这两款测试工具考察角度存在一定的差异,因此将JavaScript测试分成两部分Javascript,JavaScript1是应用SunSpider测试结果,JavaScript2是V8 JavaScript测试结果,这些都和普通用户使用浏览器的日常行为息息相关,既能考察浏览器是否能够为用户正常提供展示、交互等的能力,又能考察被测浏览器对脚本语言和样式表渲染的速度。
页面加载类测试是对标准页面Nontroppo访问的时间特性,访问标准页面能够分析出浏览器对目前互联网主流web技术的支持能力以及解析显示速度,也是从最终受众角度进行的测试。
硬件加速类测试主要是对浏览器的硬件加速功能进行的测试,该项技术在浏览器领域中越来越重要,能够加快浏览器在图像合成、图像缩放等方面的显示。
2.1.2被测浏览器性能测试结果
对某互联网公司自行开发的浏览器(由于被测浏览器目前处于内部测试阶段,还未正式产业化,为避免引起不必要的纠纷,待测试的浏览器下文简称A)与主流的浏览器IE、Firefox和Chrome进行了性能对比(其中IE8.0、Firefox9.0.1、Chrome17.0.963.6和A浏览器1.4)。性能测试结果如下所示:
被测件\指标P1P2P3P4P5P6P7P8P9P10IE6.452.251023415685.9131.634511250Firefox12.034.5310100299283477957489618Chrome10.365.7610100329228.7788057474329A3.403.401010021332776175589830▲表2 浏览器性能测试结果记录表
被测件\指标P1P2P3P4P5P6P7P8P9P10IE0.540.391.000.230.121.000.020.601.000.00Firefox1.000.791.001.000.910.500.611.000.800.60Chrome0.861.001.001.001.000.041.001.000.660.97A0.810.591.001.000.650.060.970.970.091.00▲表3 单位化测试结果
以P1为例,单位化计算过程如下:
P1属性最大值为12.03
IE浏览器在P1单位化结果P1(EI)=P1(EI)/Max(P1)=6.45/12.03≈0.54
Firefox浏览器在P1单位化结果P1(Firefox)=P1(Firefox)/Max(P1)=1.00
Chrome浏览器在P1单位化结果P1(Chrome)=P1(Chrome)/Max(P1)≈0.86
A浏览器在P1单位化结果P1(A)=P1(A)/Max(P1)≈0.81
将各个被测浏览器单位化后性能测试结果在浏览器性能对比测试基准模型中,得到如下所示结果。
▲图2 四款浏览器整体性能测试对比结果
通过上述分析,应用浏览器性能对比测试模型计算得出IE综合性能为0.197,Firefox综合性能为0.79,Chrome综合性能为0.83,A浏览器综合性能为0.54。整体性能上Chrome浏览器目前优于其他产品,但是在应用数量方面IE占优,在标准符合性方面Firefox占优,国产浏览器产品A在目前整体评价排名第三,但是在标准符合性、标准页面载入等方面上还有一定的提升空间。
2.2国产数据库MPP对比测试分析结果
2.2.1国产数据库MPP对比测试内容
国产数据库MPP对比测试结果来自中国软件评测中心承担的“核高基”重大专项通用基础软件测试评估课题成果物,其中隐藏了对应厂商的关键信息,并对数据做了整体的比例转换。
MPP即大规模并行处理。在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过高速专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。
TPC-H基准测试是由一系列商业查询组成,是依据真实的生产运行环境建立的OLAP模型,这使其可以评估一些其他测试所不能评估的关键性能参数。采用TPC-H模型,100GB数据量,应用其标准中的22条复杂查询进行测试并统计查询耗时。MPP中分别测试2节点、4节点和8节点的情况。
本次测试分别对3家国产数据库MPP测试,测试硬件环境、网络环境完全相同(由于测试项目还处于保密期,以下测试结果分别以数据库A、数据库B和数据库C代替)。测试结果如下:
2.2.2被测国产数据库MPP对比测试内容
依据第一章的对比测试分析模型,得出了如下结果。
有图中可以看出,数据库C的MPP在所有查询耗时都比较长,数据库B次之,数据库A的表现最优,说明A厂商在MPP对SQL查询语句、标准函数的解析等方面的解释优化最的最优。
- 软件评测:软件系统对比测试分析模型
- ISTQB,QAI,软件评测师软件测试认证特点对比
- ISTQB,QAI,软件评测师软件测试认证特点对比
- 软件系统模型分析
- 软件系统模型分析
- 软件测试 评测
- 软件开发模型对比
- 软件开发模型对比
- 群控云控软件对比分析
- 系统监控软件对比
- 博客管理系统-软件测试分析报告
- 【转载】软件开发模型对比
- 软件测试过程模型
- 软件测试过程模型
- 软件测试过程模型
- 软件测试过程模型
- 软件测试V模型
- 软件测试过程模型
- Redis 通讯协议规范
- opkg
- asp.net获取当前网址url
- UITableView中多个UITextField时滚动问题
- C++二级指针的用法
- 软件评测:软件系统对比测试分析模型
- 堆和栈的区别
- Eclipse NightLabs PDF Viewer 插件使用
- Linux yum 介绍
- buildroot
- ffmpeg 源代码简单分析 :av_read_frame()
- linux驱动学习2(kpd驱动初步分析)
- cvCreateVideoWriter的返回值总是0x00000000的问题
- js实现设为首页和加入收藏