データ駆動型のテストでは、データプールと呼ばれる外部ファイルのデータをテスト用の入力データとして使用します。 データプールは、テスト・スクリプトの再生中にテスト・スクリプト内の変数にデータ値を渡すための関連データ・レコードのコレクションです。
データとテスト・スクリプトを分離することによって、以下のことが可能になります。
左側の図のテスト・スクリプトは、テスト・スクリプト内にリテラル参照をハードコーディングするという形でデータを使用します。 右側の図は、データプールという外部ファイルのデータを使用するデータ駆動型のテスト・スクリプトです。
リテラル参照を使用するハードコーディングされたテスト・スクリプト データプールを使用するデータ駆動型のテスト・スクリプト
データ駆動型のテストで解決される問題としては、以下のような例があります。
問題: 記録中に、新しい従業員の個人情報ファイルを作成しますが、その際に、その従業員に固有の社会保障番号を使用します。 テストを実行するたびに、同じ個人情報ファイルを作成しようとして、同じ社会保障番号が入力されることになります。アプリケーションはこの重複要求を拒否します。
解決策: テスト・スクリプトをデータ駆動型にし、テストを実行するたびに異なる社員データ (社会保障番号など) をサーバーに送るようにします。
問題: 記録中にレコードを削除します。テストを実行すると、Functional Tester は同じレコードの削除を試み、その結果、「レコードが見つからない」というエラーが発生します。
解決策: テスト・スクリプトをデータ駆動型にし、スクリプトを再生するたびに削除要求で異なるレコードを参照するようにします。
問題: 記録中にレコードを削除します。 再生中、各トランザクションが同じレコードの削除を試み、その結果、「レコードが見つからない」というエラーが戻されます。 解決策: トランザクションが繰り返すたびに、データプールを使用して削除要求で異なるレコードを参照するようにできます。