一、什么是Hopper? 它的作用是什么?
Hopper就是一个可执行文件:hopper.exe,该文件是可以在PPC/SP等Windows嵌入式操作系统上自动运行的一个可执行文件。
Hopper test正式的说法为MTTF Test - Mean Time To Failure Test,即平均失败时间测试,或称平均无故障时间测试,也有人将其称为压力测试(stress test)、稳定性测试(Stability test)、可靠性测试(Reliability Test),总而言之,hopper就是一个测试系统的稳定性和可靠性的一个自动化测试工具
Hopper运行后会不间断的无规律的快速地对被测设备执行一系列的操作,如按键/运行程序/数据输入等,1分钟内Hopper执行的动作可超过80个。
Hopper测试的内容包括各种应用程序(Media player、Mobile Word、Mobile Excel等Windows Mobile自带的应用程序或者第三方软件)的运行使用、对菜单项进行一些打开关闭等任意操作、进行UI的交互测试、数据输入(如电话号码输入、电话薄创建、任务创建)的测试以及对驱动的测试等。
Hopper测试为完全任意性的,触角可以伸到系统的任何部分。Hooper的测试覆盖面能非常地全面,虽然目的性不强,但是如果给它的运行时间足够长的话,它甚至能找到很多测试人员的测试用例不会覆盖到的情况。
二、Hopper的要求与目标,Hopper的计算方式
微软对Hopper测试的时间问题有两个要求,一个是平均时间(Average Time),一个是中值时间(Medium Time),平均时间要求超过20个小时,中值时间要求达到25小时,二者需同时通过才能满足微软要求。
NSTL(National Software Testing Laboratories)在进行CIT测试时,共做10台机器10个case的hopper测试,如果运行时间超过25个小时,则按照25个小时计算,否则按照实际运行时间计算。
平均时间就是10台机器的运行时间加起来除10.
中值时间:10个测试结果按照时间从短到长的顺序排列,取中间两个case,即5和6的时间的平均,这样得到的值即为中值时间。
三、Hopper测试时设备连接方式
进行Hopper测试时,可以选择以下两种方式:一、连接KITL进行测试;二、独立设备测试。
每种方式各有自己的优缺点,使用KITL时可以对运行状态进行查看、控制等,通过进行有关参数设置来改变Hopper运行状态,KITL是进行debug的最佳选择。
独立设备测试的好处在于测试出的结果比较准确。缺点就是不便于状态的跟踪、问题的分析。常用的设备测试是第二种方式。
Notes:
关于通过KITL连接使用hopper中涉及到很多方面,如参数的设置等。
四、Hopper程序从哪里获取?
(1) SDK
Hopper位于Windows Mobile 6 SDK 的Tools目录中,例如:“C:/Program Files/Windows Mobile 6 SDK/Tools/Hopper”,安装了Windows Mobile 6 SDK 就有了。
(2) LTK
在我们安装LTK之后,我们可以在以下目录找到对应版本的Hopper程序:C:/Program Files/Platform Builder for Windows Mobile/5.00/CEPB/wcetk/DDTK/ARMV4I,更新LTK的Data base就可以同时更新这个目录下的Hopper程序。
五、Hopper程序如何运行?
1、将Hopper.exe可以放在设备文件系统下任意目录中直接从设备上运行;
2、在KITL连接的时候还可以从Platform Builder的target --> run programs中运行(要将hopper.exe放到release目录下),此时还可以选择特定参数运行。
3、当使用Focus Application的时候,要按照以下顺序进行:
(1)将自定义的FocusApp拷贝到设备中;
(2)打开设备的文件浏览器;
(3)浏览到设备根目录;
(4)运行 FocusApp
(5)取消自定义的应用,或者按返回键回到主界面。
(6)运行Hopper.
4、如果需要在独立设备上使用参数,可以将Hopper拷贝到设备上之后创建一个快捷方式.lnk文件来运行,参数可以编辑到快捷方式里面。这样就可以脱离KITL方式使用参数。
六、Hopper程序如何中止?
(1) 在设备上独立运行Hopper的时候是没有正常的办法停止Hopper的。如果设备已经死机或者出现异常,可以拔掉电池或者硬件复位来关机或者重新启动,Hopper即停止。
(2)
在KITL连接的方式或者使用快捷方式的情况下,可以添加一个运行参数 /k,这个参数通过产生一个事件立即停止Hopper。
(3)
在KITL连接的方式或者使用快捷方式的情况下
,可以添加一个运行参数/t,参数表示预先设定的运行时间,以分钟为单位;运行时间超过即自动停止。格式如下(以十分钟为例):
Hopper.exe /t10
七、Hopper测试对软件开发的要求
(1)系统 : 执行的时间应该从程序可以跑起来的时候就执行,执行的越早,发现问题越早,解决问题越容易,否则到后期等系统功能等都实现的时候发现问题,再去解决,所耗费的时间、精力会大得多得多。
(2)驱动 : Hopper测试应从系统可以跑起来一直到RTM整个开发过程,如果在后期测试发现有问题,应逐个模块的关闭来分析造成问题的原因,如关闭Radio可以避开Radio的影响;
(3)应用 : 测试时最好不加入第三方软件,首先确保系统本身的无问题,然后再逐渐加入第三方软件进行集成测试、系统稳定性测试;
八、关于Hopper需要注意的一些问题
1、在设备系统能够启动之后就开始Hopper测试,越晚开始测试发现问题越难定位解决。
2、不要在连接USB的情况下进行测试,这样会破坏PC及outlook等数据;
3、运行时不要存储有关数据,hopper测试可能是破坏性的,以免破坏有关数据,进行hopper测试前最好将有用文件进行备份,重新启动系统两遍再测,最好是恢复出厂值后再进行测试。
4、在测试时要接入充电器,以免测试中途电池电量不足自动关机。
5、不要使用有效的SIM卡进行测试,以免hopper拨出号码,造成不必要的影响;
6、在Hopper运行的时候,也可以手动参与进行测试,如进行有关按键,同样这些按键也为有效操作。
7、如果使用的是第三方的文件浏览器,最好不要过早将其加入进行Hopper测试,在你达到目标之后再加进去测试。
8、测试过程中,Hopper为了避免设备被关闭或者锁定,会通过修改注册表去掉Quick List中的关机和锁定选项。
九、避免拨打紧急呼叫的解决:
为避免在进行hopper测试时拨出一些紧急号码,微软开发了以下相关工具:dialrequest.dll, noemesetup.exe and restoreEME.lnk.使用dialrequest.dll, noemesetup.exe可以跳过紧急号码拨叫,用restoreEME.lnk可以恢复(呼叫)。
使用时,先将设备重新启动,然后将dialrequest.dll, noemesetup.exe拷贝到被测设备/Windows 文件夹中,运行noemesetup.exe文件,10s内有关系统配置将生效,之后无法进行紧急号码呼叫。
恢复时将restoreEME.lnk文件拷贝到/Windows/Start Menu/Accessories/ folder中,然后选择运行它,10s内可以恢复,之后又可以进行紧急号码呼叫。
另外Hopper也会新增如下注册表项修改避免紧急呼叫:
[HKEY_LOCAL_MACHINE/Software/Microsoft/RIL]
"NoEmergencyDialing"=dword:00000001