Панель управления VTS предоставляет единый пользовательский интерфейс, в котором используется Material Design для эффективного отображения информации о результатах тестирования, профилировании и покрытии. Для оформления страниц статистики используются библиотеки JavaScript с открытым исходным кодом, в том числе Materialize CSS и jQueryUI. Они обрабатывают данные, полученные от сервлетов Java в Google App Engine.
Главная страница панели управления
На главной странице панели управления показан список наборов тестов, которые пользователь добавил в избранное.
В этом списке пользователи могут:
- Выберите набор тестов, чтобы посмотреть его результаты.
- Нажмите Показать все, чтобы посмотреть все названия тестов VTS.
- Нажмите на значок Изменить, чтобы отредактировать список избранного.
Рисунок 2. Панель инструментов VTS, страница редактирования избранного.
Результаты тестирования
В разделе "Результаты тестирования" показывается последняя информация о выбранном наборе тестов, в том числе список точек профилирования, таблица результатов тестирования в хронологическом порядке и круговая диаграмма с разбивкой результатов последнего запуска (чтобы загрузить более ранние данные, пролистайте вправо).
Пользователи могут фильтровать данные с помощью запросов или изменяя тип теста (до отправки, после отправки или оба). В поисковых запросах поддерживаются общие токены и квалификаторы для определенных полей. Поддерживаемые поля поиска: идентификатор сборки устройства, ветка, целевое название, название устройства и идентификатор тестовой сборки. Они указываются в формате:FIELD-ID="SEARCH QUERY". Кавычки используются для того, чтобы рассматривать несколько слов как один токен, который будет сопоставляться с данными в столбцах.
Профилирование данных
Пользователи могут выбрать точку профилирования, чтобы посмотреть количественные данные для этой точки в виде линейного графика или гистограммы (примеры ниже). По умолчанию в представлении показывается самая актуальная информация, но пользователи могут использовать окно выбора даты для загрузки данных за определенный период времени.
Линейные графики отображают данные из набора неупорядоченных значений производительности, что может быть полезно, когда тест производительности создает вектор значений производительности, которые изменяются в зависимости от другой переменной (например, пропускная способность в зависимости от размера сообщения).
Покрытие тестами
Пользователи могут посмотреть информацию о покрытии, нажав на ссылку с процентом покрытия в результатах тестирования.
Для каждого тестового случая и исходного файла пользователи могут просматривать раскрывающийся элемент, содержащий исходный код с цветовой кодировкой в соответствии с покрытием, предоставляемым выбранным тестом:
- Непокрытые линии выделены красным.
- Строки, которые были выполнены, выделены зеленым цветом.
- Неисполняемые строки не выделены цветом.
Информация о покрытии группируется по разделам в зависимости от того, как она была предоставлена во время выполнения. Тесты могут загружать данные о покрытии:
- По функциям. Заголовки разделов имеют формат "Coverage: FUNCTION-NAME".
- Всего (в конце тестирования). В нем есть только один заголовок – "Охват: все".
Панель управления получает исходный код на стороне клиента с сервера, который использует Gerrit REST API с открытым исходным кодом.
Мониторинг и тестирование
На панели VTS доступны следующие мониторы и модульное тестирование.
- Проверьте оповещения по электронной почте. Оповещения настраиваются в задании Cron, которое выполняется с фиксированным интервалом в две (2) минуты. Задание считывает таблицу статусов VTS, чтобы определить, были ли загружены новые данные в каждую таблицу. Для этого оно проверяет, является ли временная метка загрузки первичных данных теста более новой, чем временная метка последнего обновления статуса. Если временная метка загрузки новее, задание запрашивает новые данные между текущим моментом и последней загрузкой первичных данных. Определяются новые сбои в вариантах тестирования, продолжающиеся сбои в вариантах тестирования, временные сбои в вариантах тестирования, исправления вариантов тестирования и неактивные тесты. Затем эта информация отправляется по электронной почте подписчикам каждого теста.
- Состояние веб-сервиса. Google Stackdriver интегрируется с Google App Engine, чтобы упростить мониторинг панели управления VTS. Простые проверки времени безотказной работы позволяют убедиться, что страницы доступны, а другие тесты можно создать, чтобы проверить задержку на каждой странице, сервлете или в базе данных. Эти проверки гарантируют, что панель управления всегда доступна (в противном случае администратор получит уведомление).
- Аналитика. Вы можете интегрировать страницу панели управления VTS с Google Cloud Analytics, указав действительный идентификатор Аналитики в конфигурации страницы (файл pom.xml). Интеграция позволяет более эффективно анализировать использование страниц, взаимодействие пользователей, местоположение, статистику сеансов и т. д.