(57)【特許請求の範囲】
【請求項１】
プログラムモジュールを実行する実行手段と、
前記プログラムモジュール中のテスト済み箇所を示す箇所識別子を記憶するテスト結果格納手段と、
前記プログラムモジュールに挿入されている起動命令が実行されると起動されて、運用中かテスト中かを判定し、運用中であればテスト結果検索手段を起動し、テスト中であればテスト結果記録手段を起動する埋め込み手段と、
前記埋め込み手段から起動されて、前記起動命令の挿入箇所を示す前記箇所識別子を取得し、取得した前記箇所識別子が前記テスト結果格納手段に格納されているか否かを判定し、判定結果を出力する前記テスト結果検索手段と、
前記埋め込み手段から起動されて、当該起動命令の挿入箇所を示す前記箇所識別子を取得し、取得した前記箇所識別子を前記テスト結果格納手段に記録する、前記テスト結果記録手段と、
を備える、未テスト箇所検出装置。
【請求項２】
ログ記憶手段を、さらに備え、
前記テスト結果検索手段は、取得した前記箇所識別子が前記テスト結果格納手段に格納されていない場合に、ログを前記ログ記憶手段に出力する、請求項１の未テスト箇所検出装置。
【請求項３】
前記プログラムモジュールは、前記起動命令が実行されると当該起動命令が埋め込まれたルーチンのルーチン名と、前記ルーチン内のソースコードの行番号を入力パラメータとして前記埋め込み手段に出力し、前記埋め込み手段は、前記ルーチン名と前記行番号を、前記起動命令の挿入箇所を示す前記箇所識別子として前記テスト結果記録手段、および、前記テスト結果検索手段に入力する、請求項１又は２の未テスト箇所検出装置。
【請求項４】
前記プログラムモジュールのソースコードを入力して、前記プログラムモジュールのソースコードに、前記ルーチン名と前記行番号を入力パラメータとして指定した、前記起動命令を埋め込む起動命令埋め込み手段を、さらに備える、請求項３の未テスト箇所検出装置。
【請求項５】
前記プログラムモジュールは、前記起動命令が実行されると前記プログラムモジュール内一意の識別子を入力パラメータとして前記埋め込み手段に出力し、前記埋め込み手段は、前記一意の識別子を、前記起動命令の挿入箇所を示す前記箇所識別子として前記テスト結果記録手段、および、前記テスト結果検索手段に入力する、請求項１乃至請求項４の何れか１項の未テスト箇所検出装置。
【請求項６】
プログラムモジュール中のテスト済み箇所を示す箇所識別子をテスト結果格納手段に記憶し、
前記プログラムモジュールを実行して、当該プログラムモジュールに挿入されている起動命令が実行されると、運用中かテスト中かを判定し、運用中であれば、当該起動命令の挿入箇所を示す前記箇所識別子を取得し、取得した前記箇所識別子が前記テスト結果格納手段に格納されているか否かを判定し、判定結果を出力するテスト結果検索を行い、テスト中であれば、当該起動命令の挿入箇所を示す前記箇所識別子を取得し、取得した前記箇所識別子を前記テスト結果格納手段に記録する、未テスト箇所検出方法。
【請求項７】
取得した前記箇所識別子が前記テスト結果格納手段に格納されていない場合に、ログを出力する、請求項６の未テスト箇所検出方法。
【請求項８】
プログラムモジュールを実行する実行処理と、
前記プログラムモジュール中のテスト済み箇所を示す箇所識別子をテスト結果格納手段に記憶するテスト結果格納処理と、
前記プログラムモジュールに挿入されている起動命令が実行されると、運用中かテスト中かを判定し、運用中であればテスト結果検索処理を行い、テスト中であればテスト結果記録処理を行う埋め込み処理と、
当該起動命令の挿入箇所を示す前記箇所識別子を取得し、取得した前記箇所識別子が前記テスト結果格納手段に格納されているか否かを判定し、判定結果を出力する、前記テスト結果検索処理と、
当該起動命令の挿入箇所を示す前記箇所識別子を取得し、取得した前記箇所識別子を前記テスト結果格納手段に記録する、前記テスト結果記録処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、未テスト箇所検出装置、未テスト箇所検出方法、および、プログラム、特に、運用で実行されている処理ルートの中のテストされていない箇所を検出する、未テスト箇所検出装置、未テスト箇所検出方法、および、プログラムに関する。
【背景技術】
【０００２】
特許文献１は、分岐点において、確実に通過経路を追跡することができる動的トレース情報解析方式を開示する。
【０００３】
特許文献２は、プログラムをテスト用に加工せずに、通常の検査工程でテストカバレージを自動的に測定できるようにする方式を開示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平２-２０６８４７号公報
【特許文献２】特開平５−２８２１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
重要なシステムの場合には、システムを構成するすべてのプログラムについて十分なテストが実施されるが、あまり重要ではないシステムの場合には、いくつかの処理ルートがテストされない場合も有る。
【０００６】
さらに、システムを構成するプログラムには、当該システムで利用しないと想定される処理ルートが含まれることがあり、それらの処理ルートはテストされないことがある。ところが、実際の運用時になると、タイミングや外部の異常により、プログラムは想定しない動作をおこし、プログラムのテストされていない処理ルートが実行される可能性がある。
【０００７】
テストされていない処理ルートであっても、プログラムは正常に動作することも多く、必ずしも問題となるわけではないが、テストされていない処理ルートはテストされている処理ルートよりバグが潜在する可能性は高い。
【０００８】
また、バグは、入力データの内容や処理のタイミングが発生条件となっている場合がある。そのため、テストされていない処理ルートが動作しているシステムにおいては、テストされていない処理ルートが動作していないシステムに比べて、入力データや処理するタイミングの変化によりバグが顕在化する可能性が高い。
【０００９】
これに関連して、特許文献１や特許文献２が開示するように、実行されている処理ルートが分かるようにトレースを出力する方法が知られている。しかし、トレースを出力するだけでは、実行されている処理ルートがテストされているか否かを判定することはできない。
【００１０】
実行されている処理ルートのなかから、テストされていないルートを検知することは、そのシステムで障害が発生するリスクを予測して予防するために、重要な課題となっている。
【００１１】
本発明は、上記課題を解決する為の、未テスト箇所検出装置、未テスト箇所検出方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の１実施の形態の未テスト箇所検出装置は、プログラムモジュールを実行する実行手段と、前記プログラムモジュール中のテスト済み箇所を示す箇所識別子を記憶するテスト結果格納手段と、前記プログラムモジュールに挿入されている起動命令が実行されると起動されて、当該起動命令の挿入箇所を示す前記箇所識別子を取得し、取得した前記箇所識別子が前記テスト結果格納手段に格納されているか否かを判定し、判定結果を出力するテスト結果検索手段と、を備える。
【００１３】
本発明の１実施の形態の未テスト箇所検出方法は、プログラムモジュール中のテスト済み箇所を示す箇所識別子をテスト結果格納手段に記憶し、前記プログラムモジュールを実行して、挿入されている起動命令が実行されると、当該起動命令の挿入箇所を示す前記箇所識別子を取得し、取得した前記箇所識別子が前記テスト結果格納手段に格納されているか否かを判定し、判定結果を出力するテスト結果検索を行う。
【００１４】
本発明の１実施の形態のプログラムは、プログラムモジュール中のテスト済み箇所を示す箇所識別子をテスト結果格納手段に記憶する処理と、前記プログラムモジュールを実行して、挿入されている起動命令が実行されると、当該起動命令の挿入箇所を示す前記箇所識別子を取得し、取得した前記箇所識別子が前記テスト結果格納手段に格納されているか否かを判定し、判定結果を出力する処理と、をコンピュータに実行させる。
【発明の効果】
【００１５】
本発明にかかる未テスト箇所検出装置は、システムの運用時に、テストされていない処理ルートが実行されていることを検知する。
【図面の簡単な説明】
【００１６】
【図１】図１は、第１の実施の形態にかかる、未テスト箇所検出装置１１と起動命令埋め込み装置１０の構成を示す図である。
【図２】図２は、プログラムソースコード１００の例を示す図である。
【図３】図３は、埋め込み済みプログラムソースコード１０１（func1）の例を示す図である。
【図４】図４は、テスト結果格納ファイル３０４に格納されるデータ例を示している。
【図５】図５は、ログファイル３０５に格納されるデータ例を示している。
【図６】図６は、埋め込み部３００の動作フローチャートである。
【図７】図７は、テスト結果記録部３０２の動作フローチャートである。
【図８】図８は、テスト結果検索部３０３の動作フローチャートである。
【図９】図９は、第２の実施の形態において、プログラム名と行数と共に、未テスト箇所検出装置１１内で一意の域別子を渡すとした場合の、埋め込み済みプログラムソースコード１０１（func1）の例を示す図である。
【図１０】図１０は、第２の実施の形態のテスト結果格納ファイル３０４に格納されるデータ例を示している。
【図１１】図１１は、第３の実施の形態にかかる、未テスト箇所検出装置１１の構成を示す図である。
【発明を実施するための形態】
【００１７】
＜第１の実施の形態＞
＜概要＞
図１は、第１の実施の形態にかかる、未テスト箇所検出装置１１と起動命令埋め込み装置１０の構成を示す図である。未テスト箇所検出装置１１と起動命令埋め込み装置１０は、コンピュータの構成、および、機能を包含している。
【００１８】
起動命令埋め込み装置１０において、起動命令埋め込み部２００は、未テスト箇所検出装置１１で動作するプログラムモジュール１０２のソースコードの、例えば、分岐や関数呼び出しの箇所に、埋め込み部３００を起動するコード（以降、起動命令）を埋め込む。図中、プログラムソースコード１００が、プログラムモジュール１０２のソースコードである。起動命令埋め込み部２００は、プログラムソースコード１００に起動命令を埋め込んで、埋め込み済みプログラムソースコード１０１を生成する。
【００１９】
起動命令埋め込み装置１０において、埋め込み済みプログラムソースコード１０１は、コンパイル等の処理を経て、実行可能なプログラムモジュール１０２になる。
【００２０】
プログラムモジュール１０２は、未テスト箇所検出装置１１で実行される。そのとき、プログラムモジュール１０２で、起動命令埋め込まれたルートが実行されると、起動命令が埋め込み部３００を起動する。このとき、起動命令は、埋め込み部３００に対して、埋め込み部３００を起動している起動命令が埋め込まれている箇所の情報、例えば、起動しているプログラム名と、起動命令が埋め込まれている行数を渡す。
【００２１】
テストフェーズでは、プログラムモジュール１０２から起動された埋め込み部３００は、プログラム名と行数を渡して、テスト結果記録部３０２を起動する。テスト結果記録部３０２は、渡されたプログラム名と行数がテストで実行されたことをテスト結果格納ファイル３０４に記録する。
【００２２】
運用フェーズでは、プログラムモジュール１０２から起動された埋め込み部３００は、プログラム名と行数を渡して、テスト結果検索部３０３を起動する。テスト結果検索部３０３は、テスト結果が記録されたテスト結果格納ファイル３０４を検索し、渡されたプログラム名と行数が既に記録されているか否か、すなわち、当該箇所のテストが実行されているか否か、を確認する。テスト結果検索部３０３は、テストが実行されていないプログラム名と行数だった場合、ログファイル３０５にそのプログラム名と行数を出力する。
【００２３】
これにより、未テスト箇所検出装置１１は、プログラムモジュール１０２の運用中に、テストを実施していない処理ルートが実行されていないかを確認する。そのような処理ルートは、タイミングや外部の異常によって、さらに別のルートが実行されて問題が発生する可能性を含んでいる。このため、未テスト箇所検出装置１１は、テストを実施していない処理ルートが実行されているという、障害の予兆の一つを検知することが可能となる。
【００２４】
＜構成＞
次に、本発明の実施例の構成について図面を参照して詳細に説明する。
【００２５】
図１を参照すると、本実施の形態のシステムは、起動命令埋め込み装置１０と未テスト箇所検出装置１１を含む。起動命令埋め込み装置１０は、プログラムモジュール１０２を生成する。未テスト箇所検出装置１１は、システムのテストフェーズおよび運用フェーズで、プログラムモジュール１０２を実行する。
【００２６】
起動命令埋め込み装置１０は、第１の実行部２０１と、起動命令埋め込み部２００とを備え、プログラムソースコード１００から、埋め込み済みプログラムソースコード１０１を、さらに、プログラムモジュール１０２を生成する。未テスト箇所検出装置１１は、第２の実行部３０６、埋め込み部３００、フェーズ情報ファイル３０１、テスト結果記録部３０２、テスト結果検索部３０３、テスト結果格納ファイル３０４と、ログファイル３０５を備え、プログラムモジュール１０２を実行する。
【００２７】
第１の実行部２０１、および、第２の実行部３０６は、コンピュータとしての標準的な機能を果たす構成要素を包含する。第１の実行部２０１、および、第２の実行部３０６は、例えば、プロセッサ、メモリ、コンパイラ、ＯＳ（Operating System）を包含する。
【００２８】
プログラムソースコード１００は、システムで動作するプログラムモジュール１０２を生成するためのソースコードである。図２は、プログラムソースコード１００の例を示す図である。
【００２９】
埋め込み済みプログラムソースコード１０１は、起動命令埋め込み部２００により作成された、埋め込み部３００を起動するコードが埋め込まれたソースコードである。
【００３０】
起動命令埋め込み部２００は、プログラムソースコード１００に対し、埋め込み部３００を起動する起動命令を埋め込み、埋め込み済みプログラムソースコード１０１を生成する。起動命令埋め込み部２００は、埋め込み部３００を起動するコードを、プログラム名と起動する行数を埋め込み部３００に渡すように生成する。
【００３１】
図３は、埋め込み済みプログラムソースコード１０１（func1）の例を示す図である。図３の例において、埋め込み済みプログラムソースコード１０１は、分岐命令の始点と、分岐後の２つの終点に起動命令が埋め込まれている。この例において、埋め込み部３００はサブルーチンの形態で実装され、起動命令は当該サブルーチンを呼び出す命令“routine”として示されている。図３は、さらに、起動命令“routine”が、埋め込み部３００に、起動命令が含まれるプログラム名（func1）と当該プログラム内で起動命令が埋め込まれた行数（2,4,7）を、パラメータとして渡す記述例を示している。
【００３２】
プログラムモジュール１０２は、第１の実行部２０１により、埋め込み済みプログラムソースコード１０１から生成されたモジュールである。第１の実行部２０１の、例えば、プロセッサがコンパイラを実行して、埋め込み済みプログラムソースコード１０１からプログラムモジュール１０２を生成する。
【００３３】
プログラムモジュール１０２は、未テスト箇所検出装置１１で動作するプログラムの実行モジュールである。
【００３４】
起動命令埋め込み装置１０が生成したプログラムモジュール１０２は、未テスト箇所検出装置１１にコピーされて動作する。未テスト箇所検出装置１１において、プログラムモジュール１０２は、第２の実行部３０６により実行される。例えば、プログラムモジュール１０２は、第２の実行部３０６のメモリに格納され、プロセッサにより実行される。
【００３５】
プログラムモジュール１０２が実行され、制御が起動命令が埋め込まれた箇所に至ると、埋め込み済みプログラムソースコード１０１に埋め込まれていた起動命令が実行され、埋め込み部３００を起動する。
【００３６】
埋め込み部３００は、プログラム名と行数を渡されて、プログラムモジュール１０２から起動される。起動されると、埋め込み部３００は、まず、フェーズ情報ファイル３０１を参照する。埋め込み部３００は、テストフェーズだった場合、プログラム名と行数を渡してテスト結果記録部３０２を起動し、運用フェーズだった場合は、プログラム名と行数を渡してテスト結果検索部３０３を起動する。
【００３７】
フェーズ情報ファイル３０１は、プログラムモジュール１０２がシステムのテストフェーズで動作しているか運用フェーズで動作しているかを示す情報を記憶している。この情報は、例えば、未テスト箇所検出装置１１の起動時に運用管理者により設定される。
【００３８】
テスト結果記録部３０２は、埋め込み部３００から渡されたプログラム名と行数を、テスト結果格納ファイル３０４へ記録する。
【００３９】
テスト結果検索部３０３は、埋め込み部３００から渡されたプログラム名と行数が、テスト結果格納ファイル３０４に記録されているかを検索し、検索結果を出力する。当該プログラム名と行数が、テスト結果格納ファイル３０４に記録されていなかった場合、テスト結果検索部３０３は、埋め込み部３００から渡されたプログラム名と行数はテストが実施されていないと判断し、ログファイル３０５へプログラム名と行数を出力する。テスト結果検索部３０３は、検索結果をメモリに蓄積しておき、後に、図示しないコンソール装置に出力しても良い。
【００４０】
テスト結果格納ファイル３０４は、プログラムモジュール１０２において、テストが実施された箇所の情報、例えば、プログラム名と当該プログラム内の行数が記録される。図４は、テスト結果格納ファイル３０４に格納されるデータ例を示している。図４は、例えば、プログラムモジュール１０２において、関数func1の２行目は、テストされていることを示している。
【００４１】
ログファイル３０５は、プログラムモジュール１０２のなかで、テストフェーズには動作せずに、運用フェーズで動作した箇所の情報、例えば、プログラム名と行数が記録される。図５は、ログファイル３０５に格納されるデータ例を示している。図５は、例えば、関数func1の７行目は、テストされていないにもかかわらず、運用フェーズで実行されたことを示している。
【００４２】
起動命令埋め込み装置１０の起動命令埋め込み部２００は、論理回路で構成される。起動命令埋め込み部２００は、第１の実行部２０１が実行するプログラムによって実現されても良い。すなわち、起動命令埋め込み部２００は、第１の実行部２０１内のメモリに格納されて、プロセッサにより実行されるプログラムにより実現されても良い。
【００４３】
未テスト箇所検出装置１１の埋め込み部３００、テスト結果記録部３０２、テスト結果検索部３０３は、論理回路で構成される。埋め込み部３００、テスト結果記録部３０２、テスト結果検索部３０３は、第２の実行部３０６が実行するプログラムによって実現されても良い。すなわち、テスト結果記録部３０２、テスト結果検索部３０３は、第２の実行部３０６内のメモリに格納されて、プロセッサにより実行されるプログラムにより実現されても良い。
【００４４】
フェーズ情報ファイル３０１、テスト結果格納ファイル３０４と、ログファイル３０５は、未テスト箇所検出装置１１が備える、ディスク装置である。
【００４５】
＜動作＞
次に、図６、図７、図８のフローチャートを参照して本実施の形態の未テスト箇所検出装置１１の動作について詳細に説明する。
【００４６】
図６は、埋め込み部３００の動作フローチャートである。
【００４７】
まず、埋め込み部３００は、プログラムモジュール１０２から起動されると、フェーズ情報ファイル３０１を参照し、システムのテストフェーズで動作しているのか、運用フェーズで動作しているのかを確認する（図６のステップ１）。テストフェーズの場合、埋め込み部３００は、プログラムモジュール１０２から渡されたプログラム名と行数を渡して、テスト結果記録部３０２を起動する（ステップ２）。運用フェーズの場合、埋め込み部３００は、プログラムモジュール１０２から渡されたプログラム名と行数を渡して、テスト結果検索部３０３を起動する（ステップ３）。
【００４８】
図７は、テスト結果記録部３０２の動作フローチャートである。
【００４９】
テスト結果記録部３０２は、埋め込み部３００から渡されたプログラム名と行数が、テスト結果格納ファイル３０４に記録されているか否かを検索する（図７のステップ１１）。当該プログラム名と行数記録されていなかった場合、テスト結果記録部３０２は、当該プログラム名と行数をテスト結果格納ファイル３０４に記録する（ステップ２）。
【００５０】
図８は、テスト結果検索部３０３の動作フローチャートである。
【００５１】
テスト結果検索部３０３は、埋め込み部３００から渡されたプログラム名と行数が、テスト結果格納ファイル３０４に記録されているか否かを検索する（図８のステップ２１）。記録されていなかった場合、テスト結果検索部３０３は、当該プログラム名と行数をログファイル３０５に記録する（図８のステップ２２）。
【００５２】
＜変形例＞
未テスト箇所検出装置１１は、起動命令埋め込み装置１０と一体化して構成しても良い。すなわち、未テスト箇所検出装置１１が、起動命令埋め込み部２００も備えていても良い。
【００５３】
未テスト箇所検出装置１１は、例えば初期設定時に、テスト結果格納ファイル３０４の情報をあらかじめメモリに読み込み込んでおいても良い。そして、テスト結果記録部３０２、および、テスト結果検索部３０３は、検索時にはメモリ上を検索することで、検索処理を高速化するという構成にしてもよい。
【００５４】
テスト結果格納ファイル３０４のデータは、テスト実行者が人手で格納しても良い。その場合、プログラムモジュール１０２に埋め込まれた起動命令は、直接、テスト結果検索部３０３を起動しても良く、埋め込み部３００は無くても良い。
【００５５】
＜効果＞
第１の効果は、未テスト箇所検出装置１１は、テストで動作しなかった処理ルートがシステムの運用中に動作したことを運用中に検知できることである。その理由は、テスト結果検索部３０３が、テスト結果格納ファイル３０４を参照して、テストで動作した処理ルートかどうかをシステムの運用中に判定しているためである。
【００５６】
第２の効果は、ログファイル３０５への出力量を削減するできることである。その理由は、テスト結果検索部３０３は、テストで動作しなかった処理ルートのトレースだけをログファイル３０５に出力しているためである。
【００５７】
＜第２の実施形態＞
第１の実施の形態においては、プログラムモジュール１０２から埋め込み部３００へ渡す箇所情報をプログラム名と行数としていた。プログラムモジュール１０２は、埋め込み部３００へ、プログラム名と行数の代わりに、未テスト箇所検出装置１１内で一意の域別子を渡すという構成にしてもよい。さらに、プログラムモジュール１０２は、埋め込み部３００へ、プログラム名と行数と共に、未テスト箇所検出装置１１内で一意の域別子を渡すという構成にしてもよい。
【００５８】
図９は、プログラム名と行数と共に、未テスト箇所検出装置１１内で一意の域別子を渡すとした場合の、埋め込み済みプログラムソースコード１０１（func1）の例を示す図である。図９の例において、埋め込み済みプログラムソースコード１０１は、分岐命令の始点、と分岐後の２つの終点に起動命令が埋め込まれている。この例において、埋め込み部３００はサブルーチンの形態で実装され、起動命令は当該サブルーチンを呼び出す命令“routine”として示されている。
【００５９】
図９は、さらに、起動命令が含まれるプログラム名（func1）、当該プログラム内での起動命令が埋め込まれた行数（2,4,7）と共に、未テスト箇所検出装置１１内で一意の域別子（1,2,3）を埋め込み部３００に渡す場合の、パラメータの記述例を示している。
【００６０】
その場合、テスト結果記録部３０２は、テスト結果格納ファイル３０４に、プログラム名と行数ではなく、一意の識別子についてそれぞれテストで動作したかどうかを記録しても良い。
【００６１】
図１０は、第２の実施の形態のテスト結果格納ファイル３０４に格納されるデータ例を示している。図１０は、例えば、プログラムモジュール１０２において、識別子の１をパラメータとする起動命令を埋め込んだ箇所が、テストされていることを示している。一方、図１０は、識別子の２をパラメータとする起動命令を埋め込んだ箇所が、テストされていないことを示している。
【００６２】
本実施の形態の未テスト箇所検出装置１１は、テスト結果記録部３０２、および、テスト結果検索部３０３の処理を高速化することができる。その理由は、テスト結果記録部３０２、および、テスト結果検索部３０３は、一意の識別子をインデックスとして用いることで、すぐにテストで動作したかどうかの情報を取得することができるためである。
【００６３】
＜第３の実施の形態＞
図１１は、第３の実施の形態にかかる、未テスト箇所検出装置１１の構成を示す図である。未テスト箇所検出装置１１は、第２の実行部３０６と、テスト結果格納部３０７と、テスト結果検索部３０３とを備える。
【００６４】
第２の実行部３０６は、プログラムモジュール１０２を実行する。
【００６５】
テスト結果格納部３０７は、プログラムモジュール１０２中のテスト済み箇所を示す箇所識別子を記憶する。テスト結果格納部３０７は、テスト結果格納ファイル３０４でも良いし、他のものでも良い。テスト結果格納部３０７は、例えば、ネットワーク経由で、データを収集するような装置であっても良い。
【００６６】
テスト結果検索部３０３は、プログラムモジュール１０２に挿入されている起動命令が実行されると、当該起動命令の挿入箇所を示す箇所識別子を取得し、取得した箇所識別子がテスト結果格納部３０７に格納されているか否かを判定し、判定結果を出力する。
【００６７】
本実施の形態の効果は、未テスト箇所検出装置１１は、テストで動作しなかった処理ルートがシステムの運用中に動作したことを運用中に検知できることである。その理由は、テスト結果検索部３０３が、テスト結果格納部３０７を使用して、テストで動作した処理ルートかどうかをシステムの運用中に判定しているためである。
【００６８】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００６９】
１０    起動命令埋め込み装置
１１    未テスト箇所検出装置
１００    プログラムソースコード
１０１    埋め込み済みプログラムソースコード
１０２    プログラムモジュール
２００    起動命令埋め込み部
２０１    第１の実行部
３００    埋め込み部
３０１    フェーズ情報ファイル
３０２    テスト結果記録部
３０３    テスト結果検索部
３０４    テスト結果格納ファイル
３０５    ログファイル
３０６    第２の実行部
３０７    テスト結果格納部
【図１】
0006668808.tif 000002
【図２】
0006668808.tif 000003
【図３】
0006668808.tif 000004
【図４】
0006668808.tif 000005
【図５】
0006668808.tif 000006
【図６】
0006668808.tif 000007
【図７】
0006668808.tif 000008
【図８】
0006668808.tif 000009
【図９】
0006668808.tif 000010
【図１０】
0006668808.tif 000011
【図１１】
0006668808.tif 000012