Разделы портала

Онлайн-тренинги

.
Тестирование сайта. WAPT — программа для тестирования
03.10.2008 09:49

Автор: Михаил Брод

Разработав сайт и определив его будущее место на серверах провайдеров, хостеров или иных компаний, автор готов немедленно разместить его там и предоставить к нему доступ всем желающим. Но случается, что, сделав этот шаг, автор замечает, что его сайт выдает ошибки, медленно отвечает на запросы, становится недоступным в самых неожиданных ситуациях. Появляется необходимость определить, что же мешает нормальной работе проекта — внешние причины или внутренние, зависящие о того, насколько качественно и правильно он написан. Выполнить тестирование позволяют различные программы, об одной из них — WAPT — мы сегодня и поговорим.

Существует два основных способа тестирования - ручной и автоматизированный. Для ручного тестирования необходимо разработать программу тестов, подобрать тестировщиков, обучить их выполнять необходимую работу, да еще и повторять ее неоднократно до достижения необходимого результата. Автоматизированное тестирование снимает многие из вышеперечисленных проблем, оставляя за владельцем в сайта (поскольку мы говорим о тестировании сайтов) определение программы тестирования. Применение программы WAPT позволяет автоматизировать повторяемость тестов и получение результатов, уменьшить влияние «человеческого фактора», его ошибок, получить множество «виртуальных тестировщиков» на одном компьютере.

Количество виртуальных тестировщиков, запускаемых с одного компьютера, зависит от его конфигурации. Если у вас конфигурация не хуже Intel Pentium III 800-1000 МГц с 256-512 Мб памяти, то количество может достигать тысячи. Но это только в случае использования операционной системы типа Windows NT/2000. Для семейства Windows 9x количество виртуальных тестировщиков ограничено одной сотней, что регламентируется особенностями операционной системы. Количество виртуальных пользователей ограничено и объемом памяти компьютера. Ориентировочно можно считать, что для одного пользователя в процессе работы программы выделяется 100 килобайт для создания отчета и столько же — для ведения лога работы. В этом случае для тысячи виртуальных пользователей потребуется не менее 200 мегабайт памяти.

Количество виртуальных тестировщиков может достигать тысячи на одном компьютере

WAPT — программа для тестирования вебсайтов и локальных приложений с веб-интерфейсом под нагрузкой, имитирующей одновременную работу с ресурсом нескольких сотен или тысячи пользователей. Программа позволяет проанализировать характеристики работы приложения, выявить узкие места при различных нагрузках. Программа эмулирует действия реальных пользователей действиями виртуальных пользователей, когда каждый отдельный виртуальный пользователь эмулирует одного реального. Действия, которые требуется выполнять, описываются в сценарии тестирования. Следует отметить, что программа обеспечивает выполнение тестирования сайтов не только при непосредственном подключении к ним, но и при работе через прокси-сервера и при использовании защищенных соединений.

Интерфейс программы прост и понятен. В нем четыре основных раздела — окно записи последовательности выполнения тестов, окно редактора сценариев, окно запуска тестов и окно просмотра результатов тестирования. В окне записи теста производится запись последовательности действий, которые будет выполнять виртуальный пользователь при посещении сайта. Эти действия выполняются при просмотре сайта окне браузера (используется MS IE). После завершения этого процесса полученную последовательность действий можно отредактировать. И не только последовательность, но и добавить динамические характеристики в действия виртуальных пользователей.

В тестировании рассматривается три возможных сценария — тестирование под нагрузкой, тестирование эксплуатационных характеристик и тестирование на стрессовые ситуации, во время которых пытаются обнаружить пределы срабатывания и «узкие» места. Еще одна возможность — проведение тестирования в фоновом режиме, при котором появляется возможность одновременно работать на сайте и как реальному пользователю, что дает более реальную картину работы сайта.

Тестирование ведется по разным программам, в зависимости от возникающей потребности

А для того, чтобы тестирование все же провести, нужно разработать сценарий. Начинается он с определения основной задачи, которую вы ставите перед собой. Это может быть проверка на максимальное количество загрузок одной страницы в единицу времени, определение порога срабатывания на отказ, иные задачи. Далее, определяете процесс выполнения тестирования. Возможно два варианта — тестирование от определенного вами количества виртуальных пользователей, либо тестирование от одного до максимального установленного вами количества (так называемый пакетный режим). С помощью следующей установки вы определяете объем тестирования — либо количеством повторов теста каждым пользователем, либо длительностью тестирования.

При подготовке задания для тестирования можно выбрать уровень реалистичности «работы» виртуальных пользователей. Заключается настройка в выборе скорости подключения пользователей и уровня их «интеллекта». При высшем уровне доступна настройка случайных значений временных интервалов между повторами тестов и настройка скорости доступа. При среднем уровне — только скорость. При низшем недоступны никакие дополнительные настройки. При этом нужно помнить главное правило — чем выше уровень, тем меньше нагрузка на сервер.

