(57)【特許請求の範囲】
【請求項１】
計算機ソフトウェアの一部分をテストするソフトウェア部分テストシステムであって、
テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、
前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、
前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段と、
前記表明情報に基づき、前記入出力値テーブルから、前記テーブル駆動型振る舞い模擬手段が代行する振る舞いの正当性に関する反例を検出する正当性検査手段とを備えた
ことを特徴とするソフトウェア部分テストシステム。
【請求項２】
計算機ソフトウェアの一部分をテストするソフトウェア部分テストシステムであって、
テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、
前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、
前記テーブル駆動型振る舞い模擬手段が受け付けた前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記テーブル駆動型振る舞い模擬手段が代行する振る舞いの網羅性に関する反例を検出する網羅性検査手段とを備えた
ことを特徴とするソフトウェア部分テストシステム。
【請求項３】
テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、
前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、
前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段と、
前記テーブル駆動型振る舞い模擬手段が受け付けた前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記テーブル駆動型振る舞い模擬手段が代行する振る舞いの網羅性に関する反例を検出する網羅性検査手段と、
前記表明情報に基づき、前記入出力値テーブルから、前記テーブル駆動型振る舞い模擬手段が代行する振る舞いの正当性に関する反例を検出する正当性検査手段とを備えた
請求項１または請求項２に記載のソフトウェア部分テストシステム。
【請求項４】
表明情報保持手段は、依存モジュールが行う手続きについて、その手続きの満たすべき性質を示す表明情報として、事前条件を示す論理式と、事後条件を示す論理式とを対応づけて保持し、
正当性検査手段は、前記表明情報として定義されている事前条件の論理式と事後条件の論理式の組み合わせに対して、入出力値テーブルに登録されている入力値と出力値の組み合わせを代入した結果、事前条件が真で事後条件が偽となる場合に、当該入力値と出力値の組み合わせを正当性に関する反例として検出する
請求項１または請求項３に記載のソフトウェア部分テストシステム。
【請求項５】
正当性検査手段は、モジュールテストを実行する前に、入出力値テーブルに登録されている入力値と出力値の組み合わせ全てについて、その手続きの表明情報として定義されている事前条件を示す論理式と事後条件を示す論理式とに代入して、事前条件が真で事後条件が偽となる入力値と出力値の組み合わせがあるか否かを判断することによって、正当性に関する反例を検出する
請求項４に記載のソフトウェア部分テストシステム。
【請求項６】
正当性検査手段は、テーブル駆動型振る舞い模擬手段が入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて依存モジュールの振る舞いを代行した際に、その手続き呼び出しの際の入力値と出力値との組み合わせについて、その手続きの表明情報として定義されている事前条件を示す論理式と事後条件を示す論理式とに代入し、事前条件が真で事後条件が偽となる場合に、当該入力値と出力値の組み合わせを正当性に関する反例として検出する
請求項４に記載のソフトウェア部分テストシステム。
【請求項７】
網羅性検査手段は、テーブル駆動型振る舞い模擬手段が受け付けた依存モジュールに対する手続き呼び出しの入力値が、入出力値テーブルに登録されていない場合に、その入力値を網羅性に関する反例として検出する
請求項２または請求項３に記載のソフトウェア部分テストシステム。
【請求項８】
網羅性検査手段は、テーブル駆動型振る舞い模擬手段が依存モジュールに対する手続き呼び出しを受け付けたときに、その手続き呼び出しの入力値が、入出力値テーブルに登録されているか否かを判断することによって、網羅性に関する反例を検出する
請求項７に記載のソフトウェア部分テストシステム。
【請求項９】
入出力値テーブル保持手段、表明情報保持手段、テーブル駆動型振る舞い模擬手段および正当性検査手段を備えるソフトウェア部分テストシステムにおいて、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト方法であって、
記憶装置によって実現される前記入出力値テーブル保持手段が、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持し、
記憶装置によって実現される前記表明情報保持手段が、前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持し、
情報処理装置によって実現される前記テーブル駆動型振る舞い模擬手段が、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する過程で、
情報処理装置によって実現される前記正当性検査手段が、前記表明情報に基づき、前記入出力値テーブルから、前記代行する振る舞いの正当性に関する反例を検出する
ことを特徴とするソフトウェア部分テスト方法。
【請求項１０】
入出力値テーブル保持手段、テーブル駆動型振る舞い模擬手段および網羅性検査手段を備えるソフトウェア部分テストシステムにおいて、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト方法であって、
記憶装置によって実現される前記入出力値テーブル保持手段が、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持し、
情報処理装置によって実現される前記テーブル駆動型振る舞い模擬手段が、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する過程で、
情報処理装置によって実現される前記網羅性検査手段が、前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記代行する振る舞いの網羅性に関する反例を検出する
ことを特徴とするソフトウェア部分テスト方法。
【請求項１１】
入出力値テーブル保持手段、表明情報保持手段、テーブル駆動型振る舞い模擬手段、網羅性検査手段および正当性検査手段を備えるソフトウェア部分テストシステムにおいて、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト方法であって、
記憶装置によって実現される前記入出力値テーブル保持手段が、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持し、
記憶装置によって実現される前記表明情報保持手段が、前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持し、
情報処理装置によって実現される前記テーブル駆動型振る舞い模擬手段が、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する過程で、
情報処理装置によって実現される前記正当性検査手段が、前記表明情報に基づき、前記入出力値テーブルから、前記代行する振る舞いの正当性に関する反例を検出するとともに、
情報処理装置によって実現される前記網羅性検査手段が、前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記代行する振る舞いの網羅性に関する反例を検出する
請求項９または請求項１０に記載のソフトウェア部分テスト方法。
【請求項１２】
入出力値テーブル保持手段、表明情報保持手段、テーブル駆動型振る舞い模擬手段および正当性検査手段を備えるソフトウェア部分テストシステムにおいて、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト用プログラムであって、
記憶装置によって実現され、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する前記入出力値テーブル保持手段と、記憶装置によって実現され、前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する前記表明情報保持手段とを備えたコンピュータの情報処理装置に、
前記テーブル駆動型振る舞い模擬手段として、前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する処理、および
前記正当性検査手段として、前記表明情報に基づき、前記入出力値テーブルから、前記代行する振る舞いの正当性に関する反例を検出する処理
を実行させるためのソフトウェア部分テスト用プログラム。
【請求項１３】
入出力値テーブル保持手段、テーブル駆動型振る舞い模擬手段および網羅性検査手段を備えるソフトウェア部分テストシステムにおいて、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト用プログラムであって、
記憶装置によって実現され、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する前記入出力値テーブル保持手段を備えたコンピュータの情報処理装置に、
前記テーブル駆動型振る舞い模擬手段として、前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する処理、および
前記網羅性検査手段として、受け付けた前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記代行する振る舞いの網羅性に関する反例を検出する処理
を実行させるためのソフトウェア部分テスト用プログラム。
【請求項１４】
入出力値テーブル保持手段、表明情報保持手段、テーブル駆動型振る舞い模擬手段、網羅性検査手段および正当性検査手段を備えるソフトウェア部分テストシステムにおいて、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト用プログラムであって、
記憶装置によって実現され、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する前記入出力値テーブル保持手段と、記憶装置によって実現され、前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する前記表明情報保持手段とを備えたコンピュータの情報処理装置に、
前記テーブル駆動型振る舞い模擬手段として、前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する処理、
前記正当性検査手段として、前記表明情報に基づき、前記入出力値テーブルから、前記代行する振る舞いの正当性に関する反例を検出する処理、および
前記網羅性検査手段として、受け付けた前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記代行する振る舞いの網羅性に関する反例を検出する処理
を実行させる請求項１２または請求項１３に記載のソフトウェア部分テスト用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機ソフトウェアの一部分をテストするソフトウェア部分テストシステム、ソフトウェア部分テスト方法およびソフトウェア部分テスト用プログラムに関する。
【背景技術】
【０００２】
モジュール化されたソフトウェアの部分的テストに関する技術として、スタブを用いてテスト対象範囲外の部分をシミュレートすることでテストを実施する方法が非特許文献１に記載されている。スタブとは、テスト対象範囲に含まれるモジュールから呼び出されるサブモジュールの動作をシミュレートするダミーのモジュールであって、本来のモジュールの振る舞いのうち、テストの実行で必要となる入力値に限って期待通りの出力を返すように作られるものである。例えば、モジュールＸを別の作成途上のモジュールＹを呼び出しているソフトウェアにおいて、部分的にモジュールＸだけをテストしたい場合に、モジュールＹが動作不能の場合でも、モジュールＹをスタブに置き換えることでテストが実施可能となる。また、例えば、モジュールＹの振る舞いを変更した場合のモジュールＸの動作をテストしたい場合に、モジュールＹをスタブに置き換えることによって目的を達成できる。
【０００３】
また、例えば、特許文献１には、テスト対象プログラムに記載されたインタフェース情報を読み込み、読み込んだインタフェース情報に基づいてユーザにデータを設定させ、そのデータとインタフェース情報とに基づいてテスト対象プログラムを実行するモジュールテスト装置が記載されている。
【０００４】
また、例えば、特許文献２には、デバッガを用いて行うテストにおいて、スタブ作成等の前処理を行わずにテストを開始できるようにするデバッグ方法が記載されている。特許文献２に記載されているデバッグ方法では、デバッガの中に被テストプログラム内にない変数に関する変数参照管理テーブルを設ける。そして、そのような変数の参照がある毎にテーブルを参照し、値が未解決である旨の設定がされている場合には、ユーザがその場で値を指定することによって、デバッガのコマンドを生成し実行する。
【０００５】
【特許文献１】特開平７−２１９８１０号公報
【特許文献２】特開２００１−２２９０４４号公報
【特許文献１】Boris Beizer著，小野間彰訳，「ソフトウェアテスト技法」，第１版，日経ＢＰ出版センター，１９９４年２月，ｐ．３７５
【発明の開示】
【発明が解決しようとする課題】
【０００６】
問題点は、スタブがテスト結果の信頼性を損ねてしまうような欠陥を含んでいる可能性があることである。テスト担当者が、スタブの欠陥について調査しようとした場合、テスト実行時に発生しうるスタブへの呼び出しの全ての場合についてスタブが本来のモジュールの仕様と矛盾無く振る舞うように作られているかを調べなくてはならず、容易でない。
【０００７】
また、スタブで代替されるモジュールの仕様は、そのモジュールが未作成である時点では、仕様書等により自然言語で曖昧に表現されていることが多く、矛盾の有無を確認するためには人手による多くの手間が必要となる。
【０００８】
さらに、テストの条件を変更したりテスト対象プログラムの内容を変更したときには、このような手間のかかる作業を繰り返す必要が生じる。
【０００９】
なお、特許文献１に記載されているモジュールテスト装置および特許文献２に記載されているデバッガ方法についても、スタブを作成する手間を省くことは考慮されていても、ユーザに設定させたデータに欠陥が含まれているか否かについては何ら考慮されていない。
【００１０】
そこで、本発明は、スタブがテスト結果の信頼性を損ねるような欠陥を含んでいるかどうかを検証しつつ、ソフトウェアを部分的にテストすることができるソフトウェア部分テストシステム、ソフトウェア部分テスト方法およびソフトウェア部分テスト用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明による第１のソフトウェア部分テストシステムは、計算機ソフトウェアの一部分をテストするソフトウェア部分テストシステムであって、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段と、前記表明情報に基づき、前記入出力値テーブルから、前記テーブル駆動型振る舞い模擬手段が代行する振る舞いの正当性に関する反例を検出する正当性検査手段とを備えたことを特徴とする。
【００１２】
本発明による第２のソフトウェア部分テストシステムは、計算機ソフトウェアの一部分をテストするソフトウェア部分テストシステムであって、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、前記テーブル駆動型振る舞い模擬手段が受け付けた前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記テーブル駆動型振る舞い模擬手段が代行する振る舞いの網羅性に関する反例を検出する網羅性検査手段とを備えたことを特徴とする。
【００１３】
また、本発明による第１のソフトウェア部分テスト方法は、入出力値テーブル保持手段、表明情報保持手段、テーブル駆動型振る舞い模擬手段および正当性検査手段を備えるソフトウェア部分テストシステムにおいて、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト方法であって、記憶装置によって実現される前記入出力値テーブル保持手段が、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持し、記憶装置によって実現される前記表明情報保持手段が、前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持し、情報処理装置によって実現される前記テーブル駆動型振る舞い模擬手段が、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する過程で、情報処理装置によって実現される前記正当性検査手段が、前記表明情報に基づき、前記入出力値テーブルから、前記代行する振る舞いの正当性に関する反例を検出することを特徴とする。
【００１４】
本発明による第２のソフトウェア部分テスト方法は、入出力値テーブル保持手段、テーブル駆動型振る舞い模擬手段および網羅性検査手段を備えるソフトウェア部分テストシステムにおいて、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト方法であって、記憶装置によって実現される前記入出力値テーブル保持手段が、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持し、情報処理装置によって実現される前記テーブル駆動型振る舞い模擬手段が、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する過程で、情報処理装置によって実現される前記網羅性検査手段が、前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記代行する振る舞いの網羅性に関する反例を検出することを特徴とする。
【００１５】
また、本発明による第１のソフトウェア部分テスト用プログラムは、入出力値テーブル保持手段、表明情報保持手段、テーブル駆動型振る舞い模擬手段および正当性検査手段を備えるソフトウェア部分テストシステムにおいて、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト用プログラムであって、記憶装置によって実現され、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する前記入出力値テーブル保持手段と、記憶装置によって実現され、前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する前記表明情報保持手段とを備えたコンピュータの情報処理装置に、前記テーブル駆動型振る舞い模擬手段として、前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する処理、および前記正当性検査手段として、前記表明情報に基づき、前記入出力値テーブルから、前記代行する振る舞いの正当性に関する反例を検出する処理を実行させることを特徴とする。
【００１６】
本発明による第２のソフトウェア部分テスト用プログラムは、入出力値テーブル保持手段、テーブル駆動型振る舞い模擬手段および網羅性検査手段を備えるソフトウェア部分テストシステムにおいて、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト用プログラムであって、記憶装置によって実現され、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する前記入出力値テーブル保持手段を備えたコンピュータの情報処理装置に、前記テーブル駆動型振る舞い模擬手段として、前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する処理、および前記網羅性検査手段として、受け付けた前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記代行する振る舞いの網羅性に関する反例を検出する処理を実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、スタブがテスト結果の信頼性を損ねるような欠陥を含んでいるかどうかを容易に検証しつつ、ソフトウェアを部分的にテストすることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施形態を図面を参照して説明する。図１は、本発明によるソフトウェア部分テストシステムの構成例を示すブロック図である。図１に示すソフトウェア部分テストシステムは、テーブル駆動型振る舞い模擬手段１１と、入出力値テーブル保持手段２１と、表明情報保持手段２２と、正当性検査手段３１とを備える。
【００１９】
テーブル駆動型振る舞い模擬手段１１は、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールへの手続き呼び出しを受け付けて、後述する入出力値テーブル保持手段２１が保持する入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、依存モジュールが行う手続きの振る舞いを代行する。
【００２０】
入出力値テーブル保持手段２１は、テスト対象となっているモジュール群から呼び出される依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する。
【００２１】
表明情報保持手段２２は、テスト対象となっているモジュール群から呼び出される依存モジュールが行う手続きについて、その手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する。ここで、事前条件とは、その手続きの実行前に成立しているべき条件をいう。また、事後条件とは、その手続きの実行後に成立しているべき条件をいう。事前条件でその手続きの動作保証範囲を表し、事後条件でその手続きの作用を表すことによってその手続きの仕様を定義づける。例えば、表明情報保持手段２２は、依存モジュールが行う手続きについて、その手続きの満たすべき性質を示す表明情報として、事前条件を示す論理式と、事後条件を示す論理式とを対応づけて保持してもよい。
【００２２】
正当性検査手段３１は、表明情報保持手段２２が保持する表明情報に基づき、前記入出力値テーブルから、テーブル駆動型振る舞い模擬手段１１が代行する振る舞いの正当性に関する反例を検出する。
【００２３】
正当性検査手段３１は、例えば、モジュールテストを実行する前に、入出力値テーブルに登録されている入力値と出力値の組み合わせ全てについて、その手続きの表明情報として定義されている事前条件を示す論理式と事後条件を示す論理式とにそれぞれ代入して、事前条件が真で事後条件が偽となる入力値と出力値の組み合わせがあるか否かを判断することによって、正当性に関する反例を検出するようにしてもよい。
【００２４】
また、例えば、テーブル駆動型振る舞い模擬手段１１が入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて依存モジュールの振る舞いを代行した際に、その手続き呼び出しの際の入力値と出力値との組み合わせについて、その手続きの表明情報として定義されている事前条件を示す論理式と事後条件を示す論理式とに代入した結果、事前条件が真で事後条件が偽となる場合に、当該入力値と出力値の組み合わせを、正当性に関する反例として検出するようにしてもよい。
【００２５】
このようにすることによって、スタブ（具体的には、テーブル駆動型振る舞い模擬手段１１）がテスト結果の信頼性を損なう欠陥を含んでいるか否かについて容易に検証しながら、テスト対象モジュールをテストすることができる。
【００２６】
また、図２は、本発明によるソフトウェア部分テストシステムの他の構成例を示すブロック図である。図２に示すソフトウェア部分テストシステムは、テーブル駆動型振る舞い模擬手段１１と、入出力値テーブル保持手段２１と、網羅性検査手段３２とを備える。
【００２７】
テーブル駆動型振る舞い模擬手段１１および入出力値テーブル保持手段２１は、図１に示すテーブル駆動型振る舞い模擬手段１１および入出力値テーブル保持手段２１と同様である。
【００２８】
網羅性検査手段３２は、テーブル駆動型振る舞い模擬手段１１が受け付けた依存モジュールに対する手続き呼び出しの入力値に基づき、入出力値テーブル保持手段２１に保持されている入出力値テーブルから、テーブル駆動型振る舞い模擬手段１１が代行する振る舞いの網羅性に関する反例を検出する。
【００２９】
網羅性検査手段３２は、具体的には、テーブル駆動型振る舞い模擬手段１１が受け付けた依存モジュールに対する手続き呼び出しの入力値が、入出力値テーブル保持手段２１に保持されている入出力値テーブルに登録されていない場合に、その入力値をスタブの網羅性に関する反例として検出する。
【００３０】
網羅性検査手段３２は、例えば、テーブル駆動型振る舞い模擬手段１１が依存モジュールに対する手続き呼び出しを受け付けたときに、その手続き呼び出しの入力値が、入出力値テーブルに登録されているか否かを判断することによって、網羅性に関する反例を検出してもよい。
【００３１】
このようにすることによって、スタブ（具体的には、テーブル駆動型振る舞い模擬手段１１）がテスト結果の信頼性を損なう欠陥を含んでいるか否かについて容易に検証しながら、テスト対象モジュールをテストすることができる。
【００３２】
また、図３は、本発明によるソフトウェア部分テストシステムの他の構成例を示すブロック図である。図３に示すソフトウェア部分テストシステムは、テーブル駆動型振る舞い模擬手段１１と、入出力値テーブル保持手段２１と、表明情報保持手段２２と、正当性検査手段３１と、網羅性検査手段３２とを備える。
【００３３】
なお、図３に示すソフトウェア部分テストシステムは、図１に示した実施形態と、図２に示した実施形態とを組み合わせた実施形態である。各構成要素については、図１および図２に示した例と同様である。
【００３４】
以下、より具体的な構成について説明する。図４は、図３に示したソフトウェア部分テストシステムのより具体的な構成例を示すブロック図である。図４に示すように、本実施形態におけるソフトウェア部分テストシステムは、制御部１００と、記憶装置２００とを備えている。また、制御部１００は、テストドライバ実行部１０１と、テスト対象モジュール実行部１０２と、テーブル駆動型スタブ実行部１０４と、参照エラー検出部１０５と、入出力値エラー検出部１０６とを含む。また、記憶装置２００は、入出力値テーブル２０１と、表明情報２０２とを記憶している。
【００３５】
テストドライバ実行部１０１は、テスト対象モジュール群をテストするためにテストケースに応じてテスト対象モジュールに対して手続き呼び出しを行うテストドライバを実行する。
【００３６】
テスト対象モジュール実行部１０２は、テストドライバ実行部１０１からの手続き呼び出しに応じて、テスト対象モジュール群を実行する。
【００３７】
テーブル駆動型スタブ実行部１０４は、テスト対象モジュールから呼び出されるサブモジュールである依存モジュールの手続きを代替するスタブを実行する。なお、本システムにおいて、テスト対象モジュール群から依存モジュールへの呼び出し関係は、テーブル駆動型スタブ実行部１０４が実行するスタブへの呼び出し関係として置き換えられて実装されている。例えば、テスト対象モジュールＡが依存モジュールＢを呼び出す関係にあるとき、テスト対象モジュールＡ内には依存モジュールＢを呼び出すステートメントが存在する。これを、スタブＢ’への呼び出しとして実行させる。テーブル駆動型スタブ実行部１０４は、依存モジュール実行部１０３に代わり、テスト対象モジュール実行部１０２からの手続き呼び出しを受け付けて、依存モジュールの動作を代替するスタブを実行する。テーブル駆動型スタブ実行部１０４におけるスタブの仕様は入出力値テーブル２０１によって与えられる。
【００３８】
ここで、入出力値テーブル２０１とは、スタブが実装する個々の手続き（すなわち、各依存モジュールの手続き）について、その取りうる入力値それぞれに対する出力値を定義づけた情報である。具体的には、入出力値テーブル２０１は、記憶装置２００に格納される、スタブが実装する個々の手続きの入力値と出力値とを対応づけた情報である。
【００３９】
従って、テーブル駆動型スタブ実行部１０４は、依存モジュールの代替モジュールであるスタブへの手続き呼び出しを受け付けると、入出力値テーブル２０１を参照して、その手続き呼び出しの入力値に対応づけられた出力値を取得し、呼び出し元に出力することによって依存モジュールの動作をシミュレートする。なお、テーブル駆動型スタブ実行部１０４は、図１〜図３に示すテーブル駆動型振る舞い模擬手段１１に相当する処理部である。本実施形態において、スタブとは、基本的にはテスト対象モジュールから呼び出される依存モジュールの手続きを代替するモジュールを示すが、依存モジュールの手続きを模擬する手段において実装される振る舞いの実体を示す場合もある。
【００４０】
参照エラー検出部１０５は、テストケースを実行させたときに発生するスタブへの手続き呼び出しの入力値に基づき、入出力値テーブル２０１から、スタブの網羅性に関するエラーを検出する。本例では、参照エラー検出部１０５は、テストケースを実行させたときに発生するスタブへの手続き呼び出しの入力値のうちで入出力値テーブル２０１に定義されていないものがあれば、スタブの網羅性に関する反例としてその入力値を検出する。なお、参照エラー検出部１０５は、図２および図３に示す網羅性検査手段３２に相当する処理部である。
【００４１】
入出力値エラー検出部１０６は、スタブが実装する個々の手続き（すなわち、各依存モジュールの手続き）で満たすべき性質を示す表明情報２０２に基づき、入出力値テーブル２０１から、正当性に関するエラーを検出する。本例では、スタブが実装する個々の手続き（すなわち、各依存モジュールの手続き）で満たすべき性質を示す表明情報２０２として、事前条件を示す論理式と事後条件を示す論理式とが与えられる。入出力値エラー検出部１０６は、入出力値テーブル２０１によって定義されている各手続きについての入力値と出力値との対を、表明情報２０２として定義されている事前条件の式と事後条件の式とに代入してその真理値を算出し、事前条件が真で事後条件が偽となるものを正当性に関する反例として検出する。なお、入出力値エラー検出部１０６は、図１および図３に示す正当性検査手段３１に相当する処理部である。
【００４２】
なお、本例において、テストドライバ実行部１０１，テスト対象モジュール実行部１０２，テーブル駆動型スタブ実行部１０４，参照エラー検出部１０５，入出力値エラー検出部１０６は、具体的には、ＣＰＵ等のプログラムに従って動作する情報処理装置によって実現される。また、入出力値テーブル２０１，表明情報２０２は、具体的には、メモリ等の記憶装置に保持される。
【００４３】
なお、上記例では、テストドライバ実行部１０１，テスト対象モジュール実行部１０２，テーブル駆動型スタブ実行部１０４，参照エラー検出部１０５，入出力値エラー検出部１０６を別々の処理部として示しているが、各処理部をデバッガやテストツールの一機能として組み込むことも可能である。そのような場合には、各処理部は、テスト対象モジュールのソースコードやオブジェクトファイルを読み込んで、その実行コードに準じて、各処理部の動作を行うよう記述されたデバッグプログラムに従って動作するＣＰＵによって実現される。
【００４４】
また、例えば、各処理部をテストアプリケーションの一モジュールとして実装することも可能である。そのような場合には、各処理部は、それぞれの処理部の動作を行うモジュールをリンカ等で結合されたアプリケーションプログラムを実行する１つのＣＰＵによって実現される。
【００４５】
次に、本実施形態の動作について説明する。図５は、本実施形態におけるソフトウェア部分テストシステムの動作の一例を示すフローチャートである。図５に示す例では、まず、入出力値エラー検出部１０６は、記憶装置２００に格納されている表明情報２０２に基づき、記憶装置２００に格納されている入出力値テーブル２０１から、正当性に関する反例を検出する（ステップＡ１１０）。入出力値エラー検出部１０６は、具体的には、記憶装置２００に格納されている表明情報２０２として定義づけられている各手続きの事前条件を示す論理式と事後条件を示す論理式の対に対して、記憶装置２００に格納されている入出力値テーブル２０１に含まれるその手続きについての入力値と出力値の組み合わせをそれぞれ代入し、事前条件が真で事後条件が偽となる入力値と出力値の組み合わせの全てを、正当性に関する反例として出力する。
【００４６】
それと並行して、参照エラー検出部１０５は、テストケースを実行させたときに発生するスタブへの手続き呼び出しの入力値に基づき、記憶装置２００に格納されている入出力値テーブル２０１から、スタブの網羅性に関する反例を検出する（ステップＡ１１１）。参照エラー検出部１０５は、具体的には、テストドライバ実行部１０１がテストドライバを実行したときに発生するテーブル駆動型スタブ実行部１０４が受け付けた手続き呼び出し全てについて、当該手続き呼び出しの入力値に対応する出力値が、入出力値テーブル２０１に存在しないような入力値全てを、スタブの網羅性に関する反例として出力する。
【００４７】
入出力値エラー検出部１０６は、例えば、テーブル駆動型スタブ実行部１０４がテスト対象モジュール実行部１０２からの手続き呼び出しに応じて出力値を取得する度に、その手続き呼び出しの際の入力値と出力値との組み合わせについて、表明情報２０２に定義されているその手続きの事前条件を示す論理式と事後条件を示す論理式とに代入することによって、スタブの正当性に関する反例を検出してもよい。
【００４８】
また、参照エラー検出部１０５は、例えば、テーブル駆動型スタブ実行部１０４に対して手続き呼び出しがされる度に、その手続き呼び出しの入力値が、入出力値テーブルに登録されているか否かを判断することによって、スタブの網羅性に関する反例を検出してもよい。
【００４９】
なお、入出力値エラー検出部１０６は、例えば、テストドライバ実行部１０１がテストドライバを実行する前に、入出力値テーブル２０１に登録されている入力値と出力値の組み合わせ全てについて、その手続きの表明情報２０２として定義されている事前条件を示す論理式と事後条件を示す論理式とに代入することによって、スタブの正当性に関する反例を検出するようにしてもよい。
【００５０】
次に、具体例を用いて本実施形態の動作を説明する。図６は、本実施形態におけるソフトウェア部分テストシステムの一実施例を示す説明図である。図６に示す例では、テスト対象モジュール実行部１０２は、テストドライバ実行部１０１からの手続き呼び出しに応じて駆動されるとき、依存モジュールを呼び出しながら動作するものとする。なお、テスト対象モジュール実行部１０２からの依存モジュールの呼び出しは、テーブル駆動型スタブ実行部１０４がスタブへの手続き呼び出しとして受け付ける。本例では、手続きｆｕｎｃ１に関して、引数ｎを１００，１０，０，−１０，−１００とする計５回の手続き呼び出しが発生するものとする。
【００５１】
テーブル駆動型スタブ実行部１０４は、テスト対象モジュール実行部１０２からの依存モジュールに対する手続き呼び出しを依存モジュール実行部１０３に代わって受け、呼び出し発生時点での引数や変数の値割り当て状況に一致する入力値を、入出力値テーブル２０１に登録されたデータの中から探す。そして、一致する入力値が登録されている場合には、その入力値に対応する出力値に基づいて、戻り値や変数の設定を行って呼び出し元に制御を返すものとする。一方で、一致する入力値が入出力値テーブル２０１に存在しなかった場合には、エラー状態を発生させる。
【００５２】
本実施例では、手続きｆｕｎｃ１について、ｎ＝１００が入力された場合およびｎ＝１０が入力された場合には、入出力値テーブル２０１に入力値としてその値が登録されていることから、その入力値に対応づけて登録されている出力値に基づいて、手続きｆｕｎｃ１の出力値として１を返すことによってその振る舞いをシミュレートする。
【００５３】
なお、ｎが０，−１０，−１００の場合については、入出力値テーブル２０１に入力値としてその値が存在していないため、エラー状態を発生させる。そして、その時点での引数や変数の割り当て状況を記録する。なお、エラー状態を発生させた後も、戻り値などの最低限の出力結果をデータ型固有のデフォルト値に設定して呼び出し元に制御を返すことで可能な限りテスト実行を継続させてもよい。
【００５４】
入出力値テーブル２０１には、テーブル駆動型スタブ実行部１０４が実行するスタブの振る舞いを定義するデータとして、（手続き名，入力値，出力値）＝｛（ｆｕｎｃ１，ｎ＝＝１００，￥ｒｅｓｕｌｔ＝＝１），（ｆｕｎｃ１，ｎ＝＝１０，￥ｒｅｓｕｌｔ＝＝１）｝が登録されている。これらのデータは、それぞれｆｕｎｃ１（１００）の呼び出しに対する戻り値が１になること、ｆｕｎｃ１（１０）の呼び出しに対する戻り値が１となることを表している。本実施例では、入力値や出力値として、引数ｎや戻り値のみを指定しているが、一般には手続きの引数や戻り値に限らず、変数の値を指定することも可能である。
【００５５】
参照エラー検出部１０５は、テストドライバ実行部１０１がテストドライバを実行した際に、テストケースに応じてテーブル駆動型スタブ実行部１０４が受け付けるスタブへの手続き呼び出しを監視し、エラー発生を検出したときはその時点での引数や変数の割り当て状況を網羅性に関する反例として提示する。本例では、ｎが０，−１０，−１００の場合にｆｕｎｃ１の呼び出し実行がエラー状態となり、その時の網羅性に関する反例として、例えば図７に示すような内容の情報を提示する。図７は、網羅性に関する反例の提示例を示す説明図である。図７では、網羅性に関する反例を示す情報として、反例として検出された入力値とその反例が生じた手続き名とを対応づけて示す例が示されている。
【００５６】
また、表明情報２０２には、依存モジュールの持つ手続き毎にその事前条件と事後条件の対が列挙されて定義づけられている。図６では、事前条件と事後条件の記述にＪＭＬ（Java Modeling Language（Ｊａｖａは登録商標。））を用いた例を示している。”ｒｅｑｕｉｒｅｓ”は事前条件を表す。また、”ｅｎｓｕｒｅｓ”は事後条件を表す。また、”ａｌｓｅ”は論理和結合を表す。例示したＪＭＬのステートメントは、手続きｆｕｎｃ１が実行される際に引数ｎが正のときは戻り値が正となり、引数ｎが０のときは戻り値が０となり、引数ｎが負のときは戻り値が負となることを表現している。
【００５７】
入出力値エラー検出部１０６は、表明情報２０２として登録されている手続きｆｕｎｃ１についての事前条件を示す論理式と事後条件を示す論理式の組み合わせに対して、入出力値テーブル２０１に登録されている手続きｆｕｎｃ１の入力値と出力値の組み合わせをそれぞれ代入し、事前条件が真で事後条件が偽となるような入力値と出力値の組み合わせを、正当性に関する反例として提示する。図８は、正当性に関する反例の提示例を示す説明図である。図８に示すように、入出力値エラー検出部１０６は、正当性に関する反例として、検出した入力値と出力値の組み合わせと、その反例が定義されていた手続き名と、事前条件および事後条件の真偽（判定結果）とを対応づけて提示してもよい。なお、レコードＮｏ等、入出力値テーブル２０１のどこに格納されている情報かを示す情報を合わせて提示するようにしてもよい。
【００５８】
本実施例では、手続きｆｕｎｃ１の引数ｎが１００は事前条件が真で事後条件が偽となるような入力値と出力値の組み合わせではないが、引数ｎが１０の場合は事前条件を満たしつつも事後条件が偽となる入力値と出力値の組み合わせとなっているので、図８に示すような情報が正当性に関する反例として出力される。
【００５９】
以上のように、本実施形態によれば、テーブル駆動でスタブを実現し、かつ表明情報としてスタブの仕様を与えることで、実際に入力される値に対する実装もれや、仕様との不整合を容易にかつ確実に検出することができる。
【００６０】
なお、上記実施形態には、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、依存モジュールに対する手続き呼び出しを受け付けて、入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段と、表明情報に基づき、入出力値テーブルから、テーブル駆動型振る舞い模擬手段が代行する振る舞いの正当性に関する反例を検出する正当性検査手段とを備えたソフトウェア部分テストシステムの構成例が示されている（図１参照。）。
【００６１】
また、上記実施形態には、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、依存モジュールに対する手続き呼び出しを受け付けて、入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、テーブル駆動型振る舞い模擬手段が受け付けた依存モジュールに対する手続き呼び出しの入力値に基づき、入出力値テーブルから、テーブル駆動型振る舞い模擬手段が代行する振る舞いの網羅性に関する反例を検出する網羅性検査手段とを備えたソフトウェア部分テストシステムの構成例が示されている（図２参照。）。
【００６２】
また、上記実施形態には、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、依存モジュールに対する手続き呼び出しを受け付けて、入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段と、テーブル駆動型振る舞い模擬手段が受け付けた依存モジュールに対する手続き呼び出しの入力値に基づき、入出力値テーブルから、テーブル駆動型振る舞い模擬手段が代行する振る舞いの網羅性に関する反例を検出する網羅性検査手段と、表明情報に基づき、入出力値テーブルから、テーブル駆動型振る舞い模擬手段が代行する振る舞いの正当性に関する反例を検出する正当性検査手段とを備えたソフトウェア部分テストシステムの構成例が示されている（図３および図４参照。）。なお、図４においては、入出力値テーブル保持手段および表明情報保持手段は、記憶装置２００によって実現されている。また、テーブル駆動型振る舞い模擬手段は、テーブル駆動型スタブ実行部１０４によって実現されている。また、網羅性検査手段は、参照エラー検出部１０５によって実現されている。また、正当性検査手段は、入出力値エラー検出部１０６によって実現されている。
【００６３】
また、上記実施形態には、表明情報保持手段が、依存モジュールが行う手続きについて、その手続きの満たすべき性質を示す表明情報として、事前条件を示す論理式と、事後条件を示す論理式とを対応づけて保持し、正当性検査手段が、表明情報として定義されている事前条件の論理式と事後条件の論理式の組み合わせに対して、入出力値テーブルに登録されている入力値と出力値の組み合わせを代入した結果、事前条件が真で事後条件が偽となる場合に、当該入力値と出力値の組み合わせを正当性に関する反例として検出するソフトウェア部分テストシステムの構成例が示されている（図６および図８参照。）。
【００６４】
また、上記実施形態には、正当性検査手段が、モジュールテストを実行する前に、入出力値テーブルに登録されている入力値と出力値の組み合わせ全てについて、その手続きの表明情報として定義されている事前条件を示す論理式と事後条件を示す論理式とに代入して、事前条件が真で事後条件が偽となる入力値と出力値の組み合わせがあるか否かを判断することによって、正当性に関する反例を検出するソフトウェア部分テストシステムの構成例が示されている。
【００６５】
また、上記実施形態には、正当性検査手段が、テーブル駆動型振る舞い模擬手段が入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて依存モジュールの振る舞いを代行した際に、その手続き呼び出しの際の入力値と出力値との組み合わせについて、その手続きの表明情報として定義されている事前条件を示す論理式と事後条件を示す論理式とに代入し、事前条件が真で事後条件が偽となる場合に、当該入力値と出力値の組み合わせを正当性に関する反例として検出するソフトウェア部分テストシステムの構成例が示されている。
【００６６】
また、上記実施形態には、網羅性検査手段が、テーブル駆動型振る舞い模擬手段が受け付けた依存モジュールに対する手続き呼び出しの入力値が、入出力値テーブルに登録されていない場合に、その入力値を網羅性に関する反例として検出するソフトウェア部分テストシステムの構成例が示されている（図６および図７参照。）。
【００６７】
また、上記実施形態には、網羅性検査手段が、テーブル駆動型振る舞い模擬手段が依存モジュールに対する手続き呼び出しを受け付けたときに、その手続き呼び出しの入力値が、入出力値テーブルに登録されているか否かを判断することによって、網羅性に関する反例を検出するソフトウェア部分テストシステムの構成例が示されている。
【産業上の利用可能性】
【００６８】
本発明は、ソフトウェアを複数のモジュールに分割して並行開発する際の部分テストに好適に適用可能である。
【図面の簡単な説明】
【００６９】
【図１】本発明によるソフトウェア部分テストシステムの構成例を示すブロック図である。
【図２】本発明によるソフトウェア部分テストシステムの他の構成例を示すブロック図である。
【図３】本発明によるソフトウェア部分テストシステムの他の構成例を示すブロック図である。
【図４】ソフトウェア部分テストシステムのより具体的な構成例を示すブロック図である。
【図５】本実施形態におけるソフトウェア部分テストシステムの動作の一例を示すフローチャートである。
【図６】本実施形態におけるソフトウェア部分テストシステムの一実施例を示す説明図である。
【図７】網羅性に関する反例の提示例を示す説明図である。
【図８】正当性に関する反例の提示例を示す説明図である。
【符号の説明】
【００７０】
１１  テーブル駆動型振る舞い模擬手段
２１  入出力値テーブル保持手段
２２  表明情報保持手段
３１  正当性検査手段
３２  網羅性検査手段
１０１  テストドライバ実行部
１０２  テスト対象モジュール実行部
１０３  依存モジュール実行部
１０４  テーブル駆動型スタブ実行部
１０５  参照エラー検出部
１０６  入出力値エラー検出部
【図１】
0004957521.tif 000002
【図２】
0004957521.tif 000003
【図３】
0004957521.tif 000004
【図４】
0004957521.tif 000005
【図５】
0004957521.tif 000006
【図６】
0004957521.tif 000007
【図７】
0004957521.tif 000008
【図８】
0004957521.tif 000009