mablは、テストを実行するタイミングと場所に関して大きな柔軟性と制御を提供します。単一のテストをローカルで実行して成功を確認することから、複数のブラウザで並行して数百の回帰テストを実行することまで、選択はあなた次第です。この記事では、mablで使用できる各種テスト実行環境、つまり、ローカル、セルフホスト型 - CI Runner、およびクラウドについて説明します。
継続的テストワークフローでさまざまな実行環境を活用する方法について詳しくは、ローカル、CI、クラウド実行によるテスト実行の最適化に関する記事をご覧ください。
テスト実行環境の比較
次の表は、異なる環境でテストが実行される際の主な運用上の違いを示しています。
| 機能 | ローカル | CI Runner | mablクラウド |
|---|---|---|---|
| 並列実行 | ❌ 逐次実行 | ❌ 逐次実行 | ✅ 数百、あるいは数千ものテストを同時に実行でき、総実行時間を大幅に短縮します |
| フィードバック速度 - 単一のテスト | 最速 | 速い | 速い |
| フィードバック速度 - 多数のテスト | ❌ 逐次実行 | ❌ 逐次実行 | ✅ 並列(全体で最速) |
| スケジューリング | ❌ 手動のみ | ❌ CI/CDの設定経由のみ | ✅ パイプラインのメンテナンス作業なしで継続的なカバレッジを確保するための自動テストスケジューリングに対応 |
| クレジットの消費対象 | なし | なし | あり |
テストの実行方法に加えて、いくつかの機能や能力のサポートは環境によって異なり、クラウド実行が最も充実したオプションを提供します。
| 機能 | ローカル | CI Runner | mablクラウド |
|---|---|---|---|
| プラン実行のサポート | ❌ グループ化メカニズムとしてのみ | ❌ グループ化メカニズムとしてのみ | ✅ ステージ、共有変数、スケジューリング、条件分岐、そして自動リトライによる高度なオーケストレーションに対応 |
| テストアーティファクト(例:スクリーンショット、HARログ、コンソールログ) | ❌ 成功/失敗のみ | ❌ 成功/失敗のみ | ✅ すべての実行には、ビジュアル、ログ、トレースなどの完全なコンテキストが含まれているため、課題をすばやく特定して修正できます。 |
| mablでの結果レポート出力 | ❌ 統合レポート経由のみ | ❌ 統合レポート経由のみ | ✅ アーティファクトとインサイトを含む完全なレポート |
| クロスブラウザ検証 | ❌ Chromeのみ | ❌ Chromeのみ | ✅ Chrome、Firefox、Edge、Safari、およびモバイルWeb |
| パフォーマンステストのサポート | ❌ なし | ❌ なし | ✅ はい |
| 生成AIによるアサーション | ✅ 完全にサポートされています | ✅ 完全にサポートされています | ✅ 完全にサポートされています |
| インサイト - 分析、トレンド、不安定性 | ❌ サポートされていません | ❌ サポートされていません | ✅ 不安定性の追跡、トレンド、リリースに関するインサイトを含みます |
ローカル実行
mablは、Desktop Appまたはmabl CLIを使用して、ローカルマシンでテストを実行するトリガーをサポートしています。ローカル実行は、テストを作成したり課題をデバッグしたりする際にフィードバックを得るための迅速な診断ツールとして最適です。
テストのローカル実行では、mablの実行ログと結果は、別々のテスト出力ウィンドウに表示されます。
ヘッドレスローカル実行のログ
クラウド実行とは異なり、ローカル実行ではDOMスナップショットやスクリーンショットなどのテスト実行アーティファクトをキャプチャしません。ローカル実行の出力をmablアプリに公開するには、統合レポートを設定してください。
ローカル実行の制限事項
セルフホスト型 (CI Runner)
mabl CLIを使用して、CI Runnerを設定し、専用のCI/CDコンテナー (サーバー) 内でテストを実行できます。CI実行は、スモークテストやサニティテストのような軽量でターゲットを絞ったテストに理想的で、共有環境へのデプロイ前に迅速な成功/失敗の結果を求める場合に適しています。
CI/CDパイプラインでCLIコマンドを直接使用することで、環境を設定し、テストラベルを活用して、コア機能を対象としたテストの検証を自動化できます。
CI実行の制限事項
クラウド実行
クラウドで実行されるテストは、mablの安全性に優れたスケーラブルなインフラストラクチャーで実行されます。クラウド実行では、次の種類の実行がサポートされています。
- アドホック実行
- プランの実行 - 並列または順次でプランを実行し、スケジュールされた実行とテスト間での変数の共有をサポート
- デプロイメントエベント - mabl CLI、mabl API、または既存のCI/CDインテグレーションを使用して、デプロイメントエベントで複数のプランを実行します
クラウド実行のたびに新しいインスタンスが使用されるため、複数の実行をまたいでテストデータ (ユーザーセッションなど) がキャッシュされることはありません。
クラウド実行は、アプリの結果セクションで詳細なテスト実行アーティファクトを収集します。レポーティングAPIを使用して、クラウド実行結果をチームの好みのレポートツールに統合できます。テストタイプ別のクラウド実行アーティファクトに関する詳細情報は、以下の記事をご覧ください。
同時実行の制限
クラウドで同時に並列実行できるテストの最大数は、次の表に示すとおりです。
| タイプ | トライアルユーザー | カスタマー |
|---|---|---|
| ブラウザーテスト | 10回の実行 | 1000回の実行 |
| モバイルテスト |
5回のAndroid実行 3 iOS実行 |
10回のAndroid実行 5回のiOS実行 |
| APIテスト | 25回の実行 | 1000回の実行 |
並列テストの最大実行制限を超えてトリガーした場合、残りのテストのステータスは、他のテスト実行が完了するまで [on hold] になります。同時実行数を増やす必要がある場合は、mablサポートチームまでお問い合わせください。
最大実行時間
クラウド実行の最大実行時間は以下のとおりです
- ブラウザテスト:6時間
- APIテスト: 30分
- モバイルテスト: 1時間