чения, образующие водораздел между эквивалентными клас-
сами.
Для каждого эквивалентного класса может быть лишь один
из трех вариантов:
а. Есть только нижний предел (класс 5).
б. Есть нижний и верхний пределы (класс 2, класс 3, класс 4).
в. Есть только верхний предел (не рассматриваемый в данном
примере класс, который ограничен только сверху гипотети
ческим отрицательным значением, непосредственно пред
шествующим классу 1).
Пограничным тестированием
применение метода тестирования пограничных значений.
Вот полная версия метода тестирования пограничных значений.
а. Сначала тестируется нижний предел данного класса (если
он имеется).
б. Затем тестируется верхний предел данного класса (если он
имеется).
в. Затем тестируется любое значение внутри данного класса.
г. Затем тестируется верхний предел класса, непосредственно
предшествующего данному классу (если предшествую
щий класс имеется).
д. Затем тестируется нижний предел класса, непосредствен
но следующего за данным классом (если следующий класс
имеется).
—
Давайте же возьмем и протестируем эквивалентный класс 2. Суть
тестирования заключается в том, чтобы удостовериться, что для
покупок от 200,00 до 499,99 руб. (включительно) будет дана
скидка 2%. Опустим шаги сценариев и поговорим только о дан-
ных для них. Следуем методике тестирования эквивалентного
класса, нам нужно лишь пять вариантов данных:
а. 200,00;
б. 499,99;
в. 315,11;
г. 199,99;
д. 500,00.
199
Почему нам хватило только 5 сценариев, мы поговорим через
минуту.
А сейчас давайте посмотрим, сколько возможных вариантов
только для позитивных тестов у нас потенциально есть для
класса 2:
30 000 (по количеству копеек в 299,99 руб. плюс один слу-
чай, когда потрачено 200,00 руб.).
Наша методика позволила обойтись лишь 3 тестами (пози-
тивные тесты:
30 000 значений. По-моему, выглядит впечатляюще.
Теперь о 5 сценариях, которых было достаточно для позитивного
и негативного тестирования класса 2.
Представим себе схематично логику кода для решения вопроса о
скидке для класса 2:
ЕСЛИ сумма > 200,00 И сумма < 499,99,
ТО скидка = сумма /100 х 2.
Теперь рассмотрим, как каждый из наших тест-кейсов точечно
бьет по возможным проблемам кода. Прошу особого внимания —
ничего сложного нет, но много нюансов.
Тест-кейс
Код с выделенной жирным шрифтом частью,
которая проверяется данным тестом
Возможная проблема кода, разоблачаемая тестом, и
пример проблемы
Ожидаемый результат
а. Сначала тестируется
ЕСЛИ сумма > 200,00 И сумма < 499,99,
класса (если нижний
предел имеется):
Ошибка в знаке равенства и/или сумме нижнего
200
предела.
2% от 200
200
б. Затем тестируется
ЕСЛИ сумма > 200,00 И сумма < 499,99,
ТО скидка = сумма/100 х 2
данного класса (если
верхний предел
Ошибка в знаке равенства и/или сумме верхнего
имеется):
предела.
499,99
х 2
2% от 499,99
в. Затем тестируется
ЕСЛИ сумма > 200,00 И сумма < 499,99,
ТО скидка = сумма/100 х 2
внутри данного
класса:
Ошибка в знаках больше (>) и меньше (<).
315,11
2% от 315,11
г. Затем тестируется
ЕСЛИ сумма > 200,00 И сумма < 499,99,
ТО скидка = сумма/100 х 2
непосредственно
Тонкий момент. Здесь мы проверяем две вещи:
данному классу
1. Наличие скачка от верхнего предела предьщущего