<style>.lazy{display:none}</style>Анализ граничных значений и эквивалентное разбиение

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

На практике часто невозможно провести полное тестирование для каждого набора данных из-за ограничений времени и бюджета. Для выбора эффективных тест-кейсов, которые охватывают все возможные сценарии, применяются две техники: эквивалентное разбиение и анализ граничных значений.

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

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Содержание:

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

Анализ граничных значений – это методика тестирования ПО, которая проверяет поведение системы на границах значений входных данных.

  • Граничные значения – это крайние точки, такие как начальная-конечная, нижняя-верхняя, максимальная-минимальная.
  • Основная идея анализа граничных значений заключается в выборе таких входных значений, как:
  1. Минимум
  2. Чуть выше минимума
  3. Стандартное значение
  4. Чуть ниже максимума
  5. Максимум
  • В граничном тестировании разделение на эквивалентные классы играет важную роль.
  • Граничное тестирование происходит после разделения на эквивалентные классы.
Граничные значения в тестировании

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

Эквивалентное разбиение – это разновидность техники тестирования “черного ящика”, которая может применяться на всех уровнях тестирования ПО, таких как модульное, интеграционное, системное и т.д. Идея состоит в том, чтобы разделить все возможные входные данные на группы или классы таким образом, чтобы все значения внутри одного класса считались эквивалентными.

  • Это методика, которая разделяет входные данные ПО на различные классы эквивалентных данных.
  • Данную технику можно применять, когда в поле ввода есть диапазон.

Пример 1:

  • Рассмотрим поведение текстового поля Order Pizza (“Заказать пиццу”).
  • Значения пиццы от 1 до 10 считаются валидными. Отображается сообщение об успехе.
  • Значения от 11 до 99 считаются недопустимыми для заказа, и появляется сообщение об ошибке: “Можно заказать только 10 пицц”.

Вот условия проверки:

  1. Любое число меньше 1, введенное в поле Order Pizza, недействительно.
  2. Валидными считаются числа от 1 до 10.
  3. Любое число больше 10 считается недействительным.
  4. Любое трехзначное число также считается недействительным.

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

Разделенные наборы называются эквивалентными разбиениями или эквивалентными классами. Мы выбираем только одно значение из каждого класса для тестирования. Идея состоит в том, что если одно условие/значение в классе проходит, то все остальные также пройдут. Аналогично, если одно условие в наборе не выполняется, то все остальные условия тоже не выполняются.

Анализ граничных значений (Boundary Value Analysis) – это методика тестирования ПО, при которой вы проверяете границы между эквивалентными разбиениями.

В нашем примере с эквивалентным разбиением вместо проверки одного значения для каждого раздела мы проверяем значения на границах, такие как 0, 1, 10, 11 и так далее. Это означает, что мы тестируем значения как на допустимых, так и на недопустимых границах. Анализ граничных значений также называется проверкой диапазона значений.

Эквивалентное разбиение и анализ граничных значений (BVA – Boundary Value Analysis) тесно связаны и могут использоваться совместно на всех этапах тестирования.

Пример 2:

Данное поле для ввода пароля принимает значения от минимум 6 до максимум 10 символов.

Это означает, что результаты для значений в разделах 0-5, 6-10, 11-14 должны быть эквивалентными.

№ сценария тестирования Описание Ожидаемый результат
1Введите от 0 до 5 символов Система не должна принимать
2Введите от 6 до 10 символов Система должна принять
3Введите от 11 до 14 символов Система не должна принимать

Пример 3:

В этом примере мы рассмотрим тест-кейсы граничных значений. Поле ввода должно принимать числа от 1 до 10.

Описание сценария тестирования Ожидаемый результат
Граничное значение = 0Система НЕ должна принимать
Граничное значение = 1Система должна принимать
Граничное значение = 2Система должна принимать
Граничное значение = 9Система должна принимать
Граничное значение = 10Система должна принимать
Граничное значение = 11Система НЕ должна принимать

Зачем нужно тестирование на эквивалентность и анализ границ?

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

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

Заключение:

  • Тестирование с анализом граничных значений используется, когда практически невозможно протестировать большой набор тест-кейсов по отдельности.
  • Используются две техники – анализ граничных значений и эквивалентное разбиение.
  • При использовании метода эквивалентного разбиения вы разделяете набор тестовых условий на части, которые можно считать эквивалентными.
  • Анализ граничных значений и эквивалентное разбиение подходят для приложений, которые выполняют большое количество вычислений.

Перевод статьи Thomas Hamilton «Boundary Value Analysis and Equivalence Partitioning Testing».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *