対象プログラムのテストを支援する処理をコンピュータに実行させるコンピュータプログラムにおいて、第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段から該第1入力データを取得し、該第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得し、前記記録手段から第2入力データを取得し、該第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得し、取得した前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出する処理をコンピュータに実行させるコンピュータプログラム。単一の前記第1入力データの値又はデータ量を変化させて複数の第2入力データを生成し、生成した複数の前記第2入力データを前記記録手段に記録し、前記第2出力データを取得する処理は、複数の前記第2入力データに基づいて前記対象プログラムから夫々出力された第2出力データを複数取得し、前記第1入力データの各変化に対応させて、前記第1及び第2入力データの間の変化と、前記第1及び第2出力データの間の変化との比を複数算出し、前記関係式を算出する処理は、複数の前記比が等しい場合、該関係式を算出する請求項1に記載のコンピュータプログラム。複数の異なる前記第1入力データを夫々変化させて複数の第2入力データを生成し、生成した複数の前記第2入力データを前記記録手段に記録し、前記第1出力データを取得する処理は、複数の異なる前記第1入力データに基づいて前記対象プログラムから夫々出力された複数の第1出力データを取得し、前記第2出力データを取得する処理は、複数の前記第2入力データに基づいて前記対象プログラムから夫々出力された複数の第2出力データを取得し、前記関係式を算出する処理は、互いに対応する前記複数の第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記関係式を複数算出し、複数の前記関係式の間で該関係式の異同を判定する請求項1又は請求項2に記載のコンピュータプログラム。前記対象プログラムのテストは複数のテスト項目を有し、前記第2入力データを生成する処理は、同一テスト項目における複数の異なる第1入力データを夫々変化させて複数の第2入力データを生成する請求項3に記載のコンピュータプログラム。前記第1出力データがエラー処理に関する情報を含むか否かに基づいて、該第1出力データは異常であるか否かを判定し、前記第2入力データを生成する処理は、異常でないと判定した前記第1出力データに対応する第1入力データを変化させて第2入力データを生成する請求項2から請求項4までのいずれか一つに記載のコンピュータプログラム。前記第2出力データがエラー処理に関する情報を含むか否かに基づいて、該第2出力データは異常であるか否かを判定し、異常であると判定した前記第2出力データに対応する第2入力データを所定の規則に従って変更し、前記第2出力データを取得する処理は、変更した前記第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得する請求項1から請求項5までのいずれか一つに記載のコンピュータプログラム。対象プログラムのテストを支援するテスト支援方法において、コンピュータが、第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段から該第1入力データを取得し、該第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得し、前記記録手段から第2入力データを取得し、該第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得し、取得した前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出するテスト支援方法。対象プログラムのテストを支援するテスト支援装置において、第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段と、該記録手段に記録された第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得する第1取得部と、前記記録手段に記録された第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得する第2取得部と、前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出する算出部とを備えるテスト支援装置。しかしながら、改修前のプログラムの出力値は、改修後のプログラム、機能が追加されたプログラム及び新規のプログラムのための期待値には適用できない。また、改修前のプログラムの出力値は、プログラムの内部動作が正しかったか否かを確認せずに取得された出力値である場合がある。さらに、そもそも改修前のプログラムが設計仕様通りに開発された保証が得られない場合もある。期待値をプロパティで記述する方法は、プロパティを記述する難易度が高いため、工数がかかる。本発明は斯かる事情に鑑みてなされたものである。その目的は、プログラムテストに使用される期待値の設定を支援することができるコンピュータプログラム、テスト支援方法及びテスト支援装置を提供することである。本願による開示の一観点は、対象プログラムのテストを支援する処理をコンピュータに実行させるコンピュータプログラムにおいて、第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段から該第1入力データを取得し、該第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得し、前記記録手段から第2入力データを取得し、該第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得し、取得した前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出する処理をコンピュータに実行させる。本願による開示の一観点によれば、期待値の設定を支援することができる。以下、実施の形態をその図面に基づいて説明する。本願に開示するテスト支援装置は、例えばPCパーソナルコンピュータ、ワークステーション、PDAPersonalDigitalAssistant等である。以下では、テスト支援装置にPCを適用した実施の形態について説明する。なお、本発明は、以下の実施の形態に限定されるものではない。図1は、テスト支援装置1のハードウェア構成例を示すブロック図である。テスト支援装置1は、CPUCentralProcessingUnit11、ROMReadOnlyMemory12、RAMRandomAccessMemory13を含む。さらに、テスト支援装置1は、ハードディスク14、ディスクドライブ15、通信部16、表示部出力手段17及び操作部18を含む。テスト支援装置1のハードウェア各部は、バス1bを介して相互に接続されている。CPU11は、テスト支援装置1のハードウェア各部を制御する。CPU11は、ハードディスク14に記録されたプログラム1PをRAM13にロードし、プログラム1Pを実行する。ROM12は、テスト支援装置1の起動時にCPU11が実行するBIOSBasicInputOutputSystem等を記録している。RAM13は、例えばSRAMStaticRAM、DRAMDynamicRAMであり、CPU11が実行する処理の過程で必要な作業変数、データ等を一時的に記録する。なお、RAM13は主記憶装置の一例であり、RAM13の代わりにフラッシュメモリ、メモリカード等が用いられてもよい。ハードディスク14は、CPU11が実行するプログラム1Pを記録している。なお、ハードディスク14は、テスト支援装置1の内部に取り付けられるものであっても、テスト支援装置1の外部に置かれるものであってもよい。また、ハードディスク14は補助記憶装置の一例であり、大容量の情報の記録が可能なフラッシュメモリ、CDCompactDisc、DVDDigitalVersatileDisk、BDBlurayDisc、登録商標等の光ディスク1aで代替してもよい。ディスクドライブ15は、外部の記録媒体であるCD、DVD、BD等の光ディスク1aから情報を読み込み、光ディスク1aに情報を記録する。CPU11は、操作部18からディスクドライブ15に対する光ディスク1aの排出命令を受け付けた場合、ディスクドライブ15の図示しないトレイを排出する。通信部16は、有線又は無線通信のモデム又はLANカード等であり、インターネットNに接続されている。通信部16は、電話回線と接続することができてもよい。表示部17は、例えば液晶ディスプレイ、有機ELElectroLuminescenceディスプレイ、CRTCathodeRayTubeディスプレイ等の画面を有し、CPU11からの指示に従って、プログラム1Pに係る各種情報を表示する。なお、プログラム1Pの実行結果を出力する出力手段は、表示部17だけに限らない。例えば、テスト支援装置1に接続されたプリンタでもよい。あるいは、プログラム1Pの実行結果は、通信部16を介して、外部の装置に出力されてもよい。操作部18は、ユーザが各種の入力を行うキーボード、マウス、電源スイッチ、ディスクドライブ15から光ディスク1aを排出するための操作ボタン等の入力デバイスを含む。操作部18は、ユーザによる操作に基づいて入力信号を生成する。生成された入力信号は、バス1bを介してCPU11に送信される。以下に述べるテスト支援装置1の動作説明の参考のために、テスト対象プログラムに対してテストを実行する手順について説明する。例えば、テスト対象プログラムは、複数のプログラムの集合である業務アプリケーションである。テスト対象プログラムの入力データには、画面からの入力データとDBデータベースからの入力データとがある。テスト対象プログラムのテストの手順は、以下の通りである。手順1DBに入力データを設定する。手順2テスト対象プログラムを起動する。手順3画面から入力データを入力する。手順4所定のボタン押下等の操作によりテスト項目に対応するプログラムを駆動する。手順5次画面にプログラムからの出力データが表示される。又はDBが操作され、DBのテーブルに変更が生じる。手順6出力データと期待値とを比較し、テストの成否を判定する。テスト対象プログラムの動作に対するテストの確認内容は、以下の通りである。確認内容1プログラムの状態は、正常系か、異常系か。異常系とは、出力時のプログラムの状態がプログラムの異常終了、例外の発生及びエラー画面への遷移になることである。正常系は、異常系でない出力時のプログラムの状態である。なお以下では、正常系及び異常系のプログラムによる出力結果についても、夫々正常系、異常系という用語を使用する。確認内容2正常系の出力データ又は出力状態は適切か。2-1.遷移先の次画面は仕様通りの画面か。2-2.遷移先の次画面における出力データは適切か。2-2-1.画面項目の値は適切か。2-2-2.次画面のボタン配置又は画面レイアウトは適切か。出力データの値又は数量により、次画面のボタン配置又は画面レイアウトが動的に変化するよう、設計仕様により画面が定義されている場合がある。例えば、出力データ量が1画面に表示しきれない場合、画面にスクロールバー、次画面へ移動するボタン等のコントロールが出力画面に表示される。2-3.DBへの出力は適切か。2-3-1.レコード更新、レコード追加又はレコード削除は、適切に実行されたか。2-4.ファイル出力又は帳票出力は適切か。2-4-1.ファイルに出力された出力データは適切か。2-4-2.帳票に印刷された出力データは適切か。次に、テスト支援装置1の動作の概略について説明する。図2は、テスト支援装置1の機能構成例を示す機能ブロック図である。図2の各機能部は、CPU11がハードディスク14に記録されたプログラム1Pに基づいて動作することにより実行される。テスト支援装置1は、入力生成部21、入力組記録部22、入力設定部23及びプログラム実行部24の各機能部を含む。入力生成部21は、テスト対象プログラム2Pに入力される入力データを生成する。入力組記録部22は、入力生成部21が生成した入力データをRAM13又はハードディスク14に記録する。入力設定部23は、入力組記録部22が記録した入力データをプログラム実行部24に与える。プログラム実行部24は、入力設定部23から与えられた入力データに基づいて、テスト対象プログラム2Pを実行する。テスト対象プログラム2Pは、ハードディスク14に記録されていてもよいし、光ディスク1a又はフラッシュメモリ等の半導体メモリ1cに記録されていてもよい。また、テスト対象プログラム2Pは、外部の装置の記録手段に記録されていてもよい。かかる場合、プログラム実行部24は、通信部16を介してテスト対象プログラム2PをRAM13にロードし、ロードしたテスト対象プログラム2Pを実行する。なお、入力生成部21、入力設定部23及びプログラム実行部24は、テスト支援装置1の外部の装置に備えられていてもよい。かかる場合、CPU11は、通信部16を介してこれら外部の機能部とデータの受け渡しをする。テスト支援装置1は、異常系判定部25、変化入力生成部26及び入出力組収集部27を含む。異常系判定部25は、テスト対象プログラム2Pからの出力結果が異常系か否か判定する。変化入力生成部26は、異常系判定部25により正常系と判定された出力データに対応する入力データを微小変化させたデータを生成する。以降では、変化入力生成部26により入力データ第1入力データから微小変化されたデータを変化入力データ第2入力データと呼ぶ。1つの入力データから生成される変化入力データの数は、1つであってもよいし、複数であってもよい。また、1つの入力データを変化させる方法は、入力データの値の増加だけでもよいし、減少だけでもよいし、増加と減少との両方でもよい。1つの入力データを変化させる方法は、入力データのデータ量の増加だけでもよいし、減少だけでもよいし、増加と減少との両方でもよい。以降では、入力データとその変化入力データとの組を入力データ組と呼ぶ。入力データ及び変化入力データに基づいてテスト対象プログラム2Pから出力されるデータを夫々出力データ第1出力データ及び変化出力データ第2出力データと呼ぶ。互いに対応する入力データ及び出力データ並びに変化入力データ及び変化出力データの組を入出力データ組と呼ぶ。上述の入力組記録部22は、変化入力生成部26により変化入力データが生成された場合、入力データとその変化入力データとを対応付けた入力データ組をハードディスク14に記録する。入力設定部23は、入力組記録部22が記録した入力データ組をプログラム実行部24に与える。入出力組収集部27は、入力データに基づいてプログラム実行部24にテスト対象プログラム2Pを実行させる。また、入出力組収集部27は、変化入力データに基づいてもプログラム実行部24にテスト対象プログラム2Pを実行させる。入出力組収集部27は、テスト対象プログラム2Pの実行結果を入出力データ組としてハードディスク14に記録する。入出力組収集部27は、異常系判定部25の判定結果に基づいて、異常系の変化入力データ及び変化出力データに異常系であることの情報を付加する。テスト支援装置1は、入力組修正部28、入出力組分析部29及び期待値設定支援部30を含む。入力組修正部28は、入出力組収集部27が変化入力データ及び変化出力データに異常系であることの情報を付加した場合、所定のルールに従ってその変化入力データを修正する。入力組記録部22は、入力組修正部28が修正した変化入力データにより、修正の元となった入力データ組を更新する。入力設定部23は、入力組記録部22が更新した入力データ組をプログラム実行部24に与える。入出力組収集部27は、修正した変化入力データに基づいてプログラム実行部24にテスト対象プログラム2Pを実行させ、既にハードディスク14に記録した入出力データ組を更新する。入出力組分析部29は、入出力組収集部27が記録した正常系の入出力データ組を分析する。期待値設定支援部30は、入出力組分析部29が分析した分析結果を集計し、集計した結果を表形式のデータに整理して表示部17に出力する。ユーザは、当該表形式のデータを参照して、期待値の設定をする。図3及び図4は、テスト支援装置1による期待値設定支援処理の一例を示すフローチャートである。図3及び図4は、期待値設定支援処理の全体的な概要を示している。なお、テスト対象プログラム2Pは、予めテスト支援装置1のハードディスク14にインストールされているものとする。入力生成部21は、入力データを生成するステップS101。プログラム実行部24は、入力データに基づいてテスト対象プログラム2Pを実行するステップS102。異常系判定部25は、テスト対象プログラム2Pからの出力データが異常か否か判別するステップS103。変化入力生成部26は、正常系の出力データに対応する入力データを変化させた変化入力データを生成するステップS104。入力組記録部22は、入力データ組をハードディスク14に記録するステップS105。プログラム実行部24は、入力データ組の変化入力データに基づいてテスト対象プログラム2Pを実行するステップS106。入出力組収集部27は、入出力データ組を収集し、収集した入出力データ組を正常系と異常系とに区別してハードディスク14に記録するステップS107。入力組修正部28は、ステップS107で異常系に判別された入出力データ組の変化入力データを修正するステップS108。プログラム実行部24は、修正された変化入力データに基づいてテスト対象プログラム2Pを実行するステップS109。入出力組収集部27は、入出力データ組を収集し、ハードディスク14に記録した入出力データ組を更新するステップS110。入出力組分析部29は、入出力データ組を分析するステップS111。期待値設定支援部30は、ステップS111の分析結果を出力しステップS112、処理を終える。ユーザは、テスト支援装置1が出力するテスト対象プログラム2Pの分析結果に基づいて、期待値を設定する。次に、テスト支援装置1の動作の詳細について説明する。まず、入力生成部21の動作から説明する。入力生成部21は、入力データを生成する。その際、ブラックボックステストにおける同値分割法、境界値分析法、ホワイトボックステストにおけるプログラムの静的解析が利用されてよい。図5は、業務処理の流れに沿って画面が遷移するプログラムテストの一例を説明する説明図である。業務アプリケーションのテストでは、業務処理の流れに沿って遷移していく処理対象のステージ毎に、テスト対象プログラム2Pの出力データと設定された期待値とが比較される。業務処理の流れとは、例えば受注業務の場合、受注受け付け、受注変更、受注確定、在庫引当、商品配送、請求書発送等の流れに該当する。業務アプリケーションは、ステージ毎に対応する複数のテスト対象プログラム2Pを有している場合が普通である。そのため、テスト対象プログラム2Pのテストは、ステージ毎に実行される。画面を有するテスト対象プログラム2Pの場合、業務処理の各ステージに対応する入力画面が用意され、入力画面から入力データがテスト対象プログラム2Pに入力される。場合により、DBからもテスト対象プログラム2Pに入力データが入力される。テスト対象プログラム2Pは、入力データに基づいて指定された処理を実行し、出力データを画面遷移により規定された次画面に出力する。あるいは、テスト対象プログラム2Pは、出力結果をDBに反映させるため、DBに変更を加える。ただし、出力データが異常系である場合、入力画面からエラー画面に遷移することもある。画面を有さないバッチ処理のテスト対象プログラム2Pも業務処理の各ステージに対応し、実行されることがある。以下では、画面を有するテスト対象プログラム2Pを中心に本実施の形態を説明する。入力生成部21は、業務処理のステージ毎に画面又はDBから入力される入力データを作成する。入力生成部21が生成する入力データの数は、画面からの入力データの場合、画面の入力項目数と同じ数である。入力生成部21が生成する入力データの数は、DBからの入力データの場合、DBの全レコード数である。なお、入力生成部21が生成する入力データの種類と数とは、テスト対象プログラム2Pの画面に応じて変更されもよい。また、既存の入力データのみがテストに使用される場合、入力生成部21はなくてもよい。図6は、入力データの一例を示す説明図である。ステージは、業務処理のステージである。図6の例では、ステージは画面と1対1の関係にある。入力IDは、ステージ毎に設定される入力データの識別記号である。1つのステージについて、入力IDは1つである場合もあるし、複数である場合もある。図6は、入力データを画面からの入力データとDBからの入力データとに分けて示している。画面からの入力データの場合、画面の項目毎に入力データが作成される。画面の種類が異なる場合、画面の項目も異なり、作成される入力データも異なる。DBからの入力データの場合、テーブル毎に入力データが作成される。画面の種類が異なる場合、使用されるテーブルも異なり、作成される入力データも異なる。なお、図6では、テーブルの列に関する情報は省略している。例えば、図6の1行目は、画面1のステージにおいて、入力ID=T1の入力データが作成されることを示している。入力ID=T1の場合、画面1から入力される入力データは、夫々項目1の10、項目2のA、項目3の2010/1/1である。なお、Aのダブルクォーテーションは、Aが文字列であることを示すために添えられている。入力生成部21が生成した画面又はDBからの入力データは、入力組記録部22により、RAM13又はハードディスク14に記録される。入力設定部23は、RAM13又はハードディスク14に記録された入力データをプログラム実行部24に与える。入出力組収集部27は、プログラム実行部24にテスト対象プログラム2Pを実行させる。入出力組収集部27は、入力データとテスト対象プログラム2Pからの出力データとを対応付けてRAM13に記録する。入出力組収集部27は、テスト対象プログラム2Pからの出力データを正常系と異常系とに分別し、正常系の入力データ及び出力データを対応付けてRAM13に記録する。異常系の入力データ及び出力データは、異常系の期待値設定情報として、ハードディスク14に記録される。ここで、入出力組収集部27は、出力データを正常系と異常系とに分別するために、出力データが異常系か否かの判定を異常系判定部25に判定させる。図7は、異常系判定処理の手順の一例を示すフローチャートである。CPU11は、テスト対象プログラム2Pが正常に終了したか否かを判定するための判定基準を設定するステップS201。CPU11はエラー画面の判定基準を設定するステップS202。ステップS201及びステップS202で設定される判定基準は、例えば正常終了を示す戻り値、異常終了を示す戻り値、例外の種類を示す戻り値、エラー画面番号等のリストであってよい。ステップS201及びステップS202で設定される判定基準は、夫々ステップS204及びステップS206で利用される。例えば、これらの判定基準を記録した設定ファイルを予めハードディスク14に記録しておく。CPU11は、ハードディスク14から当該判定ファイルを読み込み、ステップS201及びステップS202を実行する。あるいは、ステップS201及びステップS202で設定される判定基準は、プログラム1Pに記述されていてもよい。CPU11は、RAM13に記録された入力データ及び出力データを読み込むステップS203。ステップS203において、読み込まれる入力データ及び出力データは、当該異常系判定処理が実行される前に、入出力組収集部27がRAM13に記録した入力データ及びテスト対象プログラム2Pからの出力データである。CPU11は、テスト対象プログラム2Pが正常に終了したか否か判定するステップS204。CPU11は、テスト対象プログラム2Pが正常に終了したと判定した場合ステップS204:YES、例外が発生したか否か判定するステップS205。CPU11は、例外が発生したと判定した場合ステップS205:YES、ステップS208に処理を進める。CPU11は、例外が発生しなかったと判定した場合ステップS205:NO、テスト対象プログラム2Pを実行した結果、遷移した画面がエラー画面か否か判定するステップS206。CPU11は、テスト対象プログラム2Pを実行した結果、遷移した画面がエラー画面であると判定した場合ステップS206:YES、ステップS208に処理を進める。CPU11は、テスト対象プログラム2Pを実行した結果、遷移した画面がエラー画面でないと判定した場合ステップS206:NO、出力データは異常系ではない、すなわち正常系であると判定しステップS207、処理を終了する。CPU11は、テスト対象プログラム2Pが正常に終了しなかったと判定した場合ステップS204:NO、出力データは異常系であると判定するステップS208。また、CPU11は、ステップS205又はステップS206からステップS208に処理を進めた場合も、出力データは異常系であると判定するステップS208。CPU11は、入力IDと、出力データの値と、上述で判別した異常系の種別とを対応付けた情報を、ファイルとしてハードディスク14に記録しステップS209、処理を終了する。異常系の種別とは、異常終了、例外発生又はエラー画面である。図8は、異常系判定部25により出力されるエラー情報の一例を示す説明図である。エラー情報は、入力データと対応が付く形式で出力される。ステージ及び入力IDは、夫々図6のステージ及び入力IDと同じである。入力データ種別は、入力データと変化入力データとを区別する情報である。入力データ種別の入力は、入力データの意味である。図8では変化入力データの例は示されていない。テストを実行した結果、画面が遷移し、DBが変更される。図8では、出力結果を結果画面と結果DBとに分けて示している。結果画面の情報は、遷移画面と遷移画面の各項目とを含む。遷移画面は、テストを実行した後の次画面の名称である。結果DBの情報は、各テーブルの変更又は異常系判定部25による処理結果である。図8では、入力IDがT1であるテストにおいて、出力結果が正常系であると判定された場合を示している。また、入力IDがT2、Tn-1及びTnであるテストにおいて、出力結果が異常系であると判定された場合を示している。図8では、異常系の出力結果を斜線で示している。実際のエラー情報に正常系の出力データは含まれないが、図8では異常系の説明の参考に、正常系の例を1行目に示している。入力ID=T1のテストでは、画面1に図6の入力ID=T1の入力データを入力し、テスト対象プログラム2Pを実行した場合、正常系の画面2に遷移した。画面2の各項目に正常系の出力データが示されている。また、テーブル1にはA1というレコードが追加されたことが示されている。テストの前後で、テーブル2は、B1というレコードのままであることが示されている。入力ID=T2のテストでは、画面1に図6の入力ID=T2の入力データを入力し、テスト対象プログラム2Pを実行した場合、異常系のエラー画面に遷移した。エラー画面の項目1には、システムエラーが発生しましたというエラーメッセージが出力されたことが示されている。エラー画面の項目2には、12345が出力され、項目3には何も出力されなかったことが示されている。システムエラーによりCPU11はDBにアクセスしなかったため、テーブル1及びテーブル2については収集なしというメッセージが出力されている。入力ID=Tn-1のテストでは、テスト対象プログラム2Pが異常終了したことが示されている。入力ID=Tnのテストでは、例外が発生したことが示されている。なお、例外については、より詳細な例外の種類が示されてもよい。変化入力生成部26は、入出力組収集部27がRAM13に記録した正常系の入力データを微小変化させる。変化入力生成部26は、入力データが微小に変化された変化入力データを生成する。変化入力データは、入力データをT、入力データの変化分をdtとした場合、例えば、T±dt、T±2dt、T±3dt等と表現することができる。以下では、変化入力生成部26は、1つの入力データについて、入力データをdtだけ増加させた変化入力データと入力データをdtだけ減少させた変化入力データとの2つを生成するものとする。変化入力生成部26は、入力データが画面の入力データである場合、画面の項目数に応じた数だけ変化入力データを生成する。変化入力生成部26は、入力データがDBの入力データである場合、DBの全レコード数に応じた数だけ変化入力データを生成する。図9は、変化入力生成部26の機能構成例を示す機能ブロック図である。変化入力生成部26は、変化入力部901及び変化分生成部902を含む。変化分生成部902は、変化分dtを生成する。変化入力部901は、変化生成部902が生成した変化分dtと入力データTとの和及び差を算出し、変化入力データT±dtを生成する。変化入力生成部26は、画面変化部903及びテーブル変化部904を含む。画面変化部903は、画面の入力データの値を変化させ、変化分を生成する。テーブル変化部904は、DBの入力データに関する変化分を生成する。具体的には、テーブル変化部904は、テーブルのレコードの値又はレコード数の変化分を生成する。テーブルのレコードの値を変化させることはレコード更新に対応し、その変化分は更新される列の値変化に該当する。テーブルのレコード数を増加させることはレコード追加に対応し、その変化分は追加するレコードセットに該当する。テーブルのレコード数を減少させることはレコード削除に対応し、その変化分は削除するレコードセットに該当する。なお、上記のレコード変化を伴うDB変更は、テーブル制約及び列制約を満たすように、実行される。変化分生成部902は、指定されたパラメータに基づいて、画面変化部903及びテーブル変化部904に夫々画面及びDBの入力データに対する変化分を生成させる。ここでのパラメータは、例えば、どの画面のどの項目の値をどれだけどのように変化させるかを決定する変数である。あるいは、ここでのパラメータは、例えば、どの画面のどの項目とどの項目とを組み合わせて同時に変化させるかを決定する変数である。上記パラメータは、以下に説明する各機能部から変化分生成部902を介して、画面変化部903又はテーブル変化部904に渡される。変化入力生成部26は、変化対象指定部905及び組合せ指定部906を含む。変化対象指定部905は、変化分を生成する対象の入力データを特定することができる情報を生成する。変化対象指定部905が生成する情報は、テスト対象プログラム2Pのテスト項目に対応する。変化対象指定部905が生成する情報は、例えば特定される入力データが画面の入力データである場合、画面の名称及び画面の項目名である。変化対象指定部905が生成する情報は、例えば特定される入力データがテーブルの入力データである場合、テーブルの名称及び列名である。図10は、変化対象指定テーブルのレコードレイアウトの一例を示す説明図である。変化対象指定テーブルは、変化対象指定部905が生成する情報が記録されたテーブルである。変化対象テーブルは、No列、入力ID列、対象列及び項目列を含む。No列は、整理番号である。入力ID列は、図6の入力IDと同じである。対象列は、変化分を生成する対象の画面又はテーブルの名称である。項目列は、画面の項目名である。対象がテーブルである場合、項目は列名である。以下では、変化入力データを生成するための入力データに対応する画面の項目名並びにDBのテーブル名及び列名を要素又は変化要素と呼ぶ。要素は、変化対象指定テーブルの1レコードに対応する。例えば、画面1の項目1は要素である。テスト対象プログラム2Pのテストは、要素毎に行われ、テスト項目と対応する。なお、入力データは、1つの要素について1つである場合もあるし、複数である場合もある。例えば、画面1の項目1に数値を入力してテスト対象プログラム2Pをテストする場合、入力される入力データは10だけであることがあるし、10と20との2つであることもある。10と20とを入力してテスト対象プログラム2Pを2回テストすることは、どちらも画面1の項目1に対する入力であり、テスト項目としては1つである。変化対象指定部905は、変化対象指定テーブルを参照して、変化分生成部902に要素を渡す。あらゆる入力データを変化させる場合、テスト支援装置1に対する負荷が大きくなるとき、変化対象指定テーブルに記録するレコードを増減することにより、テスト支援装置1に対する負荷を調整することができる。組合せ指定部906は、上記要素の組合せに関する情報を生成する。例えば、画面1が項目1、項目2及び項目3を含む場合、項目1及び項目2の入力データを共に変化させた変化入力データを生成するとき、組合せ指定部906が生成する情報は、項目1及び項目2である。例えば、テーブル1が列1、列2及び列3を含む場合、列1及び列3の入力データを共に変化させた変化入力データを生成するとき、組合せ指定部906が生成する情報は、列1及び列3である。要素を組合わせるために、オールペア法、直交表等の組合せテストで用いられる技術が利用されてよい。変化入力データを生成する要素が1つである場合、組合せ指定部906が生成する情報は、要素の組合せがないという情報である。組合せ指定部906は、組合せ指定テーブルを参照して、要素の組合せ情報を変化分生成部902に渡す。図11は、組合せ指定テーブルのレコードレイアウトの一例を示す説明図である。組み合わせ指定テーブルは、組合せ指定部906が参照する情報が記録されたテーブルである。Noは、整理番号であり、主キーでもある。入力IDは、図6のテストIDと同じである。組合せ指定は、要素の組合せの有無である。組合せ項目は、組合せ指定がありの場合、要素の組合せを格納する。図11のNo列の1は、入力ID=T1の入力データについて、要素を組み合わせて変化分を生成しないことを示している。No列の2は、入力ID=T2の入力データについて、画面2の項目1及び項目3を組合わせた変化入力データを生成する場合、各項目の変化分を生成することを示している。画面名と項目名の間のドットは、画面と項目とを結合する記号である。あらゆる要素の組合せについて入力データを変化させる場合、テスト支援装置1に対する負荷が大きくなるとき、組合せ指定テーブルに記録するレコードを増減することにより、テスト支援装置1に対する負荷を調整することができる。変化入力生成部26は、属性指定部907及び変化幅指定部908を含む。属性指定部907は、変化分を生成する対象の入力データの属性を生成する。すなわち、属性指定部907は、要素の属性を生成する。この属性は、画面の入力データの場合、画面の項目に入力されるデータのデータ型である。また、この属性は、DBの入力データの場合、テーブルの列のデータ型である。属性指定部907は、データ属性テーブルを参照して、入力データの属性を変化分生成部902に渡す。図12は、データ属性テーブルのレコードレイアウトの一例を示す説明図である。データ属性テーブルは、属性指定部907が参照する情報が記録されたテーブルである。データ属性テーブルは、No列、対象列、項目列及び属性列を含む。No列は、整理番号であり、主キーでもある。対象列は、変化分を生成する対象の画面又はテーブルの名称である。項目列は、画面の項目名又はテーブルの列名である。属性列は、画面項目又はテーブルの列のデータ型である。例えば図12のNo列の1、2、3は、画面1の項目1、項目2及び項目3のデータ型が夫々数字、英字文字列及び日付であることを示している。変化幅指定部908は、変化幅指定テーブルを参照して、入力データを変化させる変化幅を生成する。変化幅は、変化分dtの大きさである。変化幅指定部908は、生成した変化幅を変化分生成部902に渡す。図13は、変化幅指定テーブルのテーブルレイアウトの一例を示す説明図である。変化幅指定テーブルは、No列、属性列及び変化幅列を含む。No列は、整理番号であり、主キーである。属性列は、変化分を生成する対象の入力データのデータ型である。変化幅列は、変化分の数量である。変化幅列は、加算又は減算の情報も含む。例えば、図13のNo列の1は、入力データのデータ型が数字である場合、1を加算することを示している。No列の4は、入力データのデータ型が文字列である場合、1文字削除することを示している。No列の5は、入力データが日付である場合、翌日に変化させることを示している。No列の6は、入力データが日付である場合、前日に変化させることを示している。No列の7は、入力データが日付である場合、月末に変化させることを示している。変化分生成部902は、属性指定部907から渡された入力データの属性と、変化幅指定部908から渡された属性毎の変化幅とから、各要素の変化幅を決定することができる。なお、図13には、1つの属性に対して複数の変化幅が記録されている。例えば、属性が日付である場合、図13のNo列の5、6、7に3つの変化幅が示されている。ある要素について、図13のNo列の5、6、7の内、どれを採用するかということは、プログラム1に記述されている。あるいは、プログラム1の実行時にユーザが図13のNo列の5、6、7の内、どれを採用するかプログラム1に与えてもよい。変化対象指定テーブルの対象列及び項目列と、データ属性テーブルの対象列及び項目列との間に、夫々リレーションが設定されていてもよいし、設定されていなくてもよい。また、データ属性テーブルの属性列と、変化幅指定テーブルの属性列との間に、リレーションが設定されていてもよいし、設定されていなくてもよい。変化対象指定テーブル、組合せ指定テーブル、データ属性テーブル及び変化幅指定テーブルを記録する記録媒体は特に限定されない。これらのテーブルはハードディスク14に記録されていてもよし、光ディスク1a又はフラッシュメモリ等の半導体メモリ1cに記録されていてもよい。あるいは、これらのテーブルは外部の情報処理装置の記録部に記録されていてもよい。かかる場合、テスト支援装置1は、通信部16を介してこれらのテーブルの情報を取得する。変化入力部901は、入力データと変化分生成部902が生成した変化分とから変化入力データを生成する。図14は、変化入力データの一例を示す説明図である。変化入力IDは、変化入力データの識別記号である。変化入力IDは、変化入力データの元である入力データの入力IDにサブ識別記号を結合して設定されている。例えば、図14の1行目の変化入力IDは、T1とv1とが結合されており、T1は当該変化入力データが入力ID=T1の入力データを変化させることにより生成されたことを示している。変化要素は、変化入力データを生成するために変化させた入力データの要素である。図14では、画面及びDBの入力データに対応する変化入力データが示されている。なお図14では、DBの入力データに対応する変化入力データの欄があるが、DBの入力データを変化させた変化入力データは省略している。また図14では、テーブルの列に関する情報は省略している。図14の1行目及び2行目は、画面1について項目1の入力データを変化させ、項目2及び項目3の入力データは変化させていない変化入力データを示している。画面1の項目1の入力データは10である図6参照。10に1加算した値、10から1減算した値が夫々変化入力ID=T1v1、T1v2における項目1の変化入力データである。図14の3行目及び4行目は、画面1について項目2の入力データを変化させ、項目1及び項目3の入力データは変化させていない変化入力データを示している。画面1の項目2の入力データはAである図6参照。Aに1文字のXを追加した文字列、Aから1文字削除した文字列が夫々変化入力ID=T1v3、T1v4における項目2の変化入力データである。なお、Aのダブルクォーテーションは、データ型が文字列であるために添えられている。図14の5行目及び6行目は、画面1について項目3の入力データを変化させ、項目1及び項目2の入力データは変化させていない変化入力データを示している。画面1の項目3の入力データは2010/1/1である図6参照。2010/1/1の翌日の日付、2010/1/1の前日の日付が夫々変化入力ID=T1v5、T1v6における項目3の変化入力データである。図14に示すように、変化入力生成部26は、入力データの値を挟むように少なくとも2つの変化入力データを生成する。入力データに基づいて変化入力生成部26が生成する変化入力データと当該入力データとのまとまりが入力データ組である。入力データ組のファイルを入力データ組ファイルと呼び、入力データ組ファイルは入力組記録部22によりハードディスク14に記録される。図15及び図16は、変化入力データを生成する処理の手順の一例を示すフローチャートである。なお、正常系の入力データは、予めハードディスク14に記録されているものとする。また、DBのテーブルデータもハードディスク14に記録されているものとする。CPU11は、入力データをハードディスク14からRAM13にロードするステップS301。CPU11は、入力データを入力ID、画面の名称、項目の名称、テーブル名、列名の昇順に並び替えるステップS302。この時点で、入力ID、画面の名称、画面の各項目、画面の各項目の入力データ、テーブル名、列名が夫々対応付けられてRAM13に記録されている。CPU11は、変化対象指定テーブル、組合せ指定テーブル、データ属性テーブル及び変化幅指定テーブルを読み込むステップS303。CPU11は、読み込んだテーブルのデータを入力ID、画面の名称、画面の項目名、テーブル名、列名の昇順に並び替えるステップS304。この時点で、入力ID、画面の名称、画面の各項目名、画面項目の属性、テーブル名、列名、各テーブルの列の属性、変化幅及び組合せ項目が夫々対応付けられてRAM13に記録されている。このデータは、入力データの要素を1つずつ特定し、特定した要素を変化させる情報の集合である。CPU11は、ステップS302で並べ替えた入力データから1要素を選択するステップS305。CPU11は、選択した1要素が変化させる対象の要素か否か判定するステップS306。ステップS306の判定は、変化対象指定テーブル及び組合せ指定テーブルに基づいて判定される。これらのテーブルの情報は、ステップS303でCPU11により読み込まれている。選択した要素の特定データがステップS304で並べ変えたテーブルデータにある場合、CPU11は1要素を変化させる対象の要素であると判定する。CPU11は、選択した1要素が変化させる対象の要素でないと判定した場合ステップS306:NO、ステップS305に処理を戻す。CPU11は、選択した1要素が変化させる対象の要素であると判定した場合ステップS306:YES、当該1要素がDBの入力データか否か判定するステップS307。CPU11は、1要素がDBの入力データであると判定した場合ステップS307:YES、DBにアクセスし、選択した1要素に係るテーブルのデータを変化させるステップS308。その後、CPU11は、ステップS305に処理を戻す。なお、ステップS308は、レコード更新、レコード追加又はレコード削除の各クエリに関する処理を含む。CPU11は、1要素がDBの入力データでないと判定した場合ステップS307:NO、画面の入力データである1要素を変化させるステップS309。CPU11は、1要素を変化させることにより生成した変化入力データをRAM13に記録するステップS310。CPU11は、全ての要素を処理したか否か判定するステップS311。CPU11は、全ての要素を処理していないと判定した場合ステップS311:NO、ステップS305に処理を戻す。CPU11は、全ての要素について処理したと判定した場合ステップS311:YES、ステップS312に処理を進める。CPU11は、入力データ及びその変化入力データをステージ毎にまとめ、入力データ組ファイルとしてハードディスク14に記録しステップS312、処理を終了する。なお、組合せ指定がある場合、ステップS308及びステップS309において、CPU11は組合せ項目の1つずつについて1要素を変化させる。図17は、入力データ組ファイル1Fの内容の一例を示す説明図である。図17は、図6の入力データと図14の変化入力データとをステージ単位でまとめたものである。ステージは、図6のステージと同じである。入力組IDは、入力データ組の識別記号である。入力組IDは、例えば入力データ組に含まれる入力データの入力IDで代表される。IDは、入力データを示す入力ID又は変化入力データを示す変化入力IDである。画面は、入力画面の名称である。入力データ種別は、入力データと変化入力データとを区別する情報である。当該行が入力データである場合、入力が格納される。当該行が変化入力データである場合、変化入力が格納される。また、当該行が変化入力である場合、図14の変化要素も併記される。図14では、画面からの入力データ及び変化入力データと、DBの入力データ及び変化入力データとに分けて示されている。なお、図14では、DBの入力データ及び変化入力データの詳細と、テーブルの列に関する情報とは省略している。図17には、ステージが画面1である入力データと変化入力データとが示されている。1行目は、入力データである。画面1のステージで使用される入力画面は当然画面1であり、画面1の項目1、項目2及び項目3について入力データが示されている。2行目以降は、変化入力データである。項目1、項目2及び項目3を変化要素とした場合の変化入力データが、夫々2~3行、4~5行、6~7行に示されている。入力組記録部22は、図17の入力データ組ファイル1Fのレコードを、ステージ、入力組ID、IDの昇順に並べ替えて、ハードディスク14に記録する。なお、図17では、1つの要素に対して入力データは1つであり、変化入力データは2つである。例えば、画面1の項目1について、入力データは10であり、変化入力データは11と9とである。しかし、1つの要素に対して入力データは複数生成されてもよい。例えば、画面1の項目1について、10と20との入力データが生成されてもよい。かかる場合、例えば入力データ10について11と9との変化入力データが生成され、入力データ20について21と19との変化入力データが生成されてもよい。入力設定部23は、入力データ組の変化入力データをプログラム実行部24に与える。入出力組収集部27は、プログラム実行部24にテスト対象プログラム2Pを実行させ、入出力データ組を取得する。入出力組収集部27は、異常系判定部25の判定に基づいて、取得した入出力データ組を正常系と異常系とに分けて記録する。図18は、入出力データ組収集処理の手順の一例を示すフローチャートである。入出力データ組処理は、入力データ及び出力データ並びに変化入力データ及び変化出力データの組を収集する処理である。なお、入力データ組ファイル1Fは、RAM13にロードされているものとする。CPU11は、RAM13に記録されている入力データ組のデータを1つ選択するステップS401。ステップS401において、入力データ組のデータを1つ選択とは、例えば図17のデータの1行を選択することである。また、再帰的にステップS401が呼び出された場合、CPU11は、入力データ組の次の行を選択する。CPU11は、入力データ種別に基づいて、選択したデータが変化入力データか否か判定するステップS402。CPU11は、選択したデータが変化入力データでないと判定した場合ステップS402:NO、ステップS401へ処理を戻す。CPU11は、選択したデータが変化入力データであると判定した場合ステップS402:YES、選択した変化入力データに基づいてテスト対象プログラム2Pを実行するステップS403。CPU11は、テスト対象プログラム2Pからの変化出力データをRAM13に記録するステップS404。CPU11は、テスト対象プログラム2Pの実行結果が正常系か否か判定するステップS405。CPU11は、テスト対象プログラム2Pの実行結果が正常系でないと判定した場合ステップS405:NO、すなわち異常系であると判定した場合、処理対象の変化入力データに異常であることのマーキングをするステップS406。ここでのマーキングとは、処理対象である変化入力データが異常系であるか否かを判定することができる記録であれば、何でもよい。例えば、その記録は処理対象の変化入力データを識別することができる変化入力IDをログ出力することでもよいし、ステップS404で記録した変化出力データに異常系であることのフラグを付加することでもよい。CPU11は、ステップS406を処理した後、ステップS407に処理を進める。CPU11は、テスト対象プログラム2Pの実行結果が正常系であると判定した場合ステップS405:YES、入力データ組の全データを処理したか否か判定するステップS407。CPU11は、入力データ組の全データを処理していないと判定した場合ステップS407:NO、ステップS401に処理を戻す。CPU11は、入力データ組の全データを処理したと判定した場合ステップS407:YES、ステップS404でRAM13に記録した変化出力データを、ステップS406で行ったマーキングに基づいて正常系と異常系とに分別するステップS408。CPU11は、分別した変化出力データを変化入力データと対応付けて入出力データ組ファイルとして、ハードディスク14に記録しステップS409、処理を終了する。図19は、入出力データ組収集処理の出力結果の一例を示す説明図である。ステージ、入力組ID、ID及び入力データ種別は、夫々図17のステージ、入力組ID、ID及び入力データ種別と同じである。結果画面及び結果DBは、夫々図8の結果画面及び結果DBと同じである。図19には、正常系の出力結果のみが示されている。図19における異常系の出力態様は、図8の出力画面及び結果DBと同じである。図19の1行目には、画面1のステージにおいて入力ID=T1の入力データを用いてテスト対象プログラム2Pを実行した場合、仕様通りの画面2に遷移したことが示されている。また、図19は、図17の情報を加味する場合、変化入力ID=T1の入力データである10を画面1の項目1に入力したとき、遷移画面の画面2の項目1に仕様通りの21が表示されたことを示す。図19の2行目には、画面1のステージにおいて、変化入力ID=T1v1の変化入力データを用いてテスト対象プログラム2Pを実行した場合、仕様通りの画面2に遷移したことが示されている。また、図19は、図17の情報を加味する場合、変化入力ID=T1v1の変化入力データである11を画面1の項目1に入力したとき、遷移画面の画面2の項目1に仕様通りの23が表示されたことを示す。図19の3行目には、画面1のステージにおいて、変化入力ID=T1v2の変化入力データを用いてテスト対象プログラム2Pを実行した場合、仕様通りの画面2に遷移したことが示されている。また、図19は、図17の情報を加味する場合、変化入力ID=T1v2の変化入力データである9を画面1の項目1に入力したとき、遷移画面の画面2の項目1に仕様通りの19が表示されたことを示す。図19の結果DBについては、ID=T1、T1v1、T1v2のどの場合も、テーブル1へレコードA1が仕様通り追加されたことが示されている。また、ID=T1、T1v1、T1v2のどの場合も、テーブル2のレコードB1は仕様通り変化がないことが示されている。図20は、入出力データ組ファイル2Fの内容の一例を示す説明図である。ステージ、入力組ID及びIDは、夫々図17のステージ、入力組ID及びIDと同じである。正常/異常は、テスト対象プログラム2Pの実行結果が正常系であったか、異常系であったかを示す。出力結果は、図19の結果画面、結果DBを転記したものである。ただし、図20では出力結果の詳細を省略して示している。なお、実行結果が異常系である場合、出力結果は空欄である。分析対象は、入出力組分析部29が分析対象とする入出力データ組か否かを示す。以降では、出力データ及び変化出力データを出力データ組と呼ぶ。入力データ組と出力データ組とのまとまりが入出力データ組である。入出力組分析部29は、入出力データ組を1つの単位にして各ステージ、各要素の入出力関係を分析する。入出力分析部29が分析対象とする入出力データ組の出力結果が全て正常系である場合、図20の分析対象には○が入る。入出力分析部29が分析対象とする入出力データ組に属する出力結果が1つでも異常系である場合、図20の分析対象には×が入る。例えば、ステージが画面1である入力組ID=T1の場合、全ての出力結果が正常系であるため、分析対象は○である。ステージが画面1である入力組ID=T2の場合、ID=T2v2の変化入力データに対する変化出力データが異常系であるため、入力組ID=T2の入出力データ組の分析対象は×である。同様に、ID=T3v1の変化入力データに対する変化出力データは異常系であるため、入力組ID=T3の入出力データ組の分析対象は×である。なお、この段階では、分析対象の欄は空欄でもよい。図21、図22及び図23は、入力データ組と出力データ組との対応関係の一例を示す説明図である。図21は、図20の分析対象が○に該当する場合の入力データ組と出力データ組との対応関係を示している。図22及び図23は、図20の分析対象が×に該当する場合の入力データ組と出力データ組との対応関係を示している。図21、図22及び図23の横軸は、入力データの値を示す。図21、図22及び図23の縦軸は、出力データの値を示す。横軸上の黒丸は入力データの値を、黒三角は変化入力データの値を示す。また、鎖線も変化入力データの値を示す。横軸上の黒丸と黒三角との間の距離は、入力データの変化分dtに相当する。入力データをTとした場合、黒丸の右隣の黒三角はTdt、黒丸の左隣の黒三角はT-dtと表すことができる。図21、図22及び図23の斜めの直線は、入力データ組と出力データ組との対応を示す直線である。多くの場合、業務アプリケーションに対して入力値を変化させたとき、入力値の変化と出力値の変化とは一次関数に近似可能な関係又は一次関数を示す。例えば、元手を入力し、損益を出力する株取引シミュレーションプログラムの場合、元手の変化に比例して損益が変化する。あるいは、価格を入力し、消費税を付加した売上を出力する売上管理プログラムの場合、価格の変化に比例して売上が変化する。そこで、図21、図22及び図23には、業務アプリケーションにしばしば認められる直線的な入出力関係が、直線として参考に示されている。図21は、入力データ組の全てのデータについて出力結果が正常系である場合を示している。なお、正常系の場合、変化出力データの全てが直線に対応する値であってもよいし、変化出力データは直線に対応しない値を含んでもよい。正常系の変化出力データは、縦軸上のいずれかの位置にプロットされる。一方、異常系は出力時のプログラムの状態がプログラムの異常終了、例外発生及びエラー画面への遷移になることであるため、異常系の変化出力データは縦軸にプロットすることができるデータを含んでいない。図22は、変化出力データの一部が異常系である場合を示している。例えば、図22はTdtの変化入力データに対応する正常系の変化出力データがない場合である。TとTdtとの間に、正常系と異常系との間の臨界入力値を仮定した場合、この臨界入力値より大きな入力値では出力結果が異常系になる可能性がある。図22では、矢印線により示された領域が異常系の領域である。類似のことが、T-dtの変化入力データに対応する変化出力データがない場合にもいえる。図22のような入出力データ組は、入力と出力との間の関係を分析する材料データとして不適切である。図23は、入力データに対する出力データが異常系である場合を示している。本実施の形態では、出力データが異常系となる入力データについては、変化入力データは生成されない。図23は、図21及び図22の参考として示してある。出力データが異常系となる入力データについて、あえて変化入力データを生成したとしても、多くの場合その変化出力データは異常系になる。図23は、少なくともT-dtとTdtとの間の入力値に対する出力結果は全て異常系になる例を示している。仮に正常系と異常系とを画する臨界入力値が存在したとしても、その臨界入力値はT-dtとTdtとの間の外側に位置する。図23は、臨界入力値がT-dtより小さい場合を例示している。図23のような入出力データ組は、入力と出力との間の関係を分析する材料データとして不適切である。入力組修正部28は、入出力組収集部27が記録した入出力データ組の内、変化出力データが異常系である変化入力データを修正する。入力組記録部22は、入力組修正部28が修正した変化入力データにより入力データ組ファイル1Fの修正前の変化入力データを上書き更新する。入力設定部23は、修正後の変化入力データをプログラム実行部24に与える。入出力組収集部27は、修正した変化入力データに基づいてプログラム実行部24にテスト対象プログラム2Pを実行させる。入出力組収集部27は、入出力データ組ファイル2Fに記録されている修正前の変化入力データ及び修正前の変化出力データを、夫々修正後の変化入力データ及び修正後の変化出力データで上書き更新する。なお、入力組記録部22は、修正した変化入力データに新たな変化入力IDを付加し、修正した変化入力データを入力データ組ファイル1Fに追加してもよい。同様に、入出力組収集部27は、修正後の変化入力データ及び修正後の変化出力データを入出力データ組ファイル2Fに追加してもよい。異常系の変化入力データを修正した場合、修正した変化入力データに基づく変化出力データは異常系から正常系に変化する可能性がある。これにより、正常系の入出力データ組のデータ数は増大し、後の分析対象のデータ数を増大させることができる。入力組修正部28が変化入力データを修正する方法の1つは、例えば変化入力生成部26が入力データを変化させるために使用した図13の変化幅指定テーブルの変化幅を変更する方法である。この方法を修正ルール1と呼ぶ。図24は、修正ルール1による入力データ組と出力データ組との対応関係の一例を示す説明図である。横軸上の黒丸は入力データの値を、黒三角は修正後の変化入力データの値を、白三角は修正前の変化入力データの値を示す。鎖線は、修正後の変化入力データの値を示す。一点鎖線は、修正前の変化入力データの値を示す。図24の例では、入力データを変化入力データに変化させる変化幅を元の1/2に変更している。変化幅の変更は1/2に限るものではなく、例えば1/Nから選択されてよい。ここで、Nは自然数である。矢印により示された領域が異常系の入力値に対応する領域である場合、変化幅を縮小することにより、修正後の変化入力データに基づく変化出力データは異常系から正常系に変化することが期待される。例えば、図24において異常系の領域が飛び飛びに分布する場合が考えられる。そこで、変化幅の変更は修正前の変化幅を大きくする変更であってもよい。かかる場合、入力データの変化分を大きくすることにより、変化出力データは異常系から正常系に変化する可能性がある。図25は、修正ルール1による修正後の入力データ組ファイル1Fの内容の一例を示す説明図である。修正が施された変化入力データの部分は、斜線で示されている。ID=T1の入力データは10であり、変化前の変化入力データは変化幅の1に基づき、ID=T1v1の11とID=T1v2の9とであった図17参照。修正ルール1により変化幅を1から半分の0.5に変更した結果、変化入力データはID=T1v1の10.5とID=T1v2の9.5とに修正されている。入力組修正部28が変化入力データを修正する他の方法は、例えば変化幅は変えずに、入力データ及び変化入力データの値を夫々同じ所定量だけシフト変化させる方法である。この方法を修正ルール2と呼ぶ。図26は、修正ルール2による入力データ組と出力データ組との対応関係の一例を示す説明図である。横軸上の黒丸は修正後の入力データの値を、黒三角は修正後の変化入力データの値を示す。横軸の下の白丸は修正前の入力データの値を、白三角は修正前の変化入力データの値を示す。鎖線は、修正後の変化入力データの値を示す。図26の例では、変化幅と同じ量だけ、入力データ及び変化入力データの値を夫々小さくする方向にシフトしている。なお、入力データ及び変化入力データの値のシフト量は、変化幅と同じ量に限るものではなく、様々な量が選択されてよい。矢印により示された領域が異常系の入力値に対応する領域である場合、入力データ及び変化入力データの入力値を夫々変更することにより、修正後の変化入力データに基づく変化出力データは異常系から正常系に変化することが期待される。図26の例では、T及びT-dtに夫々対応する修正前の入力データ及び変化入力データから、正常系の出力結果を得た。また、Tdtに対応する修正前の変化入力データから、異常系の出力結果を得た。図26の例では、修正後の入力データの値は、修正前のより小さい変化入力データの値T-dtに等しい。修正後のより大きい変化入力データの値Tは、修正前の入力データの値に等しい。そのため、修正後のより大きい変化入力データ及び入力データに基づく出力結果は既に取得済みである。修正後のより大きい変化入力データ及び入力データに基づいてテスト対象プログラム2Pを駆動し、新たに出力結果を得る必要はない。他方、Tdtに対応する修正前のより大きい変化入力データは異常系であったため、この変化入力データをT-2dtの値に修正し、より小さい変化入力データとする。そして、このより小さい変化入力データに基づいてテスト対象プログラム2Pを駆動する。このように、入力データ及び変化入力データのシフト量を変化幅と同じ量にした場合、変化入力データを修正する処理量を少なく抑えることができる。図27は、修正ルール2による修正後の入力データ組ファイル1Fの内容の一例を示す説明図である。修正が施された入力データ及び変化入力データの部分は、斜線で示されている。ID=T1の修正前の入力データは10であり、修正後の入力データは9である。ID=T1v1の修正前の変化入力データは11であり、修正後の変化入力データは10である。ID=T1v2の修正前の変化入力データは9であり、修正後の変化入力データは8である。すなわち修正前、ID=T1v2、T1、T1v1の順に、9、10、11の値であった各データは変化幅の1だけ小さい方向に減じられ、夫々8、9、10に修正されている。図28及び図29は、修正に係る入出力データ組収集処理の手順の一例を示すフローチャートである。なお、図28及び図29で設定される修正ルール2は、入力データ及び変化入力データの値を例えば変化幅と同じ量だけ小さくするルールであるものとする。CPU11は、入出力データ組ファイル2Fをハードディスク14からRAM13にロードするステップS501。CPU11は、分析対象が×である入力組IDの入出力データ組を抽出し、抽出した入出力データ組のリストを作成するステップS502。CPU11は、リストから1つの入出力データ組を選択するステップS503。CPU11は選択した入出力データ組から出力結果が異常系である変化入力データのリストを作成するステップS504。CPU11は、設定された修正ルールに基づいて、ステップS504で作成したリストの変化入力データを修正するステップS505。ステップS505における修正ルールの数は複数である。CPU11は、後述するステップS510において設定されるカウンタ変数の値に基づいて、修正ルールを選択する。ここでの修正ルールは、例えばカウンタ変数の値が1である場合、変化幅が1/2の修正ルール1であり、カウンタ変数の値が2である場合、変化幅が1/3の修正ルール1である。また、修正ルールは、カウンタ変数の値が3である場合、修正ルール2である。なお、ステップS505において、修正ルールの選択数は3つに限らず、3つ以下でもよいし、3つ以上でもよい。修正ルールの選択数を増やす場合、例えば修正ルール1における変化幅の縮小率を1/4、1/5、1/6のように次々とより小さい値に設定する。CPU11は、修正した変化入力データに基づいてテスト対象プログラム2Pを実行するステップS506。CPU11は、テスト対象プログラム2Pからの変化出力データをRAM13に記録するステップS507。CPU11は、テスト対象プログラム2Pの実行結果が正常系か否か判定するステップS508。CPU11は、テスト対象プログラム2Pの実行結果が正常系でないと判定した場合ステップS508:NO、カウンタ変数の値をインクリメントするステップS509。CPU11は、カウンタ変数の値が所定数か否か判定するステップS510。CPU11は、カウンタ変数の値が所定数でないと判定した場合ステップS510:NO、ステップS505に処理を戻す。CPU11は、カウンタ変数の値が所定数であると判定した場合ステップS510:YES、処理対象の変化入力データに異常であることのマーキングをするステップS511。ここでのマーキングとは、ステップS406のマーキングと同じである。CPU11は、ステップS511を処理した後、ステップS512に処理を進める。CPU11は、テスト対象プログラム2Pの実行結果が正常系であると判定した場合ステップS508:YES、ステップS504で作成したリストの変化入力データを全て処理したか否か判定するステップS512。CPU11は、ステップS504で作成したリストの変化入力データを全て処理していないと判定した場合ステップS512:NO、ステップS505に処理を戻す。CPU11は、ステップS504で作成したリストの変化入力データを全て処理したと判定した場合ステップS512:YES、ステップS502で作成したリストの入出力データ組を全て処理したか否か判定するステップS513。CPU11は、ステップS502で作成したリストの入出力データ組を全て処理していないと判定した場合ステップS513:NO、ステップS503に処理を戻す。CPU11は、ステップS502で作成したリストの入出力データ組を全て処理したと判定した場合ステップS513:YES、ステップS507でRAM13に記録した変化出力データを、ステップS511で行ったマーキングに基づいて正常系又は異常系に分別するステップS514。CPU11は、分別した変化出力データを変化入力データと対応付け、入出力データ組ファイル2Fに上書きしステップS515、処理を終了する。なお、修正ルール2が実行された場合、ステップS515において、CPU11は入力データ及び変化入力データの値が夫々シフトされることによる入出力データ組ファイル2Fの変更も行う。ステップS510の判定処理は、ステップS505へ戻る手順が永久ループにならないようにするための処理である。ステップS510では、カウンタ変数を利用して、ループを出るようにしている。しかし、例えばループに入ってから時間のカウントを開始し、所定時間経過してもループ内の処理をしている場合、ループから抜け出るようにしてもよい。図30は、修正後の入出力データ組ファイル2Fの内容の一例を示す説明図である。図30は、図20のID=T2v1、T3v1の2つの変化入力データを修正し、テスト対象プログラム2Pを再実行した結果を示す。ID=T2v1の変化入力データを修正した場合、その変化出力データは正常系に変化し、入出力組ID=T2の入出力データ組の出力結果はすべて正常系になった。そのため、入出力組ID=T2の修正前の分析対象は×であったが、修正後は○に変化した図20参照。ID=T3v1の変化入力データを修正した場合、その変化出力データは異常系のままであり、入出力組ID=T3の入出力データ組の出力結果は全てが正常系にはならなかった。そのため、入出力組ID=T3の修正前の分析対象は×であったが、修正後も×のままである図20参照。入出力組分析部29は、入出力組収集部27が出力した修正後の入出力データ組ファイル2Fの分析対象が○である入出力データ組を収集する。入出力組分析部29は、収集した入出力データ組を利用して、各ステージの変化要素における入力と出力との関係を分析する。入出力組分析部29は、以下の3種類の分析を行う。以降、夫々の分析を分析1、分析2及び分析3と呼ぶ。入出力組分析部29は、分析1、分析2及び分析3をこの順に実行する。分析1は、入力値の変化に対する出力値の変化を分析する。入力値の変化に対する出力値の変化は、図21のグラフ上では、直線の傾きに相当する。分析2は、入力変化と出力変化との対応関係を示す直線式を算出する。この直線式の直線は、図21の直線に相当する。分析3は、分析2において1つの変化要素に対して複数の直線式が得られた場合、これらの直線式の異同を分析する。以下に、分析1、分析2及び分析3について詳述する。図31は、分析1における分析処理の手順の一例を示すフローチャートである。なお、入出力データ組ファイル2Fは、ステージ、入力組ID、IDの昇順に入出力データ組が記録されているものとする。CPU11は、入出力データ組ファイル2Fをハードディスク14からRAM13にロードするステップS601。CPU11は、未選択の1つの入力組IDを選択するステップS602。CPU11は、選択した入力組IDに係る入出力データ組の入力値及び出力値のリストを作成するステップS603。CPU11は、ステップS603で作成したリストに基づき、入力データの値及び出力データの値を基準にして、入力値の変化分及び出力値の変化分を算出するステップS604。CPU11は、入力値の変化分に対する出力値の変化分である変化率を算出するステップS605。ステップS605において、算出される変化率は2つである。すなわち、1つの入力データに対して変化幅を増減した変化入力データが2つ生成されるため、変化入力データは2つである。グラフ上では、入力データの値及び出力データの値で決まる点から変化入力データの値及び変化出力データの値で決まる点に2本の直線を描くことができる。これら2本の直線の傾きが、ステップS605で算出される変化率に相当する。CPU11は、ステップS605で算出した変化率が同一か否か判定するステップS606。CPU11は、ステップS605で算出した変化率が同一と判定した場合ステップS606:YES、傾き一定と判定しステップS607、ステップS609に処理を進める。ここでの傾きは、上述のグラフ上の直線の傾きのことである。CPU11は、ステップS605で算出した変化率が同一でないと判定した場合ステップS606:NO、傾き一定でないと判定しステップS608、ステップS609に処理を進める。CPU11は、全ての入力組IDに係る入出力データ組を処理したか否か判定するステップS609。CPU11は、全ての入力組IDに係る入出力データ組を処理していないと判定した場合ステップS609:NO、ステップS602に処理を戻す。CPU11は、全ての入力組IDに係る入出力データ組を処理したと判定した場合ステップS609:YES、分析結果を分析1ファイルとしてハードディスク14に記録しステップS610、処理を終了する。なお、ステップS606における変化率の同一判定は、完全一致した場合に同一と判定してもよいし、2つの変化率の差が所定のずれより小さい場合、同一と判定してもよい。例えば、2つの変化率をA、Bとした場合、A-B/Aの値が所定の値より小さいとき、AとBとは同一と判定してもよい。図32は、分析1ファイル3Fの内容の一例を示す説明図である。分析1ファイル3Fは、分析1の結果を記述したファイルである。入力組IDは、図20及び図30の入力組IDと同じである。図32では、変化入力データにおける入力変化と変化出力データにおける出力変化とに分けて変化分が示されている。入力変化の変化要素は、変化入力データを生成するために変化させた入力データの要素である。図32では、画面1の項目1及び項目2が例示されている。変化前は、入力データの値である。変化後は、変化入力データの値である。変化分は、入力データの値と変化入力データの値との差である。図32の出力変化の画面は、入力組データが入力され、テスト対象プログラム2Pが実行された場合の遷移画面である。例えば、図17からわかるように、入力組ID=T1に対応する入力画面は画面1である。図32は、入力組ID=T1の場合、画面1から画面2に遷移する例を示している。項目は画面2の項目である。変化前は、出力データの値である。変化後は、変化出力データの値である。変化分は出力データの値と変化出力データの値との差である。図32の変化率は、入力変化の変化分に対する出力変化の変化分の比率である。傾きは、1つの変化要素に対して求めた2つの変化率をグラフにおける直線の傾きで表現した場合に、2つの変化率が一定か否かを示す情報である。画面1の項目1に入力する入力データを、10から11に変化させたときの変化率と、10から9に変化させたときとの変化率とは、どちらも2であり、傾きは一定である。画面1の項目2に入力する入力データを、AからAX及びに変化させたときの変化分は夫々1、-1である。ここでの変化分は、文字数の変化である。AからAXへの変化分は、一文字追加であり、図32では1としている。Aからへの変化分は、一文字削除であり、図32では-1としている。画面2の項目2には、画面1の項目2に入力された値と同一の値が出力される。そのため、AからAXに変化させた入力変化の変化分と、AからAXに変化させた出力変化の変化分とは、どちらも1であり、変化率は1である。同様に、Aからに変化させた入力変化の変化分と、Aからに変化させた出力変化の変化分とは、どちらも-1であり、変化率は1である。従って、AからAXに変化させたときの変化率と、Aからに変化させたときの変化率とは、同じであり、傾きは一定である。なお、業務アプリケーションでは、入力画面から入力した値と同じ値が遷移画面に表示される例が、たいへん多い。例えば、インターネットショッピングにより商品を購入する場合、注文画面から購入商品の個数を入力した場合、次の注文確認画面には注文画面に入力した購入商品の個数がそのまま表示される。図33は、分析1における入力変化と出力変化との対応関係の一例を示す説明図である。横軸、縦軸、黒丸、黒三角及び鎖線が示す意味は、図21、図22及び図23で示した意味と同じである。横軸の下の数値は、入力データ及び変化入力データの各値である。図33は、図32の変化要素が項目1である場合の分析例をグラフ化したものである。変化要素が項目1である場合、入力変化と出力変化との対応関係は傾きが一定の直線により示される。図34は、分析1ファイル3Fの内容の他例を示す説明図である。図34の項目は、図32の項目と同じである。図32及び図33は入力変化と出力変化との対応関係を示す直線の傾きが一定である場合であったが、図34は、この直線の傾きが一定でない場合の分析結果を示している。変化要素である項目1の入力データの値を10から11に変化させた場合、出力データの値は21から23に変化し、その変化率は2である。他方、変化要素の項目1の入力データの値を10から9に変化させた場合、出力データの値は21から20に変化し、その変化率は1である。そのため、傾きには2倍の相違がある。図35及び図36は、分析1における入力変化と出力変化との対応関係の他例を示す説明図である。図35及び図36における横軸、縦軸、黒丸、黒三角及び鎖線が示す意味は、図21、図22及び図23で示した意味と同じである。横軸の下の数値は、入力データ及び変化入力データの各値である。図35及び図36は、図34の分析結果をグラフ化して解釈したものである。図35に示すように、変化入力データの値9と入力データの値10との間で、入力変化と出力変化との対応関係を示す直線が屈曲している場合、図34の分析結果が得られる。図35は、直線で示されるテスト対象プログラム2Pの入出力特性が特定の入力値を境にして不連続に変化する場合を示している。図34の分析結果は、他の解釈も可能である。例えば、図36に示すように、変化入力データの値9と変化入力データの値10との間で、入力変化と出力変化との対応関係が曲線である場合でも図34の分析結果を説明することができる。図35及び図36は、入力変化と出力変化との対応関係が非線形であることを示し、図34のように傾きが相違する入出力データ組は、期待値設定支援のための分析データとして適切でないと考えられる。そのため、次の分析2では、傾きが一定である入出力データ組のデータのみを用いて、入力変化と出力変化との対応関係を示す直線の式を算出する。図37は、分析2における分析処理の手順の一例を示すフローチャートである。なお、分析1ファイル3Fは、入力組ID及び変化要素の昇順に分析1の分析結果が記録されているものとする。CPU11は、分析1ファイル3Fをハードディスク14からRAM13にロードするステップS701。CPU11は、分析1ファイル3Fの入出力データ組の内、傾きが一定である入出力データ組を抽出し、抽出した入出力データ組のリストを作成するステップS702。CPU11は、ステップS702で作成したリストから、未選択の1つの入出力データ組を選択するステップS703。CPU11は、選択した入出力データ組に基づいて、直線の傾きと切片とを算出するステップS704。ここでの直線は、入力変化と出力変化との対応関係を示す直線である。仮に、入力値をx、出力値をyとした場合、y=mxnについて、mが傾き、nが切片である。1つの変化要素について、変化入力データ及び変化出力データは夫々2つずつあるので、mとnとは算出可能である。なお、1つの変化要素について、グラフ上での変化入力データ及び変化出力データに対応する2点の情報の他に、入力データ及び出力データに対応する1点の情報があるので、これら3点の情報を利用して直線が決定されてもよい。かかる場合、axbyc=0の直線式に係るa、b、cを算出してもよい。CPU11は、算出した直線式をRAM13に記録するステップS705。CPU11は、ステップS702で作成したリストの全ての変化要素を処理したか否か判定するステップS706。CPU11は、ステップS702で作成したリストの全ての変化要素を処理していないと判定した場合ステップS706:NO、ステップS703に処理を戻す。CPU11は、ステップS702で作成したリストの全ての変化要素を処理したと判定した場合ステップS706:YES、分析結果を分析2ファイルとしてハードディスク14に記録しステップS707、処理を終了する。図38は、分析2ファイル4Fの内容の一例を示す説明図である。分析2ファイル4Fは、分析2の結果を記述したファイルである。入力組IDは、図32及び図34の入力組IDと同じである。入力の画面は、入力データ及び変化入力データが入力される画面である。変化要素は、図32及び図34の変化要素と同じであり、画面の項目に相当する。入力の入力値は、入力データ及び変化入力データの値である。変化要素毎に、1つの入力データと2つの変化入力データとの値が縦に並べられている。出力の画面及び項目は、夫々図32及び図34の画面及び項目と同じである。出力の出力値は、出力データ及び変化出力データの値である。変化要素毎に、1つの出力データと2つの変化出力データとの値が縦に並べられている。入力列の入力値と出力列の出力値とは、入出力関係が対応する順序で、縦に並べられている。傾きは、図32及び図34の変化率と同じである。入出力関係は、分析2において算出した直線式が示されている。図38の1列目の入出力関係は、画面2.項目1=2×画面1項目11である。画面2.項目1は、画面2の項目1に対応するデータの変数を意味し、画面1.項目1は画面1の項目1に対応するデータの変数を意味する。1列目の入出力関係から、入力変化と出力変化との対応関係を示す直線の傾きは2、切片は1であることがわかる。図38の2列目の入出力関係は、画面2.項目2=画面1項目2である。画面2.項目2は、画面2の項目2に対応するデータの変数を意味し、画面1.項目2は画面1の項目2に対応するデータの変数を意味する。2列目の入出力関係から、入力変化と出力変化との対応関係を示す直線の傾きは1、切片は0であることがわかる。図38の分析2ファイル4Fの例では、画面1の項目1に対して、10前後の入力値と20前後の出力値との入出力データ組だけが示されている。また、画面1の項目2に対してAに1文字追加、1文字削除された入出力データ組だけが示されている。すなわち図38では、1つの変化要素に対して1つの入出力データ組が示されている。しかし、1つの変化要素に対して複数の入力データが設定されてもよい。かかる場合、1つの変化要素に対して複数の入出力データ組が生成される。例えば、画面1の項目1に対して、値が10である入力データと、値が20である入力データとが2つ生成された場合、値が10前後の変化入力データと20前後の変化入力データとが生成される。これら2つの入力データ組に対して、夫々20前後と40前後の出力データ組が得られた場合、1つの変化要素に対する2つの入出力データ組が分析1及び分析2において分析される。その結果、分析2ファイル4Fには、1つの変化要素に対して、2つの直線式が記述される場合がある。分析3は、分析2において1つの変化要素に対して複数の直線式が得られた場合、これらの直線式の異同を分析する。図39は、分析3における分析処理の手順の一例を示すフローチャートである。CPU11は、分析2ファイル4Fをハードディスク14からRAM13にロードするステップS801。CPU11は、1つの変化要素に対して複数の直線式を算出した入出力データ組を分析2ファイル4Fから抽出し、抽出した入出力データ組を変化要素毎にまとめたリストを作成するステップS802。CPU11は、1つの変化要素を選択し、その変化要素について求められた直線式のリストを作成するステップS803。CPU11は、ステップS803で作成したリストから、例えば直線式を算出する元となった入力値の小さい順に、2つの直線式を選択するステップS804。CPU11は、選択した2つの直線式が同一か否か判定するステップS805。CPU11は、選択した2つの直線式が同一であると判定した場合ステップS805:YES、2つの直線式に対応する2つの入出力データ組に同じマークを付けステップS806、ステップS808に処理を進める。CPU11は、選択した2つの直線式が同一でないと判定した場合ステップS805:NO、2つの直線式に対応する2つの入出力データ組に異なるマークを付けステップS807、ステップS808に処理を進める。ステップS806及びステップS807におけるマークは、例えば直線式が同一である入出力データ組の入出力組IDと、直線式が同一でない入出力データ組の入出力組IDを区別可能な形式でログに出力することである。あるいは、ステップS806及びステップS807におけるマークは、直線式が同一である入出力データ組と直線式が同一でない入出力データ組とに夫々異なる所定のデータを付加することでもよい。CPU11は、1つの変化要素に係る全ての直線式について、ステップS805~ステップS807の処理をしたか否か判定するステップS808。CPU11は、1つの変化要素に係る全ての直線式について、ステップS805~ステップS807の処理をしていないと判定した場合ステップS808:NO、ステップS804に処理を戻す。CPU11は、1つの変化要素に係る全ての直線式について、ステップS805~ステップS807の処理をしたと判定した場合ステップS808:YES、全ての変化要素を処理したか否か判定するステップS809。CPU11は、全ての変化要素を処理していないと判定した場合ステップS809:NO、ステップS803に処理を戻す。CPU11は、全ての変化要素を処理したと判定した場合ステップS809:YES、分析結果を分析3ファイルとしてハードディスク14に記録しステップS810、処理を終了する。ステップS804では、ステップS803で作成したリストから、例えば直線式を算出する元となった入力値の小さい順に、2つの直線式を選択する。しかし、ステップS804では、ステップS803で作成したリストの全ての直線式から2つの直線式を選択してもよい。すなわち、ステップS803で作成したリストの直線の数がnである場合、nC2通りの選択が行われてもよい。図40は、分析3ファイル5Fの内容の一例を示す説明図である。分析3ファイル5Fは、分析3の結果を記述したファイルである。図40の変化要素は、図38の変化要素と同じである。入力IDは、入力データの識別記号である。入力及び出力は、夫々入力画面及びその項目並びに出力画面である遷移画面及びその項目を示す。入出力関係の式は、分析2で算出した直線式である。入出力関係のNoは、直線式を区別するための番号である。入力ID=T1の入力データの値は10であり、入力ID=T2の入力データの値は20である。図40は、変化要素である画面1の項目1に対して、10である入力データの値を変化させて求めた直線式と、20である入力データの値を変化させて求めた直線式とが同じであった場合を示している。図40では、1つの変化要素である画面1の項目1に対して求めた2つの直線式が同一であるため、Noは1つである。1つの変化要素に対して求めた2つの直線式が異なる場合、Noには夫々異なる番号が入る。図41は、分析3における入力変化と出力変化との対応関係の一例を示す説明図である。図41における横軸及び縦軸が示す意味は、図21、図22及び図23で示した意味と同じである。横軸上の黒丸は入力データを示し、その下の数値は入力データの値である。図41は、図40の分析結果の一例をグラフ化して示したものである。図41には、図40のNo=1の直線のみが示されている。図41の例の場合、入力値10と入力値20とにおけるテスト対象プログラム2Pの入出力関係の間に変化はない。そのため、テストは入力値10又は入力値20のいずれか一方のみで実施すればよいと考えられる。そのため、期待値は1つだけ設定すればよい。図42は、分析3ファイル5Fの内容の他例を示す説明図である。図42の各項目は、図40の各項目と同じである。図42では、変化要素である画面1の項目1に対して、10である入力データの値を変化させて求めた直線式と、20である入力データの値を変化させて求めた直線式とが同じではなかった場合を示している。具体的には、入力ID=T1の入力データの値を変化させた場合、算出されたNo=1の直線式は画面2.項目1=2×画面1.項目11であった。一方、入力ID=T2の入力データの値を変化させた場合、算出されたNo=2の直線式は画面2.項目1=画面1.項目12であった。図43及び図44は、分析3における入力変化と出力変化との対応関係の他例を示す説明図である。図43及び図44における横軸、縦軸、横軸上の黒丸及び数値が示す意味は、図41と同じである。図43及び図44は、入力データの値10、20に基づいて算出した直線が異なる場合を示している。なお、図43及び図44における直線は、図42の式とは無関係である。図43は、テスト対象プログラム2Pが入力値15付近で入出力の挙動が変化することを示している。図44は、テスト対象プログラム2Pの処理傾向は変化しないが、入力値15付近で戻り値が不連続に変化することを示している。図43のような分析結果が得られた場合、テストは少なくとも入力値10及び入力値20の両方を用いて実施すべきと考えられる。そのため、期待値は少なくとも2つ設定すべきである。また、テストの精度を向上させるために、値が15付近、10未満、20以上の各入力データを用いた追加テストを検討すべきである。図44のような分析結果が得られた場合、テストは少なくとも入力値10及び入力値20の両方を用いて実施すべきと考えられる。そのため、期待値は少なくとも2つ設定すべきである。また、テストの精度を向上させるために、値が15付近の入力データを複数用いた追加テストを検討すべきである。図40及び図41並びに図42、図43及び図44は、夫々1つの変化要素に対して2つの異なる入力値を変化させて求めた入力変化と出力変化との対応関係が同一である場合と異なる場合とを示している。この分析3の結果の違いは、テスト対象プログラム2Pの良し悪しではなく、テスト対象プログラム2Pの動作の違いを示している。期待値の設定はテスト対象プログラム2Pの動作を理解して行われるべきであり、ユーザは分析3の結果から期待値の設定をする上で有益な情報を得ることができる。なお、分析3において、1つの変化要素に対して変化させる入力データの数は2つに限らない。この数が3つ以上であってもよいことは勿論である。期待値設定支援部30は、入出力組分析部29が分析した結果及び期待値を表形式で表示部17に出力する。ユーザは、入出力組分析部29により出力された分析結果を参照し、期待値を設定する、設定しない又は保留する等の判定を下す。図45は、期待値設定画面1fの一例を示す説明図である。期待値設定画面1fは、テスト対象プログラム2Pの期待値が表示される画面である。期待値設定支援部30は、分析1ファイル3F、分析2ファイル4F及び分析3ファイル5Fに基づいて、期待値設定画面1fをテスト支援装置1の表示部17に表示する。期待値設定画面1fのステージは、テスト対象プログラム2Pが扱う業務処理のステージである。ステージは、各業務処理に対応する画面名称で示されている。図45の例では、ステージ欄の画面1がテスト対象の入力画面であることを示している。期待値の式Noは、画面1の項目1、項目2及び項目3について分析された各直線式の組合せを識別する番号である。期待値の設定には、ラジオボタンする、しない又は保留の3種類が表示される。ユーザは、操作部18のマウス等を操作することによりいずれか1つのラジオボタンを選択することができる。期待値の項目は、出力値が表示される遷移画面の項目であり、遷移画面と項目とはドットにより連結して表示されている。期待値の値は、テスト支援装置1が出力する期待値である。入力値の項目は、入力データを入力する入力画面の項目であり、入力画面と項目とはドットにより連結して表示されている。入力値の値は、期待値と比較される出力値を得るための入力データの値である。入力IDは、入力データの識別記号である。図45の場合、入力IDにT1とT2とが列挙されている。図45は、画面1の項目1、項目2及び項目3についてT1及びT2のテストをした場合、分析3の結果がどの項目についても夫々同一の直線であったことを示している。また、図45は、画面1の項目1、項目2及び項目3に入力する入力データを組み合わせて変化させた場合を扱っている。そのため、期待値設定画面1fは、画面1の項目1、項目2及び項目3に対する画面2の項目1、項目2及び項目3の期待値をセットで設定するように表示している。入出力関係の種別は、入出力関係の式の種別を示す。入力値をx、出力値をyとした場合、y=xであるとき、種別は転記である。すなわち、入力画面に入力した値と出力画面である遷移画面に出力された値とが同一である場合、データが入力画面から次画面に転記されていると考えられることから、転記と表示している。他方、入力値と出力値との関係がy=x以外の一次関数で表現される場合、単なる転記ではなく、出力値は入力値から何らかの変換を被っていると考えられることから、変換と表示している。入出力関係の式は、分析3ファイル5Fの式と同じである。図45では、画面1の各項目に夫々10、A及び2010/1/1を入力し、テスト対象プログラム2Pを駆動した場合、遷移画面である画面2の各項目に出力される期待値が夫々21、A及び2010/1/1であることを示している。ユーザは、図45の式と、テスト対象プログラム2Pの設計仕様、要求仕様等とを考慮し、出力された値に期待値を設定する、しない又は保留を判断する。ユーザは、判断結果に基づいて、期待値設定のラジオボタンを選択する。ユーザが期待値設定のラジオボタンを選択し、例えば所定のボタンを押下した場合、CPU11は、当該期待値の選択結果をハードディスク14に記録する。例えば、CPU11は、期待値を設定する選択が行われた場合、期待値を設定するための所定ファイルを作成し、作成した所定ファイルをハードディスク14に記録する。図45の場合、入力ID=T1とT2とは、重複したテストケースとなる。ユーザはT1とT2との内、どちらか一方のテストケースを選択することができる。なお、図45は、T1に基づく分析結果から期待値が表示されているが、T1とT2との内、いずれかの一方に基づく期待値が表示されてもよいし、両方に基づく期待値が2つ表示されてもよい。かかる場合、期待値に対応する入力値も2つ表示する。また、図45の期待値及び入力値として、夫々変化出力データの値及び当該変化出力データに対応する変化入力データの値が表示されてもよい。図46は、期待値設定画面1fの他例を示す説明図である。図46の各項目は、図45の各項目と同じである。図45は、画面1の項目1、項目2及び項目3についてT1及びT2のテストをした場合、分析3の結果が項目1については異なる直線であり、項目2及び項目3については同じ直線であったことを示している。また、図45は、画面1の項目1、項目2及び項目3に入力する入力データを組み合わせて変化させた場合を扱っている。画面1の項目2及び項目3については、入力ID=T1、T2のどちらについても転記の式が表示されている。しかし、画面1の項目1については、入力IDがT1とT2とで異なる変換の式が表示されている。変換の式が異なる場合、このことを強調するために式の欄には斜線が描かれている。画面1の項目1について、テスト対象プログラム2Pは入力値10と入力値20とで動作を変化させたことがわかる。ユーザは、算出された式の妥当性を評価した上でテスト支援装置1が出力した期待値を選択及び設定することができる。図47は、異常系の期待値設定画面2fの一例を示す説明図である。CPU11は、図7のステップS209でハードディスク14に記録したエラー情報を読み込み、異常系の期待値設定画面2fを表示部17に表示する。ステージ、期待値設定及び入力IDは、図45及び図46のステージ、期待値設定及び入力IDと同じである。異常の内容の種別は、エラー画面、異常終了、例外発生のいずれかである。異常の内容の期待値は、図7における異常系の出力データの値である。例えば図47の期待値は、種別がエラー画面である場合、エラーメッセージであり、種別が異常終了である場合、エラーコード番号であり、種別が例外発生である場合、例外の種別である。図45及び図46と同様に、ユーザは異常系のテストのために、異常系の期待値設定画面2fから異常系の期待値設定を選択することができる。テスト支援装置1によれば、入力データ及び当該入力データに対応する出力データ、並びに入力データを変化させた変化入力データ及び当該変化入力データに対応する変化出力データに基づいて、テスト対象プログラム2Pの動作特性を示す直線式を算出することができる。テスト支援装置1は、入力データの値の近傍前後で、入力変化と出力変化との比が一定でない場合、かかる入出力データ組は分析2で利用しない。一方、テスト支援装置1は、入力データの値の近傍前後で、入力変化と出力変化との比が一定である場合、かかる入出力データ組を分析2で利用する。これにより、非線形データを入力変化と出力変化との対応関係を示す直線式を算出するための材料から除外することで、テスト支援装置1は分析結果の信頼性を担保することができる。テスト支援装置1は、1つの画面項目に入力される複数の入力データに対応する複数の直線式が一致する場合と一致しない場合とに分けて、直線式及び期待値の出力を行う。これにより、ユーザは期待値を設定するための判断材料を取得することができ、期待値の設定の選択幅を広げることができる。テスト支援装置1は、出力データが正常系であることを確認した入力データだけを変化させてテスト対象プログラム2Pの動作特性を示す直線式を算出する。異常系の入力データを変化させても、変化出力データは異常系のままである。そのため、正常系の入出力データ組を収集することは、期待値設定のための分析にとって生産的である。テスト支援装置1は、変化出力データが異常系である場合、この変化出力データに対応する変化入力データを修正し、再びテスト対象プログラム2Pを実行する。これにより、分析対象である正常系の入出力データ組のデータ数を増やすことができ、テスト支援装置1は分析結果の信頼性を高めることができる。図45及び図46の入出力関係の式として、分析2で算出された式が表示される。しかし、期待値設定画面1fには、入出力関係の式に対応する直線が図41、図43及び図44のようにビジュアル化されて表示されてもよい。本実施の形態では、画面からの入力データを中心に扱った。一方、DBについては、テーブルの列の値又はレコード数を変化させることにより、入出力データ組を生成することができる。従って、DBについても期待値設定画面1fを表示することができる。しかし、レコード追加、レコード変更及びレコード削除等のアクションについては、入力変化と出力変化との関係を数量化できる場合とできない場合とがある。まず、数量化できる場合について説明する。例えば、住所登録画面があり、住所項目に住所を入力して登録ボタンを押下した場合、住所を記録する住所テーブルに入力した住所を1レコードとして追加するDB操作プログラムがあるものとする。住所は住所テーブルの住所列に格納されるものとする。かかる場合、入力データである住所の文字列を一文字追加又は一文字削除して変化入力データを生成するとき、変化入力データがそのまま住所テーブルに追加される。この例は、図45及び図46の転記に該当し、入出力関係の式は住所登録画面.住所=住所テーブル.住所と記述することができ、グラフ化も可能である。一方、DB操作プログラムにおいて、レコード追加、レコード変更及びレコード削除等のアクションを出力ととらえた場合、出力結果はアクションの有無又はアクションの成功、失敗となる。この出力結果はブール値に変換することはできるが、図41、図43及び図44のようなグラフ化は困難である。かかる場合、テスト支援装置1は、テーブルの変化だけでも出力してよい。図48は、テーブル変化一覧画面3fの一例を示す説明図である。テーブル変化一覧画面は、入力データの変化に対応するテーブルの変化を示す画面である。ステージ、入力組ID、ID及び入力データ種別は、夫々図17のステージ、入力組ID、ID及び入力データ種別と同じである。結果DBには、各テーブルの変化が示される。例えば、ある住所を入力データとし、ID=T1とする。入力データの住所を変化させた住所を変化入力データとし、ID=T1v1、T1v2とする。CPU11は、ID=T1、T1v1、T1v2の出力を夫々追加成功又は追加失敗として入出力データ組ファイル2Fに記録する。図48は、その結果をまとめた一例である。DB操作に失敗する出力結果は、多くの場合異常系であると考えられる。そこで、図47の異常系の期待値設定画面2fに図48の入力データ種別及び結果DBが追加されてもよい。分析2では、分析1により1つの入力データに対して傾きが一致すると判定された直線の式を求める。しかし、分析1を実行せずに、分析2を実行してもよい。かかる場合、1つの入力データに対して例えば2つの変化入力データを生成する必要はなく、1つの入力データに対して1つの変化入力データを生成する。従って、1つの入力データに対して取得される変化出力データも1つである。例えば、図21のような入力と出力との対応関係を示すグラフ上において、入力データ及び出力データの値に対応する点が1つ求まる。また、変化入力データ及び変化出力データの値に対応する点がもう1つ求まる。従って、1つの入力データに対して2点が求まるので、1つの入力データに対して1つの直線を算出することが可能である。テスト支援装置1を動作させるためのプログラム1Pは、ディスクドライブ15に光ディスク1aを読み取らせてハードディスク14に記録してもよい。また、プログラム1Pは、インターネットNを介して接続される他の情報処理装置又は記録装置図示せずからダウンロードすることも可能である。あるいは、また、プログラム1Pを記録したフラッシュメモリ等の半導体メモリ1cがテスト支援装置1内に実装されてもよい。以上の実施の形態に関し、さらに以下の付記を開示する。付記1対象プログラムのテストを支援する処理をコンピュータに実行させるコンピュータプログラムにおいて、第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段から該第1入力データを取得し、該第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得し、前記記録手段から第2入力データを取得し、該第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得し、取得した前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出する処理をコンピュータに実行させるコンピュータプログラム。付記2単一の前記第1入力データの値又はデータ量を変化させて複数の第2入力データを生成し、生成した複数の前記第2入力データを前記記録手段に記録し、前記第2出力データを取得する処理は、複数の前記第2入力データに基づいて前記対象プログラムから夫々出力された第2出力データを複数取得し、前記第1入力データの各変化に対応させて、前記第1及び第2入力データの間の変化と、前記第1及び第2出力データの間の変化との比を複数算出し、前記関係式を算出する処理は、複数の前記比が等しい場合、該関係式を算出する付記1に記載のコンピュータプログラム。付記3複数の異なる前記第1入力データを夫々変化させて複数の第2入力データを生成し、生成した複数の前記第2入力データを前記記録手段に記録し、前記第1出力データを取得する処理は、複数の異なる前記第1入力データに基づいて前記対象プログラムから夫々出力された複数の第1出力データを取得し、前記第2出力データを取得する処理は、複数の前記第2入力データに基づいて前記対象プログラムから夫々出力された複数の第2出力データを取得し、前記関係式を算出する処理は、互いに対応する前記複数の第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記関係式を複数算出し、複数の前記関係式の間で該関係式の異同を判定する付記1又は付記2に記載のコンピュータプログラム。付記4前記対象プログラムのテストは複数のテスト項目を有し、前記第2入力データを生成する処理は、同一テスト項目における複数の異なる第1入力データを夫々変化させて複数の第2入力データを生成する付記3に記載のコンピュータプログラム。付記5前記第1出力データがエラー処理に関する情報を含むか否かに基づいて、該第1出力データは異常であるか否かを判定し、前記第2入力データを生成する処理は、異常でないと判定した前記第1出力データに対応する第1入力データを変化させて第2入力データを生成する付記2から付記4までのいずれか一つに記載のコンピュータプログラム。付記6前記第2出力データがエラー処理に関する情報を含むか否かに基づいて、該第2出力データは異常であるか否かを判定し、異常であると判定した前記第2出力データに対応する第2入力データを所定の規則に従って変更し、前記第2出力データを取得する処理は、変更した前記第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得する付記1から付記5までのいずれか一つに記載のコンピュータプログラム。付記7前記第1出力若しくは第2出力データ、1つ若しくは複数の前記関係式又は前記関係式の異同を判定する処理が判定した判定結果を出力手段に出力するデータを生成する付記3又は付記4に記載のコンピュータプログラム。付記8前記関係式は一次関数の式である付記1から付記7までのいずれか一つに記載のコンピュータプログラム。付記9前記エラー処理は、前記対象プログラムの異常終了処理、例外の発生処理又はエラー画面への遷移処理を含む付記5又は付記6に記載のコンピュータプログラム。付記10対象プログラムのテストを支援するテスト支援方法において、コンピュータが、第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段から該第1入力データを取得し、該第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得し、前記記録手段から第2入力データを取得し、該第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得し、取得した前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出するテスト支援方法。付記11対象プログラムのテストを支援するテスト支援装置において、第1入力データ及び該第1入力データと異なる第2入力データが対応付けて記録された記録手段と、該記録手段に記録された第1入力データに基づいて前記対象プログラムから出力された第1出力データを取得する第1取得部と、前記記録手段に記録された第2入力データに基づいて前記対象プログラムから出力された第2出力データを取得する第2取得部と、前記第1及び第2入力データ並びに第1及び第2出力データに基づいて、前記対象プログラムの入出力データに係る関係式を算出する算出部とを備えるテスト支援装置。