Как действовать, если критичный инцидент в production не воспроизводится?

«Как действовать, если критичный инцидент в production не воспроизводится?» — вопрос из категории Управление тестированием, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

План действий:

  1. Сбор контекста:

    • Уточнить у пользователя точные шаги, окружение (ОС, браузер, версия приложения), время возникновения.
    • Запросить логи клиента, скриншоты или видео.
  2. Анализ логов и мониторинга:

    • Изучить логи приложения и системные логи за период инцидента на предмет ошибок, предупреждений или аномалий.
    • Проверить метрики (CPU, память, сеть, ошибки 5xx) в системах мониторинга (Prometheus, Grafana).
    # Пример поиска в логах
    grep -A 5 -B 5 "ERROR.*500" /var/log/app/app.log | grep "2023-10-01 14:00"
  3. Попытки воспроизведения:

    • Попробовать воспроизвести на идентичном или максимально близком окружении.
    • Проверить влияние временных факторов: сбои внешних API, сетевые проблемы, обновления зависимостей.
    • Поискать похожие инциденты в баг-трекере.
  4. Документация и эскалация:

    • Зафиксировать все собранные данные и результаты попыток воспроизведения.
    • Передать отчёт разработчикам с полным контекстом.
    • Для критичных, но невоспроизводимых багов — предложить добавить дополнительное логирование или алертинг для поимки при повторном возникновении.