Accéder à la console

Firebase 测试实验室概览

利用 Firebase 测试实验室,您可以在一系列设备上以及各种配置下测试自己的应用,有助于您更好地了解其在用户手中的表现。为方便进行如此广泛的测试,测试实验室采用批量运行方式(我们称之为测试矩阵)。在每个矩阵中,系统都会针对多种设备配置组合测试您的应用。

设备 × 测试作业 = 测试矩阵

设备
您用来运行测试的设备,例如手机、平板电脑或穿戴式设备。测试矩阵中的设备由设备型号、操作系统版本、语言区域和屏幕方向标识。
测试作业
在设备上运行的测试。在典型的测试矩阵中,每个选定的设备都有一个测试作业。
测试矩阵
一组测试作业。如果矩阵中的任何测试作业失败,则整个矩阵也会失败。

您可以选择如何开始测试应用,有如下方式:

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

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

选择测试方法

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

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

Instrumentation 测试

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

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

Robo 测试

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

游戏循环测试

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

选择设备类型

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

查看测试结果

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

Android Studio 启动测试时,您还可以在自己的开发环境中查看测试结果。

配额和计费

测试实验室提供了三种定价方案供您选择:Spark(免费)、Flame 和 Blaze

Spark 和 Flame 方案的配额

对于 Spark 和 Flame 方案,执行的测试不得超出相关的每日配额:10 台虚拟设备和 5 台真机(每天最多 15 次测试运行)。此限额包括各个测试类型(Instrumentation、Robo、Game Loop)和矩阵在内。

Blaze 方案的结算方式

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

Blaze 方案中包含与 Spark 方案相当的免费用量:

  • 在真机上进行 15 小时的测试
  • 在虚拟设备上进行 30 小时的测试

超过上述限额的所有用量都将按以下小时费率收费:

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

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

测试实验室和 Google Play 服务

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

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

测试实验室和移动广告

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

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

您可以通过以下方式来缓解这一问题:

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

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

    平台和设备类型 CIDR IP 地址段
    Android 和 iOS 真机设备 108.177.6.0/23
    Android 虚拟设备

    34.68.194.64/29(添加时间为 2019 年 11 月)

    34.69.234.64/29(添加时间为 2019 年 11 月)

    34.73.34.72/29(添加时间为 2019 年 11 月)

    34.73.178.72/29(添加时间为 2019 年 11 月)

    35.192.160.56/29

    35.196.166.80/29

    35.196.169.240/29

    35.203.128.0/28

    35.234.176.160/28

    35.243.2.0/27(添加时间为 2019 年 7 月)

    199.192.115.0/30

    199.192.115.8/30

    199.192.115.16/29

设备清理

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

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