В нашей предыдущей статье «Тестирование веб-нагрузки: LoadRunner против LoadView — сценарий из реальной жизни» мы показали, как смоделировать типичный пользовательский путь на PhoneNumberMonitoring.com — запуск сайта, вход в систему, переход по вкладкам и выход — с помощью LoadRunner и LoadView. В этом сравнении были подчеркнуты различия в усилиях по написанию скриптов, сложности настройки и удобстве использования.
Продолжая тот эксперимент, в этой статье представлено подробное сравнение LoadView и LoadRunner, с акцентом на подготовку сценариев тестирования и возможности отчетности. Мы рассматриваем, как каждый инструмент справляется с выполнением реального пользовательского потока с несколькими виртуальными пользователями, а также насколько эффективно они обрабатывают:
- Видимость выполнения и точность
- Отчеты в реальном времени и после теста
- Динамический контент и поведение интерфейса
- Диагностика и отладка на уровне сессий
Обзор
Это сравнение сосредоточено исключительно на опыте настройки тестов и возможностях отчетности LoadView и LoadRunner — двух ведущих инструментов для тестирования производительности.
Оценка основана на реальном пользовательском потоке — запуск, вход, выполнение действий, выход — выполненном в динамическом веб-приложении. Основное внимание уделяется:
- Простоте настройки сценариев нагрузки
- Видимости во время выполнения теста
- Глубине и ясности тестовых отчетов
- Функциям отладки, таким как видеоповтор, захват скриншотов, классификация ошибок и waterfall-анализ
Поскольку современные приложения все чаще используют SPA (одностраничные приложения) и интерфейсы, насыщенные JavaScript, инструменты, способные имитировать поведение настоящего браузера и предоставлять визуальную диагностику в реальном времени, становятся как никогда важными.
- Подготовка сценариев тестирования
LoadView
Дизайнер сценариев на основе реального браузера
LoadView записывает фактические взаимодействия с браузером (клики, прокрутки, ожидания, AJAX-события) напрямую в Chrome или Edge. Каждый шаг отображается в виде визуальной схемы, что обеспечивает полное соответствие пользовательскому опыту.
Визуальный мастер настройки нагрузки
Простая настройка:
- Типы пользовательской нагрузки: Load Step Curve, Dynamic Adjustment Curve и Goal-Based Curve
- Профили нагрузки: ступенчатая, экспоненциальная, всплесковая, длительная, отказоустойчивая и т. д.
- Параметры сценария: продолжительность теста, рост нагрузки, снижение, удержание
- Регионы: более 40 глобальных облачных локаций (например, Сингапур, Калифорния, Лондон)
- Браузеры: Chrome или Edge для точной имитации рендеринга
Настройка без окружения
Нет необходимости устанавливать и управлять генераторами нагрузки (LG), виртуальными машинами, правилами брандмауэра или сетевыми конфигурациями. Вся инфраструктура автоматически разворачивается в облаке LoadView.
Условия на уровне шагов
Настройка критериев успешности/провала для каждого шага, таких как:
- Проверка текста
- Видимость элемента
- JavaScript-события
- HTTP-коды статуса и др.
Предпросмотр в один клик
Запуск предварительного теста с одним пользователем для проверки всего сценария до запуска полной нагрузки. Включает рендеринг интерфейса, проверки и метрики отклика.
Дополнительные замечания:
- Поддерживает имена транзакций, задержки, замер времени, Lighthouse, ограничение сети и др.
- Условная логика, ожидания и циклы доступны из коробки.
LoadRunner
Проектирование сценариев через Controller
Сценарии создаются в LoadRunner Controller с назначением:
- Групп пользователей
- Графиков наращивания нагрузки
- Think time и интервалы между действиями
- Продолжительности выполнения
Ручная настройка генераторов нагрузки
Тестировщикам необходимо вручную развернуть и настроить LG на разных машинах или облачных хостах. Для связи между LG и Controller требуются настройки брандмауэра/NAT, открытые порты и права доступа.
Геотестирование затруднено
Чтобы сымитировать нагрузку из разных регионов, необходимо вручную развернуть серверы в каждой целевой зоне, настроить доступ и синхронизировать запуск тестов.
Базовая логика валидации
Проверка шагов основана на протокольных ответах (например, HTTP 200). Визуальная проверка возможна только в скриптах TrueClient, которые ресурсоемкие и требуют дополнительного обслуживания.
Предпросмотр выполнения
Просмотр сценариев с интерфейсом доступен только в TrueClient. Для других протоколов сухой прогон не дает визуального подтверждения маршрута.
Дополнительные замечания:
- Требуются знания скриптинга и протоколов
- Выбор протокола (Web HTTP/HTML, SAP, Citrix и др.) влияет на структуру скрипта
- Видимость выполнения в реальном времени
LoadView
Богатые отчеты в облаке, доступные в реальном времени: Производительность отображается непрерывно в процессе теста.
Непрерывное обновление ключевых метрик: Показатели, такие как среднее время отклика, 90-й процентиль, минимум, максимум и уровень ошибок, обновляются в реальном времени.
Классификация ошибок для быстрого анализа причин: Ошибки разделены на категории: валидационные, клиентские, серверные и сторонние.
PDF-отчеты и расшариваемые дашборды: Можно легко делиться результатами с командами или экспортировать сводки.
Интерактивные графики: Времена отклика, распределение ошибок и активность виртуальных пользователей — помогают быстро выявить пики, тренды и сбои. Обзорный режим показывает общий прогресс теста.
Верхняя часть графика показывает внезапный скачок среднего времени отклика, который коррелирует (см. красные стрелки) со снижением успешных сессий и ростом неудачных (нижний график). Это идеальный пример того, как LoadView визуально связывает деградацию производительности с поведением пользователей.
Отслеживание сессий во времени: Помогает оценить стабильность теста на протяжении всего выполнения.
График роста виртуальных пользователей: Визуализация наращивания нагрузки в сравнении с производительностью.
На этом графике видно, как число виртуальных пользователей масштабировалось с течением времени. Зеленая линия — фактическое количество пользователей, оранжевая — ожидаемое, фиолетовая — максимальный предел.
Статистика серверов по регионам: Позволяет выявить региональные задержки или проблемы.
Навигация по сессиям: Анализ путей отдельных виртуальных пользователей и данных отклика.
Погружение в конкретные сессии: Просмотр сетевых данных на уровне пользователя и изоляция источников ошибок.
Этот график показывает, как несколько облачных агентов (AWS, Azure) делили нагрузку. CPU и память оставались сбалансированными, что подтверждает эластичную архитектуру LoadView.
Сравнение исторических запусков тестов в LoadView
Сравнение результатов нескольких выполнений тестов
Хотя отчеты в реальном времени и статические отчеты имеют ценность, LoadView также предоставляет возможность отслеживания исторических тенденций «из коробки». Каждый запуск теста автоматически архивируется и может быть сопоставлен с предыдущими выполнениями.
Сравнение производительности «До/После»
Это позволяет командам оценивать изменения в коде приложения, инфраструктуре или сторонних сервисах, напрямую сравнивая базовые показатели производительности с последними результатами — без сложной интеграции или настройки.
Не требует настройки
В отличие от LoadRunner, который обычно требует интеграции с внешними инструментами, такими как InfluxDB, Grafana или HP ALM для анализа трендов и исторических сравнений, LoadView предоставляет встроенную визуализацию истории через простой веб-интерфейс — без дополнительной настройки или инфраструктуры.
Пример: Команда разработчиков может сравнить тест двухнедельной давности (до оптимизации базы данных) с последним выполнением и сразу увидеть улучшения по времени отклика и количеству ошибок.
Дополнительные преимущества:
- QA-команды могут проводить функциональную и визуальную проверку потоков
- Снижение трудозатрат на отладку за счёт отсутствия необходимости анализа логов или только бэкенд-данных
LoadRunner
Графики Controller (только в лицензированной версии)
При наличии лицензии LoadRunner Controller предоставляет метрики выполнения, такие как:
- Активные виртуальные пользователи (VUsers)
- TPS (транзакций в секунду)
- Ошибки в секунду и некоторые другие
Эти графики недоступны в бесплатной версии, что существенно ограничивает видимость во время выполнения.
Отсутствие визуальной обратной связи
Скриншоты, визуальная валидация и данные на уровне DOM недоступны без использования TrueClient. Даже с TrueClient такой анализ затруднен при высокой нагрузке.
Нет разбивки по географическим регионам
Из коробки LoadRunner не предоставляет разбивку производительности по регионам. Требуется кастомный скриптинг или тегирование.
Отсутствие мониторинга на уровне сессий
LoadRunner не предоставляет информацию по отдельным сессиям, что затрудняет отслеживание, на каком шаге произошел сбой, что отобразил браузер в этот момент и как развивалась сессия.
Дополнительные ограничения:
- Нет встроенного захвата скриншотов
- Нет данных о сессиях в реальном времени
- Анализ причин сбоев возможен только после теста в инструменте Analysis
- Сводная таблица сравнения
Функция | LoadView | LoadRunner |
Конструктор сценариев | Визуальный, на основе браузера | На основе скриптов и протоколов (Controller) |
Гео-настройка нагрузки | Встроена, управляется из облака | Требуется ручное развёртывание LG |
Видимость на уровне сессий | Полная, с повторами и скриншотами | Отсутствует |
Waterfall-график | Да, на уровне браузера | Недоступно |
Воспроизведение видео | Да | Нет |
Метрики интерфейса (FCP, LCP, TTI, CLS) | Да | Нет |
Категоризация ошибок | Автоматическая по типам | Ручной разбор логов |
Совместное использование отчетов | Облачные дашборды, PDF, Excel, ссылки | Только локальные HTML или PDF |
Сравнение исторических результатов | Встроено | Требуется ALM/внешняя настройка |
Отчеты для заинтересованных сторон | Да, дружелюбные для бизнеса | Только технические |
Настройка окружения | Облачное, не требует инфраструктуры | Требуется настройка генераторов нагрузки |
Оптимальный сценарий использования | Веб-приложения, UX, современные интерфейсы | Бэкенд API, протокольное тестирование |
Оптимальные сценарии использования LoadRunner (тестирование на уровне протоколов)
LoadRunner — это мощный инструмент корпоративного уровня для тестирования производительности, наилучшим образом подходящий для систем с насыщенной серверной частью и основанных на протоколах. Он имитирует трафик на транспортном уровне, что делает его идеальным для приложений, где рендеринг в браузере не требуется.
Сценарий использования | Почему LoadRunner работает хорошо | Пример |
1. Тестирование нагрузки API | Поддержка различных протоколов, таких как HTTP, Web Services и REST. Точная параметризация и корреляция. | Тестирование нагрузки банковского или страхового API с высоким объемом транзакций |
2. Тестирование SAP, Oracle, Citrix | Поддержка протоколов для сложных корпоративных систем, таких как SAP GUI, Oracle Forms и Citrix. | Тестирование производительности бизнес-процессов в системе SAP HR |
3. Тестирование нагрузки серверных систем | Эффективен для стресс-тестов очередей сообщений, баз данных и устаревших мейнфреймов. | Нагрузочное тестирование COBOL-системы финансовой отчетности |
4. Интеграция с CI/CD | Интеграция с Jenkins, Azure DevOps и ALM для автоматических регрессионных и нагрузочных тестов. | Ночные тесты производительности после слияния кода |
5. Тестирование сложных протоколов | Имитация FTP, SMTP, WebSocket и Telnet с высокой точностью протокола. | Нагрузочное тестирование загрузки файлов на внутренний FTP-сервер |
6. Кастомный скриптинг на C | Полноценный скриптинг на C для детальной настройки логики тестов и обработки данных. | Имитация многошаговой подачи страхового заявления через кодированные скрипты |
Оптимальные сценарии использования LoadView (тестирование в реальном браузере)
(Chrome, Edge) для имитации реального поведения пользователя, что делает LoadView идеальным для современных веб-приложений и команд, ориентированных на UX и визуальную валидацию.
Сценарий использования | Почему LoadView идеально подходит | Пример |
1. Тестирование нагрузки на уровне браузера | Выполняет реальные пользовательские сценарии с JavaScript, cookie, DOM и рендерингом страниц. | Нагрузочное тестирование портала бронирования путешествий |
2. Тестирование SPA (React, Angular, Vue) | Автоматическая обработка асинхронного поведения (AJAX, fetch, websockets) в JS-фреймворках. | Тестирование клиентской панели, реализованной на Angular |
3. Проверка UX в eCommerce | Измеряет время загрузки, FCP, LCP, TTI — метрики, влияющие на конверсию. | Тестирование процесса оформления заказа перед Черной пятницей |
4. Геораспределенное тестирование | Тестирование из более чем 40 локаций — имитация пользователей из разных регионов. | Проверка скорости сайта из США, Европы и Индии |
5. Тестирование без скриптинга | Запись пользовательских сценариев (клики, скроллы, фильтры) без написания кода. | Менеджеры продуктов или QA проводят тесты без участия разработчиков |
6. Отчеты, готовые для стейкхолдеров | Отчеты с повторами сессий, графиками, экспортами в PDF — подходят для бизнеса. | Делитесь результатами с вице-президентами, владельцами продуктов или клиентами |
7. Валидация динамического контента | Фиксирует изменения UI, отложенный рендеринг, модальные окна и AJAX-фильтры. | Тестирование сайта с отелями, фильтрами и ленивой загрузкой |
Резюме статьи
LoadView предлагает современный опыт тестирования в браузере, оптимизированный под динамичные веб-приложения. Возможности включают:
- Мгновенный доступ к метрикам и графикам в реальном времени во время выполнения
- Глубокая аналитика по сессиям с воспроизведением видео, скриншотами и полным логом взаимодействий
- Удобный обмен отчетами через облачные дашборды, PDF и Excel
- Упрощенная отладка с встроенными метриками браузера (FCP, LCP, TTI), географической разбивкой и авто-классификацией ошибок
LoadRunner, хотя и остается мощным инструментом для протокольного тестирования в корпоративной среде, обеспечивает:
- Ограниченную видимость UI и отсутствие встроенных метрик интерфейса
- Отчеты только после выполнения, без дашбордов или повтора сессий
- Зависимость отчетности от сторонних решений (например, ALM, InfluxDB, Grafana)
- Скрипты TrueClient требуются для симуляции браузера, что усложняет тестирование и повышает нагрузку на систему