データ駆動は、自動テスト戦略を強化するための優れた方法です。ハードコードされた値を実行時にロードされる動的な値に置き換えることで、テストをパラメータ化して複数の入力で実行し、より多様なシナリオを含むようにテストカバレッジを拡大できます。
この記事では、データ駆動テストの利点を紹介し、目的に合った最適なアプローチを選択するのに役立つ情報を提供します。
データ駆動型テストのメリット
テストをデータ駆動型にすることには、多くのメリットがあります。いくつかのメリットを示します。
- 再利用性: 入力内容を変えながら、1つのテストを複数回実行できます。
- ロジックの分離: データ駆動型テストでは、テストのロジックと実際のテストデータを明確に区別できます。
- 効率性: テストのデータをmablトレーナーまたはAPIテストエディターの外部で更新できます。
- テストカバレッジの強化: 入力テストデータを継続的に変更することで、幅広い入力シナリオをカバーできます。
アプローチの選択
mablは、さまざまな形式のデータ駆動テストをサポートしています。次の表を参考に、目的に合った最適なアプローチを選択してください。
| 目的 | 例 | 推奨されるアプローチ |
|---|---|---|
| 同じテストを複数の入力セットで実行する | ローカライズされた各言語でページを検証する | データテーブル |
| あるテストの実行時の値を後続のテストで再利用する | 認証Cookieを変数に保存し、他の実行に渡す | 共有変数 |
| 同じ変数名で環境ごとに異なる値を使用する | ステージングと本番で異なるテストデータを使用する | 環境変数 |
| 実行のたびに新しい一意の値を使用する | チェックアウトフローでランダムなユーザーデータを生成する | 有効な式: faker、マクロ |
データ駆動型変数のすべてのタイプと、同じ変数に複数の値が渡された場合の優先順位の一覧については、データ駆動型変数を参照してください。
データテーブルは複数のテスト実行をトリガーします
テストをデータテーブルに関連付けると、シナリオ (行) ごとにテストが1回実行されます。たとえば、7行のデータテーブルでは7回のテスト実行が発生します。1回の実行で、すべてのデータテーブルシナリオをループ処理することはできません。