(57)【要約】【課題】業務上重要な処理についてテストするための業務の実態に即したシステムテスト仕様書を自動生成する。【解決手段】更新情報記憶手段１１は、データ更新処理の処理識別情報、データ更新処理が更新したデータ集合のデータ集合名、および更新時刻で構成される更新情報を記憶する。機能テスト情報記憶手段１２は、業務フローを構成する業務ステップを実現する各モジュールが、要求を満たしているか否かをチェックする機能テストの手順を示す機能テスト情報を記憶する。業務フロー抽出手段１３は、データ更新処理によって更新されたデータ集合のデータ集合名を、更新時刻の早い順に並べたフロー情報を生成する。システムテスト情報生成手段１４は、機能テスト情報から、フロー情報に示された業務フローごとに、業務フローを構成する業務ステップの並び順に対応して並べた機能テストの並び順を示すシステムテスト情報を生成する。【選択図】図１
2008242540.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータシステムのシステムテスト仕様書を自動生成するテスト仕様書生成プログラムにおいて、
コンピュータを、
複数のデータ集合の更新処理を含むデータ更新処理を個々に識別する処理識別情報と、前記データ更新処理によって更新された前記データ集合のデータ集合名と、前記データ集合が更新された更新時刻とをそれぞれ関連付けて記憶する更新情報記憶手段、
前記コンピュータシステムで実行される業務フローを構成する業務ステップを実現する各モジュールが、要求を満たしているか否かをチェックする機能テストの手順を示す機能テスト情報を記憶する機能テスト情報記憶手段、
前記更新情報記憶手段が記憶する前記更新情報から、前記処理識別情報により同一と識別される前記データ更新処理ごとに、前記データ更新処理によって更新された前記データ集合の前記データ集合名を、前記更新時刻の早い順に並べたフロー情報を生成する業務フロー抽出手段、
前記機能テスト情報記憶手段が記憶する前記機能テスト情報から、前記業務フロー抽出手段で生成した前記フロー情報に示された前記業務フローごとに、前記業務フローを構成する前記業務ステップの並び順に対応して並べた前記機能テストの並び順を示すシステムテスト情報を生成するシステムテスト情報生成手段、
として機能させることを特徴とするテスト仕様書生成プログラム。
【請求項２】
前記コンピュータを、さらに、
前記業務フロー抽出手段が生成した前記フロー情報から、同一の前記フロー情報の出現数をそれぞれ計算すると共に、前記業務フロー抽出手段が生成した前記フロー情報で示される前記業務フローの前記出現数が所定の閾値以上の前記業務フローを、典型業務フローと判定する業務フロー判定手段、
として機能させ、
前記システムテスト情報生成手段は、前記機能テスト情報記憶手段が記憶する前記機能テスト情報から、前記業務フロー判定手段によって判定された前記典型業務フローのみを対象として前記システムテスト情報を生成することを特徴とする請求項１記載のテスト仕様書生成プログラム。
【請求項３】
前記コンピュータを、さらに、
前記システムテスト情報を記憶する前記システムテスト情報記憶手段、
前記業務フロー抽出手段が生成した前記フロー情報のうち、前記システムテスト情報記憶手段が記憶する前記システムテスト情報から、前記システムテスト情報が生成されていない前記業務フローを、未登録業務フローと判定する業務フロー判定手段、
として機能させ、
前記システムテスト情報生成手段は、前記未登録業務フローのみを対象として前記システムテスト情報を生成し、生成した当該システムテスト情報を前記システムテスト情報記憶手段に記憶させることを特徴とする請求項１記載のテスト仕様書生成プログラム。
【請求項４】
コンピュータシステムのシステムテスト仕様書を自動生成するテスト仕様書生成装置において、
複数のデータ集合の更新処理を含むデータ更新処理を個々に識別する処理識別情報と、前記データ更新処理によって更新された前記データ集合のデータ集合名と、前記データ集合が更新された更新時刻とをそれぞれ関連付けて記憶する更新情報記憶手段と、
前記コンピュータシステムで実行される業務フローを構成する業務ステップを実現する各モジュールが、要求を満たしているか否かをチェックする機能テストの手順を示す機能テスト情報を記憶する機能テスト情報記憶手段と、
前記更新情報記憶手段が記憶する前記更新情報から、前記処理識別情報により同一と識別される前記データ更新処理ごとに、前記データ更新処理によって更新された前記データ集合の前記データ集合名を、前記更新時刻の早い順に並べたフロー情報を生成する業務フロー抽出手段と、
前記機能テスト情報記憶手段が記憶する前記機能テスト情報から、前記業務フロー抽出手段で生成した前記フロー情報に示された前記業務フローごとに、前記業務フローを構成する前記業務ステップの並び順に対応して並べた前記機能テストの並び順を示すシステムテスト情報生成するシステムテスト情報生成手段と、
を有することを特徴とするテスト仕様書生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はテスト仕様書を生成するテスト仕様書生成プログラム、およびテスト仕様書生成装置に関し、特にコンピュータシステムのシステムテスト仕様書を自動生成するテスト仕様書生成プログラム、およびテスト仕様書生成装置に関する。
【背景技術】
【０００２】
従来、設計工程でエントリした設計情報リポジトリからテスト工程で使用するテスト仕様書を生成するテスト仕様書作成装置が考えられている（例えば、特許文献１参照）。これにより、設計情報を用いてテスト仕様書を自動生成することで、テスト工程の作業効率を向上でき、新規システムの開発生産性を上げることができる。
【特許文献１】特開平１１−２８２６６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
新規システムの開発時では、上述した特許文献１の技術で問題は生じないが、開発時からある程度時間が経過した後に、再テストや再設計時などで稼動後のシステムを見直す場合がある。
【０００４】
このような場合に、開発時からある程度時間が経過した後に、稼動中のシステムの拡張や、システムの一部変更が行われることにより、開発対象の部分だけでなく、システム全体をテストすることが必要になる。このようなケースのように、開発後から経年したコンピュータシステムでは、開発時のドキュメントの紛失や追加開発部分のドキュメントの不備、およびシステムエキスパートが不在になるなどのため、しばしば設計情報が不明となる事態が生じる。
【０００５】
また、例えば、業務の変化などにより、当初の設計情報自体が業務にマッチしなくなっていることが考えられる。例えば、設計当初の想定と実業務とのギャップが生じた場合などである。
【０００６】
さらに、実際に稼動しているシステムに対して、利用者によって設計段階では想定していなかった操作が頻繁に行われる場合もある。
ここで、想定し得るすべての手順を、漏れなくそのままテストし直すのは、業務の実態から見てあまり重要ではないプログラムも含め、すべての業務の流れについて網羅的にテストすることになる。したがって、実際の業務では全く実行されない業務の流れについてもテストすることになり、現実的でない。
【０００７】
本発明はこのような点に鑑みてなされたものであり、実際の業務における稼動によって取得したデータに基づいて、業務上重要な処理についてテストするための、業務の実態に即したコンピュータシステムのシステムテスト仕様書を自動生成するテスト仕様書生成プログラム、およびテスト仕様書生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明では上記課題を解決するために、図１に示すようなテスト仕様書生成プログラムが提供される。本発明に係るテスト仕様書生成プログラムは、実際の業務における稼動によって取得したデータに基づいて、業務上重要な処理についてテストするための、業務の実態に即したコンピュータシステムのシステムテスト仕様書を自動生成するものである。
【０００９】
このテスト仕様書生成プログラムを実行するコンピュータ１０は、更新情報記憶手段１１、機能テスト情報記憶手段１２、業務フロー抽出手段１３、およびシステムテスト情報生成手段１４を有する。更新情報記憶手段１１は、複数のデータ集合の更新処理を含むデータ更新処理を個々に識別する処理識別情報と、データ更新処理によって更新されたデータ集合のデータ集合名と、データ集合が更新された更新時刻とをそれぞれ関連付けて記憶する。機能テスト情報記憶手段１２は、コンピュータシステムで実行される業務フローを構成する業務ステップを実現する各モジュールが、要求を満たしているか否かをチェックする機能テストの手順を示す機能テスト情報１２ａ，１２ｂ，１２ｃを記憶する。業務フロー抽出手段１３は、更新情報記憶手段１１が記憶する更新情報から、処理識別情報により同一と識別されるデータ更新処理ごとに、データ更新処理によって更新されたデータ集合のデータ集合名を、更新時刻の早い順に並べたフロー情報を生成する。システムテスト情報生成手段１４は、機能テスト情報記憶手段１２が記憶する機能テスト情報１２ａ，１２ｂ，１２ｃから、業務フロー抽出手段１３で生成したフロー情報に示された業務フローごとに、業務フローを構成する業務ステップの並び順に対応して並べた機能テストの並び順を示すシステムテスト情報を生成する。
【００１０】
このようなテスト仕様書生成プログラムを実行するコンピュータによれば、業務フロー抽出手段１３により、データ集合の更新順序を表すフロー情報が生成される。次に、システムテスト情報生成手段１４により、業務フローごとに、業務ステップの並び順に対応して並べた機能テストの並び順を示すシステムテスト情報３０が生成される。
【発明の効果】
【００１１】
本発明では、更新情報を用いて業務フローを特定し、業務フローを構成する業務ステップの順に、対応する機能テストを並べて、この並び順をシステムテスト情報３０として生成することとした。これにより、実際の業務で実行される業務フローに基づいて、システム仕様書を作成することができる。したがって、生成されるシステムテスト仕様書が、既に稼動しているコンピュータシステムについての保守時や改変時におけるシステムテストの作業効率の向上に大変有用となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態を図面を参照して詳細に説明する。まず、本発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図１は、本実施の形態の概要を示す図である。図１に示されるコンピュータ１０は、データベース管理システムが出力するデータベースの更新情報から、実際の業務で実行される業務フローについてテストする機能テストの順序を示すシステムテスト情報を生成するものである。コンピュータ１０は、更新情報記憶手段１１、機能テスト情報記憶手段１２、業務フロー抽出手段１３、およびシステムテスト情報生成手段１４を有する。
【００１３】
更新情報記憶手段１１は、データベース管理システム２１，２２，２３が出力したデータベースの更新情報２１ａ，２２ａ，２３ａを記憶する。更新情報２１ａ，２２ａ，２３ａには、コンピュータシステムにおいて実行されたデータ更新処理を一意に識別する識別情報、そのデータ更新処理によって更新されたデータ集合のデータ集合名、および、データ集合が更新された更新時刻が含まれる。１つのデータ更新処理は、１つ以上のデータ集合の更新処理を含んでいる。ここで、データ更新処理の識別情報は、例えば、トランザクションＩＤなどである。また、データ集合は、例えば、関係データベースにおける１つのテーブルなどである。
【００１４】
機能テスト情報記憶手段１２は、コンピュータシステムで実行される業務フローを構成する業務ステップを実現する各モジュールが、要求を満たしているか否かをチェックする機能テストの手順を示す機能テスト情報１２ａ，１２ｂ，１２ｃを記憶する。ここで、機能テスト情報１２ａ，１２ｂ，１２ｃは、業務フローを構成する個々の業務ステップを実現するためのモジュールをテストするための手順を示したものである。また、モジュールは、一定の処理機能を持つプログラムの部品である。
【００１５】
業務フロー抽出手段１３は、更新情報記憶手段１１に記憶された更新情報を分析して、業務フローを抽出する。具体的には、業務フロー抽出手段１３は、データ更新処理ごとに、データ更新処理によって更新されたすべてのデータ集合のデータ集合名を更新時刻の早い順に並べたフロー情報を作成する。
【００１６】
システムテスト情報生成手段１４は、業務フロー抽出手段１３で生成したフロー情報に示された業務フローごとに、機能テスト情報記憶手段１２から、業務フローを構成する業務ステップに対応する機能テスト情報１２ａ，１２ｂ，１２ｃを読み出す。次に、システムテスト情報生成手段１４は、業務フロー抽出手段１３で生成したフロー情報に示された業務フローごとに、業務フローを構成する業務ステップの並び順に対応して並べた機能テストの並び順を示すシステムテスト情報３０を生成する。
【００１７】
このようなコンピュータ１０によれば、業務フロー抽出手段１３により、データ集合の更新順序を表すフロー情報が生成される。次に、システムテスト情報生成手段１４により、業務フローごとに、業務ステップの並び順に対応して並べた機能テストの並び順を示すシステムテスト情報３０が生成される。
【００１８】
これにより、更新情報を用いて業務フローを特定し、実際の業務で実行される業務フローに基づいて、システム仕様書を作成することができる。したがって、生成されるシステムテスト仕様書が、既に稼動しているコンピュータシステムについての保守時や改変時におけるシステムテストの作業効率の向上に大変有用となる。
【００１９】
［第１の実施の形態］
以下、第１の実施の形態を図面を参照して詳細に説明する。
図２は、本実施の形態のシステム構成を示す図である。本実施の形態のテスト仕様書生成システムは、データベース管理システムが出力するデータベースの更新情報を分析し、業務フローのシステムテスト仕様書を自動的に抽出するものである。
【００２０】
本実施の形態のテスト仕様書生成システムは、テスト仕様書生成装置１００、業務サーバ２００ａ，２００ｂ、データベースサーバ３００ａ，３００ｂ，３００ｃ、テスト用端末装置４００、およびネットワーク６０で構成される。テスト仕様書生成装置１００、業務サーバ２００ａ，２００ｂ、およびデータベースサーバ３００ａ，３００ｂ，３００ｃ、テスト用端末装置４００は、ネットワーク６０に接続されており、相互に通信が可能である。
【００２１】
業務サーバ２００ａ，２００ｂでは、それぞれアプリケーションプログラムが実行される。例えば、業務サーバ２００ａで在庫管理プログラムが、業務サーバ２００ｂで受注管理プログラムが実行される。業務サーバ２００ａ，２００ｂで実行されるアプリケーションプログラムは、必要に応じて、ネットワーク６０を通じてデータベースサーバ３００ａ，３００ｂ，３００ｃにアクセスし、データベースサーバ３００ａ，３００ｂ，３００ｃで管理されるデータを利用する。
【００２２】
データベースサーバ３００ａ，３００ｂ，３００ｃでは、それぞれデータベース管理システムが実行される。データベース管理システムは、業務サーバ２００ａ，２００ｂで実行されるアプリケーションプログラムが利用するデータを管理する。データベース管理システムは、テーブル形式でデータを管理しており、アプリケーションプログラムからの要求に応じてデータの検索および更新の処理を行う。ここで、データの更新処理が実行されると、データベース管理システムは、ログファイルに更新情報を出力する。ログファイルは、それぞれのデータベースサーバ３００ａ，３００ｂ，３００ｃで管理される。
【００２３】
テスト仕様書生成装置１００は、データベースサーバ３００ａ，３００ｂ，３００ｃから、ネットワーク６０を通じてログファイルを取得する。そして、テスト仕様書生成装置１００は、取得したログファイルに記述された更新情報を分析することで、実際の業務で実行される業務フローのシステムテスト情報を自動的に抽出する。
【００２４】
テスト用端末装置４００は、テスト仕様書生成装置１００が生成したシステムテスト情報に基づいて実行されるシステムテストを実行するための端末装置である。また、テスト用端末装置４００には、後述する機能テスト情報が保存されている。このテスト用端末装置４００に記憶されている機能テスト情報が、ネットワーク６０を介してテスト仕様書生成装置１００に取得される。
【００２５】
なお、本実施の形態では、テスト仕様書の生成機能を実現する装置としてテスト仕様書生成装置１００を設けたが、テスト仕様書生成装置１００の機能をデータベースサーバ３００ａ，３００ｂ，３００ｃのいずれかのサーバ上で実現することも可能である。また、テスト仕様書生成装置１００の機能を業務サーバ２００ａ，２００ｂのいずれかのサーバ上で実現することも可能である。
【００２６】
次に、テスト仕様書生成装置１００、業務サーバ２００ａ，２００ｂ、データベースサーバ３００ａ，３００ｂ，３００ｃ、およびテスト用端末装置４００のハードウェア構成について説明する。ただし、テスト仕様書生成装置１００、業務サーバ２００ａ，２００ｂ、データベースサーバ３００ａ，３００ｂ，３００ｃ、およびテスト用端末装置４００は、それぞれ同様のハードウェア構成によって実現できるため、以下、代表してテスト仕様書生成装置１００について説明する。
【００２７】
図３は、テスト仕様書生成装置のハードウェア構成を示す図である。テスト仕様書生成装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５および通信インタフェース１０６が接続されている。
【００２８】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳプログラムやアプリケーションプログラムが格納される。
【００２９】
グラフィック処理装置１０４には、モニタ５０が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ５０の画面に表示させる。入力インタフェース１０５には、キーボード４１とマウス４２とが接続されている。入力インタフェース１０５は、キーボード４１やマウス４２から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、ネットワーク６０に接続されている。
【００３０】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、テスト仕様書生成装置１００のモジュール構成について説明する。
【００３１】
図４は、第１の実施の形態のテスト仕様書生成装置の機能を示すブロック図である。テスト仕様書生成装置１００は、更新情報記憶部１１０、業務フロー記憶部１２０、機能テスト情報記憶部１３０、システムテスト情報記憶部１４０、更新情報取得部１５０、業務フロー抽出部１６０、およびシステムテスト情報生成部１８０を有する。
【００３２】
更新情報取得部１５０は、ネットワーク６０を介してデータベースサーバ３００ａ，３００ｂ，３００ｃと通信が可能である。
更新情報記憶部１１０には、データベース管理システムが出力する更新情報が格納される。更新情報は、１つのテーブルが更新されるごとに作成される。テーブルの更新処理は、具体的には、レコードの追加、更新、削除のいずれかの処理である。アプリケーションプログラムによる１回のデータ更新処理によって、１つ以上のテーブルが更新される。更新情報には、データ更新処理を一意に識別する識別情報、更新されたテーブルのテーブル名および更新時刻が含まれる。ここで、データ更新処理の識別情報は、例えば、トランザクションＩＤや、プログラムによって明示的に付与されたＩＤなどである。
【００３３】
業務フロー記憶部１２０には、業務フロー抽出部１６０によって生成された業務フローが格納される。業務フローは、データ更新処理におけるテーブルの更新順序として定義される。例えば、“テーブルＡ”、“テーブルＢ”、“テーブルＣ”というテーブル列が業務フローを意味する。業務で利用されるコンピュータシステムでは、データの更新順序が業務の流れを最もよく反映していると考えられるからである。
【００３４】
機能テスト情報記憶部１３０には、システムテスト情報が格納される。機能テスト情報とは、業務フローを構成する業務ステップを実現する各モジュールが、要求を満たしているか否かをチェックする機能テストの手順を表す情報である。機能テスト情報は、テスト用端末４００からネットワーク６０を介して取得されたものである。また機能テスト情報は、設計段階における単体テストやシステムテストに用いられたテスト手順を示す情報を流用することができる。
【００３５】
システムテスト情報記憶部１４０には、システムテスト情報生成部１８０によって生成されたシステムテスト情報が格納される。システムテスト情報とは、テストする業務フローの業務ステップの並び順に対応させて、機能テストを並べた場合の並び順を表す情報である。システムテスト情報記憶部１４０に格納されたシステムテスト情報は、ネットワーク６０を通じてテスト用端末装置４００などに対して出力される。これにより、システムテスト情報を用いたシステムテストが実行される。
【００３６】
更新情報取得部１５０は、予め設定された時間間隔で、定期的にデータベースサーバ３００ａ，３００ｂ，３００ｃにアクセスし、データベースサーバ３００ａ，３００ｂ，３００ｃが管理するログファイルをそれぞれ取得する。そして、更新情報記憶部１１０は、取得したログファイルに、前回の取得時から新たに追加された更新情報があるか判断する。新たな更新情報の有無は、前回のログファイル取得時刻と更新情報の中の更新時刻とを比較することで判断する。新たな更新情報がある場合、更新情報取得部１５０は、ログファイルから更新情報を抽出して更新情報記憶部１１０に追加する。
【００３７】
業務フロー抽出部１６０は、ユーザからの入力によってシステムテスト情報生成の指示を受け取ると、更新情報記憶部１１０に格納された更新情報を分析して、業務フローを抽出する。具体的には、業務フロー抽出部１６０は、更新情報をデータ更新処理ごとに分類し、それぞれのデータ更新処理について、更新時刻が早い順にテーブル名を並べたテーブル列を定義する。このテーブル列が業務フローを表す情報となる。そして、業務フロー抽出部１６０は、業務フローの情報を、業務フロー記憶部１２０に格納する。
【００３８】
システムテスト情報生成部１８０は、業務フロー記憶部１２０に格納された情報が更新されると、業務フロー記憶部１２０からすべての業務フローの情報を取得し、機能テスト情報記憶部１３０から業務フローに含まれる業務ステップに対応する機能テスト情報を取得して、システムテスト情報を生成する。
【００３９】
なお、本実施の形態では、更新情報取得部１５０は定期的にデータベースサーバ３００ａ，３００ｂ，３００ｃにアクセスすることとしたが、ユーザからシステムテスト情報生成の指示があった際にデータベースサーバ３００ａ，３００ｂ，３００ｃにアクセスするようにしてもよい。
【００４０】
更新情報記憶部１１０は、更新情報の一覧を表す更新情報テーブル１１１を有している。
図５は、第１の実施の形態の更新情報テーブルのデータ構造例を示す図である。更新情報テーブル１１１には、更新情報が１つのテーブルの更新処理ごとにテーブル化されて格納されている。更新情報テーブル１１１には、処理ＩＤを示すフィールド１１１ａ、テーブル名を示すフィールド１１１ｂ、および更新時刻を示すフィールド１１１ｃが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられて、更新情報を構成する。
【００４１】
フィールド１１１ａには、データ更新処理を一意に識別するための識別番号が設定される。処理ＩＤとしては、例えば、トランザクションＩＤを用いることができる。この場合、データベースサーバ３００ａ，３００ｂ，３００ｃで実行されるデータベース管理システムが連携して、データ更新処理ごとに一意なトランザクションＩＤを付与し、更新情報にトランザクションＩＤを含めるようにすればよい。また、業務サーバ２００ａ，２００ｂで実行されるアプリケーションプログラムがデータ更新処理ごとに一意な識別番号を設定し、データベース管理システムが更新情報にこの識別番号を含めるようにしてもよい。
【００４２】
フィールド１１１ｂには、フィールド１１１ａに設定された処理ＩＤで示されるデータ更新処理によって更新されたテーブルのテーブル名が設定される。フィールド１１１ｃには、フィールド１１１ａに設定された処理ＩＤで示されるデータ更新処理によってフィールド１１１ｂに設定されたテーブル名のテーブルが更新された時刻が設定される。
【００４３】
更新情報テーブル１１１に格納される更新情報は、更新情報取得部１５０によって登録される。
次に、以上の構成およびデータ構造の更新情報テーブルを入力として業務フローを抽出する処理について説明する。
【００４４】
図６は、業務フロー抽出処理の手順を示すフローチャートである。以下、図６に示す処理をステップ番号に沿って説明する。
［ステップＳ１１］  業務フロー抽出部１６０は、システムテスト情報生成の指示を受け取ると、更新情報記憶部１１０に格納されたすべての更新情報を、処理ＩＤを基準として整列する。
【００４５】
［ステップＳ１２］  業務フロー抽出部１６０は、処理ＩＤが同一である複数の更新情報を、さらに更新時刻の早い順に整列する。そして、業務フロー抽出部１６０は、処理ＩＤごとに、更新時刻の早い順にテーブル名を並べたテーブル列を作成する。
【００４６】
［ステップＳ１３］  業務フロー抽出部１６０は、抽出した業務フローを業務フロー記憶部１２０に保存する。
このようにして、業務フロー抽出部１６０は、更新情報記憶部１１０に格納された更新情報を用いて、データ更新処理ごとにテーブル列を作成する。
【００４７】
業務フロー記憶部１２０は、業務フロー情報の一覧を表す業務フローテーブル１２１を有している。
図７は、業務フローテーブルのデータ構造例を示す図である。業務フローテーブル１２１には、業務フローの情報が業務フローごとにテーブル化されて格納されている。業務フローテーブル１２１には、出現数を示すフィールド１２１ａおよびテーブル列を示すフィールド１２１ｂが設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられ、業務フロー情報を構成する。
【００４８】
フィールド１２１ａには、それぞれの業務フローの出現数を表す整数値が設定される。すなわち、業務フローに沿ったデータ更新処理がそれまでに実行された回数が設定される。フィールド１２１ｂには、業務フローを表すテーブル名の列が設定される。最も左側に記述されたテーブル名が最初に更新されたテーブルを表し、最も右側に記述されたテーブル名が最後に更新されたテーブルを表す。テーブル名とテーブル名との間は、カンマで区切られる。
【００４９】
業務フローテーブル１２１に格納される業務フロー情報は、業務フロー抽出部１６０によって登録される。
次に、フロー情報によって示される業務フローを、図を用いて説明する。
【００５０】
図８は、業務フローの例を示す図である。この図は、すべての業務フローを１つの図に表したものである。
開始ノード１６１ａは業務フローの開始点を表し、終了ノード１６１ｇは業務フローの終了点を表す。そして、開始ノード１６１ａと終了ノード１６１ｇとの間に、複数のノードが記述される。開始ノード１６１ａおよび終了ノード１６１ｇ以外のノードには、それぞれ１つのテーブル名が付されている。
【００５１】
そして、ノード間の矢印線は、処理の順序関係を表す。例えば、ノード１６１ｂからノード１６１ｃへの矢印線は、“見積”テーブルの更新処理に続いて、“注文作成”テーブルの更新処理を実行する業務フローが存在することを意味する。
【００５２】
１つのノードから複数の矢印線が出ている場合、矢印元の処理の次に、矢印先の処理のうちのいずれか１つが実行されることを意味する。例えば、ノード１６１ｃからノード１６１ｄ、ノード１６１ｃからノード１６１ｅ、およびノード１６１ｃからノード１６１ｆへの矢印線は、“注文作成”テーブルの更新処理に続いて、“一時保存”テーブルの更新処理、“注文取消”テーブルの更新処理、“注文確定”テーブルの更新処理、のいずれか１つが実行されることを意味する。このように、業務フローは、テーブルの更新処理の流れに置き換えて考えることもできる。この場合、業務フローを構成する各ステップ（業務ステップ）を、それぞれ各テーブルの更新処理として対応付けることができる。
【００５３】
次に、機能テスト情報記憶部１３０に格納されている機能テスト情報について説明する。
図９は、実施の形態の機能テスト情報の例を示す図である。
【００５４】
機能テスト情報１３１は、業務フローを構成する業務ステップを実現する各モジュールが要求を満たしているか否かをチェックするための機能テストの手順を示す情報である。機能テスト情報１３１は、機能テスト情報記憶部１３０に格納されている。
【００５５】
機能テスト情報１３１には、事前条件１３１ａ、手順１３１ｂ、事後条件１３１ｃが含まれている。事前条件１３１ａは、機能テスト情報１３１に基づく機能テストが実行される前に満たしていなければならない条件である。手順１３１ｂは、機能テスト情報１３１に基づく機能テストにおいて実行される手順である。事後条件１３１ｃは、機能テスト情報１３１に基づく機能テストが実行された後に満たしていなければならない条件である。
【００５６】
本実施の形態の機能テストは、事後条件１３１ｃにテーブルの更新が必ず含まれるように区分される。そして、事後条件１３１ｃに含まれる更新対象のテーブルにより、機能テスト情報１３１と業務フロー抽出処理で抽出されたフロー情報とを対応付けることができる。
【００５７】
次に、フロー情報および機能テスト情報からシステムテスト情報を生成する処理について説明する。
図１０は、システムテスト情報生成処理の手順を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
【００５８】
［ステップＳ２１］  システムテスト情報生成部１８０は、業務フロー記憶部１２０に格納されたフロー情報を順に１つ選択する。
［ステップＳ２２］  システムテスト情報生成部１８０は、ステップＳ２１で選択したフロー情報のテーブル名に対応する機能テスト情報を、機能テスト情報記憶部１３０から抽出する。
【００５９】
［ステップＳ２３］  システムテスト情報生成部１８０は、ステップＳ２２で抽出した機能テスト情報を、フロー情報のテーブル名の順に並べる。
［ステップＳ２４］  システムテスト情報生成部１８０は、ステップＳ２３で並べた機能テスト情報に基づいて、システムテスト情報を生成する。このシステムテスト情報には、ステップＳ２３で並べられた機能テストの並び順、ステップＳ２３で並べられた順に機能テスト情報に示された手順を結合したものなどが含まれる。
【００６０】
［ステップＳ２５］  システムテスト情報生成部１８０は、生成したシステムテスト情報をシステムテスト情報記憶部１４０に保存する。
［ステップＳ２６］  システムテスト情報生成部１８０は、フロー情報に選択されていないものがあれば、ステップＳ２１に処理を進める。一方、すべてのフロー情報が選択されていれば、処理を終了する。
【００６１】
このようにして、システムテスト情報生成部１８０は、業務フロー記憶部１２０に格納された情報が更新されると、業務フロー記憶部１２０からすべての業務フローの情報を取得し、業務フローごとに、機能テスト情報記憶部１３０から業務フローに含まれる業務ステップに対応する機能テスト情報を取得して、システムテスト情報を生成する。
【００６２】
次に、システムテスト情報生成部１８０によって生成されるシステムテスト情報１４１について説明する。
図１１は、システムテスト情報の例を示す図である。システムテスト情報１４１は、システムテストを実行するためのテスト仕様書を示す情報であり、システムテストに含まれる機能テスト情報１３１〜１３３を結合した情報である。システムテスト情報１４１は、システムテスト情報記憶部１４０に格納されている。
【００６３】
システムテスト情報１４１は、内に含む機能テスト情報１３１〜１３３により、当該システムテストにおけるオペレータによる操作の手順を定める。
また、システムテスト情報１４１は、機能テスト情報１３１〜１３３の他、機能テスト順序１４１ａ、およびテストナンバ１４１ｂを含む。機能テスト順序１４１ａは、そのシステムテストに含まれる機能テスト名を、実行順に並べたものである。テストナンバ１４１ｂは、業務フローごとに生成されたシステムテスト情報に、生成順に付けられた通し番号である。
【００６４】
このようにして、業務フローを構成する業務ステップの順に、対応する機能テストを並べて、システムテスト情報１４１として出力する。
次に、システムテストの実行時における表示画面の例について説明する。
【００６５】
図１２は、入力画面の表示例を示す図である。図１２に示した入力画面４５１は、テスト用端末装置４００において、システムテスト情報１４１に基づくシステムテストにおける入力操作を行っているときのテスト用端末装置４００に接続されたモニタ（図示省略）に表示される画面の一例である。
【００６６】
この入力画面４５１の例は、システムテスト情報（図１１）の機能テスト情報１３１の手順１３１ｂの「４」の段階を示す。
入力画面４５１には、システムの業務において入力事項の入力を受け付ける入力欄４５１ａ，４５１ｂ，４５１ｃ、並びに入力画面４５１の入力内容が正しいときに見積手順を先に進める送信ボタン４５１ｄ、および入力画面４５１の入力内容が正しくないときにこれまでの入力内容を取り消すクリアボタン４５１ｅが設けられている。
【００６７】
この段階では、システムテストを実行するオペレータは、入力欄４５１ａ，４５１ｂ，４５１ｃの表示内容が正しければ、送信ボタン４５１ｄを操作する。これにより、機能テスト情報１３１で示される機能テストの段階が進行する。
【００６８】
図１３は、テスト成功時の内容確認画面の表示例を示す図である。図１３に示した内容確認画面４５２は、テスト用端末装置４００において、システムテスト情報１４１に基づくシステムテストに成功しているときのテスト用端末装置４００に接続されたモニタ（図示省略）に表示される画面の一例である。
【００６９】
この内容確認画面４５２の例は、システムテスト情報（図１１）の機能テスト情報１３１の手順１３１ｂの「６」の段階を示す。
内容確認画面４５２には、システムの業務における入力事項が表示された表示欄４５２ａ，４５２ｂ，４５２ｃ、並びに内容確認画面４５２の表示内容が正しいときに見積手順を先に進める確認ボタン４５２ｄ、および内容確認画面４５２の表示内容が正しくないときにこれまでの見積手順を取り消して手順２に戻る戻るボタン４５２ｅが設けられている。
【００７０】
この段階では、システムテストを実行するオペレータは、表示欄４５２ａ，４５２ｂ，４５２ｃの表示内容が正しければ、確認ボタン４５２ｄを操作する。これにより、機能テストが進行する。そして機能テスト情報１３１で示される機能テストが終了し、事後条件が満たされると、機能テスト情報１３２で示される機能テストが開始される。以後、システムテストが終了するまで機能テストが繰り返される。
【００７１】
図１４は、テスト失敗時の内容確認画面の表示例を示す図である。図１４に示した内容確認画面４５３は、テスト用端末装置４００において、システムテスト情報１４１に基づくシステムテストに失敗したときのテスト用端末装置４００に接続されたモニタ（図示省略）に表示される画面の一例である。
【００７２】
この内容確認画面４５３の例は、内容確認画面４５３の例（図１３）と同様、システムテスト情報（図１１）の機能テスト情報１３１の手順６の段階を示す。
内容確認画面４５３には、内容確認画面４５３の例と同様、表示欄４５３ａ，４５３ｂ，４５３ｃ、並びに確認ボタン４５３ｄ、および戻るボタン４５２ｅが設けられている。
【００７３】
この段階では、システムテストを実行するオペレータは、表示欄４５３ｃの表示内容が正しく表示されていない（表示が“＃＃＃＃＃＃＃”となって文字化けしている）ので、システムテストが失敗であることがわかる。
【００７４】
このようなテスト仕様書生成装置１００を用いることで、更新情報を用いて業務フローを特定し、業務フローを構成する業務ステップの順に、対応する機能テストを並べて、この並び順をシステムテスト情報３０として出力できる。これにより、実際の業務で実行される業務フローに基づいて、システム仕様書を作成することができる。したがって、生成されるシステムテスト仕様書が、既に稼動しているコンピュータシステムについての保守時や改変時におけるシステムテストの作業効率の向上に大変有用となる。
【００７５】
［第２の実施の形態］
次に、第２の実施の形態を図面を参照して詳細に説明する。前述の第１の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
【００７６】
第２の実施の形態のテスト仕様書生成システムは、第１の実施の形態のテスト仕様書生成システムと同様に、データベース管理システムが出力するデータベースの更新情報を分析し、業務フローのシステムテスト仕様書を自動的に抽出するものである。加えて、第２の実施の形態のテスト仕様書生成システムは、出現数の多い順に業務フローを整列し、所定の閾値以上の業務フローについてシステムテスト情報を生成する。また、このときシステムテスト情報を、対応する業務フローの出現数が多い順に出力することができる。これにより、テスト仕様書をさらに重要な業務フローに絞って自動生成することができる。
【００７７】
第２の実施の形態のテスト仕様書生成システムは、図２に示した第１の実施の形態のテスト仕様書生成システムと同様のシステム構成で実現される。ただし、テスト仕様書生成装置１００に代えて、テスト仕様書生成装置５００がネットワーク６０に接続される。
【００７８】
図１５は、第２の実施の形態のテスト仕様書生成装置の機能を示すブロック図である。テスト仕様書生成装置５００は、更新情報記憶部１１０、業務フロー記憶部１２０、機能テスト情報記憶部１３０、システムテスト情報記憶部１４０、更新情報取得部１５０、業務フロー抽出部１６０、業務フロー判定部５７０、およびシステムテスト情報生成部１８０を有する。
【００７９】
更新情報取得部１５０は、第１の実施の形態と同様に、ネットワーク６０を介してデータベースサーバ３００ａ，３００ｂ，３００ｃと通信が可能である。更新情報記憶部１１０には、第１の実施の形態と同様に、データベース管理システムが出力する更新情報が格納される。
【００８０】
業務フロー記憶部１２０には、第１の実施の形態と同様に、業務フロー抽出部１６０によって生成された業務フローが格納される。機能テスト情報記憶部１３０には、第１の実施の形態と同様に、システムテスト情報が格納される。システムテスト情報記憶部１４０には、第１の実施の形態と同様に、システムテスト情報生成部１８０によって生成されたシステムテスト情報が格納される。
【００８１】
更新情報取得部１５０は、第１の実施の形態と同様に、予め設定された時間間隔で、定期的にデータベースサーバ３００ａ，３００ｂ，３００ｃにアクセスし、データベースサーバ３００ａ，３００ｂ，３００ｃが管理するログファイルをそれぞれ取得する。そして、更新情報記憶部１１０は、第１の実施の形態と同様に、取得したログファイルに、前回の取得時から新たに追加された更新情報があるか判断する。新たな更新情報がある場合、更新情報取得部１５０は、第１の実施の形態と同様に、ログファイルから更新情報を抽出して更新情報記憶部１１０に追加する。
【００８２】
業務フロー抽出部１６０は、第１の実施の形態と同様に、ユーザからの入力によってシステムテスト情報生成の指示を受け取ると、更新情報記憶部１１０に格納された更新情報を分析して、業務フローを抽出する。そして、業務フロー抽出部１６０は、業務フローの情報を、業務フロー記憶部１２０に格納する。
【００８３】
なお、システムテスト情報生成の指示には、ユーザ定義の分類割合の情報が含まれる場合がある。分類割合とは、業務フローの出現総数のうち、典型業務フローと判断する割合である。分類割合は、例えば“０．６”（６０パーセント）といった数値で表される。
【００８４】
業務フロー判定部５７０は、業務フロー抽出部１６０が生成し、業務フロー記憶部１２０に記憶されたフロー情報から、同一のフロー情報の出現数をそれぞれ計算する。また、当該フロー情報で示される業務フローの出現数が所定の閾値以上である業務フローを、典型業務フローと判定する。そして、典型業務フロー以外の業務フローを、例外業務フローとする。ここで、典型業務フローとは発生頻度が大きい業務フローのことであり、例外業務フローとは発生頻度が小さい業務フローのことである。
【００８５】
このとき、業務フロー判定部５７０は、業務フローを出現数が多い順に整列してフロー情報を出力する。また、業務フロー判定部５７０は、例外業務フローについて、手戻りが発生している業務フローについてもフロー情報を出力する。また、業務フロー判定部５７０は、キーボード４１およびマウス４２を通じてユーザからの入力を受け取ることができる。
【００８６】
本実施の形態のシステムテスト情報生成部１８０は、業務フロー判定部５７０から出力されたすべての業務フローの情報を取得する。そして、第１の実施の形態と同様に、機能テスト情報記憶部１３０から業務フローに含まれる業務ステップに対応する機能テスト情報を取得して、システムテスト情報を生成する。
【００８７】
次に、第２の実施の形態で実行される、業務フローが重要であるか否かを判定する処理について説明する。
図１６、および図１７は、第２の実施の形態の業務フロー判定処理の手順を示すフローチャートである。以下、図１６、および図１７に示す処理をステップ番号に沿って説明する。
【００８８】
［ステップＳ２０１］  業務フロー判定部５７０は、業務フロー抽出処理（図６）のステップＳ１２で作成され、業務フロー記憶部１２０に記憶されたすべてのテーブル列を集計する。すなわち、同一のテーブル列の個数をそれぞれ計算する。ここで計算された値が、それぞれのテーブル列によって表される業務フローの出現数となる。なお、業務モデル生成の指示にユーザ定義分類割合が含まれている場合、ユーザ定義分類割合も併せて通知する。
【００８９】
［ステップＳ２０２］  業務フロー判定部５７０は、業務フロー抽出部１６０から受け取った業務フローの情報を、ステップＳ２０１で計算した出現数の大きい順に整列する。
［ステップＳ２０３］  業務フロー判定部５７０は、ユーザ定義分類割合の入力を受け付けたときは、ユーザ定義分類割合を分類割合と決定する。一方、ユーザ定義分類割合の入力を受け付けていないときは、予め設定された値を分類割合と決定する。
【００９０】
［ステップＳ２０４］  業務フロー判定部５７０は、ステップＳ２０２で整列した業務フローの出現数の総数を計算する。そして、業務フロー判定部５７０は、出現総数とステップＳ２０３で決定した分類割合との積を閾値と決定する。
【００９１】
［ステップＳ２０５］  業務フロー判定部５７０は、ステップＳ２０２で整列した業務フローのうち、まだ分類処理を行っていないものを出現数の上位より１つ選択する。
［ステップＳ２０６］  業務フロー判定部５７０は、ステップＳ２０５で選択した業務フローを典型業務フローに指定する。
【００９２】
［ステップＳ２０７］  業務フロー判定部５７０は、典型業務フローに指定した業務フローの累積出現数を計算する。
［ステップＳ２０８］  業務フロー判定部５７０は、累積出現数が閾値以上であるか否か判断する。累積出現数が閾値以上である場合、処理がステップＳ２０９（図１７）に進められる。累積出現数が閾値未満である場合、処理がステップＳ２０５に進められる。
【００９３】
［ステップＳ２０９］  業務フロー判定部５７０は、ステップＳ２０２で整列した業務フローのうち典型業務フローに指定されなかった業務フローを、例外業務フローに指定する。
【００９４】
［ステップＳ２１０］  業務フロー判定部５７０は、例外業務フローのうち、所定の条件を満たすフローを抽出する。そして、業務フロー判定部５７０は、抽出した例外業務フローを示す情報を生成する。
【００９５】
［ステップＳ２１１］  業務フロー判定部５７０は、ステップＳ２０６で典型業務フローに指定した業務フローのテーブル列および出現数を、典型業務フロー情報として出力する。また、業務フロー判定部５７０は、ステップＳ２０９で例外業務フローに指定した業務フローのテーブル列、出現数、およびステップＳ２１０で生成した情報を、例外業務フロー情報として出力する。
【００９６】
ここで、ステップＳ２１０の所定の条件の例として、典型業務フローとの類似度が高い業務フロー、特定のテーブル列を含む業務フロー、手戻りが発生している業務フロー、繰り返しが発生している業務フローなどがある。
【００９７】
業務フローの類似度は、例えば、テーブル列同士の距離で判定することができる。テーブル同士の距離とは、２つのテーブル列の乖離度を示す０以上の整数値である。距離の評価基準として、Ｌｅｖｅｎｓｈｔｅｉｎ距離を用いてもよい。この場合、テーブル同士の２つのテーブル列が完全に一致する場合に距離が０となる。２つのテーブル列の乖離度が大きいほど距離が大きくなる。これにより、出現数が多い典型業務フローに類似する業務フローについても漏れなくテストすることができる。
【００９８】
特定のテーブル列を含む業務フローは、例えば、ユーザによって指定されたテーブル列を含む業務フローを抽出する。これにより、例えば、システムの改変や修正などにより、新たに追加された部分など、特定の機能について重点的にテストすることができる。
【００９９】
手戻りが発生している業務フローは、例えば、例外業務フローのうち、同一のテーブル名を２つ以上含むフローを抽出する。これにより、実際の業務で発生している手戻りが、設計段階で想定されていないものであったとしても、漏れなくテストすることができる。
【０１００】
繰り返しが発生している業務フローは、例えば、隣接する２つのテーブル名が同一であるものを含む。これにより、例えば、実際の業務で、同一の業務ステップが繰り返される場合に、システムが正しく動作しているか否かをテストすることもできる。
【０１０１】
このようにして、業務フロー判定部５７０は、ステップＳ２１０において、例えば以上のような、業務フローを抽出する。そして、業務フロー判定部５７０は、抽出した例外業務フローを示す情報を生成する。
【０１０２】
このようにして、業務フロー判定部５７０は、業務フロー抽出部１６０で作成されたすべてのテーブル列を集計し、それぞれの業務フローの出現数とを特定する。そして、業務フロー判定部５７０は、分類割合に基づいて業務フローの累積出現数の閾値を決定し、閾値を用いて業務フローを出現頻度の大きい典型業務フローと出現頻度の小さい例外業務フローとに分類する。ここで、業務フロー判定部５７０は、ユーザ指定分類割合が与えられたときはユーザ指定分類割合を分類割合として用い、それ以外の場合は予め設定された値を分類割合として用いる。
【０１０３】
さらに、業務フロー判定部５７０は、例外業務フローのうち、所定の条件を満たすフローをフロー情報として出力する。これに基づき、システムテスト情報生成部１８０からは、典型業務フロー、および例外業務フローのうち所定の条件を満たすもの、のみのシステムテスト情報が出力されることになる。
【０１０４】
次に、業務フロー判定部５７０から出力される典型業務フロー情報５７１について説明する。
図１８は、典型業務フロー情報のデータ構造例を示す図である。典型業務フロー情報５７１は、典型業務フローと判定された業務フローを示す情報である。典型業務フロー情報５７１は、出現数を示す出現数情報５７１ａおよびテーブル列を示すテーブル列情報５７１ｂにより構成されている。横方向に並べられた情報同士が互いに関連付けられ、典型業務フロー情報を構成する。
【０１０５】
出現数情報５７１ａには、それぞれの典型業務フローの出現数が整数値で示される。すなわち、典型業務フローに沿ったデータ更新処理がそれまでに実行された回数が示される。
【０１０６】
テーブル列情報５７１ｂには、典型業務フローを表すテーブル名の列が示される。ここでは、最も左側に記述されたテーブル名が最初に更新されたテーブルを表し、最も右側に記述されたテーブル名が最後に更新されたテーブルを表す。
【０１０７】
典型業務フロー情報５７１は、業務フロー判定部５７０によって出力され、システムテスト情報生成部１８０に取得される。
次に、業務フロー判定部５７０から出力される例外業務フロー情報５７２について説明する。
【０１０８】
図１９は、例外業務フロー情報のデータ構造例を示す図である。例外業務フロー情報５７２は、例外業務フローと判定された業務フローを示す情報である。例外業務フロー情報５７２には、出現数を示す出現数情報５７２ａ、テーブル列を示すテーブル列情報５７２ｂ、および手戻りを含む業務フローを示す手戻情報５７２ｃによって構成されている。横方向に並べられた情報同士が互いに関連付けられ、例外業務フロー情報を構成する。
【０１０９】
出現数情報５７２ａには、それぞれの例外業務フローの出現数が整数値で示される。すなわち、例外業務フローに沿ったデータ更新処理がそれまでに実行された回数が示される。
【０１１０】
テーブル列情報５７２ｂには、例外業務フローを表すテーブル名の列が示される。ここでは、最も左側に記述されたテーブル名が最初に更新されたテーブルを表し、最も右側に記述されたテーブル名が最後に更新されたテーブルを表す。
【０１１１】
手戻情報５７２ｃには、当該業務フローが手戻りを含んでいるか否かが示される。ここで、例外業務フロー情報５７２は、業務フロー判定部５７２によって出力され、システムテスト情報生成部１８０によって取得される。
【０１１２】
次に、本実施の形態のシステムテスト情報１４２について説明する。
図２０は、第２の実施の形態のシステムテスト情報の例を示す図である。システムテスト情報１４２は、第１の実施の形態のシステムテスト情報１４２と同様に、システムテストを実行するためのテスト仕様書を示す情報であり、システムテストに含まれる機能テスト情報１３１〜１３３を結合した情報である。システムテスト情報１４２は、システムテスト情報記憶部１４０に格納されている。
【０１１３】
システムテスト情報１４２は、システムテスト情報１４１が含んでいる情報に加えて、重要度情報１４２ｃを含む。重要度情報１４２ｃは、そのシステムテスト情報の重要度を示す情報であり、そのシステムテスト情報の元となった業務フローの出現数が多いものが重要になるように定められる。
【０１１４】
また、テストナンバ１４１ｂは、業務フローごとに生成されたシステムテスト情報に、生成順に付けられた通し番号である。ここで、本実施の形態では、システムテストは、業務フロー判定処理によって、業務フローの出現数が多い順に整列されているため、システムテスト情報も業務フローの出現数が多い順に生成されることになる。したがって、本実施の形態では、このテストナンバ１４１ｂによっても重要性を判断することができる。
【０１１５】
本実施の形態では、このようにして、各システムテストの重要性が判断できるようにシステムテスト情報１４２を出力する。
このようなテスト仕様書生成装置５００を用いることで、第１の実施の形態のテスト仕様書生成装置１００を用いた場合と同様の効果を得られる。さらに、テスト仕様書生成装置５００を用いることで、自動的に実行頻度が高い業務フローを優先してテスト仕様書を生成することができる。また、システム管理者などは、複数生成されたテスト仕様書のうち、いずれのテスト仕様書のテストが重要であるのかを知ることができる。したがって、生成されるシステムテスト仕様書が、既に稼動しているコンピュータシステムについての保守時や改変時におけるシステムテストの作業効率の向上に大変有用となる。
【０１１６】
［第３の実施の形態］
次に、第３の実施の形態を図面を参照して詳細に説明する。前述の第１の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
【０１１７】
第３の実施の形態のテスト仕様書生成システムは、第１の実施の形態のテスト仕様書生成システムと同様に、データベース管理システムが出力するデータベースの更新情報を分析し、業務フローのシステムテスト仕様書を自動的に抽出するものである。加えて、第３の実施の形態のテスト仕様書生成システムは、格納されているシステムテスト情報から、生成したフロー情報のうちシステムテスト情報が生成されていない業務フローを、未登録業務フローと判定する。そして、この未登録業務フローのみを対象としてシステムテスト情報を出力する。これにより、すでに作成されたテスト仕様書が除外されるので、テスト仕様書をさらに絞って自動生成することにより、さらにテストの作業効率の向上が図れる。
【０１１８】
第３の実施の形態のテスト仕様書生成システムは、図２に示した第１の実施の形態のテスト仕様書生成システムと同様のシステム構成で実現される。ただし、テスト仕様書生成装置１００に代えて、テスト仕様書生成装置６００がネットワーク６０に接続される。
【０１１９】
図２１は、第３の実施の形態のテスト仕様書生成装置の機能を示すブロック図である。テスト仕様書生成装置６００は、更新情報記憶部１１０、業務フロー記憶部１２０、機能テスト情報記憶部１３０、システムテスト情報記憶部１４０、更新情報取得部１５０、業務フロー抽出部１６０、業務フロー判定部６７０、およびシステムテスト情報生成部１８０を有する。
【０１２０】
更新情報取得部１５０は、第１の実施の形態と同様に、ネットワーク６０を介してデータベースサーバ３００ａ，３００ｂ，３００ｃと通信が可能である。更新情報記憶部１１０には、第１の実施の形態と同様に、データベース管理システムが出力する更新情報が格納される。
【０１２１】
業務フロー記憶部１２０には、第１の実施の形態と同様に、業務フロー抽出部１６０によって生成された業務フローが格納される。機能テスト情報記憶部１３０には、第１の実施の形態と同様に、システムテスト情報が格納される。システムテスト情報記憶部１４０には、第１の実施の形態と同様に、システムテスト情報生成部１８０によって生成されたシステムテスト情報が格納される。
【０１２２】
更新情報取得部１５０は、第１の実施の形態と同様に、予め設定された時間間隔で、定期的にデータベースサーバ３００ａ，３００ｂ，３００ｃにアクセスし、データベースサーバ３００ａ，３００ｂ，３００ｃが管理するログファイルをそれぞれ取得する。そして、更新情報記憶部１１０は、第１の実施の形態と同様に、取得したログファイルに、前回の取得時から新たに追加された更新情報があるか判断する。新たな更新情報がある場合、更新情報取得部１５０は、第１の実施の形態と同様に、ログファイルから更新情報を抽出して更新情報記憶部１１０に追加する。
【０１２３】
業務フロー抽出部１６０は、第１の実施の形態と同様に、ユーザからの入力によってシステムテスト情報生成の指示を受け取ると、更新情報記憶部１１０に格納された更新情報を分析して、業務フローを抽出する。そして、業務フロー抽出部１６０は、業務フローの情報を、業務フロー記憶部１２０に格納する。
【０１２４】
業務フロー判定部６７０は、システムテスト情報記憶部１４０に記憶されているシステムテスト情報を参照して、業務フロー抽出部１６０が生成し業務フロー記憶部１２０に記憶されたフロー情報のうち、システムテスト情報が生成されていない業務フローを、未登録業務フローと判定する。そして、業務フロー判定部６７０は、未登録業務フローと判定した業務フローのみを示すフロー情報を出力する。これに基づいて、システムテスト情報生成部１８０は、未登録業務フローのみを対象としてシステムテスト情報を出力する。
【０１２５】
システムテスト情報生成部１８０は、業務フロー判定部６７０から出力されたすべての業務フローの情報を取得し、機能テスト情報記憶部１３０から業務フローに含まれる業務ステップに対応する機能テスト情報を取得して、システムテスト情報を生成する。
【０１２６】
次に、本実施の形態で行われる業務フローの判定について説明する。
図２２は、第３の実施の形態の業務フロー判定の様子を示す図である。
本実施の形態の業務フロー判定部６７０は、システムテスト情報記憶部１４０に記憶されているシステムテスト情報を参照して、業務フロー記憶部１２０に記憶されているフロー情報のうちシステムテスト情報が生成されていない業務フローを、未登録業務フローと判定する。
【０１２７】
具体的には、業務フロー判定部６７０は、業務フロー記憶部１２０に格納されている業務フローテーブル１２１のフィールド１２１ｂのテーブル列と、システムテスト情報記憶部１４０に記憶されているすべてのシステムテスト情報の機能テスト順序とを比較する。そして、フィールド１２１ｂのテーブル列と一致する機能テスト順序が存在する業務フローは、登録業務フローと判定される。また、フィールド１２１ｂのテーブル列と一致する機能テスト順序が存在しない業務フローは、未登録業務フローと判定される。
【０１２８】
次に、第３の実施の形態で実行される、業務フローが未登録業務フローであるか否かを判定する処理について説明する。
図２３は、第３の実施の形態の業務フロー判定処理の手順を示すフローチャートである。以下、図２３に示す処理をステップ番号に沿って説明する。
【０１２９】
［ステップＳ３０１］  業務フロー判定部６７０は、業務フロー記憶部１２０に格納されたフロー情報を順に１つ選択する。
［ステップＳ３０２］  業務フロー判定部６７０は、システムテスト情報記憶部１４０を参照して、選択した業務フローから生成されるシステムテスト情報がシステムテスト情報記憶部１４０に格納されていなければ、ステップＳ３０３に処理を進める。一方、選択した業務フローから生成されるシステムテスト情報がシステムテスト情報記憶部１４０に格納されていれば、ステップＳ３０４に処理を進める。
【０１３０】
［ステップＳ３０３］  業務フロー判定部６７０は、選択した業務フローを未登録業務フローに指定する。
［ステップＳ３０４］  業務フロー判定部６７０は、フロー情報に選択されていないものがあれば、ステップＳ３０１に処理を進める。一方、すべてのフロー情報が選択されていれば、ステップＳ３０５に処理を進める。
【０１３１】
［ステップＳ３０５］  業務フロー判定部６７０は、ステップＳ３０３で未登録業務フローに指定した業務フローのテーブル列および出現数を、未登録業務フロー情報として出力する。
【０１３２】
このようにして、業務フロー判定部６７０は、システムテスト情報記憶部１４０に記憶されているシステムテスト情報を参照して、業務フロー抽出部１６０が生成し業務フロー記憶部１２０に記憶されたフロー情報のうち、システムテスト情報が生成されていない業務フローを、未登録業務フローと判定する。そして、業務フロー判定部６７０は、未登録業務フローと判定した業務フローのみを示すフロー情報を出力する。これに基づいて、システムテスト情報生成部１８０は、未登録業務フローのみを対象としてシステムテスト情報を出力する。
【０１３３】
このようなテスト仕様書生成装置６００を用いることで、第１の実施の形態のテスト仕様書生成装置１００を用いた場合と同様の効果を得られる。さらに、テスト仕様書生成装置６００を用いることで、自動的にシステムテストが実行されていない業務フローのみについてテスト仕様書を生成することができる。したがって、生成されるシステムテスト仕様書が、既に稼動しているコンピュータシステムについての保守時や改変時におけるシステムテストの作業効率の向上に大変有用となる。
【０１３４】
以上、本発明のテスト仕様書生成プログラム、およびテスト仕様書生成装置を図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置き換えることができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。また、本発明は、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【０１３５】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、テスト仕様書生成装置１００，５００，６００が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどが挙げられる。磁気記録装置としては、例えば、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ（ＭＴ）などが挙げられる。光ディスクとしては、例えば、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などが挙げられる。光磁気記録媒体としては、例えば、ＭＯ（Magneto-Optical disk）などが挙げられる。
【０１３６】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１３７】
テスト仕様書生成プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１３８】
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
（付記１）  コンピュータシステムのシステムテスト仕様書を自動生成するテスト仕様書生成プログラムにおいて、
コンピュータを、
複数のデータ集合の更新処理を含むデータ更新処理を個々に識別する処理識別情報と、前記データ更新処理によって更新された前記データ集合のデータ集合名と、前記データ集合が更新された更新時刻とをそれぞれ関連付けて記憶する更新情報記憶手段、
前記コンピュータシステムで実行される業務フローを構成する業務ステップを実現する各モジュールが、要求を満たしているか否かをチェックする機能テストの手順を示す機能テスト情報を記憶する機能テスト情報記憶手段、
前記更新情報記憶手段が記憶する前記更新情報から、前記処理識別情報により同一と識別される前記データ更新処理ごとに、前記データ更新処理によって更新された前記データ集合の前記データ集合名を、前記更新時刻の早い順に並べたフロー情報を生成する業務フロー抽出手段、
前記機能テスト情報記憶手段が記憶する前記機能テスト情報から、前記業務フロー抽出手段で生成した前記フロー情報に示された前記業務フローごとに、前記業務フローを構成する前記業務ステップの並び順に対応して並べた前記機能テストの並び順を示すシステムテスト情報を生成するシステムテスト情報生成手段、
として機能させることを特徴とするテスト仕様書生成プログラム。
【０１３９】
（付記２）  前記コンピュータを、さらに、
前記業務フロー抽出手段が生成した前記フロー情報から、同一の前記フロー情報の出現数をそれぞれ計算すると共に、前記業務フロー抽出手段が生成した前記フロー情報で示される前記業務フローの前記出現数が所定の閾値以上の前記業務フローを、典型業務フローと判定する業務フロー判定手段、
として機能させ、
前記システムテスト情報生成手段は、前記機能テスト情報記憶手段が記憶する前記機能テスト情報から、前記業務フロー判定手段によって判定された前記典型業務フローのみを対象として前記システムテスト情報を生成することを特徴とする付記１記載のテスト仕様書生成プログラム。
【０１４０】
（付記３）  前記コンピュータを、さらに、
前記業務フロー抽出手段が作成した前記フロー情報から、同一の前記フロー情報の出現数をそれぞれ計算すると共に、前記業務フロー抽出手段が生成した前記フロー情報で示される前記業務フローの前記出現数が所定の閾値未満の前記業務フローを、例外業務フローと判定する前記業務フロー判定手段、
として機能させ、
前記システムテスト情報生成手段は、前記機能テスト情報記憶手段が記憶する前記機能テスト情報から、前記業務フロー判定手段によって判定された前記例外業務フローのうち、当該例外業務フローを示す前記フロー情報に連続して同一の前記データ集合名が含まれるもののみを対象として前記システムテスト情報を出力することを特徴とする付記１記載のテスト仕様書生成プログラム。
【０１４１】
（付記４）  前記コンピュータを、さらに、
前記システムテスト情報を記憶する前記システムテスト情報記憶手段、
前記業務フロー抽出手段が生成した前記フロー情報のうち、前記システムテスト情報記憶手段が記憶する前記システムテスト情報から、前記システムテスト情報が生成されていない前記業務フローを、未登録業務フローと判定する業務フロー判定手段、
として機能させ、
前記システムテスト情報生成手段は、前記未登録業務フローのみを対象として前記システムテスト情報を生成し、生成した当該システムテスト情報を前記システムテスト情報記憶手段に記憶させることを特徴とする付記１記載のテスト仕様書生成プログラム。
【０１４２】
（付記５）  コンピュータシステムのシステムテスト仕様書を自動生成するテスト仕様書生成装置において、
複数のデータ集合の更新処理を含むデータ更新処理を個々に識別する処理識別情報と、前記データ更新処理によって更新された前記データ集合のデータ集合名と、前記データ集合が更新された更新時刻とをそれぞれ関連付けて記憶する更新情報記憶手段と、
前記コンピュータシステムで実行される業務フローを構成する業務ステップを実現する各モジュールが、要求を満たしているか否かをチェックする機能テストの手順を示す機能テスト情報を記憶する機能テスト情報記憶手段と、
前記更新情報記憶手段が記憶する前記更新情報から、前記処理識別情報により同一と識別される前記データ更新処理ごとに、前記データ更新処理によって更新された前記データ集合の前記データ集合名を、前記更新時刻の早い順に並べたフロー情報を生成する業務フロー抽出手段と、
前記機能テスト情報記憶手段が記憶する前記機能テスト情報から、前記業務フロー抽出手段で生成した前記フロー情報に示された前記業務フローごとに、前記業務フローを構成する前記業務ステップの並び順に対応して並べた前記機能テストの並び順を示すシステムテスト情報生成するシステムテスト情報生成手段と、
を有することを特徴とするテスト仕様書生成装置。
【図面の簡単な説明】
【０１４３】
【図１】本実施の形態の概要を示す図である。
【図２】本実施の形態のシステム構成を示す図である。
【図３】テスト仕様書生成装置のハードウェア構成を示す図である。
【図４】第１の実施の形態のテスト仕様書生成装置の機能を示すブロック図である。
【図５】更新情報テーブルのデータ構造例を示す図である。
【図６】業務フロー抽出処理の手順を示すフローチャートである。
【図７】業務フローテーブルのデータ構造例を示す図である。
【図８】業務フローの例を示す図である。
【図９】機能テスト情報の例を示す図である。
【図１０】システムテスト情報生成処理の手順を示すフローチャートである。
【図１１】第１の実施の形態のシステムテスト情報の例を示す図である。
【図１２】入力画面の表示例を示す図である。
【図１３】テスト成功時の内容確認画面の表示例を示す図である。
【図１４】テスト失敗時の内容確認画面の表示例を示す図である。
【図１５】第２の実施の形態のテスト仕様書生成装置の機能を示すブロック図である。
【図１６】第２の実施の形態の業務フロー判定処理の手順を示すフローチャート（前半）である。
【図１７】第２の実施の形態の業務フロー判定処理の手順を示すフローチャート（後半）である。
【図１８】典型業務フロー情報のデータ構造例を示す図である。
【図１９】例外業務フロー情報のデータ構造例を示す図である。
【図２０】第２の実施の形態のシステムテスト情報の例を示す図である。
【図２１】第３の実施の形態のテスト仕様書生成装置の機能を示すブロック図である。
【図２２】第３の実施の形態の業務フロー判定の様子を示す図である。
【図２３】第３の実施の形態の業務フロー判定処理の手順を示すフローチャートである。
【符号の説明】
【０１４４】
１０  コンピュータ
１１  更新情報記憶手段
１２  機能テスト情報記憶手段
１２ａ，１２ｂ，１２ｃ  機能テスト情報
１３  業務フロー抽出手段
１４  システムテスト情報生成手段
２１，２２，２３  データベース管理システム
２１ａ，２２ａ，２３ａ  更新情報
３０  システムテスト情報
【図１】
2008242540.tif 000003
【図２】
2008242540.tif 000004
【図３】
2008242540.tif 000005
【図４】
2008242540.tif 000006
【図５】
2008242540.tif 000007
【図６】
2008242540.tif 000008
【図７】
2008242540.tif 000009
【図８】
2008242540.tif 000010
【図９】
2008242540.tif 000011
【図１０】
2008242540.tif 000012
【図１１】
2008242540.tif 000013
【図１２】
2008242540.tif 000014
【図１３】
2008242540.tif 000015
【図１４】
2008242540.tif 000016
【図１５】
2008242540.tif 000017
【図１６】
2008242540.tif 000018
【図１７】
2008242540.tif 000019
【図１８】
2008242540.tif 000020
【図１９】
2008242540.tif 000021
【図２０】
2008242540.tif 000022
【図２１】
2008242540.tif 000023
【図２２】
2008242540.tif 000024
【図２３】
2008242540.tif 000025