Что такое анализ граничных значений в тестировании?

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

Ответ

Анализ граничных значений (Boundary Value Analysis, BVA) — это техника тест-дизайна, при которой тестовые данные выбираются на границах допустимых диапазонов входных значений. Основная гипотеза: ошибки чаще возникают на границах разделов эквивалентности, чем в их центре.

Принцип работы: Если поле принимает значения от min до max, тестируются:

  • min и max (допустимые границы)
  • min - 1 и max + 1 (недопустимые значения за границами)

Пример для диапазона от 1 до 100:

# Функция валидации ввода
def is_valid_input(value: int) -> bool:
    return 1 <= value <= 100

# Тесты граничных значений с использованием pytest
def test_boundary_values():
    # Допустимые границы
    assert is_valid_input(1) == True   # Нижняя граница (min)
    assert is_valid_input(100) == True # Верхняя граница (max)

    # Недопустимые значения за границами
    assert is_valid_input(0) == False  # Ниже минимума (min - 1)
    assert is_valid_input(101) == False # Выше максимума (max + 1)

    # Дополнительно: типичные внутренние значения
    assert is_valid_input(50) == True  # Значение внутри диапазона

Почему это важно:

  1. Эффективность: Небольшое количество тестов выявляет значительный процент дефектов.
  2. Типичные ошибки: <= вместо <, ошибки на единицу (off-by-one).
  3. Применение: Для числовых диапазонов, длины строк, количества элементов в списке.