А
Алена QA-Pop
@qa_pop535 подп.
573просмотров
1 октября 2025 г.
📷 ФотоScore: 630
Баг-менеджмент: что происходит после нахождения бага Найденный баг - это только начало истории. Каждый баг проходит целый жизненный цикл, прежде чем его окончательно закроют. Разберем типовые этапы жизненного цикла бага из моей практики: Тестируемый функционал: пользователь может генерировать и скачать отчет о продажах за выбранный период в формате PDF. Обнаружение (New) Тестировщик находит проблему и создает баг-репорт: «При попытке экспорта отчета за последний квартал (1 апреля - 30 июня) система выдает ошибку "Internal Server Error 500". Отчет за более короткие периоды (например, за один день) генерируется нормально. Шаги воспроизведения: ...» Назначение (Assigned) Багу назначают исполнителя - конкретного разработчика, который становится ответственным за его исправление. Проблема явно связана с обработкой больших объемов данных или работой сервиса генерации PDF. Баг назначается backend-разработчику, ответственному за модуль отчетов: «Саша, разберись с экспортом PDF для длительных периодов». В работе (In Progress) Разработчик исследует логи и код: «Вижу проблему. Сервис генерации PDF (сторонняя библиотека) имеет лимит на размер входных данных. Когда мы передаем данные, мы этот лимит превышаем, и библиотека вызывает необработанное исключение, которое приводит к 500-й ошибке. Нужно или разбивать данные на части, или менять подход к формированию PDF». Исправлено (Fixed) Разработчик принимает решение реализовать пагинацию данных внутри PDF-документа. Он вносит изменения, чтобы отчет для больших периодов разбивался на страницы и данные в библиотеку передавались порциями. «Готово. Реализовал потоковую передачу данных в PDF-генератор. Лимит больше не превышается. Код отправлен на тестовый сервер». Повторная проверка (Retest) Тестировщик проверяет исправление: Основной сценарий: Пробует экспортировать отчет за квартал. Ошибка 500 больше не возникает, файл скачивается. Проверка содержимого: Открывает PDF и обнаруживает новую проблему. «Отчет создался, но данные в нем неполные. На второй странице обрываются строки таблицы, а итоговая сумма не совпадает с данными в интерфейсе. Похоже, алгоритм разбивки на страницы работает некорректно». Переоткрытие (Reopened) Тестировщик возвращает баг разработчику: «Основная ошибка исправлена (500-я пропала), но фикс привел к дефекту контента. Отчет содержит не все данные и итоги подсчитаны неверно. Требуется доработка логики пагинации». Статус меняется на Reopened. В некоторых командах принято закрывать текущий баг и открывать новый, ведь строго говоря, изначальная проблема решена. Цикл повторяется: In Progress (снова): Разработчик исправляет алгоритм пагинации, чтобы он корректно переносил строки и пересчитывал итоги для каждой страницы и общего отчета. Fixed (снова): Правки отправлены. Retest (снова): Тестировщик проверяет экспорт за квартал, а также за другие периоды (неделя, месяц, год), чтобы убедиться, что фикс не затронул другие сценарии. Теперь все данные отображаются верно, итоги сходятся. Закрыт (Closed) После полной и успешной проверки баг торжественно закрывают. На ретро можно снова вернуться к этой проблеме для разбора полётов. 📱Разбор полётов по шагам на бусти Этот пример довольно простой, он пропускает шаг ревью (In Review), но он уже наглядно показывает, что самый проблемный этап - часто не само исправление, а исчерпывающая проверка этого исправления (Retest), которая должна покрывать не только шаги из баг-репорта, но и смежные сценарии и, что особенно важно, проверку на целостность данных. А какой этап жизненного цикла бага чаще всего становится самым проблемным в ваших проектах? И почему? #qa
573
просмотров
3618
символов
Нет
эмодзи
Да
медиа

Другие посты @qa_pop

Все посты канала →
Баг-менеджмент: что происходит после нахождения бага Найденн — @qa_pop | PostSniper