Как расставить приоритеты в тестировании, если в релизе есть новая функциональность и исправление бага?

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

Ответ

Приоритет: сначала исправление бага (bugfix), затем новая функциональность (feature). Это минимизирует риск пропустить регрессию критичного исправления.

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

  1. Анализ исправления бага:

    • Воспроизвести баг по шагам из отчета, чтобы убедиться в его существовании.
    • Проверить, что предоставленный фикс действительно устраняет проблему.
    • Выполнить регрессионное тестирование смежных областей, чтобы убедиться, что исправление ничего не сломало.
  2. Тестирование новой функциональности:

    • Протестировать фичу по позитивным и негативным сценариям на основе требований.
    • Проверить интеграцию с существующим функционалом и влияние на систему.

Пример проверки багфикса для API (Python, pytest):

import requests

def test_bugfix_api_endpoint():
    # Раньше запрос с этими параметрами падал с 500
    response = requests.get("https://api.example.com/data", params={"id": "invalid_id"})
    assert response.status_code == 400  # Ожидаем корректный код ошибки клиента
    assert "error" in response.json()  # И структурированное сообщение об ошибке

Почему так? Багфикс — это исправление уже сломанного поведения, и его некорректная реализация напрямую ухудшает продукт для пользователей.