Пользовательский интерфейс панели управления VTS

Панель VTS Dashboard предоставляет единый пользовательский интерфейс, в котором используется материальный дизайн для эффективного отображения информации о результатах тестирования, профилировании и охвате. В оформлении панели мониторинга используются библиотеки Javascript с открытым исходным кодом, включая Materialize CSS и jQueryUI, для обработки данных, предоставляемых сервлетами Java в Google App Engine.

Панель управления главная

На домашней странице Dashboard отображается список наборов тестов, добавленных пользователем в избранное.

Рисунок 1. Домашняя страница VTS Dashboard.

Из этого списка пользователи могут:

  • Выберите набор тестов, чтобы просмотреть результаты для этого набора.
  • Щелкните ПОКАЗАТЬ ВСЕ, чтобы просмотреть имена всех тестов VTS.
  • Щелкните значок « Изменить», чтобы изменить список избранного.
    Рисунок 2. Панель управления VTS, редактирование страницы «Избранное».

Результаты теста

Результаты тестирования отображают последнюю информацию о выбранном наборе тестов, включая список точек профилирования, таблицу результатов тестовых случаев в хронологическом порядке и круговую диаграмму, отображающую разбивку результатов последнего запуска (пользователи могут загружать более старые данные, перелистывая страницы вправо). ).

Рисунок 3. Панель управления VTS, результаты тестирования.

Пользователи могут фильтровать данные, используя запросы или изменяя тип теста (предварительная отправка, последующая отправка или оба). Поисковые запросы поддерживают общие токены и квалификаторы для конкретных полей; поддерживаемые поля поиска: идентификатор сборки устройства, ветвь, имя цели, имя устройства и идентификатор тестовой сборки. Они указываются в формате: FIELD-ID = " SEARCH QUERY ". Кавычки используются для обработки нескольких слов как одного токена для сопоставления с данными в столбцах.

Профилирование данных

Пользователи могут выбрать точку профилирования, чтобы получить интерактивный просмотр количественных данных для этой точки на линейном графике или гистограмме (примеры ниже). По умолчанию в представлении отображается самая свежая информация; пользователи могут использовать средство выбора даты для загрузки определенных временных окон.

Рисунок 4. Панель управления VTS, производительность линейного графика.

На линейных графиках отображаются данные из набора неупорядоченных значений производительности, что может быть полезно, когда тест производительности дает вектор значений производительности, которые варьируются в зависимости от другой переменной (например, пропускная способность в зависимости от размера сообщения).

Рисунок 5. VTS Dashboard, гистограмма производительности.

Покрытие тестов

Пользователи могут просматривать информацию о покрытии по ссылке процента покрытия в результатах тестирования.

Рисунок 6. Панель управления VTS, процент покрытия.

Для каждого тестового примера и исходного файла пользователи могут просматривать расширяемый элемент, содержащий исходный код с цветовой кодировкой в ​​соответствии с охватом, обеспечиваемым выбранным тестом:

Рисунок 7. Панель управления VTS, исходный код покрытия.
  • Непокрытые строки выделены красным .
  • Закрытые линии выделены зеленым цветом .
  • Неисполняемые строки не окрашены .

Информация о покрытии сгруппирована по разделам в зависимости от того, как она была предоставлена ​​во время выполнения. Тесты могут загружать покрытие:

  • На функцию . Заголовки разделов имеют формат «Покрытие: FUNCTION-NAME ».
  • Итого (предоставляется по окончании пробного запуска). Присутствует только один заголовок: «Покрытие: все».

Dashboard извлекает исходный код на стороне клиента с сервера, который использует Gerrit REST API с открытым исходным кодом.

Мониторинг и тестирование

Панель VTS Dashboard предоставляет следующие мониторы и модульные тесты.

  • Тестовые оповещения по электронной почте . Оповещения настраиваются в задании Cron, которое выполняется с фиксированным интервалом в две (2) минуты. Задание считывает таблицу статуса VTS, чтобы определить, были ли загружены новые данные в каждую таблицу. Это делается путем проверки того, что метка времени загрузки сырых данных теста новее, чем метка времени последнего обновления статуса. Если метка времени загрузки новее, задание запрашивает новые данные с этого момента до последней загрузки необработанных данных. Определяются новые сбои тестового примера, продолжающиеся сбои тестового примера, переходные сбои тестового примера, исправления тестового примера, неактивные тесты; эта информация затем отправляется в формате электронной почты подписчикам каждого теста.
  • Состояние веб-службы . Google Stackdriver интегрируется с Google App Engine, чтобы обеспечить простой мониторинг панели мониторинга VTS. Простые проверки работоспособности позволяют получить доступ к страницам проверки, в то время как другие тесты могут быть созданы для проверки задержки на каждой странице, сервлете или базе данных. Эти проверки гарантируют, что панель инструментов всегда доступна (в противном случае администратор будет уведомлен).
  • Аналитика . Вы можете интегрировать страницу VTS Dashboard с Google Cloud Analytics, указав действительный идентификатор Analytics в конфигурации страницы (файл pom.xml). Интеграция обеспечивает более надежный анализ использования страниц, взаимодействия с пользователем, местоположения, статистики сеансов и т. Д.