Firebase Android 测试实验室概览

Firebase Android 测试实验室可针对您创建的测试矩阵运行测试,以便跨各种设备类型和设备配置验证您的应用。要了解其工作原理,我们首先需要解释一下测试维度和测试作业。

  • 测试维度。 “测试维度”是一组相关的设备属性。测试实验室使用的维度为型号、Android API 级别、区域设置和屏幕方向。

  • 测试执行。您为测试矩阵选择的每个有效的测试维度组合都是一个“测试执行”。测试实验室支持一次对最多 200 个不同的组合测试您的应用。在测试应用时,您可以选择要使用的特定型号和 Android API 级别的组合,以便有所侧重地进行测试(例如,当您验证问题修复时)。每个测试执行都有通过和未通过两种可能。但只要有一个测试执行未通过,则整个测试矩阵即会被标记为未通过。

  • 测试矩阵。 “测试矩阵”是您选择的一组测试执行。当您在测试矩阵上运行应用测试时,对于通过组合测试维度属性而创建的每个有效测试执行,您都将获得其测试结果。

您可以选择如何开始测试您的应用,如下所示:

  • 通过 Android Studio 集成,您可以从您的开发环境测试您的应用。
  • 通过 gcloud 命令行界面,您可以从命令行以交互方式运行测试,并且此命令行界面也非常适合编写脚本以自动执行部分构建和测试流程。
  • 通过在 Firebase 控制台中使用测试实验室界面,您可以上传一个应用二进制文件,然后从任意位置启动测试。

使用 alpha 或 beta 渠道上传应用的 APK 文件并将其发布到 Play 商店时,您还可以通过测试实验室测试您的应用。如需了解详情,请参阅通过发布前测试报告发现问题Robo 测试

选择测试方法

您可以使用测试实验室验证应用的用户体验的稳定性,以及您的应用在一系列设备上的兼容性。

我们为您提供了两种测试方法来帮助您测试应用:您可以运行 Instrumentation 测试和测试实验室 Robo 测试

Instrumentation 测试

Instrumentation 测试是您或您的团队专为测试您的应用而编写的测试(使用 EspressoUI Automator 2.0 Android 测试框架)。在真机上运行 Instrumentation 测试最多需要 30 分钟,而在虚拟设备上运行最多需要 60 分钟。系统会为在该时间段内完成执行的所有测试用例提供测试结果。

在编写 Instrumentation 测试时,您应再创建一个 APK 模块,然后将该模块与您的应用的 APK 模块一起上传到测试实验室。要了解如何创建测试 APK,请参阅测试您的应用

Robo 测试

即使您没有为您的应用编写任何 Instrumentation 测试,也可以使用 Robo 测试,通过模拟用户操作来测试您的应用。如需了解详细信息,请参阅 Robo 测试

游戏循环测试

为了支持游戏应用测试,测试实验室现在加入了针对“演示模式”的测试版支持,在该模式下游戏应用可以一边运行一边模拟玩家的操作。此模式可以包括多个循环(或场景),您可以使用标签对这些循环(或场景)进行逻辑整理,以便将相关的循环组合在一起运行。要了解详情,请参阅游戏循环测试

选择设备类型

测试实验室支持在 Google 数据中心内安装和运行的多个品牌和型号的 Android 设备上进行测试。在设备上进行测试,可帮助您检测到使用 Android 模拟器测试应用时未发现的问题。

目前,为您提供下列设备类型:

表 1:测试实验室使用的设备

品牌 可用型号
Asus Nexus 7
Google Nexus 6P、Pixel
HTC Nexus 9、HTC One (M8)
LG LG G4、LG G3、Nexus 5、Nexus 5X、Nexus 4
摩托罗拉 Moto E、Moto G(第一代、第二代和第三代)、Moto G4、Moto G4 Plus、Moto X、Nexus 6
OnePlus OnePlus One
夏普 SH-04H
三星 Galaxy J5、Galaxy Note 2、Galaxy Note 3 Duos、Galaxy Note 4、Galaxy S3、Galaxy S6、Galaxy S6 Edge、Galaxy S7、Galaxy S7 Edge Galaxy Tab 3、Nexus 10
索尼 Xperia Z2、Xperia Z3、Xperia Z5 Compact、Xperia X

查看测试结果

无论您如何发起测试,您的所有测试结果均由测试实验室管理,并且可在线查看。测试结果包括测试日志和任何应用故障的详细信息。对于 Robo 测试,还提供有视频和屏幕截图。如需了解详情,请参阅分析 Firebase Android 测试实验室的结果

Android Studio 启动测试时,您还可以从您的开发环境内部查看测试结果。

配额和计费

Firebase 提供了三种定价方案供您选择:Spark(免费)、Flame 和 Blaze。

Spark 和 Flame 方案的配额

在 Spark 和 Flame 方案中,您可以免费使用测试实验室,但执行的测试不得超过测试执行的每日配额(10 台虚拟设备和 5 台真机),而且在每个测试矩阵中最多可使用 4 台设备。

Blaze 方案的结算

要使用测试实验室而不受每日使用量或测试矩阵大小的任何限制,请在选择您的项目后升级为 Firebase Blaze 方案。要升级您的结算方案,请点击 Firebase 控制台中的升级,然后点击 Blaze 方案列中的选择方案

采用 Blaze 方案后,您即可使用测试实验室测试您的应用,每小时费率如下所示:

  • 每台真机每小时 5 美元
  • 每台虚拟设备每小时 1 美元

费用按每分钟计算,且仅对运行您的测试所需的时间进行收费,安装您的应用或收集测试结果所需的时间不计费。运行测试矩阵后,您可以在测试执行结果页面和测试矩阵结果页面上查看在每台设备上运行每个测试所需的时间。每个测试执行的收费时间将向上舍入到最接近的分钟数。

测试实验室和移动广告

对于使用或与数字广告提供商(例如广告网络、需求方平台)合作的应用开发者,以及对于数字广告提供商:

测试实验室为开发者提供可扩展的应用测试基础架构,实现应用测试自动化。遗憾的是,此功能会被专为生成欺诈性广告收入而设计的恶意应用所滥用。

为了缓解这个问题:

  • 应用开发者应通知与他们合作的所有数字广告提供商,以过滤掉属于测试提供商(包括测试实验室)的设备产生的收入和所有对应的流量。
  • 通过过滤源自下列 IP 地址块的流量,数字广告服务商可以过滤掉测试实验室产生的广告收入和所有对应的流量:108.177.6.0/23(对于真机)和 104.196.0.0/16(对于虚拟设备)。

设备清理

Google 非常重视您的应用数据的安全。对于测试实验室所使用的真机,我们都会遵循行业标准的最佳做法,将在每次测试运行之后从这些设备移除应用数据,以确保这些设备准备好运行新的测试。对于我们可以使用自定义恢复映像进行快速清理的设备,我们会进一步在各个测试运行之间快速清理这些设备。

对于测试实验室所使用的虚拟设备,我们会在使用设备实例之后将设备实例删除,这样每次测试运行都会使用一个新的虚拟设备实例。

发送以下问题的反馈:

此网页
需要帮助?请访问我们的支持页面