Эквивалентное разбиение и Анализ граничных значений

Интерактивная шпаргалка по ключевым техникам тест-дизайна, основанным на классах эквивалентности.

Входные требования (Пример)

  • Пользователь вводит возраст для расчета скидки.
  • 0-17 лет: скидка 50%
  • 18-54 лет: скидка 25%
  • 55+ лет: скидка 75%

Интерактивная шкала

Выберите метод выше, а затем нажмите на точку или цветной класс на шкале, чтобы увидеть пояснение.

Как работает Эквивалентное разбиение?

Идея: Все данные можно разбить на группы (классы), внутри которых программа ведет себя одинаково. Если тест прошел для одного значения из класса, скорее всего, он пройдет и для всех остальных.


Как применять:
1. Найдите в требованиях входные данные (например, поле для ввода возраста).
2. Определите "позитивные" классы — наборы допустимых данных (0-17 лет, 18-54 лет).
3. Определите "негативные" классы — наборы недопустимых данных (< 0, буквы, спецсимволы).
4. Возьмите по одному значению из каждого класса для ваших тестов.

Как работает Анализ граничных значений?

Идея: Большинство ошибок происходит не в середине класса, а на его краях (границах). Эта техника — дополнение к эквивалентному разбиению, которое фокусируется именно на этих "опасных" точках.


Как применять:
1. Определите границы каждого класса (для класса 0-17 это 0 и 17).
2. Выберите метод:
- Метод 2-х значений: Возьмите саму границу и следующее значение за ней (например, для границы 17 это будут тесты на `17` и `18`).
- Метод 3-х значений: Возьмите значение перед границей, саму границу и значение после нее (для 17 это будут `16`, `17`, `18`).

Пример с десятичными дробями

Эта техника также применима к дробным числам. Границы зависят не только от целой, но и от дробной части.


Требование: Поле принимает значения от 0.01 до 10.00 включительно.
Граничные значения (по методу 3-х точек):
- Для нижней границы (0.01): `0.00`, `0.01`, `0.02`
- Для верхней границы (10.00): `9.99`, `10.00`, `10.01`

Хотите получить видео и расширенный разбор этого вопроса?
Приобретите курс «Тестирование ПО с нуля. Уровень PRO» по ссылке.