В этой статье мы сравниваем 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, если:
- Вы тестируете современные веб-приложения
- Вам важны показатели фронтенда и пользовательский опыт
- Вам нужен быстрый и простой цикл тестирования с поддержкой настоящих браузеров