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 测试

游戏循环测试

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

选择设备类型

测试实验室支持在安装和运行于 Google 数据中心内的多个品牌和型号的 Android 设备上进行测试。在真机设备上进行测试可帮助您检测到使用 Android 模拟器测试应用时未发现的问题。如需了解详情,请参阅可供使用的设备

查看测试结果

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

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

配额和计费

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

Spark 和 Flame 方案的配额

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

Blaze 方案的结算方式

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

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

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

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

测试实验室和 Google Play 服务

测试实验室设备通常会运行最新版本的 Google Play 服务。但是,由于设备和配置的数量很多,测试实验室有时在 Google Play 服务发布新版本几天后才能更新设备。为确保您的测试能够正常运行,请检查您的应用使用的 Google Play 服务 SDK 为下列版本或更低版本。

当前支持的 Google Play 服务 SDK:11.8.0

测试实验室和移动广告

如果您是使用数字广告服务商(例如广告网络、需求方平台)的服务或与他们合作的应用开发者,或者您是数字广告服务商:

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

为了缓解这个问题:

  • 应用开发者应通知所有合作的数字广告服务商,以滤除测试服务商(包括测试实验室)的设备所产生的收入和所有对应的流量。

  • 通过过滤源自下列 IP 地址段的流量,数字广告服务商可以滤除测试实验室产生的广告收入和所有对应的流量:

    真机设备

    • 108.177.6.0/23

    虚拟设备

    • 35.192.160.56/29
    • 35.196.166.80/29
    • 35.196.169.240/29
    • 35.203.128.0/28
    • 199.192.115.0/30
    • 199.192.115.8/30
    • 199.192.115.16/29

设备清理

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

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

发送以下问题的反馈:

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