Статья только в электронной версии журнала
Пакеты проверки критических свойств систем различаются средствами разработки сценариев, анализа и поддержки виртуальных клиентов
Джим Рапоза (eWeek Labs)
Основанные на Web-технологиях средства тестирования производительности, проходившие оценку в Тестовом центре eWeek Labs, позволят компаниям проверять работу своих Web-сайтов и предпринимать меры по их усовершенствованию. Особо стоит выделить продукт WebLoad фирмы RadView Software, который предлагает оптимальный набор функций и более приемлем по цене для небольших компаний-разработчиков типа фирмы Arrayworks Software (www.arrayworks.com).
Рассмотренные продукты различаются как по цене, так и по возможностям редактирования тестовых сценариев, разнообразию типов проверяемого контента, широте диапазона воспроизводимых действий виртуальных клиентов, обратной связи в ходе проведения нагрузочных тестов, глубине анализа и содержательности отчетов. Для выбора наиболее подходящего пакета мы рекомендуем компаниям испытать предоставляемые производителями пробные версии ПО.
Общим же их свойством является возможность написания сценариев тестирования при помощи браузера, удобные средства установки тестовой нагрузки и создания отчетов о производительности, а также эмуляция запросов от тысяч виртуальных клиентов с множества машин с агентами. Эти продукты интегрируются с серверными средствами контроля производительности, например Performance Monitor под Windows NT, которые дают полезные сведения об использовании процессоров, но неудобны для оценки производительности Web-приложений.
Для проверки выбранных пакетов мы создали тестовые сценарии, эмулирующие активное использование Web-приложения при разнообразных типах нагрузок. Web-приложением служил размещенный на сервере eWeek Labs продукт Intertask фирмы Arrayworks, предназначенный для создания систем э-бизнеса.
WebLoad 4.0 фирмы RadView
При работе с первым из проверявшихся нами продуктов, WebLoad 4.0 производства RadView, наиболее интересными были тестирование, выявляющее достижение порога какой-либо конкретной характеристики, и выдача результатов непосредственно в ходе выполнения теста. Продукт очень привлекает и своей ценой: среди аналогов WebLoad наименее дорог.
Web-разработчикам понравится простота редактирования сценариев, создаваемых с помощью WebLoad, поскольку они пишутся на JavaScript, традиционно используемом на многих Web-страницах.
Как отметил старший разработчик Arrayworks Джон Бастоу, использование JavaScript расширяет возможности тестовых сценариев, позволяя, например, организовывать в них циклы, чего не сделаешь непосредственно через диалоговое окно свойств.
Настройка нагрузочных тестов осуществляется вполне естественным путем, хотя как разработчик Бастоу был недоволен пользовательским интерфейсом. Некоторые задачи, например комбинирование сценариев, задание временной продолжительности теста и добавление агентов, вызывают излишние сложности.
В то же время Бастоу очень высоко оценил в WebLoad функцию Cruise Control. Она обеспечивает целенаправленное тестирование, т. е. дает возможность задать пороговое значение какого-либо параметра (скажем, трехсекундное время отклика страницы) и потребовать, чтобы тест прерывался в момент достижения этого порога. “Такие тесты я, наверно, буду проводить в первую очередь”, - говорит Бастоу.
WebLoad генерирует детальные отчеты о производительности непосредственно в ходе нагрузочного теста и предоставляет разнообразные возможности управления процессом в реальном времени, позволяя, например, приостановить тест или на ходу изменить количество виртуальных пользователей. Слабым местом WebLoad, однако, являются итоговые отчеты. Тому же Бастоу трудно было отыскать в них нужную информацию, скажем, данные о производительности для отдельных Web-страниц.
WebLoad размещается на нижнем конце ценового диапазона опробованных нами продуктов. Его стартовая цена составляет $7500 и $30 000 соответственно для ста или тысячи виртуальных пользователей.
Benchmark Factory 2.5 фирмы Quest
После WebLoad мы перешли к продукту с довольно слабым пользовательским интерфейсом, но хорошими тестовыми возможностями - Benchmark Factory 2.5 производства Quest Software. Помимо Web-тестирования - главной цели наших испытаний - он может проверять производительность систем передачи сообщений и баз данных.
При первом знакомстве с Benchmark Factory у нас возникли небольшие затруднения, но, разобравшись с интерфейсом, мы получили доступ к исчерпывающему набору функций тестирования. Создав тестовый сценарий в окне браузера, мы могли его визуально редактировать в полях свойств, что довольно удобно, хотя нам больше нравится способ прямого построения сценария.
Уникальность пакета состоит в том, что он позволяет загрузить log-файл Webtrends непосредственно в качестве тестового сценария, т. е. осуществлять проверку на основе реальной пользовательской активности. Вдобавок при его помощи можно создать сценарий обследования всего Web-сайта.
Benchmark Factory предоставляет разнообразные опции для задания тестовых нагрузок и обладает такими сильными функциями, как многосеансовые сценарии. Имеются широкие возможности контроля функционирования каждого агента и виртуального клиента, в частности задания таких параметров, как периоды ожидания и длительность их активности.
В ходе теста Benchmark Factory обеспечивает обратную связь через простые линейные диаграммы производительности; они полезны, но не столь информативны, как отчеты в реальном времени, выводимые WebLoad. Мы также не могли временно приостановить уже начатый нагрузочный тест.
Самые сильные функции Benchmark Factory - это итоговые отчеты и анализ данных, которые позволяют глубоко вникнуть в полученную информацию и детально разобраться в статистике производительности отдельных страниц сайта.
Benchmark Factory поставляется с марта этого года по цене $14 400 на 50 виртуальных пользователей и $720 за каждые лишние полсотни клиентов.
SilkPerformer 4.0 фирмы Segue
Начав проверку SilkPerformer 4.0, поставляемого Segue Software, мы сразу поняли, что среди остальных объектов тестирования этот продукт выделяется очень удобным, интуитивно ясным и совершеным интерфейсом. SilkPerformer помог протестировать Web-приложения со всех возможных сторон, позволив легко задавать все необходимые для этого установки. Он особенно подходит для тех случаев, когда проверяющие не являются профессиональными разработчиками.
Задав исходные настройки, мы могли непосредственно редактировать тестовый сценарий на языке Benchmark Definition Language, который, хотя и представляет собой фирменную разработку Segue, осваивается без труда. SilkPerformer удобен и тем, что дает возможность пробного запуска теста для выявления ошибок в сценарии.
Для управления исполнением нагрузочного теста легко задаются самые разнообразные параметры. Например, мы могли запустить его в однопользовательском варианте.
В ходе проведения теста пакет выводит много полезных сведений, связанных с отдельными агентами и клиентами, но мало информирует непосредственно о результатах тестирования производительности.
SilkPerformer имеет приемлемые средства генерации отчетов и анализа данных, не выделяясь в этом плане ни в лучшую, ни в худшую сторону. Хорошо, что он может выводить информацию в формате HTML, хотя из-за того, что сведения о производительности систематизируются по процессам, а не страницам, бывает трудно понять смысл полученных данных.
Выпущенный в июле этого года SilkPerformer относительно дорог и поставляется по цене $25 000 для 100 виртуальных пользователей и $100 000 для 1000 пользователей.
Astra LoadTest 4.0 корпорации Mercury
Текстовый центр eWeek уже имел дело с Astra LoadTest 4.0 производства Mercury Interactive, и мы нашли, что продукт неплохо справляется с задачей определения производительности Web-серверов. При тестировании же сложного приложения онлайнового бизнеса фирмы Arrayworks он оказался не на высоте.
При том, что LoadTest без труда составляет сценарии проверки простых Web-сайтов, он абсолютно не способен воспроизвести все действия ПО Array- works, возможно, из-за того, что это приложение обильно использует фреймы и задействует необычные вызовы процессов.
Как и Benchmark Factory, этот пакет позволяет редактировать сценарии через поля свойств. Продукт оснащен отладчиком тестов, однако при попытке запуска некоторых тестов для Arrayworks тот “обрушивался”.
В области нагрузочного тестирования LoadTest гораздо сильнее. Легко задается множество опций, связанных с виртуальными клиентами. Большое количество данных выводится в процессе выполнения теста, и в любой момент можно переключиться на просмотр результатов. А функция мониторинга в реальном времени очень полезна для регулярных проверок производительности действующего Web-узла.
LoadTest, как и SilkPerformer, оснащен неплохими функциями генерации отчетов и анализа; создаваемые им отчеты хорошо отображают обобщенные сведения, но недостаточно детальны.
Пакет стоит $17 995 на 100 и $29 995 на 250 виртуальных пользователей. Версия 4.0 вышла в свет в июле этого года. e-Test Suite 4.2 фирмы RSW
При испытаниях e-Test Suite 4.2 производства RSW Software мы вновь столкнулись с весьма посредственным пользовательским интерфейсом. Но когда к нему привыкаешь, то обнаруживаешь, что пакет имеет немало мощных функций.
Очень сильная его сторона - создание и редактирование сценариев. Нагрузочное тестирование и вывод информации в реальном времени реализованы удовлетворительно, но не на уровне лучших образцов этой категории продуктов. Не очень впечатляют и возможности генерации отчетов. В конечном счете мы получили нужную информацию, хотя для того, чтобы докопаться до всех требуемых деталей, пришлось изрядно помучиться.
Запись и редактирование сценариев в e-Test Suite внешне кажутся довольно сложными, но во многом это связано с гораздо более мощными возможностями данного пакета в сравнении с другими продуктами. Визуальный редактор сценариев обильно использует идентифицирующие пиктограммы и позволяет назначать для отдельных страниц или процессов индивидуальные тесты. Продукт оснащен очень хорошим отладчиком сценариев.
Одной из мощных функций e-Test Suite является банк данных, из которого задаются наборы данных, предназначенных для заполнения форм и полей тестируемого Web-приложения. Как отмечает Бастоу, таким образом очень удобно проверять качество модулей ввода данных в приложении Arrayworks.
Пакет e-Test Suite выпущен в мае и стоит $19 000 в расчете на 100 виртуальных пользователей и $79 995 для 1000 виртуальных пользователей.
QALoad 4.7 корпорации Compuware
QALoad 4.7, выпущенный корпорацией Compuware, выделяется среди других продуктов своей ориентацией на разработчиков. Подобно Benchmark Factory он является частью крупного пакета, предназначенного для более широких целей, нежели только проверка производительности Web-сайтов.
QALoad имеет очень хорошие средства записи сценариев работы и позволяет создавать их исходные тексты на популярном языке Си. Но когда пришло время запустить подготовленный нами сценарий, оказалось, что его нужно еще скомпилировать, а в комплекте продукта, как это ни удивительно, компилятора не было. К счастью, у нас имелась копия Visual C++, которой мы и воспользовались, однако многие Web-разработчики вовсе не занимаются программированием на Си.
QALoad имеет большое количество опций, управляющих запуском тестов и способами проверки. В ходе тестирования выводится много информации как о виртуальных клиентах, так и о результатах проверки, что позволяет внимательно следить за осуществлением теста. Отличные функции генерации отчетов и анализа выдают подробные сведения о многих элементах, задействованных в нагрузочном тесте.
Стоимость QALoad соответствует высокой функциональности продукта с ориентацией на разработчиков. Он обойдется в $33 075 в расчете на 100 клиентов и $99 225 для 1000 виртуальных клиентов. Версия 4.7 была выпущена в августе.
Со старшим аналитиком Джимом Рапозой можно связаться по адресу: jim_rapoza@ziffdavis.com.
Перспективы сервисной модели
Дж. Р.
Ряд производителей предлагает воспользоваться своими службами тестирования Web-приложений, однако модель подписки пока только дополняет, а не заменяет готовые продукты.
Службы тестирования Web-производительности, исследованные в eWeek Labs, фокусируют внимание на оценках работоспособности и общей производительности сайтов и Web-приложений при взаимодействии с одним виртуальным клиентом, а не при работе под большой нагрузкой. К такому типу служб относится, скажем, SiteAngel фирмы BMC Software.
Но появляются и новые игроки, такие как iSharp и корпорация Envive, которые могут осуществлять нагрузочные тесты с большим числом виртуальных клиентов.
Другие службы занимаются оценками работоспособности и общей производительности всей инфраструктуры Интернета. Классический пример - служба фирмы Keynote Systems, осуществляющая мониторинг с использованием агентов, размещенных по всему миру.
По мнению eWeek Labs, многие из этих служб могут принести реальную пользу, особенно для администраторов, нуждающихся в мониторинге производительности живого сайта. Но большинство этих средств не очень подходит для разработчиков, так как им необходимо проводить стрессовые испытания сайтов, часто бывающих не подключенными к Интернету. Вдобавок эти службы, как правило, не позволяют разрабатывать детальные сценарии тестов, что необходимо при тестировании сложных Web-приложений.
Порой компании обращаются к подписным службам потому, что это дешевле, однако рассмотренные нами службы не обладают этим качеством. Большинство их услуг обойдется дороже, чем покупка соответствующих приложений.
Все производители, чьи продукты мы сегодня проверяли, уже имеют или готовят сервисную модель своих предложений. Большинство из них еще не хочет раскрывать конкретных сведений о новых службах. Но в основном они ориентируются на гибридную модель, где разработчик сможет использовать готовое ПО для создания тестовых и нагрузочных сценариев, а служба будет заниматься нагрузочными тестами и виртуальными клиентами. В этом случае разработчики смогут конструировать тесты под конкретные приложения, но им не потребуются сложные системы для генерации больших нагрузок или виртуальных клиентов. eWeek Labs видит смысл в этой оптимизированной модели, но считает необходимым обратить внимание на цены.
Как подобрать правильный тест
Что и как надо тестировать, если вы+
+дизайнер Web-сайта и создатель HTML-страниц. Проверяйте время ожидания для страниц с большим количеством графической и мультимедийной информации. Здесь важно знать, какие типы контента вызывают задержки и когда уровень нагрузок менее существен.
+разработчик Web-приложений. Прогоните ваше приложение через серию тестов с разнообразными сценариями. Обследуйте его всеми мыслимыми способами. Проверьте результаты по отдельным страницам и процессам, отыщите точки сбоев, лишний код и узкие места.
+администратор Web-сайта. Прежде всего проверьте взаимодействие между ПО и аппаратурой. Протестируйте сайт на высокие нагрузки и добейтесь его приемлемой производительности. Помимо этого регулярно проводите плановые проверки или используйте сервис-провайдера для контроля изменений производительности сайта во времени.