前言:

  从各种渠道了解到 Android CTS 测试, 是一种类似于 Windows Mobile LTK 的测试。

  大体 Google 一下, 发现关于 CTS 的信息非常至少, 只说它有两万多个测试用例。

  然后它只对 OHA 成员开发。

  参考1:Cezary Statkiewicz's blog。

  学习

  原来 Google 定义了一个兼容性规范(Compatibility Definition), 而 CTS 是用于确保某个测试符合该规范。

  从而基于 Android 的应用程序能够在基于同一 API 版本的各种设备上运行。

  由于我们使用Android 2.1 (Eclair), 所以从参考下载到 Android 2.1 的

  Compatibility Definition, 大体阅读一下, 它定义了一些需求:

  数据: 必须实现一种无线连接, 速率达到 200Kbit/Sec

  Camera: 至少 2M pixels

  重力加速: 必须有, 3维, >50Hz

  指南针: 必须有, 3纬, >10Hz

  GPS: 必须有

  内存: 至少 92M (不包括专用内容)

  Nand: /data 分区至少 290M

  性能: 启动时间: 浏览器 < 1300ms

  MMS/SMS < 700ms

  AlarmClock < 650ms

  第二次启动一个应用的时间不能超过第一次启动时间。

  CTS 测试: 必须通过新的 CTS

  升级: 必须有一种办法可以升级全系统。 可以为:

  OTA

  USB

  SD 卡

  看来 Android 是在不断往高端方向走。 不过想想也正常,的高端是明天的低端!

  Quick Start

  参考2 的 User Manual 似乎是针对 1.6 的, 其中提到 CTS 是单独下载的一个包。

  而参考1 则说从 source code 中编译而来。

  先按照参考1简单运行一下。

  1) 获取 2.1 代码, 并先做一个基本的编译(不知是否需要)

  2) 编译 cts:

  cd ~/mydroid

  . build/evnsetup.sh

  make cts

  3) 启动 emulator (或者 device, 不过可能需要按照 User Manual 设置一下)

  4) 将 ~/mydroid/out/host/linux-x86/bin 加到路径

  5) adb start-server

  6) cts

  进入 cts 交互环境, 可以敲入 help 看各种命令:cts_host > help

  这里是quick start,所以不详解。

  7) 在 shell 下直接以非交互模式运行一下:

  $ cts start --plan Signature

  该测试用例比较少,发现两分钟可以运行通过。 像 Android 测试方案比较耗时间了。