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

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

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

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

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

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

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

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

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

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

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

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

データ駆動型のテストを行うと、実データを伴う実際の運用下でテスト対象アプリケーションがどのように機能するかを、より正確に把握できます。


フィードバック