Как вы проверяете исправление бага после работы разработчика?

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

Ответ

Проверка исправления бага (bug verification) — это критический этап, который я выполняю по следующему алгоритму:

  1. Воспроизведение по исходным шагам: Точное следование шагам из баг-репорта для подтверждения, что проблема более не проявляется.
  2. Проверка смежного функционала (Regression/Side-effect testing): Оценка, не повлияло ли исправление на связанные модули или функции.
  3. Тестирование граничных условий (Edge Cases): Проверка сценариев, близких к границам допустимых значений или нестандартным путям выполнения.
  4. Целевое регрессионное тестирование: Если изменения затрагивают критичные компоненты, выполняю короткий цикл регрессионных тестов для этих областей.

Пример автоматизированной проверки для API:

import requests

def test_fixed_api_bug():
    # Баг: невалидный параметр вызывал 500 Internal Server Error
    url = "https://api.example.com/v1/data"
    params = {"filter": "invalid_value"}

    response = requests.get(url, params=params)

    # Ожидаемое поведение после исправления — корректная ошибка клиента
    assert response.status_code == 400, f"Ожидался 400, получен {response.status_code}"
    assert "error" in response.json(), "В ответе должно быть описание ошибки"

Если баг не исправлен, я возвращаю задачу разработчику с детальным комментарием, включая актуальные логи или результаты тестов.