Чтение онлайн

ЖАНРЫ

tестирование dot com
Шрифт:

рюкзаке, который находится на кухне).

В обоих случаях будет непонятно, как исполнить тест-кейс 2, так

как

• у нас или нет шагов 1 и 2 из тест-кейса 1, или

• они стали неправильными (с субъективной точки зрения

тест-кейса 2).

Другим распространенным случаем является допущение, что ПО

или база данных уже приведены к нужному состоянию, так как

были исполнены предыдущие тест-кейсы.

Пример

В тест-кейсе X мы создаем транзакцию

покупки книги. В тест-кейсе Y

мы, допуская, что тест-кейс X был успешно исполнен, проверяем

атрибут успешности транзакции покупки книги, не создавая саму транз-

акцию ("Зачем напрягаться, когда она уже создана?"). В итоге мо-

жет произойти ситуация, когда транзакция покупки книги не создана,

так как

тест-кейс X был удален;

тест-кейс X был модифицирован так, что он создает транзакцию

другого типа;

тест-кейс X не создал транзакции по объективной причине (на-

пример, не работал соответствующий код).

52

Тестирование Дот Ком. Часть 1

Как результат, во всех трех случаях мы не можем исполнить тест-

кейс Y, так как данных, на которые он опирается, просто не суще-

ствует.

Таким образом, хороший тест-кейс характеризуют:

отсутствие ссылок на другие тест-кейсы;

независимость от "следов", оставленных другими тест-

кейсами в нашем ПО или базе данных.

Следовательно, если у нас в документе А есть 10 тест-кейсов:

тест-кейс 1, тест-кейс 2, ..., тест-кейс 10, то доказательством неза-

висимости каждого из тест-кейсов будет тот факт, что их без

ущерба для тестирования можно всегда исполнять в любом

порядке, например, тест-кейс 10, затем тест-кейс 2, затем тест-

кейс 6 и т.д. Принцип, думаю, понятен.

Согласен, что повторение шагов или подготовительной части тест-

кейса кажется порой тупым занятием, но все-таки преимущества

независимого тест-кейса перекрывают напряг операции скопиро-

вал—вставил.

2. НЕЧЕТКАЯ ФОРМУЛИРОВКА ШАГОВ

Пример

"Пойди туда, не знаю куда".

На шаги тест-кейса можно смотреть, как на инструкцию "Как

пройти" (или "Как проехать").

Пример

Если американцу, который в Москве первый раз, сказать (с видом

москвича

в пятом колене), что Красная площадь находится "за ГУМом",

то он бессмысленно потратит много времени в поисках "загума" в путе-

водителе. Если же черкнуть ему е-мейльчик с инструкцией:

1. Выйди из "Националя".

2. На улице поверни направо.

3. Не поднимая глаз, пройди мимо первой стайки барышень.

4. Не поднимая глаз, пройди мимо второй стайки барышень.

5. Спустись налево в подземный переход.

6. Следуй указателям на стенах с надписью "Красная площадь",

то он не только найдет Красную площадь и купит там прапорскую

ушанку с гнутой кокардой, но и избежит обвинений в сексуальном хар-

расменте, которые на его родине вещь очень даже серьезная.

Искусство создания тест-кейсов

53

Кстати,

• шаги 1 — 5 включительно — это точные инструкции, а

• шаг 6 это отсылка к инструкциям, хранящимся в другом месте

(помните, мы говорили о внутреннем Пособии для тестировщи-ков

с шагами для повторяющихся сценариев?).

Итак, перечисляющиеся в тест-кейсе шаги должны быть объ-

ективно четкими и ясными.

Нужно помнить,

то, что очевидно для вас сейчас, может стать совершен

но непонятным через пару месяцев.

Так, сокращенные шаги с нерасшифрованными аббревиа-

турами и прочими веселыми прибамбасами, понятными

вам сейчас, могут впоследствии стать китайской грамотой

для вас самих, так что проще будет написать тест-кейс за-

ново, чем пробираться через дебри неосмотрительно сде-

ланных описаний;

тест-кейс, который не может быть исполнен никем,

кроме его автора, должен быть публично сожжен, рас

терт в порошок и развеян по ветру.

Обоснование простое: что, если автор тест-кейса заболеет,

уйдет в отпуск, уйдет из компании или уйдет, извините,

вообще? Любой тест-кейс должен создаваться с мыслью

о коллеге, который однажды возьмет его в руки.

Поделиться с друзьями: