Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Прошли восемь шагов. Остановились. Проверили. Затем прошли девятый шаг. Остановились. Проверили.

Читайте также:
  1. В восемь утра
  2. В созданном блоге заходим в настройки, затем в шаблон, жмем изменить HTML
  3. В течение получаса я оставался лежать на палубе как труп, и хотя затем сознание стало постепенно возвращаться ко мне, я не мог двинуться и меня сочли убитым.
  4. ВЕЧЕР ТРИДЦАТЬ ДЕВЯТЫЙ
  5. Восемь лет назад...
  6. Восемь лет спустя
  7. Восемь правил для достижения успеха

Исход исполнения этого тест-кейса будет считаться положитель­ным только при одновременной истинности двух условий:

1. ФР после исполнения шага 8 = "10" и

2. ФР после исполнения шага 9 = Шаг 1 - Шаг 6 (т.е. значе­ние из Шага 1 минус значение из Шага 6).

В теории лучше было бы разбить нашу идею тест-кейса на две части и создать два отдельных тест-кейса:

1. IDEA: "Правильное значение вставляется в базу данных при использовании VISA".

2. IDEA: "Верная сумма списывается с баланса карты".

И если есть возможность, то ЛУЧШЕ сделать именно два тест-кейса, НО на практике во многих случаях имеет смысл включить в тест-кейс 2 или больше ОР, так как:

• у вас может просто не быть времени на написание, испол­нение и поддержку двух тест-кейсов*;

• сэкономленное время можно потратить на написание, ис­полнение и поддержку тест-кейса, которым мы бы прове­рили другую вещь**.

Если у нас есть один случай, когда можно совместить два ОР, то напи­сание, исполнение и поддержка двух тест-кейсов не представляет труда. А что, еслиу нас появляются сотни дополнительных тест-кейсов?..

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

Я работал с тест-кейсами, включающими более одного ОР, в течение многих лет, проводя тестирование сложнейшего ПО, связанного с финансовыми транзакциями, и могу сказать, что 2 или больше ОР в одном тест-кейсе — это нормальная практика.

Идем дальше.

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

• значение(-я) на веб-странице и

• значение(-я) в базе данных,

те. нужна проверка снаружи и изнутри или на front end и back end.



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


Постановка мозгов

Front end (читается как "фронт-энд") — это непосредственный интер­фейс пользователя, т.е. текст, картинки, кнопки, линки и прочие вещи, которые пользователь видите окне веб-браузера или е-мейл клиента.

Back end (читается как "бэк-энд")это ПО и данные, находящиеся за фасадом фронт-энда: HTML-код веб-страницы, веб-сервер, код при­ложения, база данных и т.д.

В последнем примере мы непосредственно "разговаривали"

• с фронт-энд ом — в шаге 5, когда добавляли товар в корзину;

• с бэк-эндом — в шаге 8, когда запрашивали базу данных.

Проблемные тест-кейсы

Теперь посмотрим, какие недостатки вы должны выжигать из своих тест-кейсов каленым железом.

1. Зависимость тест-кейсов друг от друга.

2. Нечеткая формулировка шагов.

3. Нечеткая формулировка идеи и/или ожидаемого результата.

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

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

Пример

Тест-кейс 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 не создал транзакции по объективной причине (на­пример, не работал соответствующий код).



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


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

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

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

независимость от "следов", оставленных другими тест-кейсами в нашем ПО или базе данных.

Следовательно, если у нас в документе А есть 10 тест-кейсов: тест-кейс 1, тест-кейс 2,..., тест-кейс 10, то доказательством неза­висимости каждого из тест-кейсов будет тот факт, что их без ущерба для тестирования можно всегда исполнять в любом порядке, например, тест-кейс 10, затем тест-кейс 2, затем тест-кейс 6 и т.д. Принцип, думаю, понятен.

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

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

Пример

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

На шаги тест-кейса можно смотреть, как на инструкцию "Как пройти" (или "Как проехать").

Пример

Если американцу, который в Москве первый раз, сказать (с видом москвича в пятом колене), что Красная площадь находится "за ГУМом", то он бессмысленно потратит много времени в поисках "загума" в путе­водителе. Если же черкнуть ему е-мейльчик с инструкцией:

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

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

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

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

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

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

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


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

Кстати,

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

• шаг 6это отсылка к инструкциям, хранящимся в другом месте (помните, мы говорили о внутреннем Пособии для тестировщи-ков с шагами для повторяющихся сценариев?).

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

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

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

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

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

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

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

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

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

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

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

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

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



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


Дата добавления: 2015-12-07; просмотров: 94 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.012 сек.)