データ駆動型のテストの概要

データ駆動型のテストでは、スクリプトは、リテラル値ではなくアプリケーションの主な入力フィールドやプログラムの変数を使用するので、外部データを使用してテスト中のアプリケーションを駆動できます。

データ駆動型のテストでは、データプールと呼ばれる外部ファイルのデータをテスト用の入力データとして使用します。 データプールは、テスト・スクリプトの再生中にテスト・スクリプト内の変数にデータ値を渡すための関連データ・レコードのコレクションです。

データとテスト・スクリプトを分離することによって、以下のことが可能になります。

左側の図のテスト・スクリプトは、テスト・スクリプト内にリテラル参照をハードコーディングするという形でデータを使用します。 右側の図は、データプールという外部ファイルのデータを使用するデータ駆動型のテスト・スクリプトです。

ハードコーディングされたテスト・スクリプト データ駆動型のテスト・スクリプト

リテラル参照を使用するハードコーディングされたテスト・スクリプト データプールを使用するデータ駆動型のテスト・スクリプト

データ駆動型のテストで解決される問題としては、以下のような例があります。

問題: 記録中に、新しい従業員の個人情報ファイルを作成しますが、その際に、その従業員に固有の社会保障番号を使用します。 テストを実行するたびに、同じ個人情報ファイルを作成しようとして、同じ社会保障番号が入力されることになります。アプリケーションはこの重複要求を拒否します。

解決策: テスト・スクリプトをデータ駆動型にし、テストを実行するたびに異なる社員データ (社会保障番号など) をサーバーに送るようにします。

問題: 記録中にレコードを削除します。テストを実行すると、Functional Tester は同じレコードの削除を試み、その結果、「レコードが見つからない」というエラーが発生します。

解決策: テスト・スクリプトをデータ駆動型にし、スクリプトを再生するたびに削除要求で異なるレコードを参照するようにします。

問題: 記録中にレコードを削除します。 再生中、各トランザクションが同じレコードの削除を試み、その結果、「レコードが見つからない」というエラーが戻されます。 解決策: トランザクションが繰り返すたびに、データプールを使用して削除要求で異なるレコードを参照するようにできます。

関連タスク
機能テストのデータ駆動
関連資料
データプールのフィールド分離文字

フィードバック