После настройки базовых функций сценария, можно переходить собственно к созданию сценария тестирования. Для этого открываем окно Recorder и начинаем запись. Вводим первый адрес, по ссылкам переходим на другие страницы, выполняем определенные действия - все они фиксируются и сохраняются в логе работы. Закончив ввод ссылок, можно остановить запись и перейти в окно редактирования сценария. На этой странице выполняется настройка последовательности перехода (введенную последовательность можно изменить), ряд других настроек. К ним относятся:

  • добавление или удаление любой ссылки;
  • установление времени задержки между переходами — по умолчанию используются значения, полученные при записи последовательности переходов;
  • игнорирование ошибок. При выборе этой опции полученные во время тестирования ошибки не приводят к прерыванию теста. При отказе от игнорирования происходит аварийное завершение программы тестирования;
  • динамический расчет параметров запросов, в котором можно выбрать одну из десяти доступных функций расчета.

Созданный раз сценарий можно использовать неоднократно

После редактирования сценария его можно сохранить и перейти на закладку Runner. В открывающемся окне предлагается сделать дополнительные настройки сценария — определить тип тестирования (обычный или пакетный), а внутри типа выполнить дополнительные настройки. К ним относится выбор количества тестировщиков, времени тестирования или количество повторов, интервалы между повторами и некоторые иные параметры. В их числе — возможность ограничить количество запросов в секунду, настроить параметры формирования отчетов, определить задержку между началом тестирования отдельных пользователей. Последняя опция дает выбор между одновременным началом работы и работой с задержкой, для чего необходимо выставить ее значение в миллисекундах.

Еще одна группа переключателей предоставляет выбор режима синхронизации. Их три. При первом обработка ведется по времени, прошедшем между нажатием на ссылку и загрузкой страницы (Web transaction time), при второй — по времени загрузки страницы (от получения ответа сервера до завершения загрузки), при третьем — по времени реакции на запрос (с момента запроса до получения подтверждающего ответа сервера). В общем случае время при первом варианте равно сумме времени по второму и третьему вариантам. Также можно выбрать опцию сброса обработки запроса при превышении определенного вами максимально допустимого времени на запрос. Иначе можно получить бесконечное время ожидания при отказе сервера.

Закончив выполнение настройки можно переходить и к самому процессу. Если же сохранить сценарий, то его можно будет в дальнейшем использовать как для повторного тестирования, так и для создания новых сценариев на его основе.

Ну а после того, как тест будет выполнен, можно перейти и к самому интересному — анализу результатов. Для этого нужно перейти на новую закладку — Results. В этой закладке три опции - просмотр результатов в текстовом формате, графическом и графическом для пакетного режима. Сформированный отчет может быть сохранен в формате xls и в дальнейшем загружен в Excel (это дополнительный вариант к основному — сохранению в формате программы).

Настройки программы позволяют задать различные режимы тестирования

Тестовый отчет состоит из нескольких разделов. В первых выводится общая информация — что и как тестируется, с какими настройками. Далее располагается секция, в которой занесены все адреса страниц, по которым проводилось тестирование, с указанием времени задержки для перехода к запросу следующей страницы. Следующая секция содержит основные результаты тестирования — минимальное, среднее и максимальное время отклика при обращении к каждой тестируемой странице. Сетевая статистика показывает объем полученной и отправленной информации, а также среднюю скорость передачи. Далее идут сведения о виртуальных тестировщиках, количестве и типе ошибок, времени загрузки страниц. Попробовав выполнить тестирование небольшого сайта выяснил, что не могу установить причины ошибок. Ошибки есть, но в чем они заключаются, из-за чего они произошли? (Этот же самый отчет можно сформировать не только в текстовом виде, но и в виде html-страницы.)

На странице графических отчетов формируется информация по нескольким показателям — времени выполнения запроса (с момента отправки запроса до момента получения последнего байта запрошенной страницы), времени отклика сервера и времени загрузки страницы. А графики окна пакетного тестирования дают возможность просмотреть информацию, связанную с особенностями этого типа теста.

Весьма удачная программа, несложная в настройке и использовании. Позволяет проверить работоспособность веб-ресурса, как в реальном его исполнении, так и локально, помогает определить тонкие места, понять возможности ресурса по выдерживанию нагрузки от посетителей. Жаль только, что программа, разработанная российскими разработчиками — компанией Softlogica LLC — не имеет русского интерфейса и русского файла помощи.

Ссылки по теме

Материал впервые опубликован в рамках проекта .hostinfo: Тестирование сайта: WAPT — программа для тестирования и публикуется с согласия автора.