ローカリゼーション、検索の検証、場所別の出荷合計など、複数のデータセットを使用するアプリケーションの機能をテストする必要がある場合は、データ駆動型テストを使うと時間を節約できます。すべてのバリエーションを手作業でテストする代わりに、テストを1つだけ作成し、DataTableを使って毎回異なる入力でテストを繰り返し利用できます。
このチュートリアルでは、テストの作成からDataTableを生成して同じテストを複数回実行し、大規模なテストカバレッジを実現するまでの、mablでのデータ駆動型テストの設定方法について説明します。
開始する前に
mablトレーナーに慣れていない方は、このチュートリアルを実行する前に初めてのブラウザーテストのチュートリアルを実行することをお勧めします。
データ駆動型変数を使ったテスト
このチュートリアルでは、さまざまな言語でWikipediaの検索機能を検証するテストを作成します。
データ駆動型テストの出力
このチュートリアルを開始する前に、次の手順で、[Configuration] > [Applications]
に移動してワークスペースをセットアップします。
- 新しい環境を作成し、"Demo"という名前を付けます。別のチュートリアルですでに "Demo"という環境を作成している場合、このステップは省略しても構いません。
- "Wikipedia"(https://www.wikipedia.org/)という名前の新しいアプリケーションを作成し、"Demo"環境に割り当てます。
新しいブラウザーテストの作成
新しいブラウザーテストを作成します ([New test] > [Browser test])。
- [Basic information] で、ワークスペース内で他のテストと区別しやすいテスト名を指定します。例: 「チュートリアル - データ駆動型テスト - <各自の名前>」
- [Core settings] で、先ほど作成した "Wikipedia" アプリケーションをテストに関連付けます。
新しいテストの作成
[Create test] をクリックして、mablトレーナーを起動します。
テストのトレーニング
[Rec]ボタンをオンにして、以下のテストステップを記録し、スペイン語でのWikipediaの検索機能を検証します。
- 検索バーの言語選択ツールをクリックし、[Español]を選択して、検索ボタンをクリックします。
検索用言語の選択
- ヘッダーテキストが "Buscar" に等しいことをアサートします。
ヘッダーのテキストのアサーション
- 上部の検索バーのプレースホルダーテキストが "Buscar en Wikipedia"に等しいことをアサートします。
プレースホルダーテキストのアサーション
データ駆動型変数の作成
先ほど記録したステップでは、スペイン語でのWikipediaの検索の属性を検証しています。他の言語で検索機能を検証するには、データ駆動型変数を作成する必要があります。
Trainerウィンドウの下部にある [{x}]
変数ボタンをクリックし、[Manage variables] を選択します。
[Variables] モーダルを開く
[Variables] モーダルで、[Data driven variables]ボタンをクリックします。
データ駆動型変数の追加
データ駆動型変数モーダルで、[+ New variable]ボタンをクリックし、スペイン語のデフォルト値を使用して、次の3つのデータ駆動型変数を作成します。
- "language_code" - "es"
- "search" - "Buscar"
- "placeholder" - "Buscar en Wikipedia"
データ駆動型変数の作成
[Apply] ボタンをクリックして変数を作成します。
テストステップの更新
次に、静的な値ではなく、データ駆動型変数を使用するように、テストステップを更新します。
言語選択ツールで "es" を選択する代わりに、データ駆動型変数"language_code" の値を選択するようにステップを編集します。
言語選択ツールの編集
ヘッダーが "Buscar"であることをアサートする代わりに、ヘッダーのテキストがデータ駆動型変数"search" の値に等しいことをアサートするようにステップを編集します。
ヘッダーのアサーションの編集
検索バーのプレースホルダーテキストが "Buscar en Wikipedia"に等しいことをアサートする代わりに、プレースホルダーテキストがデータ駆動型変数"placeholder"の値に等しいことをアサートするようにステップを編集します。
プレースホルダーテキストのアサーションの編集
ステップを最初から再生して、テストが期待どおりに機能することを確認します。その後、テストを保存して、Trainerを閉じます。
DataTableの作成
テストの詳細ページで、[Data-driven variables]パネルを開き、先ほど作成したデータ駆動型変数を表示します。[Generate DataTable] ボタンをクリックして、DataTableを作成します。
新しいDataTableの生成
DataTableの作成
既存のデータ駆動型変数からDataTableを生成するだけでなく、[Configuration] > [DataTable]
に移動し、[+ New table] ボタンをクリックしてDataTableを作成することもできます。
[Add new DataTable] ページで、[Add scenario]ボタンをクリックして、他の言語を追加します。DataTableでは最大500のシナリオを扱うことができますが、このチュートリアルでは、3つのシナリオを作成すれば十分です。
たとえば、英語と日本語のシナリオを追加するには、次の表の値を追加します。
シナリオ | language_code | placeholder | search |
---|---|---|---|
English | en | Search Wikipedia | Search |
Japanese | ja | Wikipedia内を検索 | 検索 |
DataTableを保存し、このチュートリアルで作成したテストに戻ります。
新しいDataTableへのシナリオの追加
DataTableのシナリオの実行
テストのトレーニングとDataTableへの関連付けが完了し、シナリオを実行する準備ができました。
右上の [Run test] ボタンをクリックします。[Cloud run]タブで、[Run DataTable scenarios] と [Run all scenarios]をオンにします。
DataTableでのすべてのシナリオの実行
[Start runs]ボタンをクリックし、テストが異なるデータで並列実行されることを確認します。
次のステップ
これで、mablでの初めてのデータ駆動型テストの作成は完了です。続いて、次のようなことができるか確認してください。
この例を拡張する
Wikipedia検索のDataTableに他の言語を追加することができますか?
お使いのアプリケーションでデータ駆動型テストの利用を検討する
DataTableの仕組みについて学習した内容を踏まえて、お使いのアプリケーションでDataTableを利用するのに適したテストシナリオにはどのようなものがありますか?
詳細はこちら
データ駆動型テストのドキュメントについては、こちらをご覧ください。