ローカリゼーション、検索の検証、場所別の出荷合計など、複数のデータセットを使用するアプリケーションの機能をテストする必要がある場合は、データ駆動型テストを使うと時間を節約できます。バリエーションごとに個別のテストを作成する代わりに、テストを1つだけ作成し、データテーブルを使って毎回異なる入力データを渡します。
このチュートリアルでは、3つの言語でWikipediaの検索機能を検証するデータ駆動型テストを作成します。
開始する前に
このチュートリアルは、mablエージェントでテストを作成したことがある方を対象としています。まだの場合は、先に初めてのブラウザーテストを完了してください。
テストデータを設計する
データ駆動型テストは、ステップではなくデータから始まります。エージェントに内容を記述する前に、実行ごとに変わる値を決めて、データテーブルに整理します。
このチュートリアルのテストでは、スペイン語、英語、日本語で同じWikipedia検索の動作を検証します。言語によって変わる値は3つあります。検索バーで選択する言語コード、検索ヘッダー、検索フィールドのプレースホルダーテキストです。
テスト環境設定 > データテーブルに移動し、[+ 新規データテーブル] ボタンをクリックします。データテーブルに「Wikipedia languages」という名前を付け、次のデータを入力します。
| シナリオ | language_code | search | placeholder |
|---|---|---|---|
| Spanish | es | Buscar | Buscar en Wikipedia |
| English | en | Search | Search Wikipedia |
| Japanese | ja | 検索 | Wikipedia内を検索 |
データテーブルを保存します。
シナリオと変数
データテーブルには2つの軸があります。
- 列はそれぞれ変数です。値をハードコードする代わりに、テストが名前で参照する値です。
- 行はそれぞれシナリオです。テストを実行する1組の値のセットです。
これから作成するテストが持つステップは1組だけです。このデータテーブルに対して実行すると、そのステップが各シナリオにつき1回、合計3回実行されます。
エージェントにテスト内容を記述する
新しいブラウザーテストを作成します。新規テストをクリックし、チャットを始めてくださいオプションを選択します。プロンプトフィールドに、テストの内容を記述します。
https://www.wikipedia.org/ にアクセスし、複数の言語で検索機能をテストしてください。言語ごとの値は「Wikipedia languages」データテーブルから取得してください。
- 言語ごとに変わる値には、すべてデータテーブルの変数を使用してください。
- 検索バーの言語選択ツールで、コードが
{{@language_code}}の言語を選択してください。- 検索ボタンをクリックしてください。
- 検索ヘッダーのテキストが
{{@search}}と等しいことを検証してください。- 上部の検索バーのプレースホルダーテキストが
{{@placeholder}}と等しいことを検証してください。
プロンプトを送信します。エージェントがテストのアウトラインを生成します。アウトラインが希望どおりになるまで、チャットで調整できます。テスト情報ボックスが次の値になっていることを確認してください。
- URL:https://www.wikipedia.org
- データテーブル:Wikipedia languages
関連付けたデータテーブルやクレデンシャルを参照する方法など、エージェントへのプロンプトの詳細については、効果的なブラウザテストプロンプトの書き方をご覧ください。
生成されたテストをレビューする
エージェント > タスクに移動して、エージェントの進行状況を確認します。タスクのステータスがレビューに変わったら、タスクの詳細を開いて、生成されたテストをレビューします。
データ駆動型テストで確認すべき重要な点は、ステップがパラメータ化されていることです。言語ごとに変わる値を扱う3つのステップを確認し、それぞれがリテラル値ではなく変数を参照していることを確認します。たとえば、スペイン語のシナリオでテストをトレーニングした場合は、次のようになります。
- 言語選択ツールのステップでは、「es」ではなく
{{@language_code}}を選択します。 - ヘッダーのアサーションでは、「Buscar」ではなく
{{@search}}を期待値とします。 - プレースホルダーのアサーションでは、「Buscar en Wikipedia」ではなく
{{@placeholder}}を期待値とします。
これらのデータテーブル変数によって、テストがデータ駆動型になります。シナリオが変わると、変数の値もそれに合わせて変わります。
すべてのシナリオを実行する
テストがすべてのシナリオで動作することを確認するには、次のステップを実行します。
- セッションの詳細ページで、[テストを表示] ボタンをクリックして、テストの詳細を開きます。
- 右上の [テスト実行] ボタンをクリックします。
- [クラウド実行] タブで、[データテーブルシナリオを実行する] をオンにして、[すべてのシナリオを実行する] を選択します。
- [実行開始] ボタンをクリックします。
mablはテストを各シナリオにつき1回、合計3回並列で実行し、それぞれの結果を個別にレポートします。1組のステップで、3つの言語を検証できます。
次のステップ
これで、mablでの初めてのデータ駆動型テストの作成は完了です。続いて、次のようなことができます。
この例を拡張する
「Wikipedia languages」データテーブルに他の言語を追加してみましょう。テストに手を加える必要はありません。追加したシナリオは、次にすべてのシナリオを実行したときに反映されます。データ駆動型テストでは、カバレッジを広げることはデータを追加することです。
お使いのアプリケーションでデータ駆動型テストの利用を検討する
データテーブルの仕組みがわかったところで、お使いのアプリケーションで同じ動作を異なる入力で検証している箇所を探してみましょう。ユーザーロール、アカウントの種類、地域、製品構成などが候補になります。
詳細はこちら
- データテーブルの作成
- データテーブルの作成 (CSVのアップロードを含む)
- テストとデータテーブルの関連付け
- データテーブルシナリオを使用したテストの実行
- エージェントによるテスト作成
- 作成済みのテストをパラメータ化する
- データ駆動テスト用のプレースホルダー変数を作成する、その後データテーブルに変換する
- mablトレーナーでのデータテーブルを使用したテストのトレーニング
- データ駆動テストのすべてのドキュメント