ユーザーシナリオを自動化する場合、異なるデータセットを使って1つのテストを複数回実行する必要のあることがよくあります。
例えば、Eコマースアプリケーションで、異なる複数の地域の出荷合計が正しく計算されるかどうかを検証する場合を考えます。地域ごとに料金や税額を検証するテストを別々に作成することもできますが、結局は各テストで同じステップを使用することになります。
このプロセスを簡素化し、取引形態ごとにテストを作成・管理する必要を減らすために、mablでは、データテーブルを使って各地域で同じステップを実行するテストを1つ作成します。
データテーブルは、テストで使用する変数と、その変数の各シナリオごとの値を定義したデータのテーブルです。
ユースケース
上記のようなEコマースのシナリオ以外に、データテーブルの他の利用例としては、以下のようなものがあります。
- ローカライゼーション: 同一ページのコンテンツを異なる複数の言語でテストする
- 検索結果の検証: さまざまな検索クエリで期待どおりの結果が得られることを確認する
一般に、データテーブルは、テストのロジックが同一で入力やデータが頻繁に変わる場合に便利です。このような場合は、mabl トレーナーやAPIテストエディターで入力データを管理するよりも、データテーブルでデータを管理する方が簡単な場合があります。
データテーブルの構成
データテーブルは変数とシナリオで構成されています。これらの構成要素について説明するために、以下の "localization" データテーブルのスクリーンショットを見ていきます。
変数
データテーブルの各列ヘッダーは、テストで使用できるデータ駆動型変数を表しています。
上記の "localization" データテーブルには、login
、greeting
、logout
の3つの変数が含まれています。
シナリオ
データテーブルの各行は、1つのシナリオを表しています。最初の列にはシナリオ名 ("Scenario Name") が表示されており、その後の列には、このシナリオにける変数の値が示されています。
上記の "localization" データテーブルには、"English"、"Spanish"、"Japanese" という3つのシナリオが示されています。たとえば、"Spanish" シナリオの場合、変数 login
の値は "Iniciar sesión" です。
ワークフロー
データテーブルを使用してアプリケーションのテストを行う一般的なワークフローは、次のとおりです。
- テストを行うシナリオを使ってデータテーブルを作成します。
- 新しいブラウザテストを作成し、このテストと データテーブル を関連付けます。
- テストで データテーブル や変数を必要に応じて使用し、テストをトレーニングします。mabl トレーナーでテストを実行して、期待どおりの結果が得られることを確認します。
- データテーブルのシナリオを有効にした状態でアドホッククラウド実行を実行し、すべてのシナリオをテストします。
データテーブルのシナリオがアドホックなクラウド実行で有効になっている場合、mablは各データテーブルシナリオごとに並列で実行を開始します。
たとえば、5つのシナリオを含むデータテーブルを使ってテストが実行された場合、5つ(シナリオごとに1つ) のテストが実行されます。