前言:
从各种渠道了解到 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 测试方案比较耗时间了。