Управление ненадежными тестами

Azure DevOps Services

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

Примечание.

Эта функция доступна только в Azure DevOps Services. Как правило, новые функции впервые вводятся в облачной службе, а затем становятся доступными в локальной среде в следующей основной версии или обновлении Azure DevOps Server. Дополнительные сведения см. в статье "Временная шкала компонентов Azure DevOps".

Цель ввести в продукте управление лязкими тестами — уменьшить боль разработчика, вызванную пламенными тестами и обеспечить весь рабочий процесс. Управление тестами Flaky обеспечивает следующие преимущества.

  • Обнаружение — автоматическое обнаружение пламенного теста с повторной запуском или расширяемостью для подключения к собственному пользовательскому методу обнаружения

  • Управление flakiness . После того как тест помечается как льняный, данные доступны для всех конвейеров для этой ветви.

  • Отчет о тестах flaky. Возможность выбора, если вы хотите предотвратить сбои сборки, вызванные тестами flaky, или использовать тег flaky только для устранения неполадок

  • Разрешение . Создание ошибок вручную или ручное маркировка и отмена маркировки в виде плашки на основе анализа

  • Закройте цикл . Сброс пламенного теста в результате разрешения ошибок / ввода вручную

Жизненный цикл Flaky

Включение управления ненадежными тестами

Чтобы настроить управление тестами flaky, выберите "Параметры проекта" и выберите "Управление тестами" в разделе "Конвейеры ".

Переместите кнопку "Вкл." или "Выкл.".

Снимок экрана: управление тестами, включенное обнаружение тестов Flaky, обнаружение системы.

Параметр по умолчанию для всех проектов — использовать блочные тесты для устранения неполадок.

Обнаружение тестов Flaky

Управление тестами Flaky поддерживает системное и настраиваемое обнаружение.

  • Обнаружение системы: обнаружение в продукте использует тестовые данные повторного запуска. Обнаружение выполняется с помощью повторного запуска задачи VSTest возможности неудачных тестов или повторных попыток этапа в конвейере. Вы можете выбрать определенные конвейеры в проекте, для которого вы хотите обнаружить тесты flaky.

    Примечание.

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

  • Настраиваемое обнаружение. Вы можете интегрировать собственный механизм обнаружения пламени с Azure Pipelines и использовать возможность создания отчетов. При настраиваемом обнаружении необходимо обновить метаданные результатов теста для тестовых тестов. Дополнительные сведения см. в разделе "Результаты тестирования", "Метаданные результатов" — обновление REST API.

Снимок экрана: управление тестами, включенное обнаружение тестов Flaky, настраиваемое обнаружение.

Параметры теста Flaky

Параметры теста Flaky указывают, как блочные тесты доступны в отчетах о тестах, а также в возможностях разрешения, как описано в следующих разделах.

Управление ненадежными тестами и создание отчетов

На странице управления тестами в разделе "Параметры теста Flaky" можно задать параметры включения в отчет сводки тестов. Данные теста Flaky для пройденного и неудачного теста доступны в результатах теста. Тег Flaky помогает определить тесты с пламенем. По умолчанию в сводку теста включены тесты пламени. Однако если вы хотите убедиться, что неисправные тестовые сбои не завершаются сбоем конвейера, вы можете не включать их в сводку теста и подавлять сбой теста. Этот параметр гарантирует, что тесты flaky (переданные и неудачные) удаляются из процента прохода и отображаются в тестах, не сообщаемых, как показано на следующем снимке экрана.

Отчеты Flaky

Примечание.

Сводный отчет теста обновляется только для задачи тестирования Visual Studio и задачи публикации результатов теста. Возможно, потребуется добавить пользовательский скрипт, чтобы отключить сбой теста flaky для других сценариев.

Тесты, помеченные как льняные

Вы можете пометить или отменить метку теста как лязкий на основе анализа или контекста, выбрав Flaky (или UnFlaky, в зависимости от того, помечен ли тест как фляк.)

Mark flaky Test

Если тест помечается в конвейере, изменения в текущем конвейере не вносятся. Только в будущих выполнениях этого теста вычисляется измененный параметр flaky. Тесты, помеченные как flaky, имеют тег Отмеченный flaky в пользовательском интерфейсе.

Подтверждение пламенного теста

Справка и поддержка