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

В чем разница между техникой эквивалентные классы и граничные значения?

1.0 Junior🔥 231 комментариев
#Техники тест-дизайна

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

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

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

Разница между техниками эквивалентных классов и граничных значений

Техника эквивалентных классов (Equivalence Partitioning, EP) и техника граничных значений (Boundary Value Analysis, BVA) — это две фундаментальные техники проектирования тестов (test design techniques), используемые в тестировании программного обеспечения для создания эффективных и лаконичных наборов тестовых данных. Хотя они часто используются вместе, их цели, принципы и области применения различаются.

Суть техники эквивалентных классов (EP)

Основная идея EP заключается в разделении всего множества возможных входных данных (или выходных состояний) программы на непересекающиеся группы (классы), элементы которых, согласно спецификации, должны обрабатываться системой одинаково. Если один представитель класса проходит тест, считается, что и все остальные данные из этого класса также должны работать корректно (и наоборот — если тест падает, то весь класс считается проблемным). Это позволяет значительно сократить количество тестовых случаев.

Принцип работы:

  1. Анализируются входные и выходные условия из требований.
  2. Выявляются валидные эквивалентные классы (допустимые данные) и невалидные эквивалентные классы (недопустимые данные).
  3. Для каждого класса выбирается по одному представительному значению.

Пример EP: Поле "Возраст пользователя" принимает целые числа от 18 до 60 лет включительно.

  • Валидные классы: [18, 60].
  • Невалидные классы: числа < 18 (например, 17), числа > 60 (например, 61), нечисловые значения (например, "двадцать"), дробные числа (например, 25.5).
// Пример тестовых данных, основанных только на EP:
// Валидный класс: 30 (ожидаемый результат: успешное сохранение)
// Невалидный класс 1: 17 (ожидаемый результат: ошибка валидации)
// Невалидный класс 2: 65 (ожидаемый результат: ошибка валидации)
// Невалидный класс 3: "abc" (ожидаемый результат: ошибка валидации)

Суть техники граничных значений (BVA)

Техника BVA является логическим развитием и дополнением к EP. Она основана на эмпирическом наблюдении, что наибольшее количество ошибок в программном обеспечении возникает не в "середине" диапазона входных данных, а на его границах (boundaries). Поэтому BVA фокусируется на тестировании значений на самих границах эквивалентных классов и в непосредственной близости от них.

Принцип работы (для диапазона [min, max]): Тестируются не просто представители классов, а конкретные "пограничные" точки:

  • Минимальное допустимое значение (min)
  • Значение сразу ниже минимума (min - 1)
  • Значение сразу выше минимума (min + 1)
  • Максимальное допустимое значение (max)
  • Значение сразу ниже максимума (max - 1)
  • Значение сразу выше максимума (max + 1)

Пример BVA для того же поля "Возраст" [18, 60]:

  • Граничные значения для валидного класса: 18, 19, 59, 60.
  • Граничные значения для невалидных классов: 17 и 61.
// Пример тестовых данных, основанных на BVA для диапазона [18, 60]:
// Граница валидного класса (ожидается успех): 18, 60
// Внутри валидного класса (ожидается успех): 30 (можно добавить для уверенности)
// Границы невалидных классов (ожидается ошибка): 17, 61

Ключевые различия в таблице

КритерийТехника эквивалентных классов (EP)Техника граничных значений (BVA)
Основная цельСокращение количества тест-кейсов за счет группировки данных.Выявление ошибок, связанных с обработкой граничных условий.
ФокусНа "представителе" всего класса данных.На конкретных значениях на границах и вблизи границ классов.
Основание для выбораЛогика обработки: "одинаковая обработка" данных внутри класса.Эмпирический факт: "ошибки чаще на границах".
ПриродаБолее теоретическая и логическая.Более практическая и эмпирическая.
Что тестируемКорректность обработки целого класса (валидного/невалидного).Корректность реализации операторов сравнения (>, >=, <, <=).
Количество тестовКак правило, один тест на класс (валидный + несколько невалидных).Минимум 4-6 тестов на одну границу (две валидные точки и две невалидные).

Практическое применение: синергия двух техник

В реальной работе QA-инженеры почти всегда применяют эти техники вместе, так как они идеально дополняют друг друга.

  1. Сначала применяем EP, чтобы определить все валидные и невалидные диапазоны данных.
  2. Затем применяем BVA к границам каждого выявленного диапазона.

Итоговый пример для поля "Возраст [18, 60]":

// Комбинированный подход EP + BVA дает оптимальный набор тестовых данных:
// 1. Валидный класс (EP) + его границы (BVA): 18, 60, 30 (среднее значение).
// 2. Невалидный класс "меньше 18" (EP) + его граница (BVA): 17.
// 3. Невалидный класс "больше 60" (EP) + его граница (BVA): 61.
// 4. Невалидные классы для некорректного типа данных (EP): null, "", "25 лет", 25.5.

Таким образом, EP отвечает на вопрос "КАКИЕ данные тестировать?", обеспечивая полноту покрытия по типам условий, а BVA отвечает на вопрос "КАКИЕ КОНКРЕТНО значения выбрать?", обеспечивая высокую вероятность обнаружения ошибок в самых уязвимых местах кода. Вместе они образуют мощный и обязательный для любого профессионального тестировщика инструментарий черно-бокс тестирования.

В чем разница между техникой эквивалентные классы и граничные значения? | PrepBro