1.前言
性能测评涵盖众多方面,在测试收集每一项数据的时候,要注意考虑其为什么可以表征某一方面性能的强弱好坏。这是从选取指标的角度来考虑。
然后,每一个指标,具体需要哪些数据才可以计算得到。这是从计算指标的角度来考虑。
我们各种评测方法,其实就是围绕这两点进行的,而且要力争做到数据的准确。
2.技能准备
2.1视频录制方法
由于视频录制法在非常多的评测项中都要用到,所以我们先介绍一下视频录制的准备工作。
<1>需要一台高清摄像机。
<2>摄制前,确认DV至少在60FPS以上(可以进入DV菜单进行摄制,以SANYO HD800为例,可以选择TV-HR 640x480 60FPS模式)。
<3>手机平放在桌面,DV固定在工具架上并与手机成一定的角度,使能轻松正面拍下视频,并先试拍看画面是否OK。
<4>若是滑动屏幕时,请确认手指滑动操作是在屏幕下方,而看数据效果时可看上方屏幕的数据,录制时只需要将手指及上方屏幕录制进去即可。
<5>当点击某个icon或是滑动屏幕时,注意点击或滑动完了之后手指需马上离开屏幕。
2.2视频分析方法
<1>我们使用一款名为Avidemux的软件。界面如下:
<2>点击图中①按钮,可以选择想要打开的视频文件。
<3>点击图中②按钮,可以对视频进行上一帧和下一帧的播放。
<4>图中③,显示了当前帧数和视频总帧数。当前帧数可以编辑,输入任意数字,按下键盘Enter键,将跳转到该数字对应的帧。
<5>图中④,显示了当前视频时间和视频总时间。
<6>使用该工具,我们能够完成对操作点的时间记录,以及帧数记录。
2.3Log分析方法
这里不详述如何进行log的分析。
3.评测项详解
3.1 First boot up
测试项:
这一项是用来模拟用户得到手机后第一次的开机。由于对用户的体验非常重要,所以单独列为一项来进行评测。
测试指标:
时间。
测试方法:
<1>用指定版本刷机。
<2>具体方法见下一点Normal boot up。
3.2 Normal boot up
测试项:
我们可以通过录制视频或者查看log,进行开机时间的统计。
测试指标:
时间。
测试方法:
1.查看log法。
<1>为减少影响,最好先拔掉电池,然后重新安装,按下开机键。
<2>待开机完成进入正常待机,连接至电脑。
<3>输入
adb shell
命令,进入手机。
<4>输入
cat /proc/bootprof
命令,打开开机log。
<5>在log的最下方,
37564.605924 : BOOT_Animation:END
BOOT_Animation:END前面对应的数字即为开机时间,以毫秒为单位。
2.视频录制法。
<1>打开视频录制开关。
<2>按下开机电源键。
<3>等待亮屏,直至进入launcher或者锁屏界面。
<4>录制结束。
<5>时间 = launcher完成时间 - 亮屏时间。
注意事项:
我们忽略按下电源键后上电的时间,也就是按下电源键到屏幕刚刚点亮这段时间。
我们以屏幕刚刚点亮的时刻作为开始计算的时间点。
开机结束的时间点,一般以开机动画完成后,刚刚进入launcher的时间点。有些手机开机完成后,会直接进入锁屏界面,在这种情况下,就以刚刚进入锁屏的时间点为准。
3.3 Home switch
测试项:
对用户进行Home界面滑动操作的性能评测。
测试指标:
响应时间、FPS。
测试方法:
<1>设置launcher每个页面上至少有4个shortcut和1个widget(如下图)。
<2>打开视频录制开关。
<3>滑动切换launcher上的每个主屏幕页面。
<4>录制结束。
<5>响应时间 = 屏幕开始滑动时间 - 手指开始滑动时间
<6>FPS = 期间影格数 / (屏幕滑动结束时间 - 屏幕开始滑动时间)
注意事项:
从第一个home页开始往左轻轻滑动一下后离开屏幕(滑动力度确保画面能切换到第二个主屏幕页面),等滑动画面完全停止在第二个主屏幕页之后。再从第二个往左滑动切换到第三个页面,再到第四个……直到最后一个home页。其中这里的第一个,最后一个都可自己定(按具体的icon来标识)。
手指开始滑动时间,指手指接触到屏幕后,开始有滑动方向上的位移的时刻。
屏幕开始滑动时间,指从视频中看到的动屏的第一帧的时刻。
屏幕滑动结束时间,指从视频中看到的屏幕从滑动状态到稳定后的第一帧的时刻。
期间影格数,指的是分母的两个时间点之间的影格数。影格,指视频录制每一个变化的帧。例如,一共5个连续的帧,每一帧都不相同,那么统计为5影格;如果其中有前后两帧相同的,那么统计为4影格。
由于手指的动作不可能十分规范,因此从视频中看,有时候并不能特别精确地区分出手指第一次位移的时刻。这就要求我们在操作的时候,特别注意动作,尽量为后期查看视频进行数据分析时提供便利。
画面最后稳定的时刻,也往往不易区分,这是由于将要稳定的最后若干帧,画面变化速度越来越慢,人眼越来越难以准确区分。这样往往是误差的来源。这就要求我们尽可能细致地分辨,以及,寻找一些相对容易区分的地方作为判断稳定的依据。例如,设置与icon颜色最比度明显易于区分的背景色,观察容易辨别的icon的动画的稳定情况。
以上讲到的一些注意点,在其他评测项中也可能会遇到。总之,我们一切都是为了提高评测数据的准确度而服务的,后续不再重复强调。
3.4 Main switch
测试项:
用户对主菜单滑动的性能评测。即用户点击主菜单按钮所进入的界面,Android4.4包括“所有应用”和“已下载”两部分。
测试指标:
响应时间、FPS。
测试方法:
<1>打开视频录制开关。
<2>进入主菜单界面(如下图)。
<3>从第一个主菜单页面开始往左轻轻滑动一下后离开屏幕(滑动力度确保画面能切换到第二个主菜单页面),等第二个主菜单画面完全显示后(画面不动时),再滑动切换到下一主菜单界面,直至最后一个主菜单界面。
<4>录制结束。
<5>响应时间 = 屏幕开始滑动时间 - 手指开始滑动时间
<6> FPS = 期间影格数 / (屏幕滑动结束时间 - 屏幕开始滑动时间)
注意事项:
Main switch的测试方法与Home switch完全一致,唯一的区别是不需要事先进行界面的shortcut和widget添加。
3.5 Dialer
测试项:
拨号是手机最常用的功能之一。我们对拨号应用的性能进行评测。
测试指标:
第一次启动时间、正常启动时间、退出时间
测试方法:
<1>打开视频录制开关。
<2>用手指点击Dialer,然后迅速离开。
<3>等到拨号界面完全显示后(如下图)。
<4>手指按下返回键,然后迅速离开。
<5>重复上面操作5次。
<6>录制结束。
<7>第一次启动时间 = (第一次)拨号界面完全显示时间 - 手指从icon抬起时间
<8>正常启动时间 = 拨号界面完全显示时间 - 手指从icon抬起时间
<9>退出时间 = 拨号界面完全退出时间 - 手指从返回键抬起时间
注意事项:
拨号界面完全显示,我们是指拨号盘完全显示。但是通过实际操作,发现有些手机系统的拨号界面,默认拨号盘可能不会直接显示。对于这种情况,我们建议软件开发工程师修改其行为,使其默认直接显示。如果无法做到这一点,就按照打开应用的第一个界面完全显示来处理。
由于Android系统资源加载机制的缘故,应用在第一次加载和非第一次加载时,启动时间往往不同。因此,我们将第一次和非第一次区别开来对待。
退出时间,并不需要对第一次和非第一次进行区分。
重复测试,为的是从多次求取平均值的方式来降低可能存在的误差。
3.6 Contacts
测试项:
联系人是手机最常用的功能之一。我们对联系人应用的性能进行测评。
测试指标:
第一次启动时间、正常启动时间、退出时间
测试方法:
<1>打开视频录制开关。
<2>用手指点击Contacts,然后迅速离开。
<3>等到联系人界面完全显示(如下图)。
<4>手指按下返回键,然后迅速离开。
<5>重复上面操作5次。
<6>录制结束。
<7>第一次启动时间 = (第一次)联系人界面完全显示时间 - 手指从icon抬起时间
<8>正常启动时间 = 联系人界面完全显示时间 - 手指从icon抬起时间
<9>退出时间 = 联系人界面完全退出时间 - 手指从返回键抬起时间
3.7 Message
测试项:
虽然用户对短信息的使用越来越少,但在非常长的一段时期内,它还依然是使用最频繁的基础功能之一。我们对短信的性能进行评测。
测试指标:
第一次启动时间、正常启动时间、退出时间、新建短信响应时间
测试方法:
<1>打开视频录制开关。
<2>用手指点击Message,然后迅速离开。
<3>等到短信界面完全显示(如下图)。
<4>手指按下返回键,然后迅速离开。
<5>重复上面操作5次。
<6>短信启动和退出的录制结束。
<7>再次进入短信,用手指点击新建Message按钮,然后迅速离开。
<8>等待短信编辑界面,输入法完全显示(如下图)。
<9>手指按下返回键,然后迅速离开。
<10>重复7、8、9的操作5次。
<11>新建短信的录制结束。
<12>第一次启动时间 = (第一次)短信界面完全显示时间 - 手指从icon抬起时间
<13>正常启动时间 = 短信界面完全显示时间 - 手指从icon抬起时间
<14>退出时间 = 短信界面完全退出时间 - 手指从返回键抬起时间
<15>新建短信响应时间 = 短信编辑界面完全显示时间 - 手指从新建按钮抬起时间
注意事项:
短信启动和新建短信,我们区分开来进行评测。
短信编辑界面完全显示时间:进入短信编辑界面后,输入法一般会自动弹出。我们以输入法完全弹出的时刻为时间点。
3.8 Calculator
测试项:
选取计算器这个常用应用,来体现一般应用的使用性能。
测试指标:
第一次启动时间、正常启动时间、退出时间
测试方法:
<1>打开视频录制开关。
<2>用手指点击Calcalator图标,然后迅速离开。
<3>等到计算器界面完全显示(如下图)。
<4>手指按下返回键,然后迅速离开。
<5>重复上面操作5次。
<6>录制结束。
<7>第一次启动时间 = (第一次)计算器界面完全显示时间 - 手指从icon抬起时间
<8>正常启动时间 = 计算器界面完全显示时间 - 手指从icon抬起时间
<9>退出时间 = 计算器界面完全退出时间 - 手指从返回键抬起时间
注意事项:
如果计算器没有在Home界面,最好先将在Home界面建立其快捷方式,方便后续进行操作。
3.9 Camera
测试项:
相机是智能手机最重要的工具,相机的体验、性能的高低甚至很大程度上影响了手机的销售。不管对于高端或者中低端,相机性能的提升都至关重要。此项是对相机的性能进行评测。
测试指标:
启动时间、拍照时间
测试方法:
<1>打开视频录制开关。
<2>用手指点击Camera图标,然后迅速离开。
<3>等到相机拍照界面完全显示(如下图)。
<4>手指按下返回键,然后迅速离开。
<5>重复上面操作5次。
<6>相机启动的录制结束。
<7>再次进入相机拍照界面,用手指点击拍照按钮,然后迅速离开。
<8>等到成像完成,相机拍照界面重新完全显示。
<9>重复7、8操作5次。
<10>相机拍照的录制结束。
<11>启动时间 = 相机拍照界面完全显示时间 - 手指从icon抬起时间
<12>退出时间 = 相机拍照界面完全退出时间 - 手指从返回键抬起时间
<13>拍照时间 = 相机拍照界面重新完全显示时间 - 手指从拍照按钮抬起时间
注意事项:
由于相机应用的每一次启动,都需要重新开启摄像头这个硬件设备,所以,严格区分第一次启动和非第一次启动,对于启动时间来说并没有太多意义。所以,我们这里只以启动时间作为一个测试指标。
相机拍照界面完全显示:指的是拍照界面的按钮全部清晰显示,而且画面已经正常成像。由于光线进入有一个渐变的缘故,画面正常成像的时刻不容易准确判断,建议用下面方式判断:
3.10 Screen lock
评测项:
唤醒手机时,屏幕点亮后一般都会进入到锁屏界面。该项对锁屏的性能进行评测。
评测指标:
响应时间
评测方法:
<1>打开视频录制开关。
<2>用手指按下手机电源键,点亮屏幕,来到锁屏界面(如下图)。
<3>用手指从屏幕中间位置向右滑动,然后迅速离开屏幕。
<4>等解锁动画消失,Home界面完全显示。
<5>重复上面操作5次。
<6>录制结束。
<7>响应时间 = Home界面完全显示时间 - 手指接触屏幕向右刚开始位移的时间
注意事项:
锁屏的效果有多种,例如常见的直接向右滑动,点阵图案,密码解锁等。点阵图案和密码解锁都有一个输入的过程,尤其点阵可能存在反应迟钝的问题,这与手机性能、锁屏算法有密切关系。目前,我们只针对最常见的滑动解锁进行评测。
滑动解锁又主要包含两种:直接向右(或向下)滑动,四向滑动(不同方向可以直接启动到不同应用中去,常见的有启动到相机、启动到短信等)。我们这里研究的是解锁,因此,对这两种滑动解锁,也归结为只考虑分析滑动到launcher的情况。
开始时间是比较难以判断的时刻,我们统一规定以手指接触屏幕向某个方向进行位移的第一帧的时间为准。
3.11 List scroll
评测项:
列表在手机系统中非常常见,列表的滑动是否顺畅,很大地影响了使用者的体验。我们对列表滑动的性能进行评测。
评测指标:
响应时间、FPS
评测方法:
<1>打开视频录制开关。
<2>进入Settings设置界面(如下图)。
<3>在第一屏向上滑动一下list菜单(只要轻轻滑动一下有画面有往上动即可,滑动力度保证不一下子滑动到最底端。因为最底端会有反弹的效果需要避免掉)。
<4>等列表稳定。
<5>重复3、4操作5次。
<6>录制结束。
<7>响应时间 = Home界面完全显示时间 - 手指接触屏幕向上刚开始位移的时间
<8>FPS = 期间影格数 / (屏幕滑动结束时间 - 屏幕开始滑动时间)
注意事项:
滑动时间并不需要特别关注,因为根据滑动力度的不同,一次性能够滑动的距离会不同。
响应时间是更加重要的,从手指开始有动作,到屏幕开始动的这个时延,就是响应时间。
手指在屏幕上可以向上滑,也可以向下滑,只要保证不会一下子滑到底端或者顶端,触发反弹效果即可。
滑动的顺不顺畅,通过FPS来衡量。在高速摄像机下,出现卡顿的时候,往往会有画面前后帧是相同的,这样在该时间段内的影格数便会减少,通过公式计算所得到的FPS值就会减小。所以,FPS值越小,表明列表滑动越不流畅。
3.12 Rotation
评测项:
在进行游戏、输入法、视频观看等操作时,翻转手机屏幕,会从纵向布局变为横向布局,或者从纵向变为横向。我们队这种变换的性能进行评测。
评测指标:
响应时间
评测方法:
<1>事先准备一个比较高,顶部平整的支撑物,两手拿捏手机两侧,使得手机底部平行立在支撑物上(如下图)。
<2>调整摄像机位置,使得手机在视频正中,以可以观察到清晰的图像为准。
<3>打开视频录制开关。
<4>确认打开手机Rotation开关。
<5>进入一个有转屏功能的应用,比如Settings。
<6>用双手,按照正常速度,使得手机尽量在一个平面内翻转置横放状态,最后的效果是手机的长边与支撑物的面平行。
<7>等应用的画面变为横屏(如下图)。
<8>重复6、7操作5次。
<9>录制结束。
<10>响应时间 = 画面开始变换的第一帧显示时间 - 手机长边与支撑面平行的第一帧时间
注意事项:
通过人工转屏的方式,使得转动角度、力度等因素的差异会很大,导致结果浮动较大,不够精确。
使用支撑面,可以使得转屏角度的精准度得到提高。
用双手拿捏旋转手机,使得手机长边与支撑面平行,这个过程中动作尽量保持平稳,避免倾斜。也不要过猛地使手机长边撞击支撑面,产生的较大惯性和振动,也会进一步增加结果的不准确性。
目前这一项没有特别好的自动化仪器来帮助测量,所以,测评人员也可以结合实际体验,综合性地给出一个评测定论。
3.13 Hands-writing
评测项:
触摸位置、手写区域触笔的跟随性和画线的流畅性。
评测指标:
跟随性评价
评测方法:
<1>进入手机【设置】,打开【开发者选项】中的【显示触摸操作选项】,具体方式可以参考下图:
<2>进入launcher界面,单根手指触摸屏幕不放并在屏幕上画圈画线之类,看触摸点小球是否能紧跟着手指转动而动(如下图)。
<3>进入短信息的手写板界面,手动写字时观察手指移动与写字板显示速度是否能同步跟上(如下图)。
注意事项:
该测项没有测试具体的时间项,需要测试者观察测试时的现象以及自己的体验得出结论,感觉performance是否OK。
3.14 Game
评测项:
手机游戏的火爆,用户日常中经常会通过手机游戏来进行休闲娱乐。能不能运行游戏、运行起来是否流畅、显示效果是否好,都包含在手机游戏性能的评测之中。
评测指标:
体验度评定
评测方法:
<1>重新开机,不进行其他操作,待机5分钟。
<2>进入游戏。
<3>进入游戏后并玩五分钟之后,再看看游戏界面情况,操作相关游戏功能的情况,是否存在卡顿或不流畅的体验。
注意事项:
可能评测人员一次玩不了5分钟,这个时间不是必须的,只要满足游戏运行了正常的时间即可,目的是为了模拟普通用户日常使用的情形。
体验度是根据评测人员在实际游戏体验后,进行的一个主观的评定。因此,也存在非常大的笼统性,用词等需要特别斟酌,力求将问题阐述简洁明了。
3.15 Operator Performance Case
评测项:
一些运营商,可能会有自己的一套关于性能的要求。本项就是对这些指定性能case的评测。
评测指标:
与运营商要求一致
评测方法:
<1>与运营商规定步骤进行。
<2>将结果整理到指定的或者自制的表格中。
注意事项:
一般运营商如果有这方面的特别要求,往往会提供具体的case项,其中就包含了操作步骤,我们需要严格按照其所示步骤进行评测。
- [email protected]