Обложка статьи «Жизненный цикл сообщения об ошибке в браузере»

Жизненный цикл сообщения об ошибке в браузере

Перевод статьи «A bug’s life at Vivaldi»

Мария Чернышева

Мария Чернышева, маркетолог Vivaldi

В процессе разработки браузера мы получаем от пользователей сообщения об ошибках — они помогают нам исправлять недочёты и делать продукт лучше.

Сообщение об ошибке — самый простой способ получить необходимую информацию, чтобы воспроизвести и исправить недочёт в работе браузера. Чем больше информации предоставляет пользователь, тем легче разобраться в проблеме (полезно всё: версия браузера, операционная система, снимки экрана, ссылки на сайты, где возникает проблема).

В таком сложном программном продукте как браузер, ошибки появляются постоянно. Некоторые из них требуют, чтобы мы прекратили работу над новыми функциями и немедленно взялись за исправление возникших недочётов. Поэтому у команды всегда должны быть ресурсы, чтобы справляться с ошибками и регрессами по мере их появления. Только за последние 30 дней поступило 1231 сообщение об ошибках и 1704 проблемы были решены (данные только по десктопу).

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

Расскажем коротко о жизненном цикле сообщения об ошибке в браузере Vivaldi.

Поступление нового сообщения

Когда мы получаем сообщение о новой ошибке — от членов команды или пользователей Vivaldi — ему по умолчанию присваивается статус «Не подтверждено».

Проверка ошибки

Команда тестирования пытается воспроизвести ошибку на основе информации и шагов, приведённых в сообщении. Поскольку Vivaldi доступен в нескольких версиях Windows, Linux, Mac и Android, тестировщикам требуется доступ к разным средам тестирования. Как только мы сможем воспроизвести ошибку и проверить её, статус изменится с «Не подтверждено» на «Подтверждено».

Передача ошибки разработчику

После подтверждения ошибки мы присваиваем ей уровень приоритета от 1 до 5, где 1 — это наивысший приоритет. На этом этапе разработчик решает, какие ошибки требуют немедленного внимания, а какие можно отложить на некоторое время. Если он считает, что справляется с задачей, он присваивает ошибку себе, чтобы все знали, кто над ней работает. Если мы обнаружили регресс, который обычно вызван предыдущим исправлением ошибки, мы назначаем его тому разработчику, который работал над исправлением ошибки.

Отправка исправления в основную ветку и в сборку для бета-тестеров

Как только ошибка исправлена и прошла внутренние процессы тестирования, разработчик отправляет её в основную ветку. Практически каждый день мы делаем тестовые сборки, которые раздаём добровольным бета-тестерам (нашим Sopranos) до того, как версия станет публичной. На этом этапе Sopranos начинают ручное тестирование.

Регрессионные тесты

Здесь, вместе с Sopranos, мы тестируем всю систему, чтобы определить, не вызвали ли исправления ошибок какие-либо проблемы. Иногда, исправляя ошибку, можно вызвать несколько новых. Каждая сборка автоматически тестируется на всех платформах. Регрессионные тесты помогают выявить эти ошибки до того, как исправление будет отправлено в поток тестовых сборок (Snapshots).

Отправка исправления в последнюю тестовую сборку

Если исправление ошибки работает должным образом, мы поместим его в последнюю тестовую сборку. Сборки доступны для скачивания всем желающим — это наш тестовый поток продуктов. Активные пользователи следят за блогом о выпуске Snapshots и скачивают при необходимости.

Отправка исправления в последнюю стабильную версию

В качестве последнего шага мы внедряем исправление в последний стабильный выпуск браузера. Как только исправление ошибки будет запущено, команда QA может, наконец, положить ноги на стол и поразмышлять о более прекрасных вещах в жизни.

Заметки к релизу

Для каждой версии, будь то снапшот или стабильная версия, мы добавляем примечания. В них вы увидите, какие ошибки и регрессии мы исправили, а также соответствующие номера отчетов об ошибках. Поэтому, если вы отправили нам отчет об ошибке и хотите знать, когда она будет исправлена, убедитесь, что вы отслеживаете номер отчета (также известный как номер VB).

Отклонение сообщения об ошибке

Иногда сообщение об ошибке может быть отклонено. Причины разные.

  • Отчет касается старой версии Vivaldi, в текущей сборке ошибки нет.
  • Шаги, описанные в сообщении, недостаточно ясны или недостаточны для того, чтобы мы могли воспроизвести ошибку.
  • Мы не можем полностью понять сообщение (часто это вызвано неполной информацией).
  • Сообщение об ошибке является дубликатом. Если ошибка уже известна, сообщение будет объединено с исходным сообщением об ошибке. Если мы получаем много дубликатов от разных пользователей, мы понимаем, что важно решить проблему.

Баг-трекер закрыт для публики

Трекер ошибок Vivaldi не является публичным. Нас часто просят открыть его, но мы чувствуем, что это будет контрпродуктивно для команды. Мы получаем много отчетов и из-за нехватки времени не можем подробно объяснить, почему исправляем определённый недочёт. Тем не менее, мы делаем все возможное, чтобы наша работа была максимально прозрачной.