データ駆動型テストとは
テストの自動化では、複数のデータセットに同じテストを実行しなければならない場合がよくあります。mablでは、データ駆動型テスト (DDT) を使用することでこれを実行できます。これは、機能テストの外部にあるデータを読み込んで、自動化されたテストケースを強化および拡張するプロセスです。
データ駆動型テストのメリット
- 再利用可能性: テストスクリプトを記述すれば、毎回異なる入力を用いて、何百回、何千回と再実行できます。
- 汎用性: データ駆動型テストは通常、単一のテストや処理に関連付けられていますが、複数のテストケースで使用できます。
- 効率性: データ駆動型テストは、より少ないコードでテストスクリプトを生成できます。
- ロジックの分離: データ駆動型テストでは、テストケースのロジックと実際のテストデータを明確に区別できます。
- テストカバレッジの向上: 入力テストデータを継続的に変更することで、幅広い入力シナリオをカバーできます。
学習目標
- データ駆動型テストの作成方法
- データ駆動型テストの動作の仕組み
- データ駆動型テストを使用すべき状況の理解
- このレッスンを受講する前に、以下のレッスンを修了していると、ここでの学習効果が一層高まります。
- mablアプリケーションの概要
- mabl Trainerの概要
レッスン内容
作業の開始
- テスト用のデータテーブルの作成
- データ駆動型変数の作成
- データ駆動型テストの実行
データ駆動型変数の作成
- mabl Trainerの下部ツールバーにある{x}変数アイコンをクリックします。
- [Manage] をクリックすると、テスト用のすべてのデータ駆動型変数がデフォルト値とともに表示され、そうした変数をさらに追加するためのオプションが表示されます。
- DataTableなどの外部ソースからその変数のためにテストに値が渡されなかった場合に使用されるデフォルト値を割り当てる必要があります。
データ駆動型変数からのDataTableの生成
データ駆動型変数を作成してテストを保存したら、以下の手順に従うことで、そのテストからデータテーブルを作成できます。
- テストの詳細ページで、[GENERATE DATATABLE] ボタンをクリックします。
- 新しいページにリダイレクトされます。
- データテーブルの名前を入力して、シナリオ名を追加します (オプション)。
- [SAVE] ボタンをクリックすると完了です。
DataTableへのシナリオ名の割り当て
シナリオとは、データ駆動型テストの一環としてテストに渡される一連の値 (正確にはデータテーブルの特定の行) のことです。
- データテーブルにシナリオ名を割り当てるには、左側のメニューバーの [Configurations] タブをクリックし、[DataTables] をクリックします。
- 目的のデータテーブルをクリックして編集します。
- シナリオ名を入力して保存します。
- 新しいシナリオを追加するには、[ADD SCENARIO] ボタンをクリックし、値を入力して保存します。
テスト用のDataTableの作成
- 新しいデータテーブルを作成するには、左側のメニューバーの [Configurations] タブをクリックし、[DataTables] をクリックします。
- 既存のCSVファイルをアップロードするか、新しいデータテーブルを最初から作成することができます。
- 新しいデータテーブルを最初から作成するには、[CREATE TABLE] ボタンをクリックします。
- [ADD SCENARIO] または [ADD VARIABLE] ボタンをクリックし、必要な数の行と列に値を入力します。
- DataTableを保存すれば、すぐに使用できる状態になります。
新しいテストを既存のデータテーブルに関連付ける
- メインのダッシュボードページで、[New] ボタンを使用して新しいテストを作成します。
- [Show advanced options] をオンに切り替えて、[DataTables] セクションまでスクロールします。
- 既存のDataTableのリストから、1つ以上のDataTableを選択します。
- [DataTable for training...] ドロップダウンを使用して、トレーニングする特定のDataTableを選択します。
- [CREATE TEST] ボタンをクリックすると、トレーニングが開始されます。
既存のテストとDataTableの関連付け
- DataTableに関連付けるテストに移動して、[Update Info] ボタンをクリックします。
- モーダルで、[DataTables] ドロップダウンからテストに使用するDataTableを選択します。
- モーダルの一番下にある [SAVE] ボタンをクリックすれば、作業は完了です。
データテーブルを使用したテストの実行
- データテーブル内のすべてのシナリオでテストを実行する場合は、次の2つのオプションがあります。
- [Plans] ページに移動して、テスト名の近くにある [RUN TEST] ボタンをクリックします。
- [Tests] ページに移動して、[RUN TEST] ボタンをクリックし、[Run datatable scenarios] オプションをオンに切り替えて、[START] ボタンをクリックします。
クラウド実行時に使用された変数値の確認
- [Results] ページに移動して、テスト名でフィルタリングし、目的の実行に対応する結果リンクをクリックするか、[Tests] ページに移動して、テスト名でフィルタリングし、[RUN HISTORY] をクリックして目的の実行に対応する結果リンクをクリックします。
- テストサマリーで、変数の下の [View] をクリックします。
- データ駆動型変数とその値が表示されます。
シナリオ名の表示
シナリオ名は次の場所にあります。
- プラン詳細ページ
- Test Run Summary
- [Results] ページ
データテーブルを使用してテストを実行する際の注意点
- データ駆動型変数にデフォルト値があることを確認してください。
- テストで複数のデータテーブルを使用することになっている場合、DataTableオプションでトレーニングを有効にしていると、データ駆動型変数は選択したテーブルでのみ作成されます。他のテーブルでは、手動で作成する必要があります。
- [Plans] ページからテストを実行するか、[Run datatable scenarios] オプションを有効にすると、データテーブル内の各シナリオに対して実行がトリガーされます。
- 外部のCSVファイルをアップロードしてデータテーブルを作成する際は、最初の行がmablの変数名を表すヘッダーであることを確認してください。
まとめ
ここで学習した内容
- データ駆動型テストとは
- 複数のデータセットを使用してシナリオをテストする方法
確認メモ:
- トレーニングの並べ替え:
- データ駆動型変数 (管理)
- データテーブルの生成
- シナリオの追加
- データテーブル付きの新しいテストの作成
- テスト実行用のシナリオ名が表示される場所の確認
- プラン実行カード
- [Test Run Summary] モーダル
- プラン内のテスト間での変数の受け渡し