Как сообщить разработчику об ошибке: шаблон баг-репорта для заказчика
Короткий ответ: баг-репорт — это сообщение об ошибке, по которому разработчик может повторить сбой у себя. В нём семь частей: заголовок, шаги, что ожидали, что получили, где (страница, устройство, браузер), когда и как часто, скриншот или видео. Хватает пяти минут и телефона, специальных знаний не нужно. Чем точнее сообщение, тем меньше переписки и тем быстрее исправление.
Ниже — шаблон, который можно копировать, инструкция, как записать экран и узнать версию браузера на любом устройстве, шкала срочности и разбор плохого и хорошего сообщения на одном примере. Статья для тех, у кого сайт или сервис уже работает. Как давать правки на этапе макета и сборки, мы разобрали в статье о правках по дизайну и сайту.
Что такое баг-репорт?
Баг-репорт (от английского bug report, «отчёт об ошибке») — описание сбоя в программе с данными, достаточными, чтобы его повторить. Главное слово здесь «повторить»: ошибку, которую разработчик не может воспроизвести, он почти не может исправить, только угадать.
Почему так. Сайт — это не одна программа, а связка: браузер на телефоне покупателя, сервер, база данных, платёжный сервис, CRM, почта. Сбой может случиться на любом звене и часто только при определённом сочетании условий. «Не работает форма» может значить пять разных проблем:
- кнопка «Отправить» не нажимается в одном браузере;
- форма отправляется, но заявка не доходит до почты;
- заявка доходит до почты, но не попадает в CRM;
- форма не пропускает номер телефона с пробелами;
- всё работает, но клиент не видит сообщения «Спасибо» и отправляет заявку трижды.
У каждой — свой виновник и свой способ исправления. Хороший баг-репорт сразу отсекает четыре лишних варианта.
В командах разработки баг-репорт заполняют тестировщики по строгому шаблону с десятком полей. Заказчику столько не нужно — достаточно семи пунктов из таблицы ниже. О том, как разработчик сам проверяет сайт до сдачи, — в статье о видах тестирования.
| Поле | Что написать | Пример |
|---|---|---|
| Заголовок | Одна строка: где и что не работает | «Корзина: не применяется промокод на телефоне» |
| Шаги | Пронумерованные действия от открытия страницы до сбоя | 1. Открыть товар. 2. Добавить в корзину. 3. Ввести код AUTUMN. 4. Нажать «Применить» |
| Ожидалось | Что должно было произойти | Сумма уменьшится на 10 % |
| Фактически | Что произошло на самом деле, текст ошибки дословно | Сумма прежняя, под полем надпись «Код недействителен» |
| Где | Адрес страницы, устройство, система, браузер с версией | iPhone 13, iOS 18.5, Safari; адрес страницы корзины |
| Когда и сколько | Дата и время, у всех или у одного, повторяется ли | 30.10, 14:20 по Москве; у двух покупателей; повторяется каждый раз |
| Доказательства | Скриншот с отметкой или видео, номер заказа или заявки | Видео 25 секунд, заказ 1043 |
Что обязательно указать в сообщении об ошибке?
Шаги, которые привели к сбою, ожидаемый и фактический результат, адрес страницы, устройство и браузер, время и скриншот или видео. Если чего-то из этого нет, разработчик начнёт с вопросов, и исправление сдвинется на день-два переписки.
Несколько правил к шаблону, которые часто упускают:
- Одна ошибка — одно сообщение. Если в письме пять проблем, три исправят, а про две забудут. Отдельная задача на каждую ошибку позволяет закрыть её и не потерять остальные.
- Шаги начинайте с самого начала. Не «нажимаю оплатить — ошибка», а «открываю главную, захожу в каталог, кладу товар, перехожу в корзину, нажимаю оплатить». Сбой часто зависит от того, что было до него.
- Текст ошибки — дословно. «Что-то про сервер» не поможет, а «Ошибка 502 Bad Gateway» сразу говорит, где искать. Надёжнее всего — скриншот с этим текстом.
- Укажите, у кого ошибка. У вас одного, у всех сотрудников, у клиентов, которые пожаловались. Если у коллеги на соседнем компьютере всё работает — это тоже важная подсказка.
- Время с часовым поясом. По нему разработчик находит запись в журналах сервера. «Вчера днём» — это несколько тысяч строк, «30.10 в 14:20 по Москве» — несколько десятков.
- Номер заказа, заявки или логин пользователя, если ошибка с ними связана. Пароли не присылайте никогда: разработчику они не нужны, а в переписке живут годами.
Отдельно о персональных данных. Скриншот карточки клиента с телефоном и адресом не стоит пересылать в общий чат с подрядчиком: замажьте лишнее или укажите только номер записи. Данные банковских карт не должны попадать в переписку ни в каком виде.
Как записать экран и узнать версию браузера?
На всех популярных устройствах запись экрана встроена в систему, ставить ничего не нужно. Версию браузера на компьютере смотрят в меню «Справка» или «О браузере», на iPhone достаточно версии iOS. Видео на 20–40 секунд часто заменяет абзац описания.
Как записать экран — по официальной справке производителей:
- iPhone. Откройте Пункт управления свайпом от правого верхнего угла и нажмите серую кнопку записи; если её нет, добавьте её в Пункт управления. Запись начнётся после трёхсекундного отсчёта и сохранится в «Фото». Подробности — в справке Apple.
- Android. Дважды проведите вниз от верхнего края экрана и нажмите «Запись видео с экрана» в быстрых настройках; если значка нет, добавьте его в режиме редактирования. Названия пунктов у разных производителей телефонов могут отличаться. Инструкция — в справке Android.
- Mac. Сочетание Shift + Command + 5 открывает панель снимка экрана, там есть запись всего экрана или выделенной области (справка Apple).
- Windows 11. Win + Shift + S — снимок области, Win + Shift + R — запись видео в приложении «Ножницы» (справка Microsoft).
Перед записью закройте вкладки и уведомления с лишним: в видео попадёт всё, что на экране. Записывайте с самого начала сценария, а не с момента сбоя, и не ускоряйтесь — разработчику важно видеть, куда вы нажимаете.
Как узнать версию браузера и системы:
- Chrome на компьютере: меню «три точки» → «Справка» → «О браузере Google Chrome», номер версии вверху страницы (справка Chrome). В Яндекс Браузере и Edge путь похожий: меню → «Дополнительно» или «Справка и отзывы» → «О браузере».
- Safari на iPhone обновляется вместе с системой, поэтому укажите версию iOS: «Настройки» → «Основные» → «Об этом устройстве».
- Android: «Настройки» → «О телефоне» → версия Android; версию Chrome — в его меню «Настройки» → «О браузере Chrome».
Если искать версию некогда, напишите хотя бы «телефон Samsung, браузер Chrome» или «ноутбук на Windows, Яндекс Браузер». Это уже сужает поиск: ошибки вёрстки часто проявляются только в одном браузере или только на узком экране.
| Уровень | Признаки | Как сообщить |
|---|---|---|
| Критично | Сайт не открывается, не проходит оплата, не приходят заявки или заказы, утекли или стёрлись данные | Звонок или сообщение сразу, затем короткий отчёт письменно |
| Высокая | Сломан один важный сценарий, но есть обход: не работает фильтр, не уходит письмо клиенту, ошибка в одном браузере | Задача с пометкой «срочно» в тот же день |
| Обычная | Неудобство без потери денег: съехал блок, медленно грузится раздел, неверная подсказка | Задача в общий список, исправляют в плановом порядке |
| Низкая | Косметика: опечатка, не тот цвет иконки, лишний пробел | Копите и отправляйте списком раз в неделю |
Как определить срочность?
Срочность определяется деньгами и клиентами: если сайт не принимает заказы, заявки или оплату — это критично, сообщайте сразу и голосом. Если есть обходной путь или страдает внешний вид — это обычная задача, её можно отправить письменно и исправить в плановом порядке.
Простой вопрос для самопроверки: «Теряем ли мы прямо сейчас клиентов или деньги?» Если да — критично. Если нет, но сотрудники тратят время на обход проблемы — высокая. Если неудобно, но работает — обычная. Если заметили только вы — низкая.
Две частые ошибки со срочностью. Первая — всё помечать как срочное: тогда пометка перестаёт что-либо значить, и действительно критичный сбой ждёт в общей очереди. Вторая — молчать о критичном до понедельника, потому что «не хотелось беспокоить». Неработающая оплата в выходные — ровно тот случай, когда беспокоить нужно.
Прежде чем бить тревогу из-за «сайт не открывается», проверьте за минуту три вещи: открывается ли сайт с телефона через мобильный интернет, а не через офисный Wi-Fi; не закончилась ли оплата домена или хостинга (письма от регистратора и хостера обычно приходят заранее); открываются ли другие сайты. Если с мобильного всё работает, проблема может быть в офисной сети, и это стоит указать в сообщении.
Примеры плохого и хорошего сообщения
Плохое сообщение описывает эмоцию и вывод, хорошее — действия и наблюдения. Ниже одна и та же ошибка в двух вариантах: по первому разработчик задаст пять вопросов, по второму начнёт искать причину сразу.
Плохо:
- «Сайт опять сломался, заявки не работают, срочно посмотрите!!!»
Что непонятно: какие заявки (форма на главной, калькулятор, обратный звонок), что значит «не работают» (не нажимается кнопка или заявка не дошла), у кого, с какого времени, «опять» — это та же ошибка, что месяц назад, или новая.
Хорошо:
- Заголовок: форма «Рассчитать стоимость» на главной — заявки не приходят на почту с сегодняшнего утра.
- Шаги: 1. Открыть главную страницу. 2. Прокрутить до блока «Рассчитать стоимость». 3. Заполнить имя, телефон, выбрать «Монтаж». 4. Нажать «Отправить».
- Ожидалось: сообщение «Спасибо, перезвоним», заявка в почте отдела продаж в течение минуты.
- Фактически: сообщение «Спасибо» появляется, но письма нет ни во «Входящих», ни в «Спаме». Форма обратного звонка в шапке работает — от неё письма приходят.
- Где: проверяли с ноутбука на Windows в Chrome и с iPhone в Safari — одинаково.
- Когда: последняя заявка с этой формы пришла 29.10 в 18:40, сегодня, 30.10, с 9:00 — ни одной. Тестовую заявку отправили в 11:15 на имя «Тест Иванов».
- Доказательства: видео отправки — 30 секунд, во вложении.
- Срочность: высокая — это основная форма, через неё приходит большая часть обращений.
Обратите внимание на деталь «форма в шапке работает». Одна строка сразу сужает поиск: почтовый сервер в порядке, проблема в конкретной форме или её обработчике. Тестовая заявка с понятным именем и точным временем позволяет найти её в журналах сервера за пару минут.
Ещё два коротких примера того, как превратить жалобу в рабочее сообщение:
- «Сайт тормозит» → «Каталог открывается 10–15 секунд с телефона на мобильном интернете, остальные страницы — за 2–3 секунды. С 28.10, после добавления 300 новых товаров».
- «Криво на телефоне» → «Страница „Контакты“, Android, Chrome: карта перекрывает номер телефона, нажать на номер нельзя. Скриншот приложен».
Ошибка это или новая задача?
Ошибка — когда сайт работает не так, как записано в техзадании или как работал раньше. Новая задача — когда вы хотите, чтобы он работал иначе, чем договорились. От ответа зависит, исправляют ли бесплатно по гарантии или оценивают как доработку.
Примеры границы:
- Ошибка: форма из ТЗ не отправляет заявки; цена в корзине не совпадает с ценой в карточке; страница не открывается на телефоне; после обновления пропал раздел.
- Доработка: добавить в форму поле «Удобное время звонка»; сделать фильтр по цвету, которого не было в ТЗ; поменять порядок блоков на главной; подключить ещё одну службу доставки.
- Не ошибка разработчика: сайт сломался после того, как кто-то поставил новый плагин или поменял код сам; не работает оплата, потому что банк отключил эквайринг; сторонний сервис изменил свой интерфейс обмена.
В типовом договоре Roboweb (раздел 7) исполнитель бесплатно устраняет ошибки, возникшие по его вине, в течение 30 календарных дней с даты подписания акта. Гарантия не распространяется на изменения, внесённые заказчиком или третьими лицами, и на сбои сторонних сервисов. Отдельно от гарантии после запуска идёт бесплатная поддержка с мелкими правками: 7 дней, 14 дней или 1 месяц в зависимости от тарифа — сроки по каждому есть на странице цен. Что проверить до подписания акта, чтобы заметные ошибки не ушли в гарантийный период, — в статье о приёмке сайта.
Если не уверены, ошибка это или доработка, не решайте сами — опишите проблему по шаблону и спросите. Хороший баг-репорт помогает и здесь: по шагам и ожидаемому результату видно, расходится ли поведение сайта с тем, что было записано.
Куда отправлять сообщение об ошибке?
Туда, где задачу не потеряют: в трекер или доску задач проекта, если она есть, иначе — письмом на рабочую почту подрядчика. Личные сообщения в мессенджере удобны для срочного звонка, но плохо подходят для учёта: через месяц их не найти.
По каждой ошибке должна оставаться история: когда сообщили, когда взяли в работу, проверили ли результат. В типовом договоре студии переписка по электронной почте сторон имеет юридическую силу, поэтому письмо — надёжный минимум.
У нас заказчики на поддержке пишут задачи в личный кабинет с доской проекта: статус каждой видно, готовую задачу заказчик принимает сам или возвращает на доработку. Как устроена такая доска — в статье о прозрачности в разработке. Если гарантийный срок прошёл, ошибки и доработки берут в работу по абонентке на поддержку — от 7 900 ₽ в месяц — или разово по задаче.
После исправления не закрывайте вопрос молча: повторите те же шаги из своего сообщения и напишите «проверил, работает» или «всё ещё воспроизводится, вот новое видео». Без этого обе стороны считают задачу закрытой по-разному.
Какие ошибки при сообщении о сбоях встречаются чаще всего?
Чаще всего в сообщении нет шагов и устройства, несколько проблем смешаны в одном письме, а вместо наблюдения дан диагноз. Каждая из этих привычек добавляет к исправлению день переписки.
- Диагноз вместо симптома. «У вас упал сервер» или «слетела база» — предположение, которое может увести поиск не туда. Опишите, что видите, а причину оставьте разработчику.
- Скриншот без контекста. Картинка с красной надписью без адреса страницы и без шагов — полдела. Добавьте хотя бы строку «где это и что я делал».
- Фото экрана на телефон. Блики, муар, обрезанный край. Встроенный снимок экрана честнее и читается легче.
- «Опять сломалось». Если ошибка повторилась, дайте ссылку на прошлое сообщение или задачу — так быстрее понять, вернулась старая проблема или это новая.
- Пересказ чужой жалобы. «Клиент сказал, что не работает» без вопросов клиенту. Спросите у него устройство, время и что именно он делал — или попробуйте повторить сами.
Когда подробный баг-репорт не нужен?
Когда ошибка очевидна по одному скриншоту или одной фразе: опечатка в тексте, неверный телефон в шапке, битая ссылка с указанием, куда она ведёт. Тогда семь полей — лишняя работа, достаточно адреса страницы и того, что исправить.
Также подробный шаблон не нужен, если сайт не открывается совсем: здесь важнее скорость. Позвоните, назовите адрес и время, когда заметили, — детали разработчик соберёт сам. Подробное описание стоит дописать после того, как сайт снова заработает, чтобы зафиксировать, что произошло.
И наоборот: чем сложнее система — личный кабинет, магазин с обменом с 1С, сервис с ролями пользователей, — тем ценнее точные шаги, номер заказа и логин. В таких системах одна и та же кнопка у администратора и у клиента может работать по-разному. Если вы заказываете такую систему, договоритесь с подрядчиком о канале для ошибок ещё до запуска — на этапе заказной разработки это занимает один пункт в плане работ.
Короткие ответы на частые вопросы
Что такое баг-репорт простыми словами?
Это сообщение об ошибке, по которому разработчик может повторить сбой у себя: что вы делали, что ожидали увидеть, что увидели, на каком устройстве и когда. Без этих данных ошибку сначала приходится искать, и исправление откладывается.
Нужно ли заказчику знать, как устроен сайт, чтобы написать баг-репорт?
Нет. Достаточно описать свои действия по шагам, приложить скриншот или видео и указать телефон или компьютер, браузер и время. Причину ищет разработчик, от вас нужны наблюдения, а не диагноз.
Можно ли отправить сообщение об ошибке голосовым?
Для срочного сбоя — да, позвонить быстрее. Но после звонка стоит продублировать суть письменно: голосовое нельзя найти поиском, к нему не приложишь скриншот, и через неделю никто не вспомнит, на каком устройстве всё сломалось.
Исправляют ли ошибки бесплатно после сдачи сайта?
Зависит от договора. В типовом договоре Roboweb ошибки по вине исполнителя исправляются бесплатно 30 календарных дней с даты акта; на изменения, внесённые заказчиком или третьими лицами, и на сбои сторонних сервисов гарантия не распространяется.
Что делать, если ошибка воспроизводится не всегда?
Записывайте каждый случай: время, устройство, что делали перед сбоем. Три-четыре таких записи обычно показывают закономерность — например, ошибка бывает только с мобильного интернета или только у новых покупателей.
Услуги и кейсы по теме: поддержка сайта от 7 900 ₽/мес · заказная разработка · цены и сроки
Если на вашем сайте или в сервисе что-то сломалось, опишите проблему по шаблону из статьи — разберёмся, ошибка это или доработка, и назовём срок.
Рассчитать проект →Оценку срока и цены по брифу делаем бесплатно, обычно отвечаем в течение часа в рабочее время. Типовой договор — посмотреть до оплаты.
