tестирование dot com
Шрифт:
грузки веб-страницы составляет не более 5 секунд);
• документацию (например, что спек не содержит противо-
речий и неточностей).
Все это правильно, но есть нечто более важное.
Вопрос: для чего пользователи приходят на наш веб-сайт? Ответ:
для удовлетворения своих потребностей — покупка книг, чтение
анекдотов, проверка баланса кредитной карты и т.д. и т.п.
Вопрос: как можно удовлетворить
Ответ: нужно
• придумать (продюсер),
• написать (программист),
• протестировать (тестировщик) и
• передать пользователям (релиз-инженер)
средства, которые эти потребности удовлетворят. Этими средст-
вами являются ФУНКЦИОНАЛЬНОСТИ интернет-проекта.
Вот формальное определение:
функциональность (functionality, feature) — это средство для
решения некой задачи.
Примеры из реальной жизни
Функциональность компьютерных колонок "Volume" решает задачу
"Как изменить громкость звука".
Функциональность "Казино" решает задачу "Как незаметно для себя
потратить все отпускные деньги".
Функциональность "Принтер" решает задачу "Как распечатать документ".
134
Тестирование Дот Ком. Часть 2
Примеры из виртуальной жизни
Функциональность "Корзина" решает задачу "Как хранить информацию
о товаре, выбранном пользователем".
Функциональность "Добавление товара в корзину" решает задачу "Как
добавить товар в корзину".
Функциональность "Удаление товара из корзины" решает задачу "Как
удалить товар из корзины".
Проверка работы функциональностей называется функциональ-
ным тестированием (functional testing).
Стратегический момент: так как функциональное тестирова-
ние — это ось, вокруг которой вертится деятельность большин-
ства тестировщиков, то, следовательно, вокруг нее же будет
"вертеться "
Важность функционального тестирования состоит в том, что
функциональности — это не что иное, как продукт, предос-
тавляемый пользователям интернет-компанией, и если про-
дукт от релиза к релизу кишит багами, то вместе со счастьем
пользователей убывают и прибыли интернет-компании.
Основными источниками знания о функциональностях служат:
• документация...
...в электронном или распечатанном виде — спеки, макеты,
блок-схемы и прочие руководящие документы, на основа-
нии которых программист пишет код, а тестировщик пла-
нирует тестирование. Примером "прочего руководящего
документа" может служить "Инструкция Мастеркард о
формате файлов с транзакциями";
• хомо сапиенс, т.е.
информация постигается через межличностное общение.
Так, в случае возникновения сомнений никогда не мешает
подойти к продюсеру, хлопнуть его по плечу и попросить:
"Старина, будь добр, объясни мне по-простому пункт 146 вот
этого спека". Здоровая дружеская атмосфера в коллек-
тиве — это отличное средство для предотвращения оши-
бок в толковании (идеальной питательной среды для багов);
• сам веб-сайт,
который мы изучаем посредством эксплоринга. Экспло-
ринг (exploring (англ.) — "исследование", "разведка") —
это изучение того, как работает веб-сайт с точки зрения
пользователя.
Цикл тестирования ПО
135
Эксплоринг совершается каждым из нас, когда мы приходим на
некий веб-сайт и истязаем его, заполняя формы, нажимая на
кнопки, кликая на линки и совершая прочие действия для того,
чтобы понять, как работает та или иная функциональность.
В интернет-компаниях эксплоринг, как правило, применяется в
двух случаях:
• когда написан код и отсутствует документация. Подоб-
ная ситуация часто поджидает первого тестировщика, при-
ходящего в работающую интернет-компанию;
• для самообучения. Например, в крупных интернет-компа-
ниях вновь нанятые тестировщики в течение нескольких
недель проходят тренинг, часть которого посвящена экс-
плорингу.
Кстати, при эксплоринге источником ожидаемого результата слу-