以前の記事「Web負荷テスト:LoadRunner vs. LoadView – 実世界のシナリオ」では、PhoneNumberMonitoring.comでの典型的なユーザージャーニー(サイト起動、ログイン、タブ移動、ログアウト)をLoadRunnerとLoadViewを用いてシミュレーションする方法を紹介しました。この比較では、スクリプト作成の労力、設定の複雑さ、使いやすさの違いが強調されました。
本記事ではその内容を発展させ、特にテストシナリオの準備とレポート機能に焦点を当てたLoadViewとLoadRunnerの詳細な比較を行います。複数の仮想ユーザーによる実際のユーザーフローを実行する際に、各ツールがどのように機能するかを検証し、以下の点を評価します:
- 実行の可視性と正確性
- リアルタイムおよびテスト後のレポート
- 動的コンテンツおよびフロントエンド挙動
- セッションレベルの診断とデバッグ
概要
この比較は、2つの主要なパフォーマンステストツールであるLoadViewとLoadRunnerのテスト設定体験とレポート機能に特化しています。
評価は、動的Webアプリケーションにおいて実行される実際のユーザーフロー(起動、ログイン、操作、ログアウト)に基づいています。比較の主な観点は以下の通りです:
- 負荷シナリオの構成のしやすさ
- テスト実行中の可視性
- テストレポートの深さと明瞭さ
- ビデオ再生、スクリーンショット取得、エラー分類、ウォーターフォール分析などのデバッグ機能
近年のアプリケーションはSPA(Single-Page Applications)やJavaScript中心のフロントエンドを採用することが多くなっており、真のブラウザー挙動をシミュレートし、リアルタイムでの視覚的診断を提供できるツールの重要性が増しています。
- テストシナリオの準備
LoadView
リアルブラウザベースのシナリオデザイナー
LoadViewは、ChromeやEdgeでの実際のブラウザ操作(クリック、スクロール、待機、AJAXトリガー)を記録します。各ステップは視覚的なフローチャートにマッピングされ、ユーザー体験と完全に一致します。
ビジュアル負荷構成ウィザード
簡単に構成可能:
- ユーザー負荷タイプ:ロードステップカーブ、動的調整カーブ、ゴールベースカーブ
- 負荷パターン:段階的、指数的、スパイク、負荷、耐久/ソーク、フェイルオーバーなど
- シナリオ設定:テスト時間、ランプアップ、減少幅、ホールド時間
- リージョン:シンガポール、カリフォルニア、ロンドンなど40以上のグローバルクラウドロケーション
- ブラウザ:真のレンダリングコンテキストのためのChromeまたはEdge
環境不要のセットアップ
LoadViewのクラウドでは、LG(負荷生成器)、仮想マシン、ファイアウォールルール、ネットワーク構成のインストールや管理が不要です。
ステップレベルの条件設定
各ステップに対して合否基準を設定可能。例:
- テキストの検証
- 要素の可視性
- JavaScriptトリガー
- HTTPステータスコードなど
ワンクリックプレビュー
UIのレンダリング、バリデーション、レスポンス測定を含むテストフロー全体を、1ユーザーで事前に検証可能。
追加情報:
- トランザクション名、遅延、測定時間、Lighthouse、ネットワークスロットリングなどが設定可能
- 分岐ロジック、条件付き待機、ループ処理を標準装備
LoadRunner
コントローラーによるシナリオ設計
LoadRunner Controllerを使用して以下を割り当てることでシナリオを作成:
- ユーザーグループ
- ランプアップスケジュール
- 思考時間およびペーシングの設定
- 実行時間
手動の負荷生成器(LG)のセットアップ
テスターは各マシンやクラウドホストにLGを手動で配置・構成する必要があります。ControllerとLG間の接続にはファイアウォール/NAT設定、ポート許可、インフラ権限が必要です。
地域テストは複雑
複数の地域からの負荷をシミュレーションするには、各地域にサーバーを手動で準備・設定し、テスト実行を同期させる必要があります。
基本的なバリデーションロジック
ステップ検証はプロトコルレベルのレスポンス(例:HTTP 200)に基づきます。視覚的な検証はTrueClientスクリプトでのみ可能で、リソース消費が激しく、保守も困難です。
実行プレビュー
UIレンダリングを伴うテストフローのプレビューはTrueClientでのみ可能。他のプロトコルでは、ドライランに視覚的確認は含まれません。
追加情報:
- スクリプト作成やプロトコルの専門知識が必要
- プロトコル選択(Web HTTP/HTML、SAP、Citrixなど)がスクリプト設計に影響
- リアルタイム実行の可視性
LoadView
クラウドホスト型のリッチなリアルタイムレポート: テスト実行中にパフォーマンス指標が継続的に表示されます。
リアルタイムで更新されるKPI: 平均応答時間、90パーセンタイル、最小・最大、失敗率などの指標が常時更新されます。
エラー分類による迅速な原因特定: バリデーション、クライアント、サーバー、サードパーティに分類されます。
クラウドベースのPDFと共有可能なダッシュボードリンク: ライブダッシュボードの配布やサマリーのエクスポートが簡単に行えます。
応答時間、エラー分布、仮想ユーザーアクティビティのインタラクティブチャート: スパイク、傾向、失敗を迅速に把握可能。テスト進行状況をリアルタイムで確認できる包括的なビューを提供。
グラフ上部は平均応答時間の急上昇を示し、赤い矢印が示すように、成功セッションの減少と失敗セッションの増加(下部グラフ)と相関しています。これは、LoadViewがユーザーセッションの挙動とパフォーマンス劣化を視覚的に相関させる能力の好例です。
時間枠ごとの累積セッショントラッキング: 実行期間を通じたテストの一貫性と安定性を評価するのに役立ちます。
仮想ユーザーのランプアップ曲線: セッションパフォーマンスに沿った負荷の増加を視覚的に表示。
このグラフは、仮想ユーザーが時間経過とともにどのようにスケーリングされたかを示します。緑の線は実際のユーザー数を示し、オレンジの線(期待値)に近い推移を見せています。紫の線は設定された最大ユーザー数を示します。
各ジオゾーンのサーバーステータス: 地域固有の問題や遅延を診断。
セッションごとのナビゲーションとユーザージャーニーの表示: 任意の仮想ユーザーのパスとレスポンスデータを詳細に掘り下げ可能。
特定のセッションIDへのドリルダウン: 個々のテストジャーニーを検査し、ユーザーごとのネットワーク層の詳細を確認してエラーの迅速な原因特定を可能にします。
この図は、複数のクラウドエージェント(AWS、Azure地域)がテスト負荷を分散したことを示しています。CPUとメモリはテスト全体を通してほぼ均等に保たれており、LoadViewの弾力的なテスト分散アーキテクチャを証明しています。
LoadView における過去のテスト実行比較
複数のテスト実行結果の比較
リアルタイムや静的なレポートが有用である一方で、LoadView では標準で履歴トレンドの追跡も提供されています。各テスト実行は自動的にアーカイブされ、過去の実行と比較することが可能です。
ビフォー/アフターパフォーマンス表示
アプリケーションコード、インフラ、サードパーティサービスに加えた変更の影響を、以前のパフォーマンスベースラインと最新結果を直接比較することで評価できます — 複雑な統合や設定は不要です。
設定不要
LoadRunnerでは、トレンド分析や履歴比較のために InfluxDB、Grafana、HP ALM などの外部ツールとの統合が必要なことが多いのに対し、LoadView はシンプルな Web ベースのインターフェースで履歴の可視化を標準提供し、追加の設定やインフラを必要としません。
例: 開発チームは2週間前(データベース最適化前)のテストと最新の実行を比較することで、応答時間やエラー率の改善を即座に確認できます。
追加の利点:
- QAチームが機能面および視覚的にフローを検証可能
- ログ解析やバックエンド専用ビューを避けてデバッグ工数を削減
LoadRunner
コントローラーグラフ(有償版のみ)
ライセンスがある場合、LoadRunner Controller は以下の実行時メトリクスを提供:
- 実行中の VUsers
- TPS(1秒あたりのトランザクション数)
- 1秒あたりのエラー数 など
これらのグラフは無償版では利用できず、実行中の可視性が大きく制限されます。
フロントエンドのフィードバックなし
スクリーンショット、視覚的バリデーション、DOMレベルのデータはTrueClientを使用しない限り利用できません。TrueClient を使用しても高負荷時の分析は困難です。
地理別の内訳がない
LoadRunner は標準では地域別のパフォーマンスセグメントを提供しません。カスタムスクリプトやタグ付けが必要です。
セッションレベルのモニタリングがない
LoadRunner にはセッション単位の洞察がなく、どのステップで失敗したか、実行中にブラウザが何をレンダリングしていたか、セッションがどのように進行したかの追跡が困難です。
その他の制限事項:
- スクリーンショット取得機能なし
- リアルタイムセッションデータなし
- 原因分析は実行後の Analysis ツールでのレポートまで遅延
- 比較まとめ表
機能 | LoadView | LoadRunner |
シナリオビルダー | ビジュアル・ブラウザベース | スクリプト・プロトコルベース(Controller) |
地理別負荷設定 | 組み込み、クラウド管理 | 手動でLGをデプロイ |
セッションレベルの可視性 | 完全対応、再生とスクリーンショット付き | 非対応 |
ウォーターフォールチャート | あり(ブラウザレベル) | 未対応 |
ビデオ再生 | あり | なし |
フロントエンドメトリクス(FCP、LCP、TTI、CLS) | 対応 | 非対応 |
エラーの分類 | タイプごとに自動グループ化 | ログを手動解析 |
レポート共有 | クラウドダッシュボード、PDF、Excel、共有リンク | ローカルHTMLまたはPDFのみ |
履歴結果の比較 | 標準装備 | ALMや外部設定が必要 |
関係者向けレポート | 対応(ビジネス向け) | 技術者向けのみ |
環境構築 | クラウドホスティング、インフラ不要 | LGの構築が必要 |
最適なユースケース | Webアプリ、UX、モダンフロントエンド | バックエンドAPI、プロトコルレベルテスト |
LoadRunner の最適なユースケース(プロトコルレベルのテスト)
LoadRunner は、エンタープライズグレードの強力なパフォーマンステストツールであり、バックエンド中心のプロトコルベースのテストに最適です。トランスポート層でトラフィックをシミュレートするため、ブラウザレンダリングが不要なアプリケーションに理想的です。
ユースケース | LoadRunner が適している理由 | 例 |
1. API負荷テスト | HTTP、Webサービス、RESTなど様々なプロトコルをサポート。精密なパラメータ化と相関付けが可能。 | 高トランザクション量を扱う銀行または保険APIの負荷テスト |
2. SAP、Oracle、Citrix のテスト | SAP GUI、Oracle Forms、Citrixなどの複雑な企業システムをプロトコルレベルでサポート。 | SAPの人事システムワークフローのパフォーマンステスト |
3. バックエンドシステムの負荷テスト | メッセージキュー、データベース、レガシーメインフレームのストレステストに効果的。 | COBOLベースの財務報告バックエンドの負荷テスト |
4. CI/CDパイプラインとの統合 | Jenkins、Azure DevOps、ALMと統合し、回帰およびパフォーマンステストを自動化。 | コードマージ後に毎晩パフォーマンステストを実行 |
5. 複雑なプロトコルのテスト | FTP、SMTP、WebSocket、Telnet のインタラクションをプロトコル精度でシミュレート。 | 社内FTPサーバーでのファイルアップロードパフォーマンスの負荷テスト |
6. Cによるカスタムスクリプト | C言語による完全なスクリプトにより、詳細なテスト設計、ロジック、データ処理が可能。 | コーディングされたスクリプトによる保険請求プロセスの多段階シミュレーション |
LoadView の最適なユースケース(リアルブラウザベースのテスト)
(Chrome、Edge) を用いて実際のユーザー挙動をシミュレートするため、モダンなWebアプリケーションやユーザー体験・視覚的検証を重視するチームに最適です。
ユースケース | LoadView が最適な理由 | 例 |
1. ブラウザベースの負荷テスト | JavaScript、Cookie、DOM更新、ページレンダリングを伴う実ユーザージャーニーを実行。 | 旅行予約ポータルの負荷テスト |
2. SPA テスト(React、Angular、Vue) | JSフレームワークによる非同期動作(AJAX、fetch、websocket)を自動処理。 | Angularで構築された顧客ダッシュボードのテスト |
3. Eコマース UX の検証 | 読み込み時間、FCP、LCP、TTIなどの実測指標を測定し、コンバージョン率に直結。 | ブラックフライデー前のカートから決済までのフローの負荷テスト |
4. 地理分散型テスト | 40以上のロケーションからのテストをサポートし、様々な地域からのアクセスを模擬。 | 米国、ヨーロッパ、インドからのサイト速度テスト |
5. スクリプト不要の負荷テスト | クリック、スクロール、フィルター、ナビゲーションなどユーザー操作を記録。技術的スクリプト不要。 | プロダクトマネージャーやQAチームが開発者の手を借りずにユーザーフローをテスト |
6. ステークホルダー向けレポート | セッション再生、ビジュアルチャート、PDF出力など、ビジネス/非技術ユーザーにも適したレポート。 | 結果をVPやプロダクトオーナー、クライアントと共有 |
7. 動的コンテンツの検証 | すべてのUI変更、遅延レンダリング、モーダルウィンドウ、AJAXフィルターをキャプチャ。 | フィルターや遅延読み込みを備えたホテル検索サイトのテスト |
記事のまとめ
LoadView は、動的なWebアプリケーション向けに最適化されたモダンなブラウザベースのテスト体験を提供します。主な特徴は以下の通りです:
- テスト実行中のライブメトリクスとパフォーマンスグラフへのリアルタイムアクセス
- セッションレベルの詳細な洞察(ビデオ再生、スクリーンショット、完全な操作の再現)
- クラウドダッシュボード、PDF、Excelによるレポート共有の簡便さ
- FCP、LCP、TTIなどのブラウザ指標、地域別分析、自動エラー分類によるデバッグの簡素化
LoadRunner は、プロトコルベースのエンタープライズシステムに対して強力な性能を発揮しますが、以下の制限があります:
- UI可視性の制限と、フロントエンド指標の非対応
- リアルタイムダッシュボードやセッション再生のない、実行後のレポートのみ
- レポート機能は、ALM、InfluxDB、Grafanaなど外部統合に依存することが多い
- ブラウザシミュレーションにはTrueClientスクリプトが必要で、テストの複雑さとシステム負荷が増大