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