tестирование dot com
Шрифт:
б. Есть нижний и верхний пределы (класс 2, класс 3, класс 4).
в. Есть только верхний предел (не рассматриваемый в данном
примере класс, который ограничен только сверху гипотети
ческим отрицательным значением, непосредственно пред
шествующим классу 1).
Пограничным тестированием (boundary testing) называется
применение метода тестирования пограничных значений.
Вот полная версия метода
а. Сначала тестируется нижний предел данного класса (если
он имеется).
б. Затем тестируется верхний предел данного класса (если он
имеется).
в. Затем тестируется любое значение внутри данного класса.
г. Затем тестируется верхний предел класса, непосредственно
предшествующего данному классу (если предшествую
щий класс имеется).
д. Затем тестируется нижний предел класса, непосредствен
но следующего за данным классом (если следующий класс
имеется).
а, б, в являются позитивными тестами, гид
— негативными тестами.
Давайте же возьмем и протестируем эквивалентный класс 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,
нижний предел данного ТО скидка = сумма/100 х 2
класса (если нижний
предел имеется):
Ошибка в знаке равенства и/или сумме нижнего
200
предела.
Пример (знакравенства перед 200,00 пропущен):
ЕСЛИ сумма > 200,00 И сумма < 499,99,
ТО скидка = сумма/100 х 2
2% от 200
200
Тестирование Дот Ком. Часть 3
б. Затем тестируется
ЕСЛИ сумма > 200,00 И сумма < 499,99,
верхний предел
ТО скидка = сумма/100 х 2
данного класса (если
верхний предел
Ошибка в знаке равенства и/или сумме верхнего
имеется):
предела.
499,99
Пример (499,00 вместо 499,99): ЕСЛИ сумма >
200,00 И CVMMQ < 499,00, ТО скидка = сумма/100
х 2
2% от 499,99
в. Затем тестируется
ЕСЛИ сумма > 200,00 И сумма < 499,99,
любое значение
ТО скидка = сумма/100 х 2
внутри данного
класса:
Ошибка в знаках больше (>) и меньше (<). Пример
315,11
(больше вместо меньше и меньше вместо больше):
ЕСЛИ сумма < 200,00 И сумма > 499,00: ТО скидка
= сумма/100 х 2
2% от 315,11
г. Затем тестируется
ЕСЛИ сумма > 200,00 И сумма < 499,99,
верхний предел класса,
ТО скидка = сумма/100 х 2
непосредственно
предшествующего