Читайте также:
|
|
Вопрос: что можно протестировать в интернет-проекте? Легитимные варианты ответа:
• интерфейс пользователя (например, что определенная кнопка называется "Купить", а не "Кипуть");
• скорость работы веб-сайта (например, то, что при одновременной работе с сайтом 200 пользователей скорость загрузки веб-страницы составляет не более 5 секунд);
• документацию (например, что спек не содержит противоречий и неточностей).
Все это правильно, но есть нечто более важное.
Вопрос: для чего пользователи приходят на наш веб-сайт? Ответ: для удовлетворения своих потребностей — покупка книг, чтение анекдотов, проверка баланса кредитной карты и т.д. и т.п.
Вопрос: как можно удовлетворить потребности пользователя? Ответ: нужно
• придумать (продюсер),
• написать (программист),
• протестировать (тестировщик) и
• передать пользователям (релиз-инженер)
средства, которые эти потребности удовлетворят. Этими средствами являются ФУНКЦИОНАЛЬНОСТИ интернет-проекта.
Вот формальное определение:
функциональность (functionality, feature) — это средство для решения некой задачи.
Примеры из реальной жизни
Функциональность компьютерных колонок "Volume" решает задачу
"Как изменить громкость звука".
Функциональность "Казино" решает задачу "Как незаметно для себя
потратить все отпускные деньги".
Функциональность "Принтер" решает задачу "Как распечатать документ".
Тестирование Дот Ком. Часть 2
Примеры из виртуальной жизни
Функциональность "Корзина" решает задачу "Как хранить информацию
о товаре, выбранном пользователем".
Функциональность "Добавление товара в корзину" решает задачу "Как
добавить товар в корзину".
Функциональность "Удаление товара из корзины" решает задачу "Как
удалить товар из корзины".
Проверка работы функциональностей называется функциональным тестированием (functional testing).
Стратегический момент: так как функциональное тестирование — это ось, вокруг которой вертится деятельность большинства тестировщиков, то, следовательно, вокруг нее же будет "вертеться " и большинство наших последующих бесед.
Важность функционального тестирования состоит в том, что функциональности — это не что иное, как продукт, предоставляемый пользователям интернет-компанией, и если продукт от релиза к релизу кишит багами, то вместе со счастьем пользователей убывают и прибыли интернет-компании.
Основными источниками знания о функциональностях служат:
• документация...
...в электронном или распечатанном виде — спеки, макеты, блок-схемы и прочие руководящие документы, на основании которых программист пишет код, а тестировщик планирует тестирование. Примером "прочего руководящего документа" может служить "Инструкция Мастеркард о формате файлов с транзакциями";
• хомо сапиенс, т.е.
информация постигается через межличностное общение. Так, в случае возникновения сомнений никогда не мешает подойти к продюсеру, хлопнуть его по плечу и попросить: "Старина, будь добр, объясни мне по-простому пункт 146 вот этого спека". Здоровая дружеская атмосфера в коллективе — это отличное средство для предотвращения ошибок в толковании (идеальной питательной среды для багов);
• сам веб-сайт,
который мы изучаем посредством эксплоринга. Экспло-ринг (exploring (англ.) — "исследование", "разведка") — это изучение того, как работает веб-сайт с точки зрения пользователя.
Цикл тестирования ПО
Эксплоринг совершается каждым из нас, когда мы приходим на некий веб-сайт и истязаем его, заполняя формы, нажимая на кнопки, кликая на линки и совершая прочие действия для того, чтобы понять, как работает та или иная функциональность.
В интернет-компаниях эксплоринг, как правило, применяется в двух случаях:
• когда написан код и отсутствует документация. Подобная ситуация часто поджидает первого тестировщика, приходящего в работающую интернет-компанию;
• для самообучения. Например, в крупных интернет-компаниях вновь нанятые тестировщики в течение нескольких недель проходят тренинг, часть которого посвящена экс-плорингу.
Кстати, при эксплоринге источником ожидаемого результата служат наши драгоценные жизненный опыт, опыт работы и другие ранее перечисленные помощники, не относящиеся к спекам.
Кстати, хорошая идея для тестировщика, помогающая лучше понять функциональности своего проекта, — это стать обычным пользователем своего и аналогичных веб-сайтов. Выражение "Eat your own dog food" ("Ешь еду своей собаки") для тестировщика означает "Если ты тестируешь веб-сайт, продающий книги, то ты должен сам покупать книги по Интернету".
Идем дальше.
Конечной целью этапа Изучение и анализ предмета тестирования является получение ответов на два вопроса:
а. Какие функциональности предстоит протестировать?
б. Как эти функциональности работают?
После того как ответы получены, мы переходим к следующему этапу цикла.
Планирование тестирования
Эта стадия требует от тестировщика наибольшего творчества и профессионализма, так как именно на ней решается множество головоломок, отвечающих на один простой вопрос: "Как будем тестировать?", причем качество продукта (а значит, и счастье пользователей) напрямую зависит от, не побоюсь сказать, мудрости найденных решений.
Тестирование Дот Ком. Часть 2
Мудрость найденных решений проявляется в двух вещах:
а) кратких, простых и изящных путях для проверки функциональностей;
б) компромиссе между
объемом тестирования, который возможен в теории;
объемом тестирования, который возможен на практике.
Ответы на "один простой вопрос" предстают перед миром в виде тест-документации (test documentation), ядро которой составляют наши любимые тест-кейсы. Во многих случаях создание тест-документации сопровождается написанием тестировщиком вспомогательных тулов (tool — компьютерная программа), которые облегчают исполнение тестирования.
Идем дальше.
Дата добавления: 2015-12-07; просмотров: 131 | Нарушение авторских прав