Каков порядок действий при обнаружении UI-бага?

Ответ

Процесс репортинга UI-бага должен быть системным и воспроизводимым.

Алгоритм действий:

  1. Локализация и фиксация:
    • Сделать четкий скриншот или записать видео экрана.
    • Зафиксировать точные шаги для воспроизведения бага.
    • Записать данные окружения: браузер (с версией), ОС, разрешение экрана, версия приложения.
  2. Проверка воспроизводимости: Попытаться воспроизвести баг на другой конфигурации (например, в другом браузере или на мобильном устройстве), чтобы понять его масштаб.
  3. Поиск дубликатов: Проверить баг-трекер (Jira, GitHub Issues и т.д.) на наличие уже заведенных аналогичных отчетов.
  4. Создание баг-репорта: Если дубликата нет, создать тикет со следующей структурой:
    • Заголовок: Кратко и ясно описывает проблему (например, [Mobile Safari] Кнопка 'Отправить' перекрыта клавиатурой на странице обратной связи).
    • Шаги воспроизведения: Пронумерованный, точный список действий.
    • Фактический результат: Что происходит на самом деле (с приложением скриншота).
    • Ожидаемый результат: Как система должна вести себя согласно здравому смыслу или аналогичным фичам.
    • Окружение: Детали окружения, где баг воспроизводится.
    • Приоритет/Серьезность: Оценка влияния на пользователя (например, Critical, Major).
    • Дополнительно: Логи консоли браузера (F12 → Console), сетевые запросы (F12 → Network), если они релевантны.

Пример структуры баг-репорта:

**Title:** Search input field disappears after entering 51st character on homepage
**Steps to Reproduce:**
1. Navigate to https://example.com
2. Click on the search field in the header.
3. Type 51 characters without spaces.
**Actual Result:** On entering the 51st character, the entire search field visually disappears from the UI.
**Expected Result:** The field should remain visible, and input may be truncated or a validation message shown.
**Environment:** Chrome 121.0.6167.160, Windows 11, screen resolution 1920x1080.
**Console Logs:** [Attached screenshot of console errors, if any]
**Severity:** Major (blocks core functionality).
  1. Коммуникация: Для критичных багов, блокирующих работу, необходимо сразу уведомить тимлида или разработчика ответственного модуля в рабочем чате, сославшись на созданный тикет.

Ответ 18+ 🔞

Ну, слушай, смотри, вот ты нашёл баг в интерфейсе. Кнопка не там, текст уехал, всё ебнулось к ебеням. Главное — не пиздеть в общий чат «ой, всё сломалось, чё делать-то?», а сделать всё по уму, как системный человек, а не как последний распиздяй.

Алгоритм, чтобы не быть мудаком:

  1. Поймай и пристрели: Сначала, блядь, зафиксируй это безобразие. Скриншот, а ещё лучше — видео. Запиши ТОЧНО, как ты это сделал. Шаг влево, шаг вправо — и хуй воспроизведешь. И не забудь, в каком ты был зверинце: браузер, версия, система, разрешение экрана — всё, блядь, как на ладони.
  2. Проверь, везде ли такой пиздец: А теперь попробуй повторить этот трюк в другом месте. На телефоне, в другом браузере. Может, это только у тебя в Хроме мозги набекрень, а у всех остальных — красота? Это важно, ёпта.
  3. Не плоди хуйню: Прежде чем создавать новый тикет, залезь в баг-трекер (Jira, GitHub — неважно). Посмотри, может, уже какая-то умная жопа это нашла и завела. Если нашел — просто подпишись на тот тикет и всё. Не будь тем самым мудаком, который создаёт 10 одинаковых багов.
  4. Создай отчёт, а не поток сознания: Если дубликата нет — вот тут включаем мозг. Создаём тикет так, чтобы разработчик, взглянув, не сказал «я нихуя не понял, иди нахуй».
    • Заголовок: Коротко и ясно. Не «чё-то не работает», а «[Safari iOS] Клавиатура ебёт кнопку «Отправить» в форме фидбека».
    • Шаги: По пунктам, как для идиота. «1. Открыл сайт. 2. Нажал сюда. 3. Ввел это».
    • Что получил (факт): Приложи скрин, где видно, как всё поехало. «Кнопка уехала за экран, насосался».
    • Что хотел (ожидание): Как должно быть у нормальных людей. «Кнопка должна оставаться на виду, а клавиатура её не перекрывать».
    • Окружение: Где это случилось. Браузер, версия, ОС — всё, что записал.
    • Важность: Оцени, насколько всё плохо. Critical — если всё встало колом. Major — если сильно мешает, но жить можно. Не ставь Critical на сдвинутую на пиксель иконку, а то тебя самого впендюрят.
    • Допы: Если в консоли браузера (F12 -> Console) орет какая-то хуйня — приложи и её. Иногда там вся разгадка.

Вот, смотри, как это выглядит в жизни, а не в теории:

**Title:** Поле поиска ебнулось и исчезает после ввода 51-го символа на главной
**Steps to Reproduce:**
1. Зайди на https://example.com
2. Кликни на поле поиска в шапке.
3. Введи 51 символ подряд, без пробелов.
**Actual Result:** Как только вводишь 51-й символ — всё, поле поиска просто испаряется с экрана. Пиздец.
**Expected Result:** Поле должно оставаться на месте. Может, текст обрезаться, может, ошибка вылезти — но не исчезать в никуда, ёбаный в рот.
**Environment:** Chrome 121.0.6167.160, Windows 11, разрешение 1920x1080.
**Console Logs:** [Вот скрин, там ошибка "Uncaught DOMException: хуй пойми что"]
**Severity:** Major (базовая функциональность не работает).
  1. Кричи, если горит: Если баг такой, что всё реально встало и пользователи не могут работать — не жди, пока тикет проголосует. Напиши сразу тимлиду или разработчику в рабочий чат, скинь ссылку на тикет и скажи: «Мужики, тут пиздец, срочно гляньте». Но только если это ДЕЙСТВИТЕЛЬНО пиздец, а не твои хотелки. Иначе тебя быстро отправят в известном направлении со всеми твоими «срочными» багами.