HP LoadRunner

Материал из devopswiki
Перейти к: навигация, поиск

HP LoadRunner — это решение для автоматизированного нагрузочного тестирования. Программа может выполнять как тестирование различных приложений, так и тестирование сайтов различного уровня сложности. Тестирование выполняется путем подключения виртуальных пользователей, которые выполняют различные скрипты (действия), по различным сценариям. Программа имеет соответствующие наборы инструментов для проведения тестирования. Так же в состав HP LoadRunner входит набор инструментов для работы с приложением по различным протоколам. Работа может выполняться удаленно, через прокси-сервер и т. п.

Состав HP LoadRunner

HP LoadRunner состоит из следующих приложений:

  • Virtual User Generator (VuGen) — служит для разработки нагрузочных скриптов.
  • Load Generator — служит для генерации нагрузки (генерации виртуальных пользователей).
  • Controller — служит для разработки и запуска сценариев нагрузки.
  • Analysis — служит для анализа результатов нагрузочного тестирования.

Модуль Virtual User Generator

Virtual User Generator служит для разработки скриптов, которые будут задействованы для дальнейшего тестирования. Имеет большой набор инструментов, позволяющих написать максимально продуктивные скрипты для тестирования приложения. Часть инструментов позволяет вести автоматическое написание скриптов. Достаточно включить “запись” и все действия выполняемые пользователем на компьютере будут записываться в скрипт. Хотя в дальнейшем такие скрипты желательно вручную оптимизировать, повышая их эффективность и безотказность.

Также данный модуль имеет функции для настройки работы с параметрами защиты тестируемого приложения. Допустим, если трафик сайта защищен недоверенным сертификатом, то при входе на такой сайт защита будет выдавать предупреждение о том, что надежность сайта подозрительна. В результате настроек HP LoadRunner для работы с таким сертификатом, в автоматическое написание скриптов не будут попадать лишние данные о защите сайта, что существенно улучшит работу скрипта.

Скрипты созданные данным модулем имеет гибкую структуру, которую можно настраивать в зависимости от требований к тесту. К примеру, структура скрипта по умолчанию состоит из трех “секций”:

  • Vuser_init - в данную секцию записываются начальные действия пользователя, которые приведут к запуску тестируемого модуля приложения
  • Action – в эту секцию записывается основная часть скрипта, которая и будет производить нагрузку на тестируемый модуль
  • Vuser_end – в последней секции записываются действия, приводящие к корректному закрытию модуля и завершения работы пользователя с тестируемым приложением.

Такой подход к написанию скриптов обеспечивает очень высокую эффективность работы скрипта.

Пример: 100 пользователей подключились к приложению, и прошли этап Vuser_init, после чего выполняют 100 раз часть скрипта записанную в этапе Action, и по одному разу выполняют часть скрипта из Vuser_end. Таким образом, наши виртуальные пользователи не будут тратить лишнее время на выполнение лишних 99 раз Vuser_init, Vuser_end.

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

Модуль Load Generator

Load Generator выполняет генерацию нагрузки на систему путём генерации виртуальных пользователей.

Модуль Controller

Controller – основной модуль программы, создающий и выполняющий сценарий проведения тестирования. В этот модуль подключаются скрипты написанные в Virtual User Generator.

Администратор имеет возможность создать следующий сценарий тестирования:

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

Рассматриваемый модуль имеет очень информативный интерфейс, то есть после запуска выполнения сценария, можно детально следить за его выполнением.

Администратор имеет возможность следить за следующим:

  1. Какие группы виртуальных пользователей, на каком этапе находятся.(Пример: 15 пользователей ожидают своей очереди, 5 пользователей готовятся к выполнению первой секции скрипта(Vuser_init) 200 пользователей выполняют секцию Action, 100 пользователей успешно выполнили свои сценарии (то есть прошли все секции скрипта, по заданному сценарию), 20 пользователей потерпели неудачу и столкнулись с ошибкой приложения. Также детально посмотреть какая ошибка, у какого пользователя, и в какой секции скрипта возникла.)
  2. Графики, которые отображают прохождения процесса тестирования. Различные графики можно подключить в любой момент выполнения сценария, и они отобразят данные, которые записывались с самого старта сценария. Графики имеют также различные настройки для удобного мониторинга процесса. (Примеры графиков: Пользователей за время, ошибок за время, использование памяти или других ресурсов сервера по времени, и пр.)

По завершению выполнения сценария администратор может перейти в модуль Analysis.

Модуль Analysis

Analysis служит для составления детальных отчетов о проделанном тестировании. Отчеты можно формировать двух типов:

  • отчет в виде документа (Word-файла *.doc)
  • отчет в виде html страницы (можно просматривать различными интернет-браузерами).

Перед созданием отчета администратор настраивает интересующие его показатели, которые попадут в отчет. То есть можно включить различные графики, которые записывались во время проведения тестирования. Стили отображения этих графиков (линейные, объемные и т.п.). Ошибки, которые возникали в ходе выполнения скриптов пользователями и т.п. В общем, в отчет можно включить все, что происходило во время тестирования. После настройки отчета, и нажатия “кнопки” “создать отчет” администратор получает детальную отчетность о проведенном тестировании.

В отличие от GUI-тестов нагрузочные тесты (VuGen) работают с трафиком между клиентом и сервером (прикладной и транспортный уровень), а для генерации нагрузки можно использовать одну рабочую станцию.

HP LoadRunner позволяет мониторить системные ресурсы и может интегрироваться с HP Quality Center для хранения нагрузочных скриптов, сценариев, результатов испытаний и с HP QuickTest Professional для нагрузки с помощью GUI теста.

Поддерживаемые технологии

  • Протоколы терминальных сессий Citrix и Microsoft RDP
  • Клиент/серверные протоколы для DB2 CLI, DNS, Informix, Microsoft .NET, MS SQL, ODBC, Oracle (2-tier), Sybase Ctlib, Sybase Dblib, и Windows Sockets
  • Пользовательские типы скриптов: C, Java, Javascript, VB script, VB, VBNet
  • Распределенные системы - протоколы COM/DCOM и Microsoft .NET
  • E-business. Протоколы для AJAX (Click and Script), AMF, FTP, LDAP, Microsoft .NET,Web (Click and Script), Web (HTTP/HTML) и Web Services.
  • Enterprise Java Beans для EJB-тестирования.
  • ERP/CRM. Для протоколов Oracle NCA, Oracle Web Applications 11i, Peoplesoft Enterprise, Peoplesoft-Tuxedo, SAP-Web, SAPGUI, SAP (Click and Script) и Siebel (Siebel-DB2CLI, Siebel-MSSQL, Siebel-Oracle и Siebel-Web).
  • Java. Для протокола Java Record/Replay.
  • Terminal Emulation (RTE).
  • Почтовые протоколы: Internet Messaging (IMAP), MS Exchange (MAPI), Post Office Protocol (POP3) и Simple Mail Protocol (SMTP), а также Middleware, Jacada и Tuxedo (6, 7)
  • Мультимедийные протоколыMediaPlayer (MMS) и RealPlayer

Ссылки

HP LoadRunner в Wikipedia

Технические детали продукта HP LoadRunner

Основы продукта HP LoadRunner