VTS Dashboard UI

VTS 仪表盘提供了一个统一的用户界面,该界面使用 Material Design 有效地显示有关测试结果、性能分析和覆盖率的信息。仪表盘样式设计使用开源 Javascript 库(包括 Materialize CSS 和 jQueryUI)来处理由 Google App Engine 中的 Java Servlet 传送的数据。

仪表盘主页

仪表盘主页会显示用户添加到收藏夹的测试套件列表。

Figure 1. VTS Dashboard, home page.

用户可以从此列表中执行以下操作:

  • 选择一个测试套件以查看该套件的结果。
  • 点击全部显示以查看所有 VTS 测试名称。
  • 选择修改图标以修改“收藏夹”列表。
    Figure 2. VTS Dashboard, editing Favorites page.

测试结果

“测试结果”会显示有关所选测试套件的最新信息,包括性能分析点列表、按时间顺序排列的测试用例结果表格,以及显示最新运行结果细分的饼图(用户可以通过向右翻页加载较旧的数据)。

Figure 3. VTS Dashboard, test results.

用户可以使用查询或通过修改测试类型(预提交、提交后或两者都选)来过滤数据。搜索查询支持常规令牌和字段专用限定符;支持的搜索字段包括:设备 build ID、分支、目标名称、设备名称和测试 build ID。这些字段采用以下格式指定:FIELD-ID="SEARCH QUERY"。引号用于将多个字词视为单个令牌,以便与列中的数据匹配。

数据性能分析

用户可以选择一个性能分析点,以便在折线图直方图(示例如下)中查看该点的定量数据的交互式视图。默认情况下,该视图会显示最新信息;用户可以使用日期选择器加载特定时间窗口。

Figure 4. VTS Dashboard, line graph performance.

折线图显示来自一组无序性能值的数据,当性能测试生成一个性能值向量(这些值会随另一个变量的函数而变化,例如吞吐量与消息大小的关系)时,这可能很有用。

Figure 5. VTS Dashboard, histogram performance.

测试覆盖率

用户可以从测试结果中的覆盖率百分比链接查看覆盖率信息。

Figure 6. VTS Dashboard, coverage percentages.

对于每个测试用例和源文件,用户可以查看一个可展开的元素,其中包含根据所选测试提供的覆盖率进行颜色编码的源代码

Figure 7. VTS Dashboard, coverage source code.
  • 未覆盖的代码行会突出显示为红色.
  • 覆盖的代码行会突出显示为绿色.
  • 不可执行的代码行是无颜色的。

覆盖率信息根据其在运行时提供方式的不同,分组到不同的部分中。测试可能会上传覆盖率

  • 按函数。部分标题的格式为“覆盖率:FUNCTION-NAME”。
  • 总计(在测试运行结束时提供)。只有一个标题:“覆盖率:全部”。

仪表盘从服务器的客户端提取源代码,该服务器使用开源 Gerrit REST API

监控和测试

VTS 仪表盘提供以下监控器和单元测试。

  • 测试电子邮件提醒。提醒是在 Cron 作业中配置的,该作业以 2 (2) 分钟的固定间隔执行。该作业读取 VTS 状态表,以确定是否已将新数据上传到每个表,方法是检查测试的原始数据上传时间戳是否比上次状态更新时间戳更新。如果上传时间戳较新,则作业会查询当前时间和上次原始数据上传之间的新数据。系统会确定新的测试用例失败、持续的测试用例失败、瞬时测试用例失败、测试用例修复以及非活动测试;然后,此信息以电子邮件格式发送给每个测试的订阅者。
  • 网络服务运行状况。Google Stackdriver 与 Google App Engine 集成,以便轻松监控 VTS 仪表盘。简单的正常运行时间检查会验证是否可以访问网页,同时可以创建其他测试来验证每个网页、Servlet 或数据库的延迟。这些检查可确保仪表盘始终可访问(否则会通知管理员)。
  • 分析。您可以通过在页面配置(pom.xml 文件)中指定有效的分析 ID,将 VTS 仪表盘页面与 Google Cloud Analytics 集成。集成可更可靠地分析页面使用情况、用户互动、位置、会话统计信息等。