Классы эквивалентности и граничные условия
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 237/301
2.7.2.
Классы эквивалентности и граничные условия
В данной главе мы рассмотрим примеры упомянутых ранее техник тестиро-
вания на основе классов эквивалентности
{94}
и граничных условий
{95}
.
Если уточнить
определения, получается:
Класс эквивалентности
(equivalence class
349
)
— набор данных, обраба-
тываемых одинаковым образом и приводящих к одинаковому результату.
Граничное условие
(border condition, boundary condition
350
)
— значение,
находящееся на границе классов эквивалентности.
Иногда под классом эквивалентности понимают набор тест-кейсов, пол-
ное выполнение которого является избыточным. Это определение не про-
тиворечит предыдущему, т.к. показывает ту же ситуацию, но с другой
точки зрения.
В качестве пояснения идеи рассмотрим тривиальный пример. Допустим, нам
нужно протестировать функцию, которая определяет, корректное или некорректное
имя ввёл пользователь при регистрации.
Требования к имени пользователя таковы:
•
От трёх до двадцати символов включительно.
•
Допускаются цифры, знак подчёркивания, буквы английского алфавита в
верхнем и нижнем регистрах.
Если попытаться решить задачу «в лоб», нам для позитивного тестирования
придётся перебрать все комбинации допустимых символов длиной [3, 20] (это 18-
разрядное 63-ричное число, т.е. 2.4441614509104E+32). А негативных тест-кейсов
здесь и вовсе будет бесконечное количество, ведь мы можем проверить строку дли-
ной в 21 символ, 100, 10000, миллион, миллиард и т.д.
Представим графически классы эквивалентности относительно требований
к длине (см. рисунок 2.7.a).
Рисунок 2.7.a — Классы эквивалентности для значений длины имени пользова-
теля
Поскольку для длины строки невозможны дробные и отрицательные значе-
ния, мы видим три недостижимых области, которые можно исключить, и получаем
окончательный вариант (см. рисунок 2.7.b).
Мы получили три класса эквивалентности:
•
[0, 2]
— недопустимая длина;
•
[3, 20]
— допустимая длина;
•
[21, ∞] — недопустимая длина.
349
An
Достарыңызбен бөлісу: