1.

http://blog.chinaunix.net/uid-20355083-id-1963987.html

 

 

 

 

2.android自动化测试


目前手机自动化测试技术大体可分为白盒测试黑盒测试两种

白盒测试
   在手机自动化测试领域,白盒测试包括两种类型,第一种是传统软件测试理论中所指的白盒测试,即依赖被测对象的源代码具体实现的测试方式。在手机软件开发过程中所做的单元测试即属于此类型。第二种则是结合手机软件自身特点,对传统概念做了一些延伸。它指的是通过解析、控制和校验手机GUI控件元素对手机进行测试的方式

白盒测试具有测试效率高、测试运行稳定性好、不易受UI改动影响等优点,但测试脚本往往采用编程语言(Android/OPhone的白盒测试脚本使用java语言开发)、脚本开发技术门槛高,同时会受到操作系统本身特性的限制,跨进程测试实现困难(在Android/OPhone上,如在编辑彩信时跳转到文件管理器里挑选附件,后续测试脚本是无法执行的,因为文件管理器和彩信不在同一个进程中)。

黑盒测试
   相对于白盒测试而言,黑盒测试指的是通过外部指令驱动手机并通过外部方式进行测试结果校验的测试方式,即不考虑系统本身提供的自动化测试能力,所有的测试行为均在系统外部进行。比较典型的自动化黑盒测试方案是:通过手机操作系统对外提供的接口向手机发送触屏、按键等指令控制手机执行各种操作,同时将特定操作步骤执行后的手机当前屏幕显示做截图,再将截图数据通过图像对比或OCR的方式进行结果校验。Android上有Adb工具,monkey工具,monkeyrunner工具等。

   黑盒测试方式不受操作系统内部特性的限制(如可以避免跨进程操作的限制),对手机操作系统本身是否具备高级的自动化测试能力也没有很高的要求;测试脚本可以采用描述性语言,而且可以提供简单易用的图形化操作界面,降低了使用门槛,有利于自动化测试在测试团队中的大范围推广。但由于使用图像对比或OCR的方式做结果校验,测试脚本受UI变动的影响较大,脚本维护成本会比较高;在执行效率、不同规格的手机适配便利性方面也不如白盒测试方式