tестирование dot com
Шрифт:
цифрами (проценты) и пониманием бизнеса (комментарии про-
дюсера).
Нигилистический настрой и практическая методология
195
И еще мы снова видим, что эти превосходные, проверенные дан-
ные снова абсолютно противоречат нашему, казалось бы, незыб-
лемому, но на поверку очень даже "зыблемому" "Абсолютно
очевидно".
Что делать, если вдруг есть две функциональности с одинако-
вым
лее сложная и трудоемкая.
Последний вопрос в отношении оценки риска — это использова-
ние полученной информации. Флоу с более высоким приорите-
том (который мы отражаем в поле тест-кейса "Приоритет") тес-
тируется
• в первую очередь и
• более тщательно.
Кроме того, в дальнейшем у вас всегда будет аргумент, почему
вы тестировали именно это и именно в таком объеме. И этим
аргументом будут данные по оценке риска, которые вы использо-
вали как профессионал-тестировщик, ориентированный на сча-
стье пользователя.
2. ЭКВИВАЛЕНТНЫЕ КЛАССЫ (equivalent classes)
Это суперполезная вещь, которой мы немедленно дадим опре-
деление:
эквивалентный класс — это одно или больше значений ввода,
к которым ПО применяет одинаковую логику.
Предположим, что наш книготорговый веб-сайт запускает новую
кампанию "Больше тратишь — больше скидка". Вот табличка из
спека.
Потраченная сумма,
Скидка,
руб-
%
200 — 500
2
500—1000
3
1000 — 5000
4
5000 и более
5
Мы, конечно, сразу увидели 3 бага спека:
196
Тестирование Дот Ком. Часть 3
Баг1:
Непонятно, по какой ставке рассчитывается скидка, если по-
трачены следующие суммы: ровно 500 руб., ровно 1000 руб.,
ровно 5000 руб., так как каждая из этих сумм находится не в
одной, а в двух корзинах со скидками.
Баг 2:
Что означает "Потраченная сумма"? Это количество дензна-
ков, выплаченных только за книги, или полная сумма к оплате,
включая оплату книг и расходы на доставку?
Баг 3:
Для полноты картины нужно дописать эквивалентный класс
от 0 до 199,99, на значения которого никакая скидка не рас-
пространяется.
Что делаем?
Правильно: идем к продюсеру. Извещаем о баге программиста.
"Размораживаем" спек. Вносим в него изменения.
Вот перед нами уже отредактированная табличка:
Стоимость
Скидка, %
купленных книг, руб.
0—199,99
0
200,00 — 499,99
2
500,00 — 999,99
3
1000,00 — 4999,99
4
5000,00
5
У нас получилось 5 эквивалентных классов:
Класс 1:
0—199,99
Класс 2:
200,00 — 499,99
Класс 3:
500,00 — 999,99
Класс 4:
1000,00 — 4999,99
Класс 5:
5000,00 и более
Нигилистический настрой и практическая методология
197
Каждое значение внутри каждого класса является эквивалентным
всем другим значениям этого класса.
Почему? Потому что ко всем значениям класса должна приме-
няться одинаковая логика кода. Например, при стоимости куп-
ленных книг и 1215,11 руб., и 1745,45 руб., и 2000 руб. (класс 4)
полагается скидка 4%.
Составными частями класса являются:
1. Значение или корзина значений ввода (например, от 500,00
до 999,99) и
2. Логика для вывода, т.е. ожидаемого результата (скидка 3%
в случае с классом 3).
Польза раскладывания значений ввода на эквивалентные клас-
сы состоит в том, что мы отсеиваем огромное количество
значений ввода, использовать которые для тестирования про-
сто бессмысленно.
Отсев происходит путем применения знаний о тестировании по-
граничных значений.
3. ПОГРАНИЧНЫЕ ЗНАЧЕНИЯ (boundary values)
Все очень просто. Давайте представим себе наши эквивалентные
классы из предыдущего примера:
Вертикальная пунктирная линия — это первое возможное значе-
ние класса (нижний предел).
Вертикальная сплошная линия — это последнее возможное зна-
чение класса (верхний предел).
198
Тестирование Дот Ком. Часть 3
Пограничные значения — это конкретные предельные зна-
чения, образующие водораздел между эквивалентными клас-
сами.
Для каждого эквивалентного класса может быть лишь один
из трех вариантов:
а. Есть только нижний предел (класс 5).