Разбор проблем сборки

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

Группы по причине

Группа — это набор падений с общей причиной. Причины бывают такие:

  • Сбой одного правила — одна и та же проверка не прошла везде, где встречалась.
  • Расхождение в одном шаге — падает конкретный шаг теста, а не весь интерфейс.
  • Сбой среды или сети — не поднялся стенд, отвалилось соединение, истекло время ожидания.
  • Изменение DOM — поменялась структура страницы, и объявленные элементы больше не находятся.
  • Смешанные причины — в группе собралось разное, разбирать придётся внимательнее.
  • Причина не определена — данных не хватило.

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

Из группы можно создать проблему — продукт приложит к ней изображения отличий, их снимки и прямые ссылки. Если такая причина встречалась раньше, новая проблема не заводится: старая просто усиливается новыми свидетельствами. У групп сбоев правил визуальных свидетельств нет, и они уже отслеживаются на вкладке «Проблемы» — создавать по ним проблему заново не нужно.

Пояснение словами

У разбора есть короткое пояснение: что именно произошло и почему так вышло. Его пишет ИИ — но только по фактам сборки, а не по догадкам о вашем коде.

Если ИИ недоступен или выключен, продукт не выдумывает объяснение, а показывает сухую статистику: сколько шагов прошло из скольких, сколько проверок не прошло, сколько снимков изменилось, добавилось и пропало. Внизу честно написано: «ИИ-описания пока нет — это сухая статистика». Лучше точные цифры, чем правдоподобная выдумка.

Подсказка ИИ и вердикт человека — разное

У каждой группы два отдельных поля: предложено (подсказка ИИ) и вердикт ревьюера (решение человека). Они хранятся отдельно и никогда не подменяют друг друга. ИИ может предложить: «осознанное изменение», «реальная регрессия» или «не уверен». Человек рядом пишет свой вердикт, и видно, кто его записал и когда.

Смысл разделения простой: подсказка помогает быстрее понять, что происходит, но ответственность за вывод лежит на человеке. Даже если ИИ уверенно сказал «регрессия», это остаётся лишь подсказкой.

Вердикты группы

Словарь вердиктов один и тот же у подсказки и у решения:

  • Реальная регрессия — интерфейс сломался по-настоящему. Чинить нужно сам интерфейс.
  • Нестабильный тест — тест иногда срабатывает, иногда нет; с сайтом всё в порядке.
  • Тест требует доработки — объявление съёмки или шаг устарели, тест нужно поправить.
  • Среда — виноват стенд или сеть, а не код и не тест.
  • Осознанное изменение — интерфейс поменяли намеренно, так и должно быть.
  • Не определено — разобраться не удалось.

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

Бюджеты

Разбор сбоев стоит денег — за каждый запрос к ИИ платит владелец. Поэтому рядом видно расход: сколько токенов ушло за сутки, сколько кампаний починки идёт прямо сейчас и сколько попыток починки израсходовано с последнего успешного прогона. Если включён предохранитель «останавливаться на идентичных повторяющихся ошибках», он честно помечается: «остановлено: повторяется та же ошибка».

Важно понимать роль бюджета: он останавливает расход, но никогда ничего не одобряет. Исчерпанный бюджет — это не «согласие по умолчанию» и не «пропустить проверку», а просто отсутствие новых подсказок. Когда ИИ выключен, повторные прогоны бесплатны, и об этом прямо написано.

Дальше: как устроена починка теста, которую открывает вердикт ревьюера, — в разделе Автоисправление тестов.

← Оглавление документации