转到控制台

分析 Firebase 测试实验室结果

您可以通过多种方法来使用 Firebase 测试实验室对您的 Android 应用进行测试,包括命令行界面Android Studio、Firebase 控制台中的测试实验室界面,以及 Testing API。无论您选择哪种方法来启动测试,结果都会存储在您指定的 Firebase 项目中。除了上述任何工具外,您还可以使用 ToolResults API 浏览结果。本页面介绍了如何查看和分析这些测试结果。

主要概念

要查看先前所有测试运行的结果,请在 Firebase 控制台中项目左侧的导航面板上选择 Test Lab(测试实验室)。对于您使用测试实验室进行了项目测试的应用,此页面显示了所有测试运行结果。

如需查看测试结果,您首先需要了解三个概念:

设备 × 测试执行 = 测试矩阵

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

下文介绍如何浏览解读测试结果。

解读测试历史记录结果

通过选择 Test Lab(测试实验室)转到测试结果页面后,您将看到此前运行的测试的结果。

测试历史记录按应用进行分组。页面上只显示每个应用最近的五个测试矩阵;如果有更多可用矩阵,您可以点击位于应用测试列表底部的所有矩阵链接,以查看该应用的完整列表。

解读测试矩阵结果

通过测试实验室界面开始测试时,您将被重定向到一个页面,您可以在其中查看测试矩阵,也可点击特定的测试作业以查看测试结果。Android Studiogcloud 命令也会提供测试矩阵结果页面的网址。

在典型的测试矩阵中,您可能会在十几台不同的设备上运行测试。每个测试作业的结果可能都不尽相同。测试矩阵中任意测试作业都可能出现以下结果:

  • 通过 测试已通过:没有发生任何失败。
  • 失败 测试已失败:至少发生一次失败。
  • 无结论 测试已通过:测试结果无结论,可能是由于测试实验室发生了错误。
  • 已跳过 测试已通过:为矩阵中某些测试执行所选择的维度值不兼容。当您选择的设备与您选择的一个或多个 Android API 级别不兼容时,就会发生这种情况。

如需查看 Firebase 项目中给定应用的所有测试矩阵的测试结果汇总,请点击应用名称,如下例所示:

仅包含四个测试执行的测试矩阵结果页面示例测试矩阵结果

您将转到您的应用的测试矩阵列表,您可以在其中点击任意测试矩阵的名称以查看测试矩阵结果,也可以点击应用的名称(如下面的红色框中所示),以查看与您的 Firebase 项目关联的其他应用的测试矩阵列表。

测试矩阵列表页面示例测试矩阵列表

测试矩阵可能通过测试、失败或无结论。如果测试矩阵中的任一测试作业失败或无结论,则测试矩阵会显示为失败或无结论。

解读 Robo 测试结果

如果您使用 Robo 运行测试,除了常规的测试指标之外,您的测试结果还会包含 Robo 抓取的界面视频和截图。这些视频和截图包含 Robo 在抓取过程中所采取的操作的画面提示,类似于 Android 中的“显示触摸操作”功能。您可以利用这些提示来把握 Robo 的测试过程,并重现您籍此发现的任何错误。

Robo 测试结果视频示例

Robo 测试结果

解读一项测试作业的结果

在测试矩阵结果页面中点击某项测试作业,即可查看该测试作业的结果。

测试执行结果页面示例测试作业结果

在此页面上,您可以查看每项测试执行所需的时间。您还可以查看与测试 APK 中的方法相对应的特定测试用例的结果(对于 Instrumentation 测试而言),以及包括测试日志、屏幕截图和视频在内的详细测试结果。对于 Robo 测试,详细的测试结果还会包括一份活动地图,该地图以图形方式显示 Robo 测试所访问的界面路径。

经过归类的 Instrumentation 测试结果

为了帮助您解释检测的测试结果,测试实验室将每个测试分成了自己的详细报告页面,包括堆栈跟踪、日志和视频。无论您是否使用 Android Orchestrator,此功能都有效。

测试用例结果页面示例测试用例结果

性能指标

在真机设备上运行的测试也会返回性能指标:

指标所需设备配置
应用启动时间API 19+
CPU 使用率API 21+
内存使用量
网络活动
每秒帧数API 21+,并包含 SurfaceView
图形性能API 23+

图形性能详情

图形性能报告包含几个关键图形指标的相关统计信息:

  • 错过的 VSync 事件数:错过的 VSync 事件数除以呈现时间超过 16 毫秒的帧数。
  • 高输入延迟:所用时间超过 24 毫秒的输入事件数除以呈现时间超过 16 毫秒的帧数。
  • 界面线程速度缓慢:界面线程需要超过 8 毫秒才能完成的次数除以呈现时间超过 16 毫秒的帧数。
  • 加载命令速度缓慢:将加载命令发送到 GPU 所用时间超过 12 毫秒的次数除以呈现时间超过 16 毫秒的帧数。
  • 界面线程速度缓慢:位图需要超过 3.2 毫秒才能上传到 GPU 的次数除以呈现时间超过 16 毫秒的帧数。
  • 呈现时间:测试运行期间每个帧的呈现时间分布图。呈现时间超过 32 毫秒会觉察到界面变慢。呈现时间超过 700 表示存在冻结帧。呈现数据是通过 dumpsys graphicsstats 收集的。

详细测试结果

详细的测试结果会在您运行测试后保留 90 天,并存储在 Google Cloud Storage (GCS) 存储分区中(但也可在 Firebase 控制台中看到)。在测试作业结果页面上点击查看源文件,即可查看 GCS 存储分区中的详细测试结果。在详细测试结果保留期结束后,您仍然可以看到哪些测试通过/失败。

如果希望在 90 天之后仍然能够查看详细的测试结果,您需要使用 --results-bucket gcloud 命令行选项将这些测试结果发送到您拥有的 GCS 存储分区。随后您可以设置存在时间 (Age) 设置,以确定结果在 GCS 存储分区中的存储时长。如需了解如何更改存在时间 (Age) 设置,请参阅生命周期条件