Анализ граничных значений

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

Матан

Нужен набор тест-векторов для проверки системы, и для них описывается топология. В тесты включаются «представители» граничных значений диапазона. Граница в топологии — набор точек поблизости пространства, не входящих в него. Эти точки принадлежат к одному классу эквивалентности, согласно теории эквивалентного разбиения. Поскольку диапазоны являются соседними, между ними существует граница. Тест-векторы на каждой стороне границы называются граничными значениями. 

Суть методики

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

Каждый диапазон по определению имеет минимальное и максимальное значение, которые и являются границами.

Значение на границе валидного диапазона является валидным значением. Значение на границе невалидного диапазона является невалидным. 

Для каждой переменной проверяем такие значения:

  • Минимальное
  • Следующее за ним
  • Иногда, также, значение внутри диапазона («номинальное»)
  • Значение непосредственно перед максимальным
  • Максимальное

Примеры

Пример 1

Приложение в финтехе, в котором нужно ввести возраст претендента. Диапазон допустимых значений: от 18 до 56 лет.

Значения
Невалидное (минимальное-1)Валидные (минимальное-1, минимальное+1, номинальное, максимальное-1, максимальное)Невалидное (максимальное+1)
1718, 19, 37, 55, 5657

Валидные тест-кейсы: всякое значение больше 17 и меньше 57 (18, 19, 37, 55, 56).

Невалидные тест-кейсы: всякое значение меньше 18 и больше 56 (17, 57).

Примечание: в техниках эквивалентных разбиений и граничных значений применяется концепция предположения об одной ошибке (Single Fault Assumption). Оно основывается на предположении, что ошибки редко случаются в результате одновременного ввода двух (нескольких) невалидных значений, как правильно только одного. Поэтому, если в систему вводятся не одно, а два значения, то одно из них всегда оставляют валидным. Тогда, при n переменных, количество вариантов для проверки (тест-кейсов) составит 4n+1.

Пример 2

На входе имеем такие данные. День/месяц/год должны быть в диапазонах соответственно 1-31, 1-12, 1900-2000. Тест-кейсы получатся следующими.

По предположению о единственной ошибке, год будет принимать значения от 1900 до 2000, а остальные будут иметь одинаковые «номинальные» значения (то есть внутри своих валидных диапазонов).

Номер тест-кейсаМесяцДеньГодВывод
1615199014 июня 1990 г
2615190114 июня 1901 г
3615196014 июня 1960 г
4615199914 июня 1999 г
5615200014 июня 2000 г

По предположению об единственной ошибке, день будет изменяться от 1 до 31, а остальные значения неизменны (номинальные).

Номер тест-кейсаМесяцДеньГодВывод
661196031 мая 1960 г
76219601 июня 1960 г
8630196029 июня 1960 г
96311960Невалидное значение дня

Теперь Месяц будет изменяться от 1 до 12, а остальные переменные неизменны:

Номер тест-кейсаМесяцДеньГодВывод
10115196014 января 1960 г
11215196014 февраля 1960 г
121115196014 ноября 1960 г
131215196014 декабря 1960 г

Таким образом, для n проверяемых переменных должно быть создано 4n+1 тест-кейсов. У нас количество переменніх n равно 3, следовательно тест-кейсов нужно 4х3+1 = 13.

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

  • Быстрая и экономит усилия
  • Удобна, когда очень много переменных
  • Может применяться на всех уровнях тестовой пирамиды

Но:

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

Граничные значения и классы эквивалентности

Граничные значения и классы эквивалентности
Граничные значения и классы эквивалентности

***

Шпаргалка

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

Места, в которых один класс эквивалентности переходит в другой; то есть крайние значения этих классов.

В чем заключается анализ граничных значений?

Проверка, как тестируемое приложение принимает эти значения (возникают ли ошибки).

Почему такой анализ нужен? 

Именно на граничных значениях часто случаются ошибки. 

Действия тестировщика при анализе граничных данных:

1. Создать эквивалентные классы.

2. Подобрать граничные значения.

3. Определить, в какой класс относится каждая граница.

4. Провести тестирование (выполнить тест-кейсы).

***

Выучить SQL можно за 2 месяца, это реально

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас