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

ЖАНРЫ

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

том в коде, отвечающем за выбор правильных пользователей.

Компонент 2

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

для нас файл, не работает. Мы не отчаиваемся, а просто вручную,

не ропща на судьбу, создаем файл установленного формата с взя-

тыми с потолка

• е-мейлами,

• полными именами пользователей и

• номерами подарочных сертификатов.

Этот файл мы "скармливаем" программе рассылки е-мейлов и

проверяем, что правильные е-мейлы доходят до пользователей

из

файла(позитивное тестирование).

Компонент 3

Как мы помним, компонент 1 не работает. Что делать?

Сертификат — это как некий код, например "UYTU764587657".

который нужно ввести во время оплаты, и если сертификат дей-

ствительный, то итоговая сумма к оплате уменьшается.

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

мог сгенерировать легитимные номера сертификатов. Когда но-

мера сертификатов имеются в наличии, можно, например, прове-

рить, работает ли подарочный сертификат только один раз (пози-

тивное тестирование) или его можно использовать для двух или

более транзакций (негативное тестирование, воспроизводящее

ошибку пользователя, использующего сертификат более одного

раза). Также нужно будет проверить размер скидки (5%) (пози-

тивное тестирование) и действительность сертификата:

до 17 ноября (позитивное тестирование), 17

ноября (позитивное тестирование) и

после 17 ноября (негативное тестирование, воспроизводящее

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

тификат).

Классификация видов тестирования

163

Кстати, в случаях когда тестирование связано со сроками (например,

сроком истечения сертификата), мы, естественно, не ждем до 17 но-

ября, а просто меняем системное время тест-машины на нужное время

или меняем значение времени в базе данных. Естественно, что такие

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

рые работают на той же тест-машине или с той же базой данных.

Важный момент: хотя по спеку все три компонента и взаимосвя-

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

тирование в чистом виде. Другими словами, мы тестировали са-

ми компоненты, а не связь между ними.

Тестирование связи между компонентами называется интегра-

ционным тестированием.

ИНТЕГРАЦИОННОЕ ТЕСТИРОВАНИЕ

У нас есть три связи между компонентами:

а) между 1-м и 2-м компонентами;

б) между 2-м и 3-м компонентами;

в) между 1-м и 3-м компонентами.

Подробности:

а. Компонент 1

генерирует файл со списком

• е-мейлов и полных имен подходящих пользователей и

• номерами сертификатов.

Этот список используется компонентом 2, который ответ-

ствен за рассылку е-мейлов.

б. Компонент 2 доставляет пользователю в качестве е-мейла

информацию о подарочном сертификате. Пользователь

может использовать сертификат (компонент 3), только ес

ли он знает правильный номер своего сертификата.

в. Компонент 1 генерирует код сертификата, который ис

пользуется компонентом 3.

Итак, в нашем случае при интеграционном тестировании у нас

есть для проверки 3 связи. Приведем примеры соответствующих

тестов на интеграцию.

а. Здесь можно проверить, совместим ли формат файла, соз-

данного компонентом 1, с программой рассылки компонента 2.

Например, последняя принимает следующий формат файла:

полное имя пользователя, е-мейл, номер сертификата.

164

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

Значения отделены друг от друга запятой (comma-delimited). Ин-

формация о каждом новом пользователе — на новой строчке.

Сам файл — простой текстовый файл, который можно открыть

программой Notepad.

Образец файла:

Ferdinando Magellano, f.magellano@trinidad.pt, QWERT98362

James Cook, james.cook@endeavour.co.uk, ASDFG54209 Иван

Крузенштерн, ikruzenstern@nadejda.ru, LKJHG61123

Допустим, программист ошибочно заложил в коде, что значения

файла разделяются не запятой (форматом, принимаемым про-

граммой рассылки), а точкой с запятой:

Ferdinando Magellano; f.magellano@trinidad.pt; QWERT98362

James Cook; james.cook@endeavour.co.uk; ASDFG54209 Иван

Крузенштерн; ikruzenstern@nadejda.ru; LKJHG61123

Когда мы проводим интеграционный тест, мы обнаруживаем, что

программа рассылки не принимает файл неподходящего формата,

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

если этот баг не будет устранен.

б. В данном случае у нас может быть ситуация, когда файл

имеет верный номер сертификата, но из-за бага в программе рас

сылки пользователь получает е-мейл с "неправильным" номером

сертификата.

Это может произойти из-за того, что программа рассылки

может быть ошибочно сконфигурирована, чтобы "брать"

только 9 первых символов из третьей колонки (колонки с номе-

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