JP2009129132A - ソフトウェア部分テストシステム、それに用いる方法およびプログラム - Google Patents

ソフトウェア部分テストシステム、それに用いる方法およびプログラム Download PDF

Info

Publication number
JP2009129132A
JP2009129132A JP2007302460A JP2007302460A JP2009129132A JP 2009129132 A JP2009129132 A JP 2009129132A JP 2007302460 A JP2007302460 A JP 2007302460A JP 2007302460 A JP2007302460 A JP 2007302460A JP 2009129132 A JP2009129132 A JP 2009129132A
Authority
JP
Japan
Prior art keywords
input
output value
procedure
module
value table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007302460A
Other languages
English (en)
Other versions
JP4957521B2 (ja
Inventor
Akihiro Shibata
晃宏 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007302460A priority Critical patent/JP4957521B2/ja
Publication of JP2009129132A publication Critical patent/JP2009129132A/ja
Application granted granted Critical
Publication of JP4957521B2 publication Critical patent/JP4957521B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】スタブがテスト結果の信頼性を損ねるような欠陥を含んでいるかどうかを検証しつつ、ソフトウェアを部分的にテストすることができるようにする。
【解決手段】テスト対象モジュール群から呼び出される依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、依存モジュールに対する手続き呼び出しを受け付けて、入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段と、表明情報に基づき、入出力値テーブルから正当性に関する反例を検出する正当性検査手段とを備える。
【選択図】図1

Description

本発明は、計算機ソフトウェアの一部分をテストするソフトウェア部分テストシステム、ソフトウェア部分テスト方法およびソフトウェア部分テスト用プログラムに関する。
モジュール化されたソフトウェアの部分的テストに関する技術として、スタブを用いてテスト対象範囲外の部分をシミュレートすることでテストを実施する方法が非特許文献1に記載されている。スタブとは、テスト対象範囲に含まれるモジュールから呼び出されるサブモジュールの動作をシミュレートするダミーのモジュールであって、本来のモジュールの振る舞いのうち、テストの実行で必要となる入力値に限って期待通りの出力を返すように作られるものである。例えば、モジュールXを別の作成途上のモジュールYを呼び出しているソフトウェアにおいて、部分的にモジュールXだけをテストしたい場合に、モジュールYが動作不能の場合でも、モジュールYをスタブに置き換えることでテストが実施可能となる。また、例えば、モジュールYの振る舞いを変更した場合のモジュールXの動作をテストしたい場合に、モジュールYをスタブに置き換えることによって目的を達成できる。
また、例えば、特許文献1には、テスト対象プログラムに記載されたインタフェース情報を読み込み、読み込んだインタフェース情報に基づいてユーザにデータを設定させ、そのデータとインタフェース情報とに基づいてテスト対象プログラムを実行するモジュールテスト装置が記載されている。
また、例えば、特許文献2には、デバッガを用いて行うテストにおいて、スタブ作成等の前処理を行わずにテストを開始できるようにするデバッグ方法が記載されている。特許文献2に記載されているデバッグ方法では、デバッガの中に被テストプログラム内にない変数に関する変数参照管理テーブルを設ける。そして、そのような変数の参照がある毎にテーブルを参照し、値が未解決である旨の設定がされている場合には、ユーザがその場で値を指定することによって、デバッガのコマンドを生成し実行する。
特開平7−219810号公報 特開2001−229044号公報 Boris Beizer著,小野間彰訳,「ソフトウェアテスト技法」,第1版,日経BP出版センター,1994年2月,p.375
問題点は、スタブがテスト結果の信頼性を損ねてしまうような欠陥を含んでいる可能性があることである。テスト担当者が、スタブの欠陥について調査しようとした場合、テスト実行時に発生しうるスタブへの呼び出しの全ての場合についてスタブが本来のモジュールの仕様と矛盾無く振る舞うように作られているかを調べなくてはならず、容易でない。
また、スタブで代替されるモジュールの仕様は、そのモジュールが未作成である時点では、仕様書等により自然言語で曖昧に表現されていることが多く、矛盾の有無を確認するためには人手による多くの手間が必要となる。
さらに、テストの条件を変更したりテスト対象プログラムの内容を変更したときには、このような手間のかかる作業を繰り返す必要が生じる。
なお、特許文献1に記載されているモジュールテスト装置および特許文献2に記載されているデバッガ方法についても、スタブを作成する手間を省くことは考慮されていても、ユーザに設定させたデータに欠陥が含まれているか否かについては何ら考慮されていない。
そこで、本発明は、スタブがテスト結果の信頼性を損ねるような欠陥を含んでいるかどうかを検証しつつ、ソフトウェアを部分的にテストすることができるソフトウェア部分テストシステム、ソフトウェア部分テスト方法およびソフトウェア部分テスト用プログラムを提供することを目的とする。
本発明による第1のソフトウェア部分テストシステムは、計算機ソフトウェアの一部分をテストするソフトウェア部分テストシステムであって、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段と、前記表明情報に基づき、前記入出力値テーブルから、前記テーブル駆動型振る舞い模擬手段が代行する振る舞いの正当性に関する反例を検出する正当性検査手段とを備えたことを特徴とする。
本発明による第2のソフトウェア部分テストシステムは、計算機ソフトウェアの一部分をテストするソフトウェア部分テストシステムであって、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、前記テーブル駆動型振る舞い模擬手段が受け付けた前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記テーブル駆動型振る舞い模擬手段が代行する振る舞いの網羅性に関する反例を検出する網羅性検査手段とを備えたことを特徴とする。
また、本発明による第1のソフトウェア部分テスト方法は、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト方法であって、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持し、前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持し、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する過程で、前記表明情報に基づき、前記入出力値テーブルから、前記代行する振る舞いの正当性に関する反例を検出することを特徴とする。
本発明による第2のソフトウェア部分テスト方法は、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト方法であって、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持し、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する過程で、前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記代行する振る舞いの網羅性に関する反例を検出することを特徴とする。
また、本発明による第1のソフトウェア部分テスト用プログラムは、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト用プログラムであって、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段とを備えたコンピュータに、前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する処理、および前記表明情報に基づき、前記入出力値テーブルから、前記代行する振る舞いの正当性に関する反例を検出する処理を実行させることを特徴とする。
本発明による第2のソフトウェア部分テスト用プログラムは、計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト用プログラムであって、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段を備えたコンピュータに、前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する処理、および受け付けた前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記代行する振る舞いの網羅性に関する反例を検出する処理を実行させることを特徴とする。
本発明によれば、スタブがテスト結果の信頼性を損ねるような欠陥を含んでいるかどうかを容易に検証しつつ、ソフトウェアを部分的にテストすることができる。
以下、本発明の実施形態を図面を参照して説明する。図1は、本発明によるソフトウェア部分テストシステムの構成例を示すブロック図である。図1に示すソフトウェア部分テストシステムは、テーブル駆動型振る舞い模擬手段11と、入出力値テーブル保持手段21と、表明情報保持手段22と、正当性検査手段31とを備える。
テーブル駆動型振る舞い模擬手段11は、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールへの手続き呼び出しを受け付けて、後述する入出力値テーブル保持手段21が保持する入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、依存モジュールが行う手続きの振る舞いを代行する。
入出力値テーブル保持手段21は、テスト対象となっているモジュール群から呼び出される依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する。
表明情報保持手段22は、テスト対象となっているモジュール群から呼び出される依存モジュールが行う手続きについて、その手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する。ここで、事前条件とは、その手続きの実行前に成立しているべき条件をいう。また、事後条件とは、その手続きの実行後に成立しているべき条件をいう。事前条件でその手続きの動作保証範囲を表し、事後条件でその手続きの作用を表すことによってその手続きの仕様を定義づける。例えば、表明情報保持手段22は、依存モジュールが行う手続きについて、その手続きの満たすべき性質を示す表明情報として、事前条件を示す論理式と、事後条件を示す論理式とを対応づけて保持してもよい。
正当性検査手段31は、表明情報保持手段22が保持する表明情報に基づき、前記入出力値テーブルから、テーブル駆動型振る舞い模擬手段11が代行する振る舞いの正当性に関する反例を検出する。
正当性検査手段31は、例えば、モジュールテストを実行する前に、入出力値テーブルに登録されている入力値と出力値の組み合わせ全てについて、その手続きの表明情報として定義されている事前条件を示す論理式と事後条件を示す論理式とにそれぞれ代入して、事前条件が真で事後条件が偽となる入力値と出力値の組み合わせがあるか否かを判断することによって、正当性に関する反例を検出するようにしてもよい。
また、例えば、テーブル駆動型振る舞い模擬手段11が入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて依存モジュールの振る舞いを代行した際に、その手続き呼び出しの際の入力値と出力値との組み合わせについて、その手続きの表明情報として定義されている事前条件を示す論理式と事後条件を示す論理式とに代入した結果、事前条件が真で事後条件が偽となる場合に、当該入力値と出力値の組み合わせを、正当性に関する反例として検出するようにしてもよい。
このようにすることによって、スタブ(具体的には、テーブル駆動型振る舞い模擬手段11)がテスト結果の信頼性を損なう欠陥を含んでいるか否かについて容易に検証しながら、テスト対象モジュールをテストすることができる。
また、図2は、本発明によるソフトウェア部分テストシステムの他の構成例を示すブロック図である。図2に示すソフトウェア部分テストシステムは、テーブル駆動型振る舞い模擬手段11と、入出力値テーブル保持手段21と、網羅性検査手段32とを備える。
テーブル駆動型振る舞い模擬手段11および入出力値テーブル保持手段21は、図1に示すテーブル駆動型振る舞い模擬手段11および入出力値テーブル保持手段21と同様である。
網羅性検査手段32は、テーブル駆動型振る舞い模擬手段11が受け付けた依存モジュールに対する手続き呼び出しの入力値に基づき、入出力値テーブル保持手段21に保持されている入出力値テーブルから、テーブル駆動型振る舞い模擬手段11が代行する振る舞いの網羅性に関する反例を検出する。
網羅性検査手段32は、具体的には、テーブル駆動型振る舞い模擬手段11が受け付けた依存モジュールに対する手続き呼び出しの入力値が、入出力値テーブル保持手段21に保持されている入出力値テーブルに登録されていない場合に、その入力値をスタブの網羅性に関する反例として検出する。
網羅性検査手段32は、例えば、テーブル駆動型振る舞い模擬手段11が依存モジュールに対する手続き呼び出しを受け付けたときに、その手続き呼び出しの入力値が、入出力値テーブルに登録されているか否かを判断することによって、網羅性に関する反例を検出してもよい。
このようにすることによって、スタブ(具体的には、テーブル駆動型振る舞い模擬手段11)がテスト結果の信頼性を損なう欠陥を含んでいるか否かについて容易に検証しながら、テスト対象モジュールをテストすることができる。
また、図3は、本発明によるソフトウェア部分テストシステムの他の構成例を示すブロック図である。図3に示すソフトウェア部分テストシステムは、テーブル駆動型振る舞い模擬手段11と、入出力値テーブル保持手段21と、表明情報保持手段22と、正当性検査手段31と、網羅性検査手段32とを備える。
なお、図3に示すソフトウェア部分テストシステムは、図1に示した実施形態と、図2に示した実施形態とを組み合わせた実施形態である。各構成要素については、図1および図2に示した例と同様である。
以下、より具体的な構成について説明する。図4は、図3に示したソフトウェア部分テストシステムのより具体的な構成例を示すブロック図である。図4に示すように、本実施形態におけるソフトウェア部分テストシステムは、制御部100と、記憶装置200とを備えている。また、制御部100は、テストドライバ実行部101と、テスト対象モジュール実行部102と、テーブル駆動型スタブ実行部104と、参照エラー検出部105と、入出力値エラー検出部106とを含む。また、記憶装置200は、入出力値テーブル201と、表明情報202とを記憶している。
テストドライバ実行部101は、テスト対象モジュール群をテストするためにテストケースに応じてテスト対象モジュールに対して手続き呼び出しを行うテストドライバを実行する。
テスト対象モジュール実行部102は、テストドライバ実行部101からの手続き呼び出しに応じて、テスト対象モジュール群を実行する。
テーブル駆動型スタブ実行部104は、テスト対象モジュールから呼び出されるサブモジュールである依存モジュールの手続きを代替するスタブを実行する。なお、本システムにおいて、テスト対象モジュール群から依存モジュールへの呼び出し関係は、テーブル駆動型スタブ実行部104が実行するスタブへの呼び出し関係として置き換えられて実装されている。例えば、テスト対象モジュールAが依存モジュールBを呼び出す関係にあるとき、テスト対象モジュールA内には依存モジュールBを呼び出すステートメントが存在する。これを、スタブB’への呼び出しとして実行させる。テーブル駆動型スタブ実行部104は、依存モジュール実行部103に代わり、テスト対象モジュール実行部102からの手続き呼び出しを受け付けて、依存モジュールの動作を代替するスタブを実行する。テーブル駆動型スタブ実行部104におけるスタブの仕様は入出力値テーブル201によって与えられる。
ここで、入出力値テーブル201とは、スタブが実装する個々の手続き(すなわち、各依存モジュールの手続き)について、その取りうる入力値それぞれに対する出力値を定義づけた情報である。具体的には、入出力値テーブル201は、記憶装置200に格納される、スタブが実装する個々の手続きの入力値と出力値とを対応づけた情報である。
従って、テーブル駆動型スタブ実行部104は、依存モジュールの代替モジュールであるスタブへの手続き呼び出しを受け付けると、入出力値テーブル201を参照して、その手続き呼び出しの入力値に対応づけられた出力値を取得し、呼び出し元に出力することによって依存モジュールの動作をシミュレートする。なお、テーブル駆動型スタブ実行部104は、図1〜図3に示すテーブル駆動型振る舞い模擬手段11に相当する処理部である。本実施形態において、スタブとは、基本的にはテスト対象モジュールから呼び出される依存モジュールの手続きを代替するモジュールを示すが、依存モジュールの手続きを模擬する手段において実装される振る舞いの実体を示す場合もある。
参照エラー検出部105は、テストケースを実行させたときに発生するスタブへの手続き呼び出しの入力値に基づき、入出力値テーブル201から、スタブの網羅性に関するエラーを検出する。本例では、参照エラー検出部105は、テストケースを実行させたときに発生するスタブへの手続き呼び出しの入力値のうちで入出力値テーブル201に定義されていないものがあれば、スタブの網羅性に関する反例としてその入力値を検出する。なお、参照エラー検出部105は、図2および図3に示す網羅性検査手段32に相当する処理部である。
入出力値エラー検出部106は、スタブが実装する個々の手続き(すなわち、各依存モジュールの手続き)で満たすべき性質を示す表明情報202に基づき、入出力値テーブル201から、正当性に関するエラーを検出する。本例では、スタブが実装する個々の手続き(すなわち、各依存モジュールの手続き)で満たすべき性質を示す表明情報202として、事前条件を示す論理式と事後条件を示す論理式とが与えられる。入出力値エラー検出部106は、入出力値テーブル201によって定義されている各手続きについての入力値と出力値との対を、表明情報202として定義されている事前条件の式と事後条件の式とに代入してその真理値を算出し、事前条件が真で事後条件が偽となるものを正当性に関する反例として検出する。なお、入出力値エラー検出部106は、図1および図3に示す正当性検査手段31に相当する処理部である。
なお、本例において、テストドライバ実行部101,テスト対象モジュール実行部102,テーブル駆動型スタブ実行部104,参照エラー検出部105,入出力値エラー検出部106は、具体的には、CPU等のプログラムに従って動作する情報処理装置によって実現される。また、入出力値テーブル201,表明情報202は、具体的には、メモリ等の記憶装置に保持される。
なお、上記例では、テストドライバ実行部101,テスト対象モジュール実行部102,テーブル駆動型スタブ実行部104,参照エラー検出部105,入出力値エラー検出部106を別々の処理部として示しているが、各処理部をデバッガやテストツールの一機能として組み込むことも可能である。そのような場合には、各処理部は、テスト対象モジュールのソースコードやオブジェクトファイルを読み込んで、その実行コードに準じて、各処理部の動作を行うよう記述されたデバッグプログラムに従って動作するCPUによって実現される。
また、例えば、各処理部をテストアプリケーションの一モジュールとして実装することも可能である。そのような場合には、各処理部は、それぞれの処理部の動作を行うモジュールをリンカ等で結合されたアプリケーションプログラムを実行する1つのCPUによって実現される。
次に、本実施形態の動作について説明する。図5は、本実施形態におけるソフトウェア部分テストシステムの動作の一例を示すフローチャートである。図5に示す例では、まず、入出力値エラー検出部106は、記憶装置200に格納されている表明情報202に基づき、記憶装置200に格納されている入出力値テーブル201から、正当性に関する反例を検出する(ステップA110)。入出力値エラー検出部106は、具体的には、記憶装置200に格納されている表明情報202として定義づけられている各手続きの事前条件を示す論理式と事後条件を示す論理式の対に対して、記憶装置200に格納されている入出力値テーブル201に含まれるその手続きについての入力値と出力値の組み合わせをそれぞれ代入し、事前条件が真で事後条件が偽となる入力値と出力値の組み合わせの全てを、正当性に関する反例として出力する。
それと並行して、参照エラー検出部105は、テストケースを実行させたときに発生するスタブへの手続き呼び出しの入力値に基づき、記憶装置200に格納されている入出力値テーブル201から、スタブの網羅性に関する反例を検出する(ステップA111)。参照エラー検出部105は、具体的には、テストドライバ実行部101がテストドライバを実行したときに発生するテーブル駆動型スタブ実行部104が受け付けた手続き呼び出し全てについて、当該手続き呼び出しの入力値に対応する出力値が、入出力値テーブル201に存在しないような入力値全てを、スタブの網羅性に関する反例として出力する。
入出力値エラー検出部106は、例えば、テーブル駆動型スタブ実行部104がテスト対象モジュール実行部102からの手続き呼び出しに応じて出力値を取得する度に、その手続き呼び出しの際の入力値と出力値との組み合わせについて、表明情報202に定義されているその手続きの事前条件を示す論理式と事後条件を示す論理式とに代入することによって、スタブの正当性に関する反例を検出してもよい。
また、参照エラー検出部105は、例えば、テーブル駆動型スタブ実行部104に対して手続き呼び出しがされる度に、その手続き呼び出しの入力値が、入出力値テーブルに登録されているか否かを判断することによって、スタブの網羅性に関する反例を検出してもよい。
なお、入出力値エラー検出部106は、例えば、テストドライバ実行部101がテストドライバを実行する前に、入出力値テーブル201に登録されている入力値と出力値の組み合わせ全てについて、その手続きの表明情報202として定義されている事前条件を示す論理式と事後条件を示す論理式とに代入することによって、スタブの正当性に関する反例を検出するようにしてもよい。
次に、具体例を用いて本実施形態の動作を説明する。図6は、本実施形態におけるソフトウェア部分テストシステムの一実施例を示す説明図である。図6に示す例では、テスト対象モジュール実行部102は、テストドライバ実行部101からの手続き呼び出しに応じて駆動されるとき、依存モジュールを呼び出しながら動作するものとする。なお、テスト対象モジュール実行部102からの依存モジュールの呼び出しは、テーブル駆動型スタブ実行部104がスタブへの手続き呼び出しとして受け付ける。本例では、手続きfunc1に関して、引数nを100,10,0,−10,−100とする計5回の手続き呼び出しが発生するものとする。
テーブル駆動型スタブ実行部104は、テスト対象モジュール実行部102からの依存モジュールに対する手続き呼び出しを依存モジュール実行部103に代わって受け、呼び出し発生時点での引数や変数の値割り当て状況に一致する入力値を、入出力値テーブル201に登録されたデータの中から探す。そして、一致する入力値が登録されている場合には、その入力値に対応する出力値に基づいて、戻り値や変数の設定を行って呼び出し元に制御を返すものとする。一方で、一致する入力値が入出力値テーブル201に存在しなかった場合には、エラー状態を発生させる。
本実施例では、手続きfunc1について、n=100が入力された場合およびn=10が入力された場合には、入出力値テーブル201に入力値としてその値が登録されていることから、その入力値に対応づけて登録されている出力値に基づいて、手続きfunc1の出力値として1を返すことによってその振る舞いをシミュレートする。
なお、nが0,−10,−100の場合については、入出力値テーブル201に入力値としてその値が存在していないため、エラー状態を発生させる。そして、その時点での引数や変数の割り当て状況を記録する。なお、エラー状態を発生させた後も、戻り値などの最低限の出力結果をデータ型固有のデフォルト値に設定して呼び出し元に制御を返すことで可能な限りテスト実行を継続させてもよい。
入出力値テーブル201には、テーブル駆動型スタブ実行部104が実行するスタブの振る舞いを定義するデータとして、(手続き名,入力値,出力値)={(func1,n==100,¥result==1),(func1,n==10,¥result==1)}が登録されている。これらのデータは、それぞれfunc1(100)の呼び出しに対する戻り値が1になること、func1(10)の呼び出しに対する戻り値が1となることを表している。本実施例では、入力値や出力値として、引数nや戻り値のみを指定しているが、一般には手続きの引数や戻り値に限らず、変数の値を指定することも可能である。
参照エラー検出部105は、テストドライバ実行部101がテストドライバを実行した際に、テストケースに応じてテーブル駆動型スタブ実行部104が受け付けるスタブへの手続き呼び出しを監視し、エラー発生を検出したときはその時点での引数や変数の割り当て状況を網羅性に関する反例として提示する。本例では、nが0,−10,−100の場合にfunc1の呼び出し実行がエラー状態となり、その時の網羅性に関する反例として、例えば図7に示すような内容の情報を提示する。図7は、網羅性に関する反例の提示例を示す説明図である。図7では、網羅性に関する反例を示す情報として、反例として検出された入力値とその反例が生じた手続き名とを対応づけて示す例が示されている。
また、表明情報202には、依存モジュールの持つ手続き毎にその事前条件と事後条件の対が列挙されて定義づけられている。図6では、事前条件と事後条件の記述にJML(Java Modeling Language(Javaは登録商標。))を用いた例を示している。”requires”は事前条件を表す。また、”ensures”は事後条件を表す。また、”alse”は論理和結合を表す。例示したJMLのステートメントは、手続きfunc1が実行される際に引数nが正のときは戻り値が正となり、引数nが0のときは戻り値が0となり、引数nが負のときは戻り値が負となることを表現している。
入出力値エラー検出部106は、表明情報202として登録されている手続きfunc1についての事前条件を示す論理式と事後条件を示す論理式の組み合わせに対して、入出力値テーブル201に登録されている手続きfunc1の入力値と出力値の組み合わせをそれぞれ代入し、事前条件が真で事後条件が偽となるような入力値と出力値の組み合わせを、正当性に関する反例として提示する。図8は、正当性に関する反例の提示例を示す説明図である。図8に示すように、入出力値エラー検出部106は、正当性に関する反例として、検出した入力値と出力値の組み合わせと、その反例が定義されていた手続き名と、事前条件および事後条件の真偽(判定結果)とを対応づけて提示してもよい。なお、レコードNo等、入出力値テーブル201のどこに格納されている情報かを示す情報を合わせて提示するようにしてもよい。
本実施例では、手続きfunc1の引数nが100は事前条件が真で事後条件が偽となるような入力値と出力値の組み合わせではないが、引数nが10の場合は事前条件を満たしつつも事後条件が偽となる入力値と出力値の組み合わせとなっているので、図8に示すような情報が正当性に関する反例として出力される。
以上のように、本実施形態によれば、テーブル駆動でスタブを実現し、かつ表明情報としてスタブの仕様を与えることで、実際に入力される値に対する実装もれや、仕様との不整合を容易にかつ確実に検出することができる。
なお、上記実施形態には、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、依存モジュールに対する手続き呼び出しを受け付けて、入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段と、表明情報に基づき、入出力値テーブルから、テーブル駆動型振る舞い模擬手段が代行する振る舞いの正当性に関する反例を検出する正当性検査手段とを備えたソフトウェア部分テストシステムの構成例が示されている(図1参照。)。
また、上記実施形態には、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、依存モジュールに対する手続き呼び出しを受け付けて、入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、テーブル駆動型振る舞い模擬手段が受け付けた依存モジュールに対する手続き呼び出しの入力値に基づき、入出力値テーブルから、テーブル駆動型振る舞い模擬手段が代行する振る舞いの網羅性に関する反例を検出する網羅性検査手段とを備えたソフトウェア部分テストシステムの構成例が示されている(図2参照。)。
また、上記実施形態には、テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、依存モジュールに対する手続き呼び出しを受け付けて、入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段と、テーブル駆動型振る舞い模擬手段が受け付けた依存モジュールに対する手続き呼び出しの入力値に基づき、入出力値テーブルから、テーブル駆動型振る舞い模擬手段が代行する振る舞いの網羅性に関する反例を検出する網羅性検査手段と、表明情報に基づき、入出力値テーブルから、テーブル駆動型振る舞い模擬手段が代行する振る舞いの正当性に関する反例を検出する正当性検査手段とを備えたソフトウェア部分テストシステムの構成例が示されている(図3および図4参照。)。なお、図4においては、入出力値テーブル保持手段および表明情報保持手段は、記憶装置200によって実現されている。また、テーブル駆動型振る舞い模擬手段は、テーブル駆動型スタブ実行部104によって実現されている。また、網羅性検査手段は、参照エラー検出部105によって実現されている。また、正当性検査手段は、入出力値エラー検出部106によって実現されている。
また、上記実施形態には、表明情報保持手段が、依存モジュールが行う手続きについて、その手続きの満たすべき性質を示す表明情報として、事前条件を示す論理式と、事後条件を示す論理式とを対応づけて保持し、正当性検査手段が、表明情報として定義されている事前条件の論理式と事後条件の論理式の組み合わせに対して、入出力値テーブルに登録されている入力値と出力値の組み合わせを代入した結果、事前条件が真で事後条件が偽となる場合に、当該入力値と出力値の組み合わせを正当性に関する反例として検出するソフトウェア部分テストシステムの構成例が示されている(図6および図8参照。)。
また、上記実施形態には、正当性検査手段が、モジュールテストを実行する前に、入出力値テーブルに登録されている入力値と出力値の組み合わせ全てについて、その手続きの表明情報として定義されている事前条件を示す論理式と事後条件を示す論理式とに代入して、事前条件が真で事後条件が偽となる入力値と出力値の組み合わせがあるか否かを判断することによって、正当性に関する反例を検出するソフトウェア部分テストシステムの構成例が示されている。
また、上記実施形態には、正当性検査手段が、テーブル駆動型振る舞い模擬手段が入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて依存モジュールの振る舞いを代行した際に、その手続き呼び出しの際の入力値と出力値との組み合わせについて、その手続きの表明情報として定義されている事前条件を示す論理式と事後条件を示す論理式とに代入し、事前条件が真で事後条件が偽となる場合に、当該入力値と出力値の組み合わせを正当性に関する反例として検出するソフトウェア部分テストシステムの構成例が示されている。
また、上記実施形態には、網羅性検査手段が、テーブル駆動型振る舞い模擬手段が受け付けた依存モジュールに対する手続き呼び出しの入力値が、入出力値テーブルに登録されていない場合に、その入力値を網羅性に関する反例として検出するソフトウェア部分テストシステムの構成例が示されている(図6および図7参照。)。
また、上記実施形態には、網羅性検査手段が、テーブル駆動型振る舞い模擬手段が依存モジュールに対する手続き呼び出しを受け付けたときに、その手続き呼び出しの入力値が、入出力値テーブルに登録されているか否かを判断することによって、網羅性に関する反例を検出するソフトウェア部分テストシステムの構成例が示されている。
本発明は、ソフトウェアを複数のモジュールに分割して並行開発する際の部分テストに好適に適用可能である。
本発明によるソフトウェア部分テストシステムの構成例を示すブロック図である。 本発明によるソフトウェア部分テストシステムの他の構成例を示すブロック図である。 本発明によるソフトウェア部分テストシステムの他の構成例を示すブロック図である。 ソフトウェア部分テストシステムのより具体的な構成例を示すブロック図である。 本実施形態におけるソフトウェア部分テストシステムの動作の一例を示すフローチャートである。 本実施形態におけるソフトウェア部分テストシステムの一実施例を示す説明図である。 網羅性に関する反例の提示例を示す説明図である。 正当性に関する反例の提示例を示す説明図である。
符号の説明
11 テーブル駆動型振る舞い模擬手段
21 入出力値テーブル保持手段
22 表明情報保持手段
31 正当性検査手段
32 網羅性検査手段
101 テストドライバ実行部
102 テスト対象モジュール実行部
103 依存モジュール実行部
104 テーブル駆動型スタブ実行部
105 参照エラー検出部
106 入出力値エラー検出部

Claims (14)

  1. 計算機ソフトウェアの一部分をテストするソフトウェア部分テストシステムであって、
    テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、
    前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、
    前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段と、
    前記表明情報に基づき、前記入出力値テーブルから、前記テーブル駆動型振る舞い模擬手段が代行する振る舞いの正当性に関する反例を検出する正当性検査手段とを備えた
    ことを特徴とするソフトウェア部分テストシステム。
  2. 計算機ソフトウェアの一部分をテストするソフトウェア部分テストシステムであって、
    テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、
    前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、
    前記テーブル駆動型振る舞い模擬手段が受け付けた前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記テーブル駆動型振る舞い模擬手段が代行する振る舞いの網羅性に関する反例を検出する網羅性検査手段とを備えた
    ことを特徴とするソフトウェア部分テストシステム。
  3. テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、
    前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行するテーブル駆動型振る舞い模擬手段と、
    前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段と、
    前記テーブル駆動型振る舞い模擬手段が受け付けた前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記テーブル駆動型振る舞い模擬手段が代行する振る舞いの網羅性に関する反例を検出する網羅性検査手段と、
    前記表明情報に基づき、前記入出力値テーブルから、前記テーブル駆動型振る舞い模擬手段が代行する振る舞いの正当性に関する反例を検出する正当性検査手段とを備えた
    請求項1または請求項2に記載のソフトウェア部分テストシステム。
  4. 表明情報保持手段は、依存モジュールが行う手続きについて、その手続きの満たすべき性質を示す表明情報として、事前条件を示す論理式と、事後条件を示す論理式とを対応づけて保持し、
    正当性検査手段は、前記表明情報として定義されている事前条件の論理式と事後条件の論理式の組み合わせに対して、入出力値テーブルに登録されている入力値と出力値の組み合わせを代入した結果、事前条件が真で事後条件が偽となる場合に、当該入力値と出力値の組み合わせを正当性に関する反例として検出する
    請求項1または請求項3に記載のソフトウェア部分テストシステム。
  5. 正当性検査手段は、モジュールテストを実行する前に、入出力値テーブルに登録されている入力値と出力値の組み合わせ全てについて、その手続きの表明情報として定義されている事前条件を示す論理式と事後条件を示す論理式とに代入して、事前条件が真で事後条件が偽となる入力値と出力値の組み合わせがあるか否かを判断することによって、正当性に関する反例を検出する
    請求項4に記載のソフトウェア部分テストシステム。
  6. 正当性検査手段は、テーブル駆動型振る舞い模擬手段が入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて依存モジュールの振る舞いを代行した際に、その手続き呼び出しの際の入力値と出力値との組み合わせについて、その手続きの表明情報として定義されている事前条件を示す論理式と事後条件を示す論理式とに代入し、事前条件が真で事後条件が偽となる場合に、当該入力値と出力値の組み合わせを正当性に関する反例として検出する
    請求項4に記載のソフトウェア部分テストシステム。
  7. 網羅性検査手段は、テーブル駆動型振る舞い模擬手段が受け付けた依存モジュールに対する手続き呼び出しの入力値が、入出力値テーブルに登録されていない場合に、その入力値を網羅性に関する反例として検出する
    請求項2または請求項3に記載のソフトウェア部分テストシステム。
  8. 網羅性検査手段は、テーブル駆動型振る舞い模擬手段が依存モジュールに対する手続き呼び出しを受け付けたときに、その手続き呼び出しの入力値が、入出力値テーブルに登録されているか否かを判断することによって、網羅性に関する反例を検出する
    請求項7に記載のソフトウェア部分テストシステム。
  9. 計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト方法であって、
    テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持し、
    前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持し、
    前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する過程で、前記表明情報に基づき、前記入出力値テーブルから、前記代行する振る舞いの正当性に関する反例を検出する
    ことを特徴とするソフトウェア部分テスト方法。
  10. 計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト方法であって、
    テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持し、
    前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する過程で、前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記代行する振る舞いの網羅性に関する反例を検出する
    ことを特徴とするソフトウェア部分テスト方法。
  11. テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持し、
    前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持し、
    前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する過程で、前記表明情報に基づき、前記入出力値テーブルから、前記代行する振る舞いの正当性に関する反例を検出するとともに、前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記代行する振る舞いの網羅性に関する反例を検出する
    請求項9または請求項10に記載のソフトウェア部分テスト方法。
  12. 計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト用プログラムであって、
    テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段とを備えたコンピュータに、
    前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する処理、および
    前記表明情報に基づき、前記入出力値テーブルから、前記代行する振る舞いの正当性に関する反例を検出する処理
    を実行させるためのソフトウェア部分テスト用プログラム。
  13. 計算機ソフトウェアの一部分をテストするためのソフトウェア部分テスト用プログラムであって、
    テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段を備えたコンピュータに、
    前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する処理、および
    受け付けた前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記代行する振る舞いの網羅性に関する反例を検出する処理
    を実行させるためのソフトウェア部分テスト用プログラム。
  14. テスト対象となっているモジュール群から呼び出されるサブモジュールである依存モジュールが行う手続きについて、少なくともテストケースに応じた手続き呼び出しの入力値に対応づけてその手続き呼び出しの出力値を規定する入出力値テーブルを保持する入出力値テーブル保持手段と、前記依存モジュールが行う手続きの満たすべき性質を事前条件と事後条件とによって規定する表明情報を保持する表明情報保持手段とを備えたコンピュータに、
    前記依存モジュールに対する手続き呼び出しを受け付けて、前記入出力値テーブルに規定されている入力値と出力値との対応づけに基づいて、前記依存モジュールが行う手続きの振る舞いを代行する処理、
    前記表明情報に基づき、前記入出力値テーブルから、前記代行する振る舞いの正当性に関する反例を検出する処理、および
    受け付けた前記依存モジュールに対する手続き呼び出しの入力値に基づき、前記入出力値テーブルから、前記代行する振る舞いの網羅性に関する反例を検出する処理
    を実行させる請求項12または請求項13に記載のソフトウェア部分テスト用プログラム。
JP2007302460A 2007-11-22 2007-11-22 ソフトウェア部分テストシステム、それに用いる方法およびプログラム Active JP4957521B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007302460A JP4957521B2 (ja) 2007-11-22 2007-11-22 ソフトウェア部分テストシステム、それに用いる方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007302460A JP4957521B2 (ja) 2007-11-22 2007-11-22 ソフトウェア部分テストシステム、それに用いる方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2009129132A true JP2009129132A (ja) 2009-06-11
JP4957521B2 JP4957521B2 (ja) 2012-06-20

Family

ID=40819995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007302460A Active JP4957521B2 (ja) 2007-11-22 2007-11-22 ソフトウェア部分テストシステム、それに用いる方法およびプログラム

Country Status (1)

Country Link
JP (1) JP4957521B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012048660A (ja) * 2010-08-30 2012-03-08 Nec Corp 静的解析処理システム、方法、およびプログラム
JP2016115124A (ja) * 2014-12-15 2016-06-23 富士通株式会社 スタブ化方法、プログラム及び装置
CN106528434A (zh) * 2016-12-16 2017-03-22 上海携程国际旅行社有限公司 自动化测试的关键字前置的处理方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07265414A (ja) * 1994-03-31 1995-10-17 Kanegafuchi Chem Ind Co Ltd 血漿交換装置
JPH09265414A (ja) * 1996-03-28 1997-10-07 Hitachi Ltd テスト環境構築支援システム
JP2000020349A (ja) * 1998-07-06 2000-01-21 Toshiba Corp プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援用プログラムを記録した媒体
JP2000132425A (ja) * 1998-10-26 2000-05-12 Hitachi Ltd ソフトウェアテスト方法
JP2001229044A (ja) * 2000-02-16 2001-08-24 Hitachi Ltd デバッグ方法
JP2005038076A (ja) * 2003-07-17 2005-02-10 Fujitsu Ltd プログラムテスト用会話型スタブ装置およびスタブプログラム記憶媒体
JP2006091944A (ja) * 2004-09-21 2006-04-06 Fuji Xerox Co Ltd ソフトウェアコンポーネントテストシステム及びソフトウェアコンポーネントテスト方法
JP2006301983A (ja) * 2005-04-21 2006-11-02 Hitachi Ltd 情報処理装置およびプログラムのテスト方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07265414A (ja) * 1994-03-31 1995-10-17 Kanegafuchi Chem Ind Co Ltd 血漿交換装置
JPH09265414A (ja) * 1996-03-28 1997-10-07 Hitachi Ltd テスト環境構築支援システム
JP2000020349A (ja) * 1998-07-06 2000-01-21 Toshiba Corp プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援用プログラムを記録した媒体
JP2000132425A (ja) * 1998-10-26 2000-05-12 Hitachi Ltd ソフトウェアテスト方法
JP2001229044A (ja) * 2000-02-16 2001-08-24 Hitachi Ltd デバッグ方法
JP2005038076A (ja) * 2003-07-17 2005-02-10 Fujitsu Ltd プログラムテスト用会話型スタブ装置およびスタブプログラム記憶媒体
JP2006091944A (ja) * 2004-09-21 2006-04-06 Fuji Xerox Co Ltd ソフトウェアコンポーネントテストシステム及びソフトウェアコンポーネントテスト方法
JP2006301983A (ja) * 2005-04-21 2006-11-02 Hitachi Ltd 情報処理装置およびプログラムのテスト方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012048660A (ja) * 2010-08-30 2012-03-08 Nec Corp 静的解析処理システム、方法、およびプログラム
JP2016115124A (ja) * 2014-12-15 2016-06-23 富士通株式会社 スタブ化方法、プログラム及び装置
CN106528434A (zh) * 2016-12-16 2017-03-22 上海携程国际旅行社有限公司 自动化测试的关键字前置的处理方法及系统

Also Published As

Publication number Publication date
JP4957521B2 (ja) 2012-06-20

Similar Documents

Publication Publication Date Title
US20180357146A1 (en) Completing functional testing
US20080126867A1 (en) Method and system for selective regression testing
US7882495B2 (en) Bounded program failure analysis and correction
US20050223362A1 (en) Methods and systems for performing unit testing across multiple virtual machines
US20080270840A1 (en) Device and method for testing embedded software using emulator
US20120167060A1 (en) System and Method for Software Immunization Based on Static and Dynamic Analysis
US10049031B2 (en) Correlation of violating change sets in regression testing of computer software
CN103049371A (zh) Android应用程序测试方法和测试装置
KR102537875B1 (ko) 차량 ecu 소프트웨어 검증을 위한 동적 결함 주입 방법 및 장치
US9274930B2 (en) Debugging system using static analysis
US8868976B2 (en) System-level testcase generation
US20080276129A1 (en) Software tracing
US8752027B2 (en) Injecting faults into program for testing software
JP2009087354A (ja) ウェブアプリケーションの自動テスト生成システム及び方法
JP2000222244A (ja) コンピュ―タプログラムの微細でない変異のフィルタリングによる強化された機能テスト
US20080270842A1 (en) Computer operating system handling of severe hardware errors
JP2015011372A (ja) デバッグ支援システム、方法、プログラム及び記録媒体
Koeman et al. Automating failure detection in cognitive agent programs
CA2811617C (en) Commit sensitive tests
CN110990289B (zh) 一种自动提交bug的方法、装置、电子设备及存储介质
Delamare et al. A test-driven approach to developing pointcut descriptors in AspectJ
JP4957521B2 (ja) ソフトウェア部分テストシステム、それに用いる方法およびプログラム
Debbarma et al. Static and dynamic software metrics complexity analysis in regression testing
US9075921B2 (en) Error simulation
JP2013218492A (ja) ソフトウェアテスト自動評価装置および方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101012

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120201

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120305

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4957521

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150