том, что если показывается не та ошибка, которая положена по специ-
фикации, то будет пропущен баг. Почему он будет пропущен? Пра-
вильно: из-за неточной формулировки ожидаемого результата.
Еще один пример плохого ожидаемого результата:
"Все работает".
Идем дальше.
Искусство создания тест-кейсов
55
Тест-комплекты
С помощью каждого отдельно взятого тест-кейса проверяется
какая-то одна вещь (развернуто сформулированная в секции
IDEA). Каждый спек — это источник для множества идей тести-
рования, и, таким образом, для проверки кода, написанного в со-
ответствии со спеком, нам нужно множество тест-кейсов.
Совокупность тест-кейсов (находящихся, как правило, в одном
документе), которые проверяют
• какую-то определенную часть нашего интернет-проекта
(например, "Оплату") и/или
• определенный спек (например, спек номер 1455 "Рассылка
пользователям е-мейлов на основании истории заказов"),
называют тест-комплектом (test case suite).
Что происходит в жизни?
• получаем новый спек;
• создаем новый файл, в котором создаем новые тест-кейсы
для этого нового спека;
• исполняем новые тест-кейсы с их одновременной модифи-
кацией (об этом через 45 секунд);
• если имеет смысл, то переносим тест-кейсы в основной
тест-комплект, где хранятся тест-кейсы, проверяющие ту
же функциональную часть вашего интернет-проекта.
Создание нового файла с новым тест-комплектом обусловлено
тем, что новые тест-кейсы всегда исполняются в первую оче-
редь и нам просто удобно хранить их отдельно от старых. Как
говорится, "мухи отдельно, котлеты отдельно" (конечно, до тех
пор, пока нам это удобно).
Пример
На www.testshop.rs можно производить оплату картами VISA и Master-
Card. У нас есть тест-комплект, который мы исполняем из релиза в ре-
лиз (это регрессивное тестирование, о котором мы еще будем много
говорить), называемый "Покупка с использованием кредитных карт".
Этот тест-комплект был написан на основании спека #1211 и содержит
тест-кейсы для проверки функциональностей оплаты с использовани-
ем VISA и MasterCard.
Для нового релиза написан спек #1422, согласно которому будет на-
писан код для поддержки новой карты — британской Switch.
56
Тестирование Дот Ком. Часть 1
Сначала создаем новый тест-комплект "Покупка с использованием
Switch", затем исполняем и одновременно модифицируем его. Учиты-
вая, что
• после исполнения содержимое тест-комплекта будет стабили-
зировано и
• в нем проверяется та же функциональная часть веб-сайта ("Оп-
лата"),
в данном случае будет логичным сделать его частью тест-комплекта
"Покупка с использованием кредитных карт".
Постановка мозгов
Никто не ожидает, что тест-кейсы будут на 100% "работать" сразу по-
сле написания. Дело в том, что они создаются на основании опека
(или, как это часто бывает, на основании устного пожелания начальни-
ка), и так как мы физически не видим функциональностей этого опека
(код еще не написан), то многие вещи нужно в буквальном смысле
представить себе. Кроме того, как мы уже видели, сами спеки имеют