Выбрать страницу

В этой статье мы сравниваем LoadRunner и LoadView на примере практического сценария тестирования в демонстрационном приложении PhoneNumberMonitoring.com. Последовательность действий проста:

Запустить приложение → Войти в систему → Перейти на вкладку → Выйти из системы

Однако реализация этого сценария в LoadRunner и LoadView полностью различается — особенно с точки зрения усилий по настройке, гибкости, масштабируемости и точности моделирования реальных условий.

Использование LoadRunner: Мощь на уровне протокола с высокой сложностью

LoadRunner предоставляет глубокий контроль на уровне протокола с помощью VuGen (Virtual User Generator) и поддерживает протоколы, такие как HTTP/HTML, SAP, Web Services, TruClient и т. д. Несмотря на гибкость для корпоративного тестирования, даже базовая настройка требует значительных усилий.

Для этого теста мы использовали протокол Web HTTP/HTML, который подходит для веб-приложений без полной отрисовки браузера.

Что мы сделали в LoadRunner

  • Выбор протокола: Выбрали HTTP/HTML; однако выбор правильного режима записи (на основе HTML или URL) — критически важное решение, которое часто требует проб и ошибок для корректной генерации скрипта.
  • Запись с помощью VuGen: Настроили отображение портов (как на скриншоте) и выбрали уровень захвата (например, WinInet или Socket) — каждый из них ведет себя по-своему.
  • Настройка корреляции: Вручную извлекли динамические данные сессии с помощью web_reg_save_param_ex и JSON path. Если пропустить корреляцию — тест упадёт, нет автоподсказок или подсветки в интерфейсе.
  • Параметризация: Заменили жёстко заданные значения на данные из файлов с помощью утилиты параметризации данных LoadRunner.
  • Think Time и транзакции: Обернули ключевые действия в lr_start_transaction() и добавили lr_think_time() для имитации задержек пользователя.
  • Обработка сессий: Вручную управляли cookie и пользовательскими заголовками между шагами.
  • Продвинутая логика: Добавили условия if-else, циклы и собственный код на C для управления потоком.


Основные сложности и ограничения LoadRunner

Несмотря на мощный функционал, LoadRunner имеет ряд проблем: Сложность записи

  • Выбор между HTML- или URL-режимом записи часто влияет на корректность скрипта.
  • Выбор между уровнем захвата WinInet и Socket может запутать новичков — некоторые приложения корректно работают только при определённых режимах.

Отладка логов и устранение ошибок

  • Логи LoadRunner зависят от протокола и часто трудны для понимания — HTTP-логи, дампы XML и логи воспроизведения разбросаны по вкладкам и сложно связываются между собой в реальном времени.
  • Нет функции воспроизведения сессии пользователя — это усложняет визуальное определение ошибки при проигрывании скрипта.

Протокольная корреляция

  • Каждый протокол (SAP, Oracle, HTTP и т. д.) требует своего подхода к корреляции.

Протокол HTTP/HTML

web_reg_save_param, web_reg_save_param_ex, web_reg_save_param_json, web_reg_save_param_xpath (HTTP/HTML, Web Services), web_reg_save_param_attrib и т. д.

Протокол SAP GUI

sapgui_get_text, sapgui_select_active_window, sapgui_set_property, sapgui_get_property, sapgui_status_bar_set_text и т. д.

Протокол Oracle NCA

nca_set_window, nca_set_menu_item, nca_edit_set, nca_button_press, nca_get_text и т. д.

Протокол Web Service

web_custom_request, web_service_call и т. д.

  • Нет единой системы корреляции — даже TruClient работает совершенно иначе и не использует общую логику с HTTP-протоколом.

Производительность и удобство

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

Настройка распределённого тестирования в LoadRunner

  • LoadRunner требует несколько компонентов: VuGen для скриптов, Controller для оркестрации и Load Generators (LGs) для распределения нагрузки.
  • Нужна ручная настройка, правила для фаервола, открытие портов и настройка сети.
  • Масштабируемость и оркестрация исполнения добавляют сложности — не подходит для гибких команд, нуждающихся в быстрых итерациях.

LoadRunner хорош для устаревших систем, но не оптимален для современных веб-приложений и спринт-подхода.

Использование LoadView: Простое нагрузочное тестирование с настоящим браузером

