ЗАВИСИМОСТЬ ТЕСТ-КЕЙСОВ ДРУГ ОТ ДРУГА



Зависимость — это антоним независимости. Независимость тест-кейса выражается в том, что он не связан с другими тест-кейсами.

Пример

Тест-кейс 1: Шаги:

1. Зайти в комнату.

2. Подойти к стулу.

3. Открыть правый внешний карман рюкзака.

4. Засунуть руку в правый внешний карман рюкзака. Ожидаемый результат: Граненый стакан.

Тест-кейс 2: Шаги:

1. Зайти в комнату.

2. Подойти к стулу.

3. Открыть левый внешний карман рюкзака.

4. Засунуть руку в левый внешний карман рюкзака. Ожидаемый результат: Огурец.

Как видно, шаги 1 и 2 сейчас одинаковы и всегда будет искуше­ние улучшить то, что и так хорошо.


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

Пример

Тест-кейс 1: Шаги:

1. Зайти в комнату.

2. Подойти к стулу.

3. Открыть правый внешний карман рюкзака.

4. Засунуть руку в правый внешний карман рюкзака. Ожидаемый результат: Граненый стакан.

Тест-кейс 2: Шаги:

1. Смотри шаги 1 и 2из тест-кейса 1.

2. Открыть левый внешний карман рюкзака.

3. Засунуть руку в левый внешний карман рюкзака. Ожидаемый результат: Огурец.

Так вот, таких вещей (имеется в виду шаг 1 тест-кейса 2) нужно избегать, так как:

• тест-кейс 1 может быть удален из-за ненадобности или

• шаги по тестированию наличия стакана (в тест-кейсе 1) могут быть изменены (например, стакан лежит в другом рюкзаке, который находится на кухне).

В обоих случаях будет непонятно, как исполнить тест-кейс 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 это отсылка к инструкциям, хранящимся в другом месте (помните, мы говорили о внутреннем Пособии для тестировщи-ков с шагами для повторяющихся сценариев?).

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

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

то, что очевидно для вас сейчас, может стать совершен­
но непонятным через пару месяцев.

Так, сокращенные шаги с нерасшифрованными аббревиа­турами и прочими веселыми прибамбасами, понятными вам сейчас, могут впоследствии стать китайской грамотой для вас самих, так что проще будет написать тест-кейс за­ново, чем пробираться через дебри неосмотрительно сде­ланных описаний;

тест-кейс, который не может быть исполнен никем,
кроме его автора, должен быть публично сожжен, рас­
терт в порошок и развеян по ветру.

Обоснование простое: что, если автор тест-кейса заболеет, уйдет в отпуск, уйдет из компании или уйдет, извините, вообще? Любой тест-кейс должен создаваться с мыслью о коллеге, который однажды возьмет его в руки.

Нужно избегать и другой крайности когда шаги тест-кейса настолько детализируются, как будто он пишется для ученой обезьяны. Излишняя детализация ведет к усложнению поддер-живаемости тест-кейса, что было нами убедительно доказано минуту назад.

В общем ищите золотую середину.

3. НЕЧЕТКАЯ ФОРМУЛИРОВКА ИДЕИ ТЕСТ-КЕЙСА И/ИЛИ ОЖИДАЕМОГО РЕЗУЛЬТАТА

Оба тезиса, о которых мы только что говорили:

• о том, что можно забыть то, что сейчас понятно, и

• писать тест-кейсы нужно не для себя, а для того парня —

применимы и к идее и к ожидаемому результату. Нюансы для идеи тест-кейса и ожидаемого результата:


54


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


Дата добавления: 2018-05-02; просмотров: 1594; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!