(57)【要約】【課題】単体プログラムの動作試験において確認すべき変数が足りているか否かを判断する技術を提供する。【解決手段】ソフトウェアテスト装置１００（単体プログラム動作試験装置）は、プログラムの一部である単体プログラム（原始プログラム）の動作を試験するものである。ソフトウェアテスト装置１００は、変数情報出力部１０４（抽出変数リスト記憶手段）と、確認変数リスト記憶部１１３（抽出変数リスト記憶手段）と、実行後変数リスト記憶部１１５（実行後変数リスト記憶手段）と、汎用記憶部１１６（出力値確認変数リスト記憶手段）と、結果情報取得部１０６（第１照合手段）と、取得変数リスト記憶部１１４（確認済み変数リスト記憶手段）と、確認漏れ検出部１０５（第２照合手段）と、を備える。【選択図】図１
2013008146.tif 000002
【特許請求の範囲】
【請求項１】
プログラムの一部である単体プログラムの動作を試験する単体プログラム動作試験装置であって、
前記単体プログラムを解析することで、前記単体プログラムの実行により値が変更される変数を抽出し、その変数のリストである抽出変数リストを生成する変数抽出手段と、
前記変数抽出手段によって生成された前記抽出変数リストを記憶する抽出変数リスト記憶手段と、
前記単体プログラムに含まれる変数と、その変数の前記単体プログラム実行後における値としての出力値と、のリストである実行後変数リストを記憶する実行後変数リスト記憶手段と、
前記単体プログラムに含まれる変数のうち、前記出力値が確認される変数と、その変数の期待される出力値と、のリストである出力値確認変数リストを記憶する出力値確認変数リスト記憶手段と、
前記実行後変数リストと、前記出力値確認変数リストと、を相互に照合し、前記実行後変数リストと前記出力値確認変数リストの何れにも含まれている変数であって、前記出力値が一致したもののリストである確認済み変数リストを生成する第１照合手段と、
前記第１照合手段によって生成された前記確認済み変数リストを記憶する確認済み変数リスト記憶手段と、
前記確認済み変数リストと、前記抽出変数リストと、を相互に照合する第２照合手段と、
を備えた、
単体プログラム動作試験装置。
【請求項２】
請求項１に記載の単体プログラム動作試験装置であって、
前記第２照合手段は、前記抽出変数リストには含まれていたが、前記確認済み変数リストには含まれていなかった変数としての確認漏れ変数を検出する、
単体プログラム動作試験装置。
【請求項３】
請求項２に記載の単体プログラム動作試験装置であって、
前記第２照合手段によって検出された前記確認漏れ変数を使用者に通知する通知手段を更に備えた、
単体プログラム動作試験装置。
【請求項４】
プログラムの一部である単体プログラムの動作を試験する単体プログラム動作試験方法であって、
前記単体プログラムを解析することで、前記単体プログラムの実行により値が変更される変数を抽出し、その変数のリストである抽出変数リストを生成し、
前記単体プログラムに含まれる変数と、その変数の前記単体プログラム実行後における値としての出力値と、のリストである実行後変数リストと、前記単体プログラムに含まれる変数のうち、前記出力値が確認される変数と、その変数の期待される出力値と、のリストである出力値確認変数リストと、を相互に照合し、前記実行後変数リストと前記出力値確認変数リストの何れにも含まれている変数であって、前記出力値が一致したもののリストである確認済み変数リストを生成し、
前記確認済み変数リストと、前記抽出変数リストと、を相互に照合する、
単体プログラム動作試験方法。
【請求項５】
プログラムの一部である単体プログラムの動作を試験する単体プログラム動作試験プログラムであって、
コンピュータを、
前記単体プログラムを解析することで、前記単体プログラムの実行により値が変更される変数を抽出し、その変数のリストである抽出変数リストを生成する変数抽出手段と、
前記変数抽出手段によって生成された前記抽出変数リストを記憶する抽出変数リスト記憶手段と、
前記単体プログラムに含まれる変数と、その変数の前記単体プログラム実行後における値としての出力値と、のリストである実行後変数リストを記憶する実行後変数リスト記憶手段と、
前記単体プログラムに含まれる変数のうち、前記出力値が確認される変数と、その変数の期待される出力値と、のリストである出力値確認変数リストを記憶する出力値確認変数リスト記憶手段と、
前記実行後変数リストと、前記出力値確認変数リストと、を相互に照合し、前記実行後変数リストと前記出力値確認変数リストの何れにも含まれている変数であって、前記出力値が一致したもののリストである確認済み変数リストを生成する第１照合手段と、
前記第１照合手段によって生成された前記確認済み変数リストを記憶する確認済み変数リスト記憶手段と、
前記確認済み変数リストと、前記抽出変数リストと、を相互に照合する第２照合手段と、
として動作させる単体プログラム動作試験プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、単体プログラム動作試験装置、方法及びプログラムに関する。
【背景技術】
【０００２】
組み込みシステムに搭載されるマイクロコンピュータの規模拡大に伴い、組み込みシステムを制御するプログラムの機能やサイズも増大している。そのため、ソフトウェアの開発時において、テストで発見された不具合発生箇所の特定が困難になりつつある。そこで、近年、プログラムの一部の機能単位に実施する単体テストの重要性が高まっており、単体テストを実施する仕組みにおいても信頼性の向上に対する要求（必要性）が高まってきた。
【０００３】
この種の技術は、プログラムを解析し、実行に必要な情報を収集する、プログラムの実行において情報を利用する、テストやデバッグを支援するという特徴を有し、プログラムを実行させるとともに、変数の内容を表示することでテストやデバッグを支援することにより、ソフトウェアの単体テストおよびデバッグを容易にすることを目的としている。
【０００４】
この種の技術として、特許文献１は、図８に示すように、言語処理プログラム２は、原始プログラムファイル１から読出した原始プログラムを翻訳して実行プログラムを生成して、生成した実行プログラムを実行プログラムファイル３内に格納している。そして、プログラム解析手段４は、外部より与えられる入力情報だけでは実行結果が一意には定まらない順序論理を含む原始プログラムファイル１にある原始プログラムの構文を解析して、外部より与えられる入力情報とは別に内部で特定の状態を保持している状態変数を見つけ出して、それらの状態変数の位置情報を含む状態変数情報を取出して、状態変数情報テーブル５内に記憶している。
【０００５】
図９に示しているように、状態変数情報テーブル５は、状態変数名ごとに状態変数の位置情報として、定義行番号，参照行番号，更新行番号をそれぞれが出現した数だけ有している。
【０００６】
また、図１０に示すように、プログラム解析手段４は、ステップ１１では、原始プログラムファイル１から原始プログラムを入力して状態変数であるプログラム間変数をサーチし、ステップ１２で、サーチにより見つかった状態変数が、参照あるいは更新されているかどうかの解析を行って、ステップ１３では、それらの状態変数情報を取出して状態変数情報テーブル５を作成している。一方、状態変数情報出力手段６は、状態変数情報テーブル５の内容を読出して編集することにより、状態変数情報リスト７を作成して出力している。なお、状態変数情報制御手段８は、プログラム解析手段４と状態変数情報出力手段６との動作を制御している。そこで、デバッグサポートプログラム１０は、使用者が状態変数情報リスト７を見て、端末装置９から状態変数情報リスト７の状態変数の値を入力することにより、テストやデバッグを行うために、実行プログラムファイル３から読出した単体実行プログラムの状態変数を入力した値に設定してその単体実行プログラムを実行させるとともに、状態変数の内容を表示してその単体実行プログラムに対するテストやデバッグを支援している。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平６−３４８５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１には、単体実行プログラムのテストにおいて、変数の確認漏れが発生する可能性があるという問題がある。
【０００９】
その理由としては、単体実行プログラムを実行させるとともに、端末装置から使用者が入力した状態変数の内容を端末装置に表示した結果を目視するため、表示された状態変数に対して使用者の見落としや見間違いが発生したか否かの判定が出来ないためである。
【００１０】
本願発明の目的は、単体プログラムの動作試験において確認すべき変数が足りているか否かを判断する技術を提供することにある。
【課題を解決するための手段】
【００１１】
本願発明の第１の観点によれば、プログラムの一部である単体プログラムの動作を試験する単体プログラム動作試験装置は、前記単体プログラムを解析することで、前記単体プログラムの実行により値が変更される変数を抽出し、その変数のリストである抽出変数リストを生成する変数抽出手段と、前記変数抽出手段によって生成された前記抽出変数リストを記憶する抽出変数リスト記憶手段と、前記単体プログラムに含まれる変数と、その変数の前記単体プログラム実行後における値としての出力値と、のリストである実行後変数リストを記憶する実行後変数リスト記憶手段と、前記単体プログラムに含まれる変数のうち、前記出力値が確認される変数と、その変数の期待される出力値と、のリストである出力値確認変数リストを記憶する出力値確認変数リスト記憶手段と、前記実行後変数リストと、前記出力値確認変数リストと、を相互に照合し、前記実行後変数リストと前記出力値確認変数リストの何れにも含まれている変数であって、前記出力値が一致したもののリストである確認済み変数リストを生成する第１照合手段と、前記第１照合手段によって生成された前記確認済み変数リストを記憶する確認済み変数リスト記憶手段と、前記確認済み変数リストと、前記抽出変数リストと、を相互に照合する第２照合手段と、を備える。
本願発明の第２の観点によれば、プログラムの一部である単体プログラムの動作を試験する単体プログラム動作試験は、前記単体プログラムを解析することで、前記単体プログラムの実行により値が変更される変数を抽出し、その変数のリストである抽出変数リストを生成し、前記単体プログラムに含まれる変数と、その変数の前記単体プログラム実行後における値としての出力値と、のリストである実行後変数リストと、前記単体プログラムに含まれる変数のうち、前記出力値が確認される変数と、その変数の期待される出力値と、のリストである出力値確認変数リストと、を相互に照合し、前記実行後変数リストと前記出力値確認変数リストの何れにも含まれている変数であって、前記出力値が一致したもののリストである確認済み変数リストを生成し、前記確認済み変数リストと、前記抽出変数リストと、を相互に照合する、方法によって行われる。
本願発明の第３の観点によれば、プログラムの一部である単体プログラムの動作を試験する単体プログラム動作試験プログラムは、コンピュータを、前記単体プログラムを解析することで、前記単体プログラムの実行により値が変更される変数を抽出し、その変数のリストである抽出変数リストを生成する変数抽出手段と、前記変数抽出手段によって生成された前記抽出変数リストを記憶する抽出変数リスト記憶手段と、前記単体プログラムに含まれる変数と、その変数の前記単体プログラム実行後における値としての出力値と、のリストである実行後変数リストを記憶する実行後変数リスト記憶手段と、前記単体プログラムに含まれる変数のうち、前記出力値が確認される変数と、その変数の期待される出力値と、のリストである出力値確認変数リストを記憶する出力値確認変数リスト記憶手段と、前記実行後変数リストと、前記出力値確認変数リストと、を相互に照合し、前記実行後変数リストと前記出力値確認変数リストの何れにも含まれている変数であって、前記出力値が一致したもののリストである確認済み変数リストを生成する第１照合手段と、前記第１照合手段によって生成された前記確認済み変数リストを記憶する確認済み変数リスト記憶手段と、前記確認済み変数リストと、前記抽出変数リストと、を相互に照合する第２照合手段と、として動作させる。
【発明の効果】
【００１２】
本願発明によれば、前記出力値確認変数リストにリストアップすべき変数が足りているか否かを判断することが可能となる。
【図面の簡単な説明】
【００１３】
【図１】図１は、ソフトウェアテスト装置のブロック図である。
【図２】図２は、変数リストを示す図である。
【図３】図３は、情報リストを示す図である。
【図４】図４は、変数の確認漏れメッセージを示す図である。
【図５】図５は、ソフトウェアテスト装置を制御するフローチャートである。
【図６】図６は、結果情報取得部の制御をより詳細に記したフローチャートである。
【図７】図７は、確認漏れ検出部の制御をより詳細に記したフローチャートである。
【図８】図８は、特許文献１の図１に相当する図である。
【図９】図９は、特許文献１の図２に相当する図である。
【図１０】図１０は、特許文献１の図３に相当する図である。
【発明を実施するための形態】
【００１４】
以下、図１〜７を参照しつつ、本願発明の実施形態を説明する。
【００１５】
図１に示すように、ソフトウェアテスト装置１００（単体プログラム動作試験装置）は、コンパイル部１０１と、プログラム実行部１０２（単体プログラム実行手段）と、デバッグサポート部１０３と、変数情報出力部１０４（変数抽出手段）と、確認漏れ検出部１０５（第２照合手段）と、結果情報取得部１０６（第１照合手段）と、出力部１０７（出力手段、通知手段）と、入力部１０８（入力手段）を備えている。ソフトウェアテスト装置１００は、更に、原始プログラム記憶部１０９（原始プログラム記憶手段）と、実行形式プログラム記憶部１１０（実行形式プログラム記憶手段）と、汎用記憶部１１６（出力値確認変数リスト記憶手段）と、確認変数リスト記憶部１１３（抽出変数リスト記憶手段）と、取得変数リスト記憶部１１４（確認済み変数リスト記憶手段）と、実行後変数リスト記憶部１１５（実行後変数リスト記憶手段）と、を備えている。
【００１６】
汎用記憶部１１６は、入力部１０８を介して使用者により入力された設定情報１１１やテスト期待値１１２（出力値確認変数リスト）を記憶する。詳しくは、汎用記憶部１１６は、単体プログラムに含まれる変数のうち、出力値が確認される変数と、その変数の期待される出力値と、のリストであるテスト期待値１１２（出力値確認変数リスト）を記憶する。
【００１７】
コンパイル部１０１は、単体テストの対象となる原始プログラムを原始プログラム記憶部１０９から取得し、実行形式プログラムを生成して、実行形式プログラム記憶部１１０に出力する。
【００１８】
プログラム実行部１０２は、実行形式プログラム記憶部１１０から実行形式プログラムを取得する。プログラム実行部１０２は、汎用記憶部１１６から単体テスト用の設定情報１１１（初期値）を取得する。プログラム実行部１０２は、単体テスト実行後の変数情報としての実行後変数リストをデバッグサポート部１０３と実行後変数リスト記憶部１１５に出力する。実行後変数リスト記憶部１１５は、実行後変数リストを記憶する。詳しくは、実行後変数リスト記憶部１１５は、単体プログラムに含まれる変数と、その変数の単体プログラム実行後における値としての出力値と、のリストである実行後変数リストを記憶する。
【００１９】
デバッグサポート部１０３は、プログラム実行部１０２から取得した単体テスト実行後の変数情報と、汎用記憶部１１６から取得したテスト期待値１１２を比較し、単体実行プログラムの実行結果（以降、テスト結果と称す）を判定し、判定結果を出力部１０７に出力する。
【００２０】
変数情報出力部１０４は、原始プログラム記憶部１０９から原始プログラムを取得する。変数情報出力部１０４は、単体プログラム（原始プログラム）を解析することで、単体プログラムの実行により値が変更される変数を抽出し、その変数のリストである確認変数リスト（抽出変数リスト）を生成し、確認変数リスト記憶部１１３に出力する。確認変数リスト記憶部１１３は、変数情報出力部１０４によって生成された確認変数リストを記憶する。
【００２１】
結果情報取得部１０６は、汎用記憶部１１６からテスト期待値１１２を取得する。結果情報取得部１０６は、実行後変数リスト記憶部１１５から実行後変数リストを取得する。結果情報取得部１０６は、実行後変数リストと、テスト期待値１１２と、を相互に照合し、実行後変数リストとテスト期待値１１２の何れにも含まれている変数であって、出力値が一致したもののリストである取得変数リスト（確認済み変数リスト）を生成し、取得変数リスト記憶部１１４に出力する。取得変数リスト記憶部１１４は、結果情報取得部１０６によって生成された取得変数リストを記憶する。
【００２２】
確認漏れ検出部１０５は、確認変数リスト記憶部１１３から確認変数リストを取得する。確認漏れ検出部１０５は、取得変数リスト記憶部１１４から取得変数リストを取得する。確認漏れ検出部１０５は、確認変数リストと取得変数リストを相互に照合する。そして、確認漏れ検出部１０５は、確認変数リストには含まれていたが、取得変数リストには含まれていなかった変数としての確認漏れ変数を検出する。また、確認漏れ検出部１０５は、確認漏れ変数を出力部１０７に出力することで使用者に、確認漏れ変数の存在を通知する。
【００２３】
このようなソフトウェアテスト装置１００は、図示しないCPU（Central Processing Unit）、RAM（Random Access Memory）、ROM（Read Only Memory）を有している。ROMには、ソフトウェアテストプログラム（単体プログラム動作試験プログラム）が予め記憶されている。ソフトウェアテストプログラムは、CPUに読み込まれ、CPU上で実行されることにより、CPU等のハードウェアを、図１のブロック図で示すように、コンパイル部１０１等として機能させるようになっている。
【００２４】
図２〜４は、変数リストと情報リストおよび変数の確認漏れメッセージの構造である。
【００２５】
図２の変数リスト２０１は、変数情報出力部１０４で生成する確認変数リストと結果情報取得部１０６で生成する取得変数リストにおいて使用される。変数リスト２０１は、原始プログラムに記載された変数名と該変数名の型情報を１つのリスト行として、複数の前記リスト行で構成される。
【００２６】
図３の情報リスト２０２は、単体テストの設定情報１１１および単体テスト結果のテスト期待値１１２において使用され、原始プログラムに記載された変数名と該変数名の型情報と変数値を１つのリスト行として、複数の前記リスト行で構成される。
【００２７】
図４の確認漏れメッセージ２０３は、確認漏れ検出部１０５より出力部１０７へ出力される変数の確認漏れメッセージのフォーマットとして使用され、原始プログラムに記載された変数名と該変数名の型情報と変数の確認漏れの可能性を通知するメッセージを１つの行として、複数の前記行で構成される。
【００２８】
（作動）
図５は、ソフトウェアテスト装置１００を制御するフローチャートであり、図５を用いて図１の動作を説明する。なお、プログラム実行部１０２の出力には単体テストのプログラム本体である関数の戻り値が含まれる場合もあるが、本実施形態の動作は、前記戻り値の有無に影響を受けないため、プログラム実行部１０２の出力に前記戻り値が含まれないことを前提に説明する。
【００２９】
外部から読み込まれた原始プログラムは、原始プログラム記憶部１０９に記憶される（S301）。原始プログラム記憶部１０９の原始プログラムは、適宜、コンパイル部１０１や変数情報出力部１０４に出力される。
【００３０】
次に、変数情報出力部１０４は、単体テストの対象となる原始プログラムの構文を式に分解し、分解した式の中に変数の代入が存在するかを解析する。分解した式に変数への代入がある場合、代入される変数の変数名と型情報を１つのリスト行として確認変数リストを生成し（S302）、確認変数リスト記憶部１１３に出力する。
【００３１】
コンパイル部１０１は、原始プログラム記憶部１０９から原始プログラムを読み込んで、実行形式プログラムを生成し（S303）、実行形式プログラム記憶部１１０に出力する。
【００３２】
プログラム実行部１０２は、実行形式プログラム記憶部１１０から実行形式プログラムを読み込んだ上で、汎用記憶部１１６から設定情報１１１を読み込み（S304）、設定情報１１１に格納されている変数の設定値（変数値）を、実行形式プログラムの変数の初期値として設定して単体テストを実行する（S305）。プログラム実行部１０２は、単体テストの実行の完了後に、単体テスト実行後の変数情報（実行後変数リスト）をデバッグサポート部１０３と実行後変数リスト記憶部１１５に出力する。
【００３３】
デバッグサポート部１０３は、汎用記憶部１１６からテスト期待値１１２を読み込む（S306）。デバッグサポート部１０３は、プログラム実行部１０２から取得した単体テスト実行後の変数情報と、汎用記憶部１１６から取得したテスト期待値１１２を照合し、照合した結果をテスト結果として出力部１０７へ出力する（S307）。
【００３４】
結果情報取得部１０６は、実行後変数リスト記憶部１１５から取得した実行後変数リストと、汎用記憶部１１６から取得したテスト期待値１１２の変数名及び型情報を照合し、変数名と型情報が共に一致したものを取得変数リストとして取得変数リスト記憶部１１４に出力する（S308）。
【００３５】
最後に、確認漏れ検出部１０５は、取得変数リスト記憶部１１４から取得した取得変数リストの中に、確認変数リスト記憶部１１３から取得した確認変数リストの全ての変数が存在しているかの照合を行い、存在しない変数があった場合には変数の確認漏れメッセージを出力部１０７に出力し、使用者にその旨を通知する（S309）。
【００３６】
図６は、結果情報取得部１０６の制御をより詳細に記したフローチャートである。結果情報取得部１０６は、汎用記憶部１１６からテスト期待値１１２を読み込む（S501）。次に、結果情報取得部１０６は、実行後変数リスト記憶部１１５から単体テスト実行後の変数情報（実行後変数リスト）を読み込む（S502）。次に、結果情報取得部１０６は、テスト期待値１１２から変数の変数名及び型情報を一組抽出する（S503)。次に、結果情報取得部１０６は、抽出した変数名及び型情報の両方が一致する変数が単体テスト実行後の変数情報（実行後変数リスト）に存在するかを照合し（S504）、存在すれば（S504:YES）、変数名と型情報を取得変数リストへ出力する（S505）。結果情報取得部１０６は、テスト期待値１１２に未抽出の変数が残っていなければ（S506：NO）、処理を終了し、残っていれば（S506:YES）、ステップＳ５０３に戻り、テスト期待値１１２から新たな変数名及び型情報を一組抽出し、以後、ステップＳ５０４〜ステップＳ５０６を繰り返す。
【００３７】
図７は、確認漏れ検出部１０５の制御をより詳細に記したフローチャートである。確認漏れ検出部１０５は、確認変数リスト記憶部１１３から確認変数リストを読み込む（S601）。次に、確認漏れ検出部１０５は、取得変数リスト記憶部１１４から取得変数リストを読み込む（S602）。次に、確認漏れ検出部１０５は、確認変数リストから変数の変数名及び型情報を一組抽出する（S603）。次に、確認漏れ検出部１０５は、抽出した変数名及び型情報の両方が一致する変数が取得変数リストに存在するかを照合し（S604）、存在しなければ（S604:NO）、デバッグサポート部１０３にてテスト結果を判定する際に、変数名と型情報を照合した変数の確認が漏れていることを使用者へ通知する変数の確認漏れメッセージを出力部１０７へ出力する（S605）。確認漏れ検出部１０５は、確認変数リストに未抽出の変数が残っていなければ（S606：NO）、処理を終了し、残っていれば（S606：YES）、ステップＳ６０３に戻り、確認変数リストから新たな変数名及び型情報を一組抽出し、以後、ステップＳ６０４〜ステップＳ６０６を繰り返す。
【００３８】
以上説明したように、ソフトウェアテスト装置１００は、テスト結果判定時に値が確認された変数を検出する結果情報取得部１０６と、テスト結果判定時に値の確認がされていない変数を検出する確認漏れ検出部１０５を有している。ソフトウェアテスト装置１００は、テストプログラムで代入が行われている変数のリスト（確認変数リスト）と、単体テスト実行後の変数情報（実行後変数リスト）とテスト期待値１１２（出力値確認変数リスト）の両方に記されている変数のリスト（取得変数リスト）と、を作成する。ソフトウェアテスト装置１００は、代入が行われている変数のリスト（確認変数リスト）と、単体テスト実行後の変数情報とテスト期待値の両方に記されている変数のリスト（取得変数リスト）との差異からテスト結果判定時の変数の確認漏れを検出し、変数の確認漏れが検出された際に変数の確認漏れメッセージを出力するようにしている。
【００３９】
上記構成のソフトウェアテスト装置１００の効果としては、テスト結果の確認の際にテスト期待値が確認されない変数を検出できる効果がある。その理由としては、前記構成にすることで、確認漏れ検出部１０５で単体テストのプログラムで使用されている全ての変数の情報とテスト結果の確認の際に期待値が確認された変数の情報との差異を検出できるためである。単体テストのプログラムで使用されている全ての変数の情報は、変数情報出力部１０４で確認変数リストとしてプログラムのソースコードから抽出出来ており、テスト結果の確認の際にテスト期待値が確認された変数の情報は、結果情報取得部１０６で取得変数リストとしてテスト期待値の中から単体テスト実行後の変数情報に存在する変数を抽出出来ているので、前記差異の検出が可能となり、テスト結果の確認の際にテスト期待値が確認されない変数を検出可能となっている。
【００４０】
以上に、本願発明の好適な実施形態を説明したが、上記実施形態は、要するに、以下の特長を有している。
【００４１】
ソフトウェアテスト装置１００（単体プログラム動作試験装置）は、プログラムの一部である単体プログラム（原始プログラム）の動作を試験するものである。ソフトウェアテスト装置１００は、変数情報出力部１０４（抽出変数リスト記憶手段）と、確認変数リスト記憶部１１３（抽出変数リスト記憶手段）と、実行後変数リスト記憶部１１５（実行後変数リスト記憶手段）と、汎用記憶部１１６（出力値確認変数リスト記憶手段）と、結果情報取得部１０６（第１照合手段）と、取得変数リスト記憶部１１４（確認済み変数リスト記憶手段）と、確認漏れ検出部１０５（第２照合手段）と、を備える。変数情報出力部１０４は、単体プログラムを解析することで、単体プログラムの実行により値が変更される変数を抽出し、その変数のリストである抽出変数リストを生成する。確認変数リスト記憶部１１３は、変数情報出力部１０４によって生成された抽出変数リストを記憶する。実行後変数リスト記憶部１１５は、単体プログラムに含まれる変数と、その変数の単体プログラム実行後における値としての出力値と、のリストである実行後変数リストを記憶する。汎用記憶部１１６は、単体プログラムに含まれる変数のうち、出力値が確認される変数と、その変数の期待される出力値と、のリストであるテスト期待値１１２（出力値確認変数リスト）を記憶する。結果情報取得部１０６は、実行後変数リストと、テスト期待値１１２と、を相互に照合し、実行後変数リストとテスト期待値１１２の何れにも含まれている変数であって、出力値が一致したもののリストである取得変数リスト（確認済み変数リスト）を生成する。取得変数リスト記憶部１１４は、結果情報取得部１０６によって生成された取得変数リストを記憶する。確認漏れ検出部１０５は、取得変数リストと、確認変数リストと、を相互に照合する。以上の構成によれば、確認漏れ検出部１０５の照合結果により、テスト期待値１１２にリストアップすべき変数が足りているか否かを判断することが可能となる。
【００４２】
また、確認漏れ検出部１０５は、確認変数リストには含まれていたが、取得変数リストには含まれていなかった変数としての確認漏れ変数を検出し、検出した確認漏れ変数を出力部１０７（通知手段）を介して使用者に通知している。
【符号の説明】
【００４３】
１００  ソフトウェアテスト装置
１０１  コンパイル部
１０２  プログラム実行部
１０３  デバッグサポート部
１０４  変数情報出力部
１０５  確認漏れ検出部
１０６  結果情報取得部
１０７  出力部
１０８  入力部
１０９  原始プログラム記憶部
１１０  実行形式プログラム記憶部
１１１  設定情報
１１２  テスト期待値
１１３  確認変数リスト記憶部
１１４  取得変数リスト記憶部
１１５  実行後変数リスト記憶部
１１６  汎用記憶部
【図１】
2013008146.tif 000003
【図２】
2013008146.tif 000004
【図３】
2013008146.tif 000005
【図４】
2013008146.tif 000006
【図５】
2013008146.tif 000007
【図６】
2013008146.tif 000008
【図７】
2013008146.tif 000009
【図８】
2013008146.tif 000010
【図９】
2013008146.tif 000011
【図１０】
2013008146.tif 000012