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

на главную - закладки

Жанры

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

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 долл.

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

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

Компонент 2

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

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

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

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

• е-мейлами,

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

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

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

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

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

Компонент 3

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

тификат).

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

163

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

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

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

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

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

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

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

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

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

Поделиться:
Популярные книги

Особое назначение

Тесленок Кирилл Геннадьевич
2. Гарем вне закона
Фантастика:
фэнтези
6.89
рейтинг книги
Особое назначение

Её (мой) ребенок

Рам Янка
Любовные романы:
современные любовные романы
6.91
рейтинг книги
Её (мой) ребенок

Я Гордый часть 2

Машуков Тимур
2. Стальные яйца
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я Гордый часть 2

Адепт. Том второй. Каникулы

Бубела Олег Николаевич
7. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.05
рейтинг книги
Адепт. Том второй. Каникулы

Императорский отбор

Свободина Виктория
Фантастика:
фэнтези
8.56
рейтинг книги
Императорский отбор

Законы Рода. Том 6

Flow Ascold
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 6

Начальник милиции. Книга 3

Дамиров Рафаэль
3. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 3

Огненный князь 3

Машуков Тимур
3. Багряный восход
Фантастика:
фэнтези
боевая фантастика
попаданцы
5.00
рейтинг книги
Огненный князь 3

Восход. Солнцев. Книга VI

Скабер Артемий
6. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга VI

Страж. Тетралогия

Пехов Алексей Юрьевич
Страж
Фантастика:
фэнтези
9.11
рейтинг книги
Страж. Тетралогия

Мастер 7

Чащин Валерий
7. Мастер
Фантастика:
фэнтези
боевая фантастика
попаданцы
технофэнтези
аниме
5.00
рейтинг книги
Мастер 7

Волк 5: Лихие 90-е

Киров Никита
5. Волков
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волк 5: Лихие 90-е

Сломанная кукла

Рам Янка
5. Серьёзные мальчики в форме
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Сломанная кукла

Идеальный мир для Лекаря 18

Сапфир Олег
18. Лекарь
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 18