← Назад к вопросам

Что такое техника граничные значения?

2.0 Middle🔥 212 комментариев
#Теория тестирования#Техники тест-дизайна

Комментарии (2)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Техника граничных значений (Boundary Value Analysis)

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

Почему граничные значения так важны?

При разработке программного обеспечения логика обработки данных часто меняется в точках перехода между допустимыми и недопустимыми состояниями. Например, условия в коде, использующие операторы сравнения (<, >, <=, >=), могут содержать ошибки на самих границах. Если функция должна принимать значения от 1 до 100, то типичными ошибками могут быть:

  • Принятие значения 0 (которое недопустимо) как допустимого.
  • Отклонение значения 1 или 100 (которые допустимы) как недопустимых.
  • Некорректная обработка значений 101 или -1.

Принципы применения техники

Для применения BVA необходимо определить допустимый диапазон (valid range) и недопустимые диапазоны (invalid ranges) для входных параметров. Затем выбираются тестовые значения:

  1. Минимальное допустимое значение (min)
  2. Максимальное допустимое значение (max)
  3. Значение непосредственно ниже минимума (min - 1)
  4. Значение непосредственно выше максимума (max + 1)
  5. Номинальное значение внутри диапазона (например, среднее)

Например, для поля "Возраст пользователя" с допустимым диапазоном от 18 до 65 лет тестовыми значениями будут:

  • 17 (нижняя недопустимая граница)
  • 18 (нижняя допустимая граница)
  • 30 (номинальное значение внутри)
  • 65 (верхняя допустимая граница)
  • 66 (верхняя недопустимая граница)

Пример в контексте тестирования

Предположим, у нас есть функция, которая рассчитывает скидку в зависимости от суммы покупки:

  • Скидка 5% для суммы от 1000 до 5000 рублей.
  • Скидка 10% для суммы свыше 5000 рублей.
def calculate_discount(amount):
    if amount < 1000:
        return 0
    elif amount <= 5000:
        return amount * 0.05
    else:
        return amount * 0.10

Применяя технику граничных значений, мы должны протестировать следующие суммы:

  • 999 (граница перед началом действия скидки)
  • 1000 (нижняя граница диапазона 5% скидки)
  • 5000 (верхняя граница диапазона 5% скидки)
  • 5001 (граница перехода к 10% скидке)

Возможная ошибка в коде: если условие amount <= 5000 записано как amount < 5000, то сумма 5000 не получит скидку, что является дефектом.

Расширенная техника: анализ граничных значений для нескольких параметров

Если функция зависит от нескольких входных параметров, каждый со своим диапазоном, то полный перебор всех комбинаций граничных значений может привести к большому количеству тестов. На практике часто используется упрощённый подход — тестирование по принципу "один за раз", когда один параметр меняется на граничные значения, а остальные фиксируются на номинальных.

Преимущества и ограничения

Преимущества:

  • Эффективность — позволяет найти много дефектов при относительно небольшом количестве тестовых случаев.
  • Простота применения — не требует глубокого знания внутренней реализации системы.
  • Универсальность — применима к любым системам, где есть числовые диапазоны, включая даты, время, количественные ограничения.

Ограничения:

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

Практическое применение в процессе тестирования

В реальной работе QA Engineer техника граничных значений используется на этапе проектирования тестов (Test Design). Она интегрируется в тест-кейсы для проверки:

  • Валидации полей ввода (формы, API-параметры).
  • Бизнес-правил, зависящих от диапазонов.
  • Настройки конфигураций (например, лимиты в настройках системы).

Например, при тестировании функционала загрузки файла с ограничением размера до 10 МБ тестовые данные должны включать файлы размером: 9.99 МБ, 10 МБ, 10.01 МБ.

Вывод: Техника граничных значений — это фундаментальный, проверенный временем метод, который значительно повышает эффективность тестирования за счёт фокусировки на наиболее рискованных точках входных данных. Она обязательна к применению при тестировании любой функциональности, связанной с числовыми ограничениями или условиями.

Что такое техника граничные значения? | PrepBro