网络连接测试

Android Connectivity Testing Suite (ACTS) 测试填补了 Android 框架 API 和芯片组认证之间的测试空白。这些测试可验证 Android 框架所用的蓝牙、WLAN 和移动网络各方面的功能。

哪些人应该运行 ACTS 测试?

应该由负责 Android 堆栈的连接(蓝牙、WLAN 和移动网络)部分的开发者和集成人员运行 ACTS 测试。如果您要添加新功能、集成芯片组或驱动程序变更,这些测试可帮助您确保所做的更改功能和稳定性正常且符合基本的性能标准。

这些测试为可选测试,任何 Android 设备认证都不强制要求完成这些测试。

如何运行 ACTS

ACTS 测试利用特权 Android API 解锁原本不可用的更深层次的测试。因此,只能使用 ACTS 来测试工程和 userdebug 版本。

ACTS 测试旨在以最少且通常是现成的硬件运行,不过,测试也需要一些设备(因测试类型而异)。对于很多测试,两台 Android 设备或一台设备以及一个 WLAN 接入点就足够了。请参阅专门针对某个主要测试方面(蓝牙、WLAN 或移动网络)的文档,以确定具体的设置要求。

测试类型

Android 脚本层

/external/sl4a 中的 Android 脚本层是来自同名开源项目的一个分支。该工具提供精简型 RPC 服务器来公开 Android 的 Java API。它允许测试脱机驻留,支持设备的协同自动化,从而实现更丰富的动态测试。在过去的 18 个月中,Google 已经调整、更新、扩展并使用该项目来远程运用 Android 的 Java API 测试无线连接。

原生脚本层

/packages/apps/Test/connectivity 中的原生脚本层是全新的内部发展型 RPC 服务器,用于公开 Android 的原生 API,并且公开方式与 Android 脚本层公开 Java API 的方式相同。该工具目前用于测试 Brillo,我们预计该项目将迅速扩大,以满足越来越重要的原生无线 API 的测试需求。

Android 通讯测试套件

/tools/test/connectivity 中的 Android 通讯测试套件是基于 Python 的轻量级自动化工具集,用于对当前的和即将推出的 Android 设备执行自动测试。它提供了简洁的执行界面、一组用于访问衰减器等设备和 Android 设备的可插拔库,以及一些可进一步简化测试开发的实用函数。我们认为它是一种非常适合无线堆栈开发者或集成人员的桌面工具,无论他们是创建新的代码路径、执行基本的完整性测试,还是运行扩展的回归测试套件都没问题。

本测试套件还包括一系列测试,很多测试在一台或两台具有 WLAN、移动网络或蓝牙连接的 Android 设备上即可运行,其中包括:

  • 针对 AP IOT、企业连接、WifiScanner、Autojoin 和 RTT 的 WLAN 测试。
  • 针对 BLE、GATT、SPP 和 Bonding 的蓝牙测试。
  • 针对 CS 和 IMS 呼叫、数据网络连接、短信、网络切换和热点的移动网络测试。

我们相信,通过降低基本测试的门槛,并作为整个社区基于改进的系统测试进行协作的聚合点,这些工具的发布将帮助开发者、集成人员和测试人员等。

失败和贡献

ACTS 测试并非认证套件,严格意义上来说,发布 Android 设备无需通过这些测试,但是,测试失败可能说明用户体验不佳。也就是说,如果测试失败,也无需感到失望。一些测试有意让您很难通过,其目的是帮助开发者推出高性能设备。

ACTS 是一项相对较新的举措,并且来自开发社区的参与至关重要。如需添加测试、报告问题或提出问题,请在 Android 问题跟踪器上使用连接测试模板打开一个 Bug,以发起相关交流。