データ駆動は、自動テスト戦略を強化するための優れた方法です。ハードコードされた値を実行時にロードされる動的な値に置き換えることで、テストをパラメータ化して複数の入力で実行し、より多様なシナリオを含むようにテストカバレッジを拡大できます。
この記事では、mablにおけるデータ駆動の利点と種類を紹介します。
データ駆動型テストのメリット
テストをデータ駆動型にすることには、多くのメリットがあります。いくつかのメリットを示します。
- 再利用性: 入力内容を変えながら、1つのテストを複数回実行できます。
- ロジックの分離: データ駆動型テストでは、テストのロジックと実際のテストデータを明確に区別できます。
- 効率性: テストのデータをmabl TrainerまたはAPIテストエディターの外部で更新できます。
- テストカバレッジの強化: 入力テストデータを継続的に変更することで、幅広い入力シナリオをカバーできます。
データ駆動型テストのタイプ
データ駆動型テストケースの一般的なタイプには、次のようなものがあります。
DataTable
アプリケーションやAPIが別々のデータセットで特定の結果を生み出すことをアサートする場合は、DataTableを使用します。DataTableは、同じテストを複数回実行し、実行のたびに別々のシナリオ (データセット) を使用します。
たとえば、アプリケーションがさまざまな言語にローカライズされている場合、ページコンテンツを検証するテストを言語ごとに独自に作成することもできますが、各テストのステップは同じで、異なるのはデータのみです。この場合、テストをDataTableに関連付けることで、DataTableに列挙されている各言語に対して同じステップを実行するテストを1つ作成するだけで済みます。
共有変数
変数の共有によって、同一プラン内の以前のテスト実行から現在のテスト実行に変数値を渡すことができます。ブラウザーテストとAPIテストのどちらも、共有変数の受け渡しができます。
共有変数の一般的な適用方法は、セットアップ - テスト - 破棄のパターンです。このテストアプローチの詳細については、APIテストとブラウザーテストのプランへの統合に関するドキュメントを参照してください。
環境変数
環境変数は環境に基づいて実行時に値を渡します。
たとえば、環境ごとに別々のログインクレデンシャルを使用している場合、それらのクレデンシャルを環境変数として渡します。