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

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

Главная панель управления

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

Рисунок 1. Панель управления VTS, домашняя страница.

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

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

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

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

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

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

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

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

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

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

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

Тестовое покрытие

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

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

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

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

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

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

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

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

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

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