LoadView предлагает современный подход с тестированием нагрузки в облаке и в реальном браузере. Он имитирует поведение настоящего пользователя в браузерах, таких как Chrome или Edge, проверяя не только ответ сервера, но и реальную производительность интерфейса (метрики UX).

Для того же сценария в PhoneNumberMonitoring.com мы использовали EveryStep Recorder и завершили настройку теста за менее чем 5 минут — без кода, конфигураций и плагинов.

Почему с LoadView было легко

  • Запись как у реального пользователя: Просто кликайте, вводите текст, скролльте — как обычный пользователь.

  • Без корреляции: LoadView сам захватывает динамические значения (токены, сессии).
  • Полная поддержка скриптов на C#: Для продвинутых пользователей LoadView предлагает полную поддержку C# — с циклами, условиями, переменными и прочим — что позволяет полностью адаптировать сценарии под себя.

Пример: Прерывание выполнения скрипта при ошибке валидации контента

  • Предустановленные cookie и заголовки: Можно заранее задать заголовки запроса, аутентификацию, cookie и user-agent для более точного моделирования реальных условий.
  • Подходит новичкам и экспертам: Простая запись для новичков и мощный функционал для профессионалов — редкое сочетание.
  • Полная отрисовка браузером: Поддержка SPA, AJAX, WebSockets — вы тестируете то, что реально видит пользователь.
  • Геораспределённое тестирование: Можно выбрать из 40+ регионов мира для моделирования нагрузки от реальных пользователей.

  • Повтор сессии в реальном времени: Можно посмотреть выполнение теста по шагам, включая загрузку страниц и ввод — в LoadRunner это невозможно.
  • Метрики интерфейса: Прямо в отчёте отображаются LCP (крупнейшая отрисовка контента), FCP (первая отрисовка) и TTI (время до интерактивности).

  • Визуальный редактор сценариев: Изменяйте шаги визуально — без кода и ручного разбора логов.

Сравнение функций: LoadRunner vs LoadView

Функция LoadRunner LoadView
Варианты записи Множество уровней захвата (WinInet, Socket), выбор протоколов Запись в один клик через браузер
Необходимость скриптов Да – продвинутые скрипты, параметризация, корреляция Нет – записал и запустил без скриптов
Обработка динамических значений Ручная – в зависимости от протокола Автоматическая корреляция
Симуляция настоящего браузера Только через TruClient (тяжёлый, медленный) Нативный Chrome/Edge
Метрики фронтенда Ограничены в TruClient Полный доступ (FCP, LCP, TTI)
Повтор сессии Недоступен Доступен — с воспроизведением
Время создания теста 45–90 минут 5–10 минут
Анализ логов Сложные логи по протоколам, ручная корреляция Логи по шагам в UI, скриншоты
Обработка специфики протокола Зависит от типа приложения (HTML, SAP, Oracle) Унифицированный рекордер для всех веб-флоу
Распределённое тестирование Требует генераторы нагрузки и контроллер Облачное выполнение по умолчанию
Требуемый уровень навыков Высокий – нужен код и отладка Низкий – тестировать могут даже бизнес-пользователи
Стоимость и лицензии Дорогие корпоративные лицензии Прозрачная модель оплаты по использованию

Влияние на реальные приложения

Сценарий LoadRunner LoadView
Оформление заказа в e-commerce Требуется скриптинг для асинхронных токенов и JS-задержек Настоящий браузер и валидация UX при оформлении
Банковские
панели мониторинга
Нужна глубокая корреляция, отслеживание токенов Легко смоделировать логин и переходы по защищённым панелям
Гео-нагрузка Настройка LG для каждого региона Простой выбор региона через UI
Тесты в agile-спринтах Сложно и долго переделывать и перезапускать тесты Быстрое создание и повторное использование
Демо и POC для клиентов Нужна предварительная настройка и координация Запись и мгновенный экспорт результатов теста

Итоговое резюме

Выберите LoadRunner, если:

  • Вам нужно глубокое тестирование на уровне протоколов
  • Вы работаете с легаси-приложениями (SAP, Oracle, мейнфреймы)
  • У вас технически подготовленная команда и отдельная инфраструктура

Выберите LoadView, если:

  • Вы тестируете современные веб-приложения
  • Вам важны показатели фронтенда и пользовательский опыт
  • Вам нужен быстрый и простой цикл тестирования с поддержкой настоящих браузеров