Что такое техника тест-дизайна «прогнозирование ошибок» (Error Guessing)?

«Что такое техника тест-дизайна «прогнозирование ошибок» (Error Guessing)?» — вопрос из категории Техники тест-дизайна, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Прогнозирование ошибок (Error Guessing) — это эвристическая техника тест-дизайна, основанная на опыте тестировщика, интуиции и знании типичных уязвимостей системы. Она применяется для быстрого поиска критических дефектов, особенно когда формальные методы (например, анализ граничных значений) недоступны или требуют много времени.

Как применять:

  1. Анализ истории дефектов — выявление повторяющихся паттернов ошибок в проекте.
  2. Понимание слабых мест технологии — например, проблемы с кодировкой, обработкой NULL-значений или утечками памяти.
  3. Проверка неочевидных сценариев — ввод некорректных данных, пропуск обязательных полей, одновременные операции.

Пример для функции деления:

# Тестируемая функция
def divide(a: float, b: float) -> float:
    return a / b

# Прогнозируемые ошибки и тест-кейсы:
# 1. Деление на ноль (ZeroDivisionError)
# 2. Передача строк вместо чисел (TypeError)
# 3. Очень большие числа (переполнение)
# 4. Передача None или пустых значений

Почему это работает: Техника использует знание распространённых ошибок разработки и прошлых сбоев системы, что делает её эффективным дополнением к формальным методам тестирования.