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

ЖАНРЫ

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

на себя вести система при ошибках/дефектах. Следователь

но, все тестирование такого спека будет негативным.

160

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

д. Два полезных термина:

обращение с ошибкой/дефектом (error handling /failure

handling) — это то, как система реагирует на ошиб-

ку/дефект;

сообщение об ошибке (error message) — это информа-

ция (как

правило, текстовая), которая выдается пользо-

вателю в случае ошибки/сбоя.

Маленький примерчик вдогонку

Правильность сообщений об ошибке является намного более серьез-

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

Например, сегодня я попытался купить по Интернету новую книгу Хару-

ки Мураками:

добавил книгу в корзину на одном из сайтов,

вбил номер кредитки в соответствующие поля веб-страницы и

нажал кнопку "Купить".

Мне выдается сообщение об ошибке: так, мол, и так, проверьте, пожа-

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

веряю — все в порядке: и номер карты, и срок действия. Нажимаю

"Купить" еще раз — го же сообщение об ошибке. Пробую вбить инфор-

мацию по другой карте — то же самое. Начиная с этого момента,

успешное осуществление акции покупки новой книги Харуки Мура-

ками стало для меня делом принципа. Звоню в службу поддержки, и

мне говорят

— А вы, кстати, поставили галочку в чек-бокс (check box), что

согласны

с нашим соглашением?

– Нет.

А вы поставьте и попробуйте нажать на кнопку "Купить".

Ставлю, пробую, работает.

Ну вот и славненько. Чем-нибудь еще можем быть полезны?

Ничем. Thank you.

В итоге я потерял 15 минут своего времени, а веб-сайт потерял меня

как пользователя, так как "ложечки нашлись, а осадок остался". Все

из-за неверного сообщения об ошибке.

6. По степени изолированности

тестируемых компонентов

компонентное тестирование (component testing);

интеграционное тестирование (integration testing);

системное (или

энд-ту-энд) тестирование (system or

end-to-end testing).

Сначала краткие и емкие определения, а затем иллюстрации.

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

161

Компонентное тестирование (component testing) — это тестиро-

вание на уровне логического компонента. И это тестирование

самого логического компонента.

Интеграционное тестирование (integration testing) — это тести-

рование на уровне двух или больше компонентов. И это тестиро-

вание взаимодействия этих двух или больше компонентов.

Системное (или энд-ту-энд) тестирование (system or end-to-end

testing) — это проверка всей системы от начала до конца.

Теперь иллюстрации кратких и емких определений.

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

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

тивших больше 1000 долл. в нашем онлайн-магазине с момента

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

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

ября включительно предоставит 5%-ю скидку на любую разовую

покупку.

Кстати, для добротного тестирования данной функциональности нужно

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

задача — это понять

суть каждого из трех рассматриваемых видов тестирования и

разницу между ними.

КОМПОНЕНТНОЕ ТЕСТИРОВАНИЕ

Для начала выделим три компонента, которые мы протестиро-

вали бы:

1. Создание файла с полными именами, е-мейлами и номера-

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

2. Рассылка пользователям е-мейлов.

3. Правильное предоставление скидки вышеуказанным поль-

зователям.

Проверяем.

Компонент 1

Проверяем, что создается файл нужного формата

• с полными именами и е-мейлами пользователей, потратив-

ших > 1000 долл., и

• номером сертификата для каждого из этих пользователей.

162

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

Это позитивное тестирование.

Мы также должны проверить, не затесались ли в наш файл

пользователи, потратившие < 1000 долл.

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

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