您可以通过多种方法来使用 Firebase Test Lab 对您的 Android 应用进行测试,包括命令行界面、Android Studio、Firebase 控制台中的 Test Lab 界面,以及 Testing API。无论您选择哪种方法来启动测试,结果都会存储在您指定的 Firebase 项目中。除了上述工具外,您还可以使用 ToolResults API 浏览结果。本页面介绍了如何查看和分析这些测试结果。
主要概念
如需查看先前所有测试运行的结果,请在 Firebase 控制台中项目左侧的导航面板中选择 Test Lab。对于您使用 Test Lab 进行了项目测试的应用,此页面显示了所有测试运行结果。
如需查阅测试结果,您首先需要了解三个概念:
当您针对所选的设备和配置运行一项测试或一组测试用例时,Test Lab 会批量为您的应用运行测试,然后将结果显示为一个测试矩阵。
设备 × 测试作业 = 测试矩阵
- 设备
- 运行测试的实体设备或虚拟设备(仅限 Android),例如手机、平板电脑或穿戴式设备。测试矩阵中的设备由设备型号、操作系统版本、屏幕方向和语言区域(也称为地理位置和语言设置)标识。
- 测试、测试作业
- 需要在设备上运行的一项测试(或一组测试用例)。您可以在每个设备上运行一项测试,也可以视需要对测试进行分片,并在不同的设备上运行其测试用例。
- 测试矩阵
- 测试矩阵中包含测试作业的状态和测试结果。只要矩阵中有任何测试作业失败,整个矩阵都会失败。
下文介绍如何浏览解读测试结果。
解读测试历史记录结果
您可以选择 Test Lab 前往测试结果页面后,来查看此前运行的测试的结果。
测试历史记录按应用分组。页面上只显示每个应用最近的五个测试矩阵;如果有更多可用矩阵,您可以点击位于应用测试列表底部的所有矩阵链接,查看该应用的完整测试矩阵列表。
解读测试矩阵结果
通过 Test Lab 界面开始测试时,您将被重定向到一个页面,您可以在其中查看测试矩阵,也可点击特定的测试作业以查看测试结果。Android Studio 和 gcloud 命令也会提供测试矩阵结果页面的网址。
在典型的测试矩阵中,您可能会在十几台不同的设备上运行测试。每个测试作业的结果可能都不尽相同。测试矩阵中任意测试作业都可能得到以下结果:
- 通过 :没有发生任何失败。
- 未通过 :至少发生一次失败。
- 无结论 :测试结果无结论,可能是由于 Test Lab 发生了错误。
- 已跳过 :为矩阵中某些测试作业所选择的维度值不兼容。当您选择的设备与您选择的一个或多个 Android API 级别不兼容时,就会发生这种情况。
如需查看 Firebase 项目中给定应用的所有测试矩阵的测试结果汇总,请点击应用名称,如下例所示:
仅包含 4 个测试作业的测试矩阵结果页面示例
您将转到您的应用的测试矩阵列表,您可以在其中点击任意测试矩阵的名称以查看测试矩阵结果,也可以点击应用的名称(如下面的红色框中所示),以查看与您的 Firebase 项目关联的其他应用的测试矩阵列表。
测试矩阵列表页面示例
测试矩阵可能通过测试、未通过测试或无结论。如果测试矩阵中的任一测试作业未通过测试或无结论,测试矩阵就会显示为未通过测试或无结论。
解读 Robo 测试结果
如果您使用 Robo 运行测试,除了常规的测试指标之外,您的测试结果还会包含 Robo 抓取的界面视频和截图。这些视频和截图包含 Robo 在抓取过程中所采取的操作的画面提示,类似于 Android 中的“显示触摸操作”功能。您可以利用这些提示来把握 Robo 的测试过程,并重现您籍此发现的任何错误。
Robo 测试结果视频示例
解读一项测试作业的结果
在测试矩阵结果页面中点击某项测试作业,即可查看该测试作业的结果。
测试作业结果页面示例
在此页面上,您可以查看每项测试作业所需的时间。您还可以查看与测试 APK 中的方法相对应的特定测试用例的结果(对于插桩测试而言),以及包括测试日志、屏幕截图和视频在内的详细测试结果。对于 Robo 测试,详细的测试结果还会包括一份 Activity 地图,该地图以图形方式显示 Robo 测试所访问的界面路径。
经过归类的插桩测试结果
为了帮助您解释插桩测试结果,Test Lab 将每个测试分成了自己的详细报告页面,包括堆栈轨迹、日志和视频。无论您是否使用 Android Orchestrator,此功能都有效。
测试用例结果页面示例
解读无障碍功能结果
Robo 测试会使用 Android 无障碍功能扫描仪检测应用中的无障碍功能问题。请注意,您还可以在设备运行本地扫描。有关如何查看和解读 Robo 测试的无障碍功能扫描结果的说明,请参阅无障碍功能扫描仪使用入门。
有关如何改进应用的无障碍功能的一般信息,请访问 Android 开发者无障碍功能文档。
性能指标
在实体设备上运行的测试也会返回性能指标:
指标 | 所需设备配置 |
---|---|
应用启动时间 | API 19+ |
CPU 使用率 | API 21+ |
内存用量 | |
网络活动 | |
每秒帧数 | API 21 及更高级别,并且包含 SurfaceView |
详细测试结果
详细的测试结果会在您运行测试后保留 90 天,并存储在 Google Cloud Storage 存储桶中(但也可在 Firebase 控制台中看到)。在测试作业结果页面上点击测试结果,即可查看 Cloud Storage 存储桶中的详细测试结果。在详细测试结果保留期结束后,您仍然可以看到哪些测试通过/失败。
如果希望在 90 天之后仍然能够查看详细的测试结果,您需要使用 --results-bucket gcloud 命令行选项将这些测试结果发送到您拥有的 Cloud Storage 存储桶。随后您可以设置存在时间设置,以确定结果在 Cloud Storage 存储桶中的存储时长。如需了解如何更改存在时间设置,请参阅生命周期条件。