プランには、テストのグループとテストの実行に必要なすべての情報、たとえばアプリケーション、環境、ブラウザー、ステージ、特定のタイミングトリガーなどが含まれています。プランを使用すると、テスト間で変数を共有し、スケジュールに基づいてテストを実行し、mablテストをCI/CDワークフローに統合することができます。
プランの設定と実行にはさまざまな方法があり、あるチームで機能した方法が別のチームでも有効であるとは限りません。このガイドでは、チームにとって意味のある方法でプランを編成するための、一般的なヒントを紹介します。
プランを編成する方法
プランを編成する方法を決めるには、以下の点について検討することが役立ちます。
- チームはどのように構成されているか?
- オーナーシップのために何を重視しているか?
チームはそれぞれ異なりますが、テストをプランにまとめる一般的な方法は2つあります。
- ユーザーの役割: プランには、管理者やユーザーなど、特定の役割ごとに機能を検証するテストを含めることができます。
- 機能セット: チームが、検索、フィルタリング、ナビゲーション、設定など、特定の機能に取り組んでいる場合は、1つの特定の機能に関するすべてのシナリオをカバーするテストを含むプランを作成できます。
チームとプランを編成する方法を決定する際に、プランで使用する命名規則とラベルを話し合う必要があります。
プラン内のテストの数
どの方法でプランを作成するにしても、プランを管理可能なサイズにしておくことをお勧めします。
100個以上のテストを含むプランを実行することもできますが、小さめのプランを作成したほうが、問題が発生したときのトラブルシューティングは簡単になります。複数のプランを同時にトリガーする場合は、mablデプロイイベントでプランラベルを使用して、プランの組み合わせをトリガーして実行できます。
プランラベルを使用すると、リグレッション、ターゲットを設定したリグレッション、スモーク、テストに関連するチーム、特定の機能または機能領域など、特定のテストスイートを定義できます。
こうすることで、mablデプロイイベントをトリガーするときに、--labelオプションを追加して、たとえば “smoke” ラベルの付いたプランだけを指定して実行することができます。
プラン内のテストを実行する順序の定義
プラン内の複数のテストは、同時に実行することも、順番に実行することも可能です。また、プランステージを使用してテストの実行順序を定義することもできます。
セットアップ - テスト - クリーンアップ
プランステージは、標準的なセットアップ - テスト - クリーンアップの動作をモデル化するのに役立ちます。たとえば、架空のプランとして、以下のような3つのプランステージを定義できます。
- セットアップ
- Concurrency: sequential
- Tests:
- ユーザーの作成
- 車両の追加
- 車両テスト
- Concurrency: parallel
- Tests:
- 洗車のスケジュール
- 新しいタイヤの注文
- 診断の実行
- クリーンアップ
- Concurrency: sequential
- Always run: true
- Tests:
- 車両の削除
- ユーザーの削除
プランステージは、APIとブラウザーテストをプランに統合し、そのテストでセットアップ、テスト、破棄の構造を使用する場合にも役立ちます。APIとブラウザーテストをプランに統合する方法の詳細については、こちらをクリックしてください。
複数のテストを順番に、またはプランステージに分けて実行すると、あるテストから次のテストに変数を渡すことが可能になります。
詳細はこちら
このウェビナーでは、mablのMatthew Steinが、テストを効果的なプランに体系的に整理するためのベストプラクティスについて説明しています。関連するブログ記事には、テキストによる説明が記されています。