JP2007241432A - ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラム - Google Patents

ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラム Download PDF

Info

Publication number
JP2007241432A
JP2007241432A JP2006059779A JP2006059779A JP2007241432A JP 2007241432 A JP2007241432 A JP 2007241432A JP 2006059779 A JP2006059779 A JP 2006059779A JP 2006059779 A JP2006059779 A JP 2006059779A JP 2007241432 A JP2007241432 A JP 2007241432A
Authority
JP
Japan
Prior art keywords
function
test
data
function information
module
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.)
Pending
Application number
JP2006059779A
Other languages
English (en)
Inventor
Kenji Tohori
賢治 戸堀
Koichi Furusawa
康一 古澤
Kazufumi Ohashi
一史 大橋
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006059779A priority Critical patent/JP2007241432A/ja
Publication of JP2007241432A publication Critical patent/JP2007241432A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】ユーザの負担を軽減し人為的ミスの発生を抑制する。
【解決手段】試験対象モジュール61と同等の機能を備えた同機能保持モジュール51の処理実行時に、実行ソフトウェアの関数情報が格納されたメモリ52を解析して、同機能保持モジュール51の関数情報に関するアドレス情報を取得するメモリ解析部11と、取得されたアドレス情報に基づき同機能保持モジュール51の関数情報を取得する関数情報収集部12と、取得された関数情報から、出力対象を定義した出力対象定義データ102に基づき、試験入力データ111及び期待値データ112を生成するデータ生成部13とを備える。
【選択図】図1

Description

この発明はソフトウェアの試験を行うソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラムに関するものである。
プログラムモジュールのブラックボックステストの試験工程は、試験に使用する試験データを作成する試験データ作成工程と、試験データを入力して試験対象モジュールの処理を実行し実行結果を出力する処理実行工程と、実行結果の評価を行う評価工程から構成されている。
このブラックボックステストでは、試験対象モジュールの試験手順や引数値を含む試験仕様を定義した試験入力データを入力し、試験対象モジュールの処理を実行することにより試験を行い、試験後の評価は、試験対象モジュールの処理後の関数の戻り値や引数値等の実行結果を、実行結果の期待値である期待値データと比較することにより行う。
このブラックボックステストを実施する際に、試験入力データや期待値データを作成することが必要になるが、それぞれの試験対象モジュールの仕様により必要となる試験入力データや期待値データが異なるために、試験入力データや期待値データの作成を自動化することは困難であり手作業で行う必要がある。そのため、試験入力データや期待値データの作成作業は、試験規模が大きくなればなるほどユーザの負担が増加し人為的なミスの発生も多くなる。
特許文献1に示す「アプリケーションソフトの機能検証方法」では、アプリケーションソフトの新バージョンにおける機能情報を記憶するステップと、アプリケーションソフトの新旧バージョンにおける機能情報を比較するステップとを有し、機能情報の差異を比較検証することにより、バージョンの相違により差異の機能を見つけ出すことを特徴としている。
しかし、この特許文献1では、新バージョンの試験を行う際に、旧バージョンの試験のときの試験入力データや試験結果が必要となるが、旧バージョン自体が手元にあっても、試験入力データや試験結果がない場合や、旧バージョンの試験が新バージョンと異なる試験装置で試験されているために所望のフォーマットの試験結果がない場合があり、そのまま試験を自動化することは困難なケースが多々ある。
特開平7−261987号公報(段落0010)
従来のソフトウェア試験装置は以上のように構成されているので、新バージョンのソフトウェアの試験の際に使用する試験入力データ及び期待値データを自動生成することができず、ユーザの負担が増加し人為的ミスの発生が多くなるという課題があった。
この発明は上記のような課題を解決するためになされたもので、新バージョンのソフトウェアの試験の際に使用する試験入力データ及び期待値データを自動生成することにより、ユーザの負担を軽減し人為的ミスの発生を抑制することができるソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラムを得ることを目的とする。
この発明に係るソフトウェア試験装置は、試験対象モジュールの試験の手順や引数値を含む試験仕様を定義した試験入力データ及び上記試験対象モジュールの実行結果の期待値を表す期待値データを使用して上記試験対象モジュールを評価するものにおいて、上記試験対象モジュールと同等の機能を備えた同機能保持モジュールの処理実行時に、実行ソフトウェアの関数情報が格納されたメモリを解析して、上記同機能保持モジュールの関数情報に関するアドレス情報を取得するメモリ解析部と、該メモリ解析部により取得されたアドレス情報に基づき上記同機能保持モジュールの関数情報を取得する関数情報収集部と、該関数情報収集部により取得された関数情報から、出力対象を定義した出力対象定義データに基づき、上記試験入力データ及び上記期待値データを生成するデータ生成部とを備えたものである。
この発明により、ユーザの負担を軽減し人為的ミスの発生を抑制することができるという効果が得られる。
実施の形態1.
図1はこの発明の実施の形態1によるソフトウェア試験装置の構成を示すブロック図である。このソフトウェア試験装置は、メモリ解析部11及び関数情報収集部12により構成されたデータ抽出部10、データ生成部13、処理実行部21並びに評価部22を備えており、試験の対象となるモジュールである試験対象モジュール61を評価する際に使用する試験の手順や引数値を含む試験仕様を定義した試験入力データ111及び試験対象モジュール61の処理結果である実行結果113の期待値を表す期待値データ112を、試験対象モジュール61と同等の機能を備えたモジュールである同機能保持モジュール51を含むソフトウェア50を使用して自動生成するものである。
例えば、ソフトウェアのバージョンアップを行う際の古いバージョンが同機能保持モジュール51に相当し、新しいバージョンが試験対象モジュール61に相当する。
図1において、メモリ解析部11は、同機能保持モジュール51の処理実行時に、実行ソフトウェアの関数情報が格納されたメモリ52を解析して、同機能保持モジュール51の関数情報に関するアドレス情報を取得する。関数情報収集部12はメモリ解析部11により取得されたアドレス情報に基づき同機能保持モジュール51の関数情報を取得する。データ生成部13は関数情報収集部12により取得された関数情報から、出力対象を定義した出力対象定義データ102に基づき、試験対象モジュール61を評価する際に使用する試験の手順や引数値を含む試験仕様を定義した試験入力データ111及び試験対象モジュール61の処理結果である実行結果113の期待値を表す期待値データ112を生成する。
このように、試験入力データ111及び期待値データ112は試験対象モジュール61の関数情報に対応する同機能保持モジュール51の関数情報に基づいて生成される。
処理実行部21は、データ生成部13により生成された試験の手順や引数値を含む試験仕様を定義した試験入力データ111に基づき、試験対象モジュール61の処理を実行して実行結果113を出力する。評価部22は、処理実行部21により出力された実行結果113とデータ生成部13により生成された期待値データ112を比較することにより、実行結果113の評価を行い評価結果114を出力する。
関数情報は、対象となる関数が属するクラス名、対象となる関数の関数名、対象となる関数が使用する全ての引数の型と引数値、戻り値の型及び戻り値を含んでいる。なお、ここで、関数とは引数と呼ばれるデータを受け取り定められたとおりの処理を実行して結果を返す一連の命令群を指す。
図2は関数情報の例を示す図である。図2において、対象となる関数Method1の関数情報は、Method1が属するクラス名201、関数名202、Method1の全引数の引数の型(1−1から1−m(mは整数値))203,205,207、引数値(1−1から1−m(mは整数値))204,206,208、戻り値の型209、戻り値210を含んでいる。
また、ソフトウェア試験装置において関数情報を保持する場合は、関数宣言での引数の並び順を一意に特定できる保持形式である必要がある。例えば、関数宣言での引数の並びとソフトウェア試験装置が保持する関数情報における引数の型や引数値といった引数情報の並びを等しくしておくことにより、関数宣言での引数の並び順を一意に特定できる。
関数情報の取得はメモリ解析部11及び関数情報収集部12により構成されるデータ抽出部10により行われる。
関数情報の取得処理の流れは以下のとおりである。
最初に、関数情報を出力したい同機能保持モジュール51内の関数から、データ抽出部10内のメモリ解析部11を呼び出す(詳細は後述)。次に、呼び出されたメモリ解析部11は、実行ソフトウェアの関数情報が格納されたメモリ52を解析して、関数情報の取得に必要な関数アドレス、関数の戻りアドレス、関数の使用しているスタック範囲を示すアドレス(以下、これらを総称してアドレス情報とする)を抽出して、関数情報収集部12を呼び出す。最後に、関数情報収集部12は、抽出されたアドレス情報に基づき、コンパイラが提供するシンボル検索機能を使用して、呼び出し元の同機能保持モジュール51内の関数の関数情報を取得する。このシンボル検索機能は、シンボル情報へアクセスする機能であり、一般的に使用されている。
同機能保持モジュール51からデータ抽出部10内のメモリ解析部11を呼び出すための実装方法は、コンパイラで提供されている特定の関数を挿入する機能(以下、プロファイル機能とする)を利用する。
このプロファイル機能とは、実行コード内に存在する関数(正確にはオプションを指定してコンパイルされたソースコード内にある関数)の処理の前後にそれぞれ特定の関数(以下、プロファイル関数とする)を挿入する機能である。例えば、Microsoft社のMicrosoft Visual C++のプロファイル機能を利用することができる。
このプロファイル関数にメモリ解析部11を呼び出すコードを実装することで、同機能保持モジュール51からメモリ解析部11を呼び出せるようにすることができる。
メモリ解析部11はソフトウェアの以下の原理を利用してアドレス情報を取得する。ソフトウェアでは、関数呼び出しの際に、呼び出し元に戻るために呼び出し元のアドレス情報が必要となる。この呼び出し元のアドレス情報は関数の呼び出しの際にメモリ52上に格納される。アドレス情報はメモリ52上に格納されているので、メモリ52上を解析することにより容易に取得できる。
メモリ解析部11は、このようにしてアドレス情報を取得し、関数情報収集部12を呼び出す。
関数情報収集部12は、コンパイラが提供するシンボル検索機能を使用して、メモリ解析部11により取得された呼び出し元のアドレス情報に基づき同機能保持モジュール51の関数情報を取得する。
このシンボル検索機能には、アドレス情報からの関数名の検索、関数引数情報の検索、関数自動変数の情報の取得、基本型情報及び構造体等のユーザ定義型情報の取得等の機能が含まれている。関数情報収集部12は、これらの機能を使用することで、容易にアドレス情報から同機能保持モジュール51の関数情報を取得することができる。シンボル検索機能としては、例えば開発環境がMicrosoft社のMicrosoft Visual C++の場合、デバッグ支援ツールのAPI(application program interface)を利用する方法がある。その他の開発環境においても、一般的に同様の手段は提供されているので、必要な関数情報を検索して取得することができる。
同機能保持モジュール51の関数情報は、前述のプロファイル機能を利用して、試験対象の関数処理の先頭及び末尾にプロファイル関数の呼び出しコードを同機能保持モジュール51に埋め込み、プロファイル関数内でメモリ解析部11を呼び出して取得している。このような方法によると、同機能保持モジュール51の実行時に自動的にメモリ解析部11が呼び出されるので、入力データ101によるインタフェースの入力操作を利用して、同機能保持モジュール51を含むソフトウェア50の処理を実行するだけで、同機能保持モジュール51の関数情報を取得することができ、後述のデータ生成部13により、取得された関数情報から試験入力データ111及び期待値データ112を生成することができる。
入力する入力データ101は、同機能保持モジュール51を含むソフトウェア50の仕様に合わせたものであり、例えば、同機能保持モジュール51を含むソフトウェア50のGUI(Graphical User Interface)操作による入力であっても良い。このように、同機能保持モジュール51を含むソフトウェア50のインタフェースを使用して試験入力データ111及び期待値データ112を自動生成できるため、試験装置用の入力データのフォーマット又は操作を習得するといったユーザの負担を軽減できる。
出力対象定義データ102は、データ生成部13において試験入力データ111及び期待値データ112を出力する際に、試験入力データ111及び期待値データ112の生成に必要な関数を一意に特定するためのデータである。例えば、既存のコーディング言語の表記方法又は構文規則を用いたり、予約語により前後の文字列又は数値の意味づけをしたり、文字列又は数値の並び順により関数内の引数の構成を示したり、記号により前後の文字列又は数値の意味づけをしたりしても良い。
図3は出力対象定義データ102の例を示す図である。出力対象定義データ102は、図3に示すように、関数名、関数の型、引数の型情報を、C++のような関数宣言211,212により表しても良い。
データ生成部13は、データ抽出部10(関数情報収集部12)により、データ抽出部10の呼び出し元の関数処理の先頭で取得した関数情報を、出力対象定義データ102に基づき、後述の試験入力データ111の特定のフォーマットに従ってファイルに出力することにより、試験対象モジュール61の試験入力データ111を生成する。また、データ生成部13は、データ抽出部10の呼び出し元の関数処理の末尾で取得した関数情報を、出力対象定義データ102に基づき、後述の期待値データ112の特定のフォーマットに従ってファイルに出力することにより、試験対象モジュール61の期待値データ112を生成する。
試験入力データ111は、試験対象モジュール名、試験対象のクラスの名前を示す試験対象クラス名、試験対象メソッドの引数の宣言を示す引数宣言、試験対象メソッドの試験実行時の入力を示す引数入力値、試験対象のメソッドの呼び出しコードである試験対象メソッド呼び出しコードの情報を構成要素として含み、それぞれの文字列又は数値が何を意味するかを明確にするフォーマットである必要がある。
つまり、試験入力データ111は、一つの文字列又は数値が、クラス宣言、関数宣言、引数宣言、引数値、呼び出しコードのうちどれを表しているかを明確にし、関数に関連のある文字列又は数値であれば、どのクラスに属する情報であるか、引数に関連のある文字列又は数値であれば、どのクラスに属し、どの関数に属する情報であるかを明確にし、関数の引数の構成を明確にするフォーマットである必要がある。また、一つの試験入力データ111には、一つの関数の関数情報を定義するだけでなく、複数の関数の関数情報を定義しても良い。
図4は試験入力データ111の例を示す図である。図4に示す試験入力データ111は、C++のクラス宣言の構文規則を用いており、モジュールを表す予約語@DriverInitの後に続くモジュール名221、クラス宣言222、引数宣言223,224、引数の初期化225,226、試験対象メソッドの呼び出しコード227を含んでいる。なお、図4では、「{}」記号により一つの関数に必要な情報の範囲を示している。
期待値データ112は、試験対象モジュール61の関数の宣言を示す関数宣言、試験対象メソッドの関数処理後の戻り値(期待値)、試験対象メソッドの関数処理後の引数の期待値を示す関数処理後の引数値(期待値)を構成要素として含み、試験入力データ111と同様に、それぞれの文字列又は数値が何を意味するかを明確にするフォーマットである必要がある。また、一つの期待値データ112には、一つの関数の実行結果113の期待値を定義するだけでなく、複数の関数の実効結果113の期待値を定義しても良い。
図5は期待値データ112の例を示す図である。図5に示す期待値データ112は、C++の関数宣言の構文規則を用いており、関数宣言を表す予約語[METHOD]の後に続く関数宣言231、戻り値を表す予約語RETURNの後に続く戻り値(期待値)232、出力引数を表す予約語[OUT]の後に続くイコール記号の左の引数233、イコール記号の右の引数値234を含んでいる。
処理実行部21はデータ生成部13により生成された試験対象モジュール61の試験入力データ111を入力して試験を行う。このとき、処理実行部21は、for文、if文等の制御コマンドを含むC++の構文規則により構成された試験入力データ111をインタプリタのように上から解析して、試験対象モジュール名により、処理実行する試験対象モジュール61の識別を行い、試験対象クラス名及び試験対象メソッド呼び出しコードにより、試験対象となるメソッドを識別して、試験入力データ111の引数宣言及び引数入力値から試験対象メソッドの入力値を設定し、試験対象の試験対象メソッド呼び出しコードより試験対象メソッドの呼び出しを行う。また、処理実行部21は、試験対象メソッドの処理完了後に、処理結果として試験対象メソッドが返す戻り値や引数値をもとに試験対象メソッドの処理結果を示す実行結果113を作成する。
実行結果113は、試験対象メソッドの関数の宣言を表す関数宣言、試験対象メソッドの戻り値を表す戻り値、試験対象メソッドの関数処理後の引数値を表す関数処理後の引数値を構成要素として含み、試験入力データ111と同様に、それぞれの文字列又は数値が何を意味するかを明確にするフォーマットである必要がある。また、一つの実行結果113には、一つの関数の実行結果113を定義するだけでなく、複数の関数の実行結果113を定義しても良い。
図6は実行結果113の例を示す図である。図6に示す実行結果113は、C++の関数宣言の構文規則を用いており、関数宣言を表す予約語[METHOD]の後に続く関数宣言241、戻り値を表す予約語RETURNの後に続く戻り値242、出力引数を表す予約語[OUT]の後に続くイコール記号の左の引数243、イコール記号の右の引数値244を含んでいる。
評価部22は、処理実行部21が生成した実行結果113と期待値データ112の比較により、実行結果113の評価を行う。このとき、評価部22は、実行結果113及び期待値データ112内にそれぞれ構成要素として含まれるクラス名、関数名及び引数を識別する情報により対応する引数値を特定して、引数値の部分の数値又は文字列の比較を行い、比較結果により、等しければ合格とし、等しくなければ不合格として、評価結果114を出力する。
評価部22が出力する評価結果114は、クラス名、関数名、関数の型、引数の型、引数の評価の結果戻り値の評価の結果を構成要素として含み、試験入力データ111と同様に、それぞれの文字列又は数値が何を意味するかを明確にし、記号、数値又は文字列により評価の結果(合格か不合格か)を明確にするフォーマットである必要がある。また、一つの評価結果114には、一つの関数の実行結果113の評価を定義するだけでなく、複数の関数の実行結果113の評価を定義しても良い。
図7は評価結果114の例を示す図である。図7に示す評価結果114は、C++の関数宣言の構文規則を用いており、関数宣言を表す予約語[METHOD]の後に続く関数宣言251、戻り値を表す予約語RETURNの後に続く関数処理後の戻り値の評価結果252、出力引数を表す予約語[OUT]の後に続くイコール記号の左の引数253、イコール記号の右の関数処理後の引数値の評価結果254を含んでいる。
また、前述の評価結果114の例では、引数単位で評価の結果を出力しているが、一つの関数に関連する全ての引数値及び戻り値の評価の結果が合格の場合は合格として、一つの関数に関連する引数値および戻り値の内、一つでも不合格がある場合は不合格として出力するように関数単位毎に評価の結果を表しても良いし、試験単位毎に評価の結果を表しても良い。
また、評価結果114を関数毎又は試験毎に評価し、実行結果113と期待値データ112との比較の結果、一致しないときはその情報をファイルに出力し、一致する場合は出力しないことにより、評価結果114を表す形式でも良い。この方法では、評価の結果、合格だった場合はファイルサイズが0であり、不合格だった場合はファイルサイズが0より大きくなることから、評価結果114を簡単にチェックできる。
図8はソフトウェア試験装置の処理手順を示すフローチャートである。
ステップST11において、同機能保持モジュール51内の関数情報を出力する関数を指定するための出力対象定義データ102が設定され、また、コンパイラのプロファイル機能を利用してプロファイル関数の埋め込みが行われる。
ステップST12において、同機能保持モジュール51を含むソフトウェア50の処理を実行するための入力データ101がインタフェースを介して同機能保持モジュール51に入力される。
ステップST13において、同機能保持モジュール51の処理が呼び出され、同機能保持モジュール51の処理が実行される。
ステップST14において、同機能保持モジュール51内の関数が実行されると、最初に、関数処理の先頭に埋め込まれた先頭用のプロファイル関数が実行される。先頭用のプロファイル関数内でメモリ解析部11を呼び出す。
ステップST15において、メモリ解析部11は、メモリ52を解析して関数情報の出力対象の関数のアドレス情報を抽出し、抽出したアドレス情報を入力して関数情報収集部12を呼び出す。
ステップST16において、関数情報収集部12は、ステップST15で抽出されたアドレス情報を入力し、コンパイラが提供するシンボル検索機能により同機能保持モジュール51の関数情報を抽出し、抽出した関数情報を入力してデータ生成部13を呼び出す。
ステップST17において、データ生成部13は、関数情報の関数名に基づき出力対象定義データ102内で出力指定された関数かどうかを判断し、出力指定されたデータならば試験入力データ111を作成し、指定外のデータならば破棄する。
ステップST18において、同機能保持モジュール51の関数処理の末尾において、埋め込まれた末尾用のプロファイル関数が実行される。末尾用のプロファイル関数でメモリ解析部11を呼び出す。
ステップST19において、メモリ解析部11は、メモリ52を解析して関数情報の出力対象のアドレス情報を抽出し、抽出したアドレス情報を入力して関数情報収集部12を呼び出す。
ステップST20において、関数情報収集部12はステップST19で抽出されたアドレス情報を入力してシンボル検索機能により同機能保持モジュール51の関数情報を抽出し、抽出した関数情報を入力してデータ生成部13を呼び出す。
ステップST21において、データ生成部13は、関数情報の関数名に基づき出力対象定義データ102内で出力指定された関数かどうかを判断し、出力指定されたデータならば、関数情報から期待値データ112を生成し、指定外のデータならば破棄する。
ステップST22において、同機能保持モジュール51の処理が終了していれば、ステップST23へ移行し、同機能保持モジュール51の処理が終了していなければ、ステップST14へ移行する。
ステップST23において、必要な試験入力データ111及び期待値データ112が揃っていれば、ステップST24へ移行し、揃っていなければ、ステップST12へ移行する。
ステップST24において、処理実行部21はステップST17で生成された試験入力データ111を入力して試験対象モジュール61を呼び出す。処理実行部21内では、試験入力データ111で指定された引数値を入力し、試験入力データ111で指定された試験対象モジュール61の関数を呼び出す。
ステップST25において、処理実行部21は試験対象モジュール61を実行し、試験対象モジュール61は、その処理の結果(戻り値、引数値)を呼び出し元へ返す。
ステップST26において、処理実行部21は、試験対象モジュール61の関数の処理結果(戻り値、引数値)及び試験入力データ111から、試験の実行結果113を生成する。
ステップST27において、評価部22は、ステップST26で生成された実行結果113と、ステップST21で生成された期待値データ112を比較して、評価結果114を生成する。
ステップST28において、デバッグ等により試験を繰り返す場合は、ステップST24へ移行し、試験が完了した場合は処理を終了する。
以上のように、この実施の形態1によれば、試験入力データ111及び期待値データ112を同機能保持モジュール51の実行によって自動生成することにより、ユーザの負担や人為的ミスの発生を軽減することができるという効果が得られる。
また、この実施の形態1によれば、試験入力データ111及び期待値データ112を生成する際に、同機能保持モジュール51を実行するような上位関数を用意する必要がなく、同機能保持モジュール51を含むソフトウェア50のインタフェースを使用して試験入力データ111と期待値データ112を自動生成することにより、試験装置用のフォーマットや操作を習得するといったユーザの負担を軽減することができるという効果が得られる。
実施の形態2.
図9はこの発明の実施の形態2によるソフトウェア試験装置の構成を示すブロック図である。このソフトウェア試験装置は、メモリ解析部11及び関数情報収集部12により構成されたデータ抽出部10、データ変換部14、データ生成部13、処理実行部21並びに評価部22を備えており、上記実施の形態1の図1に示す構成に、関数情報収集部12により取得された関数情報をマッピングデータ103によりデータ変換するデータ変換部14を追加したものである。
この図9に示す構成により、同機能保持モジュール51と試験対象モジュール61のインタフェースが異なっていても、上記実施の形態1と同様に、試験対象モジュール61を評価する際に使用する試験入力データ111及び期待値データ112を、同機能保持モジュール51を含むソフトウェア50を使用して自動生成することができる。
図9において、データ変換部14は関数情報収集部12により取得された同機能保持モジュール51の関数情報を、同機能保持モジュール51と試験対象モジュール61の関数間の対応付けを記述したマッピングデータ103に基づき、試験対象モジュール61の関数情報に変換する。データ生成部13はデータ変換部14により変換された関数情報から、出力対象定義データ102に基づき、試験入力データ111及び期待値データ112を生成する。その他の構成は上記実施の形態1の図1に示す構成と同じである。
マッピングデータ103は、同機能保持モジュール51と試験対象モジュール61の関数情報間の対応付けを記述しており、同機能保持モジュール51の関数名とそれに対応する試験対象モジュール61の関数名、同機能保持モジュール51の関数の引数の識別子とそれに対応する試験対象モジュール61の関数の引数の識別子、試験対象モジュール61に新規に追加される引数の型と追加場所を示す情報、同機能保持モジュール51の関数内の削除する引数の識別子を構成要素として含み、試験入力データ111のように、それぞれの文字列又は数値が何を意味するかを明確にするフォーマットである必要がある。
図10はマッピングデータ103の例を示す図である。図10に示すマッピングデータ103は、クラスを表す予約語[CLASS]の後に続く同機能保持モジュール51のクラス名261、予約語[CLASS]と等しい行にある試験対象モジュール61のクラス名262、関数を表す予約語[METHOD]の後に続く同機能保持モジュール51の関数名263、予約語[METHOD]と等しい行にある試験対象モジュール61の関数名264、引数の識別子として、関数の先頭の引数から何番目かという位置情報を示す数値を用い、引数を表す予約語[ARGUMENT]の後に続く同機能保持モジュール51の引数の位置情報265,267、予約語[ARGUMENT]と等しい行にある試験対象モジュール61の引数の位置情報266,268、試験対象モジュール61の関数情報へ引数の情報を新規追加することを表す予約語[ADD]の後に記号「,」の左側の新規に追加する試験対象モジュール61の引数の位置情報269、記号「,」の右側の新規に追加する試験対象モジュール61の引数の型270、同機能保持モジュール51の関数情報から引数の情報を削除することを表す予約語[DELETE]の後の同機能保持モジュール51から削除する引数の位置情報271を含んでいる。
このように、図10に示すマッピングデータのフォーマットは、関数情報のクラス名や関数名の変更方法、ソフトウェア試験装置における関数情報(引数の型、引数値)の保持する順番の変更方法、関数情報への引数の型の追加方法、関数情報からの引数の型や引数値の削除方法を表している。
データ変換部14は、関数情報収集部12により取得された同機能保持モジュール51の関数情報を、同機能保持モジュール51と試験対象モジュール61の関数情報間の対応付けを記述したマッピングデータ103に基づき、試験対象モジュール61の関数情報に変換する。すなわち、データ変換部14は、マッピングデータ103に基づき、関数情報収集部12により取得された同機能保持モジュール51の関数情報のクラス名や関数名を変更したり、ソフトウェア試験装置における関数情報(引数の型、引数値)が保持する順番を変更したり、関数情報に新たに引数の型を追加したり、関数情報から引数の型や引数値を削除したりする。
引数を新規に追加する場合は、引数値を特定することができないので、例えば、その部分に修正が必要であることを想起させる文字列を出力しておき、手作業により、関数情報から生成されるテストデータに、引数値を追加することでテストデータを完成させる等の処理が必要である。
図11はソフトウェア試験装置の処理手順を示すフローチャートである。
ステップST31において、同機能保持モジュール51内の関数情報を出力する関数を指定するための出力対象定義データ102が設定され、試験対象モジュール61の試験対象関数と同機能保持モジュール51の関数における関数情報に差異がある場合に、データの対応付けを示すマッピングデータ103が設定され、コンパイラのプロファイル機能を利用してプロファイル関数の埋め込みが行われる。(コンパイラ作業)
ステップST32において、同機能保持モジュール51を含むソフトウェア50の処理を実行するための入力データ101がインタフェースを介して同機能保持モジュール51に入力される。
ステップST33において、同機能保持モジュール51の処理が呼び出され、同機能保持モジュール51の処理が実行される。
ステップST34において、同機能保持モジュール51内の関数が実行されると、最初に、関数処理の先頭に埋め込まれた先頭用のプロファイル関数が実行され、先頭用のプロファイル関数内でメモリ解析部11が呼び出される。
ステップST35において、メモリ解析部11は、メモリ52を解析して関数情報の出力対象の関数のアドレス情報を抽出し、抽出したアドレス情報を入力して関数情報収集部12を呼び出す。
ステップST36において、関数情報収集部12はステップST35で抽出されたアドレス情報を入力して、コンパイラが提供するシンボル検索機能により、同機能保持モジュール51内の関数の関数情報を抽出し、抽出した関数情報を入力してデータ変換部14を呼び出す。
ステップST37において、データ変換部14は、マッピングデータ103に基づき、ステップST36で取得された同機能保持モジュール51の関数情報を対応する試験対象モジュール61の関数の関数情報に変換し、変換後の関数情報を入力してデータ生成部13を呼び出す。
ステップST38において、データ生成部13は、関数情報の関数名に基づき出力対象定義データ102内で出力指定された関数かどうかを判断し、出力指定されたデータならば試験入力データ111を作成し、指定外のデータならば破棄する。
ステップST39において、同機能保持モジュール51の関数処理の末尾において、埋め込まれた末尾用のプロファイル関数が実行される。末尾用のプロファイル関数でメモリ解析部11を呼び出す。
ステップST40において、メモリ解析部11は、メモリ52を解析して、関数情報の出力対象のアドレス情報を抽出し、抽出した関数のアドレス、関数の戻りアドレス、関数の使用しているスタック範囲を示すアドレスを入力して関数情報収集部12を呼び出す。
ステップST41において、ステップST40で抽出されたアドレス情報を入力してシンボル検索機能により関数情報を抽出し、抽出した関数情報を入力しデータ変換部14を呼び出す。
ステップST42において、データ変換部14は、マッピングデータ103に基づき、ステップST41で抽出された同機能保持モジュール51の関数情報を対応する試験対象モジュール61の関数の関数情報に変換し、変換後の関数情報を入力してデータ生成部13を呼び出す。
ステップST43において、データ生成部13は、関数情報の関数名に基づき出力対象定義データ102内で出力指定された関数かどうかを判断し、出力指定されたデータならば、関数情報から期待値データ112を生成し、指定外のデータならば破棄する。
ステップST44において、同機能保持モジュール51の処理が終了していれば、ステップST45へ移行し、同機能保持モジュール51の処理が終了していなければ、ステップST34へ移行する。
ステップST45において、必要な試験入力データ111及び期待値データ112が揃っていればステップST46へ移行し、揃っていなければステップST32へ移行する。
ステップST46において、処理実行部21はステップST38で生成された試験入力データ111を入力して試験対象モジュール61を呼び出す。このとき、処理実行部21は、試験入力データ111で指定された引数値を入力し、試験入力データ111で指定された試験対象モジュール61の関数を呼び出す。
ステップST47において、処理実行部21は試験対象モジュール61を実行し、試験対象モジュール61は、その処理結果(戻り値、引数値)を呼び出し元へ返す。
ステップST48において、処理実行部21は試験対象モジュール61の関数の処理結果(戻り値、引数値)及び試験入力データ111から試験の実行結果113を生成する。
ステップST49において、評価部22はステップST48で生成された実行結果113とステップST43で生成された期待値データ112を比較して評価結果114を生成する。
ステップST50において、デバッグ等により試験を繰り返す場合は、ステップST46へ移行し、試験が完了した場合は処理を終了する。
以上のように、この実施の形態2によれば、データ変換部14が関数情報収集部12により取得された同機能保持モジュール51の関数情報を、マッピングデータ103に基づき試験対象モジュール61の関数情報に変換することにより、同機能保持モジュール51と試験対象モジュール61のインタフェースが異なっていても、同機能保持モジュール51から試験対象モジュール61の試験入力データ111及び期待値データ112を自動生成することができ、ユーザの負担や人為的ミスの発生を軽減することができるという効果が得られる。
実施の形態3.
図12はこの発明の実施の形態3によるソフトウェア試験装置の構成を示すブロック図である。このソフトウェア試験装置は、メモリ解析部11及び関数情報収集部12により構成されたデータ抽出部10、データ管理部15を含むデータ変換部14、データ生成部13、処理実行部21並びに評価部22を備えており、上記実施の形態2の図9に示す構成に、データ抽出部10より受け取った関数情報のうち必要な関数情報を関数情報104として保存したり、必要に応じて保存した関数情報104を検索するデータ管理部15を追加したものである。
この図12に示す構成により、試験対象モジュール61の関数に必要な関数情報が同機能保持モジュール51の一つの関数情報から抽出できない場合にも、上記実施の形態1と同様に、試験対象モジュール61を評価する際に使用する試験入力データ111及び期待値データ112を、同機能保持モジュール51を含むソフトウェア50を使用して自動生成することができる。
上記実施の形態2では、関数情報収集部12から受け取った関数情報のクラス名及び関数名を変更したり、引数の並びを変更したりと、試験対象モジュール61の関数に必要な関数情報が、同機能保持モジュール51の一つの関数情報から抽出できる場合にのみにしか対応できない。
試験対象モジュール61の関数に必要な関数情報を抽出するのに、同機能保持モジュール51の複数の関数情報を必要とする場合もあるが、この実施の形態3では、このような場合にも試験入力データ111及び期待値データ112を生成するものである。
図12において、データ管理部15は関数情報収集部12により取得された関数情報を保存し、必要に応じて保存した関数情報を検索して抽出する。データ変換部14は、関数情報収集部12により取得された関数情報とデータ管理部15により抽出された関数情報を、マッピングデータ103に基づき試験対象モジュール61の関数情報に変換する。その他の構成は上記実施の形態2の図9に示す構成と同じである。
データ管理部15は、同機能保持モジュール51の一つ以上の関数情報から試験対象モジュール61の関数情報を作成する際に、後述のマッピングデータ103に基づき、必要となる全ての関数情報が揃っているかどうかを判断し、必要となる全ての関数情報が揃っている場合は、関数情報収集部12より受け取った関数情報を関数処理の先頭と末尾で取得した関数情報であるかを区別できる形式で、かつ、それぞれのデータが何を意味するかが特定できるフォーマットで保存し、必要となる全ての関数情報が揃っておらず、現在保持している関数情報以外に必要となる関数情報がある場合には、保存している関数情報104の中から必要となる関数情報を検索して抽出し、試験対象モジュール61の関数情報の作成に必要な全ての関数情報をデータ変換部14に渡す。
マッピングデータ103は、同機能保持モジュール51の一つ以上の関数情報から、試験対象モジュール61の関数情報を作成するのに必要となる試験対象モジュール61のクラス名、関数名、試験対象モジュール61の引数の型と引数値の作成に必要な同機能保持モジュール51の引数を識別する情報、試験対象モジュール61の戻り値の型と戻り値の作成に必要な同機能保持モジュール51の関数を識別する情報の他に、必要に応じて、新規に追加される引数の型と位置情報を構成要素として含み、試験入力データ111と同様に、それぞれの文字列又は数値が何を意味するかを明確にするフォーマットである必要がある。
図13はマッピングデータの例を示す図である。図13に示すマッピングデータは、試験対象モジュール61のクラスであることを表す予約語[NEWCLASS]の後に続く試験対象モジュール61のクラス名281、試験対象モジュール61の関数であることを表す予約語[NEWMETHOD]の後に続く試験対象モジュール61の関数名282、試験対象モジュール61の引数であることを表す予約語[ARGUMENT]の後の記号「,」の左側の試験対象モジュール61の引数の位置情報283,285,287、記号「,」の右側の同機能保持モジュール51のクラス名(記号「::」の左側)と同機能保持モジュール51の関数名(記号「::」の右側のMethod1,Method2)と同機能保持モジュール51の引数の位置情報(関数名の右側)284,286,288、試験対象モジュール61の関数情報へ引数の情報を新規追加することを表す予約語[ADD]の後の記号「,」の左側の試験対象モジュール61の引数の位置情報289、記号「,」の右側の試験対象モジュール61の関数情報へ新規に追加する引数の型290、試験対象モジュール61の戻り値であることを表す予約語[RETURN]の後の同機能保持モジュール51のクラス名(記号「::」の左側)と同機能保持モジュール51の関数名(記号「::」の右側)291を含んでいる。
このように、図13に示すマッピングデータのフォーマットは、関数情報への新規の引数の型の追加方法、予約語[RETURN]の後に関数を識別する情報を記述することにより関数情報の戻り値に関する情報の作成方法を表している。
前述の例では、新規に関数情報を作成する際に、引数及び戻り値に一つの関数の関数情報の要素を指定しているが、複数の関数情報の要素を四則演算等により合成して作成しても良い。また、複雑な合成方法をプログラム等により指定して作成しても良い。
データ変換部14は、上記実施の形態2における機能に加えて、マッピングデータ103に基づき、データ管理部15より受け取った複数の関数情報を合成することにより、試験対象モジュール61内の関数の新たな関数情報を作成する機能を持つ。
引数を新規に追加する場合は、引数値を特定することができないので、例えば、その部分に修正が必要であることを想起させる文字列を出力しておき、手作業により、関数情報から生成されるテストデータに、引数値を追加することでテストデータを完成させる等の処理が必要である。
以上のように、この実施の形態3によれば、上記実施の形態2と同様の効果が得られると共に、試験対象モジュール61の関数に必要な関数情報が、同機能保持モジュール51の一つの関数情報から抽出できない場合にも、データ管理部15が関数情報収集部12により取得された関数情報を保存し、必要に応じて保存した関数情報を検索して抽出し、データ変換部14が、関数情報収集部12により取得された関数情報とデータ管理部15により抽出された関数情報を、マッピングデータ103に基づき試験対象モジュール61の関数情報に変換することにより、試験対象モジュール61の試験入力データ111及び期待値データ112を自動生成することができ、ユーザの負担や人為的ミスの発生を軽減することができるという効果が得られる。
この発明の実施の形態1によるソフトウェア試験装置の構成を示すブロック図である。 この発明の実施の形態1における関数情報の例を示す図である。 この発明の実施の形態1における出力対象定義データの例を示す図である。 この発明の実施の形態1における試験入力データの例を示す図である。 この発明の実施の形態1における期待値データの例を示す図である。 この発明の実施の形態1における実行結果の例を示す図である。 この発明の実施の形態1における評価結果の例を示す図である。 この発明の実施の形態1によるソフトウェア試験装置の処理手順を示すフローチャートである。 この発明の実施の形態2によるソフトウェア試験装置の構成を示すブロック図である。 この発明の実施の形態2におけるマッピングデータの例を示す図である。 この発明の実施の形態2によるソフトウェア試験装置の処理手順を示すフローチャートである。 この発明の実施の形態3によるソフトウェア試験装置の構成を示すブロック図である。 この発明の実施の形態3におけるマッピングデータの例を示す図である。
符号の説明
10 データ抽出部、11 メモリ解析部、12 関数情報収集部、13 データ生成部、14 データ変換部、15 データ管理部、21 処理実行部、22 評価部、50 ソフトウェア、51 同機能保持モジュール、52 メモリ、61 試験対象モジュール、101 入力データ、102 出力対象定義データ、103 マッピングデータ、104 関数情報、111 試験入力データ、112 期待値データ、113 実行結果、114 評価結果、201 クラス名、202 関数名、203 引数の型、204 引数値、205 引数の型、206 引数値、207 引数の型、208 引数値、209 戻り値の型、210 戻り値、211 関数宣言、212 関数宣言、221 試験対象モジュール名、222 クラス宣言、223 引数宣言、224 引数宣言、225 引数の初期化、226 引数の初期化、227 試験対象メソッドの呼び出しコード、231 関数宣言、232 戻り値、233 引数、234 引数値、241 関数宣言、242 戻り値、243 引数、244 引数値、251 関数宣言、252 評価結果、253 引数、254 評価結果、261 同機能保持モジュールのクラス名、262 試験対象モジュールのクラス名、263 同機能保持モジュールの関数名、264 試験対象モジュールの関数名、265 同機能保持モジュールの引数の位置情報、266 試験対象モジュールの引数の位置情報、267 同機能保持モジュールの引数の位置情報、268 試験対象モジュールの引数の位置情報、269 新規に追加する試験対象モジュールの引数の位置情報、270 新規に追加する試験対象モジュールの引数の型、271 同機能保持モジュールから削除する引数の位置情報、281 試験対象モジュールのクラス名、282 試験対象モジュールの関数名、283 試験対象モジュールの引数の位置情報、284 同機能保持モジュールのクラス名、同機能保持モジュールの関数名、同機能保持モジュールの引数の位置情報、285 試験対象モジュールの引数の位置情報、286 同機能保持モジュールのクラス名、同機能保持モジュールの関数名、同機能保持モジュールの引数の位置情報、287 試験対象モジュールの引数の位置情報、288 同機能保持モジュールのクラス名、同機能保持モジュールの関数名、同機能保持モジュールの引数の位置情報、289 試験対象モジュールの引数の位置情報、290 試験対象モジュールの関数情報へ新規に追加する引数の型、291 同機能保持モジュールのクラス名、同機能保持モジュールの関数名。

Claims (5)

  1. 試験対象モジュールの試験の手順や引数値を含む試験仕様を定義した試験入力データ及び上記試験対象モジュールの実行結果の期待値を表す期待値データを使用して上記試験対象モジュールを評価するソフトウェア試験装置において、
    上記試験対象モジュールと同等の機能を備えた同機能保持モジュールの処理実行時に、実行ソフトウェアの関数情報が格納されたメモリを解析して、上記同機能保持モジュールの関数情報に関するアドレス情報を取得するメモリ解析部と、
    該メモリ解析部により取得されたアドレス情報に基づき上記同機能保持モジュールの関数情報を取得する関数情報収集部と、
    該関数情報収集部により取得された関数情報から、出力対象を定義した出力対象定義データに基づき、上記試験入力データ及び上記期待値データを生成するデータ生成部とを備えたことを特徴とするソフトウェア試験装置。
  2. 関数情報収集部により取得された同機能保持モジュールの関数情報を、同機能保持モジュールと試験対象モジュールの関数間の対応付けを記述したマッピングデータに基づき、試験対象モジュールの関数情報に変換するデータ変換部を備え、
    データ生成部は上記データ変換部により変換された関数情報から、出力対象定義データに基づき、上記試験入力データ及び上記期待値データを生成することを特徴とする請求項1記載のソフトウェア試験装置。
  3. 関数情報収集部により取得された関数情報を保存し、必要に応じて保存した関数情報を検索して抽出するデータ管理部を備え、
    データ変換部は、関数情報収集部により取得された関数情報と上記データ管理部により抽出された関数情報を、マッピングデータに基づき試験対象モジュールの関数情報に変換することを特徴とする請求項2記載のソフトウェア試験装置。
  4. 試験対象モジュールの試験の手順や引数値を含む試験仕様を定義した試験入力データ及び上記試験対象モジュールの実行結果の期待値を表す期待値データを使用して上記試験対象モジュールを評価するソフトウェア試験方法において、
    メモリ解析部が、上記試験対象モジュールと同等の機能を備えた同機能保持モジュールの処理実行時に、実行ソフトウェアの関数情報が格納されたメモリを解析して、上記同機能保持モジュールの関数情報に関するアドレス情報を取得するステップと、
    関数情報収集部が、上記メモリ解析部により取得されたアドレス情報に基づき、上記同機能保持モジュールの関数情報を取得するステップと、
    データ生成部が、上記関数情報収集部により取得された関数情報から、出力対象を定義した出力対象定義データに基づき、上記試験入力データ及び上記期待値データを生成するステップとを備えたことを特徴とするソフトウェア試験方法。
  5. 試験対象モジュールの試験の手順や引数値を含む試験仕様を定義した試験入力データ及び上記試験対象モジュールの実行結果の期待値を表す期待値データを使用して上記試験対象モジュールを評価する機能を備え、
    コンピュータを
    上記試験対象モジュールと同等の機能を備えた同機能保持モジュールの処理実行時に、実行ソフトウェアの関数情報が格納されたメモリを解析して、上記同機能保持モジュールの関数情報に関するアドレス情報を取得するメモリ解析部と、
    該メモリ解析部により取得されたアドレス情報に基づき上記同機能保持モジュールの関数情報を取得する関数情報収集部と、
    該関数情報収集部により取得された関数情報から、出力対象を定義した出力対象定義データに基づき、上記試験入力データ及び上記期待値データを生成するデータ生成部と
    して機能させるためのソフトウェア試験用プログラム。
JP2006059779A 2006-03-06 2006-03-06 ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラム Pending JP2007241432A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006059779A JP2007241432A (ja) 2006-03-06 2006-03-06 ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006059779A JP2007241432A (ja) 2006-03-06 2006-03-06 ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラム

Publications (1)

Publication Number Publication Date
JP2007241432A true JP2007241432A (ja) 2007-09-20

Family

ID=38586948

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006059779A Pending JP2007241432A (ja) 2006-03-06 2006-03-06 ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラム

Country Status (1)

Country Link
JP (1) JP2007241432A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011215760A (ja) * 2010-03-31 2011-10-27 Hitachi Ltd 計算機システム、及び、モジュール実行方法
KR101400396B1 (ko) * 2012-09-05 2014-05-27 재단법인대구경북과학기술원 메모리 주소를 이용한 임베디드 소프트웨어의 실시간 디버깅 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08212108A (ja) * 1995-02-08 1996-08-20 Kokusai Electric Co Ltd ソフトウェアのテスト方法及び装置
JPH10320234A (ja) * 1997-05-21 1998-12-04 Hitachi Ltd ソフトウェアの自動テスト方法
JPH11259288A (ja) * 1998-03-10 1999-09-24 Nec Corp デグレードチェック装置
JP2002157144A (ja) * 2000-11-17 2002-05-31 Mitsubishi Electric Corp ソフトウェア自動試験方式
JP2004118403A (ja) * 2002-09-25 2004-04-15 Fujitsu Ltd ソフトウェア機能テストデータ生成プログラムおよびソフトウェア機能テストデータ生成方法
JP2006031248A (ja) * 2004-07-14 2006-02-02 Canon Inc 関数呼び出しをフックしてログを生成するソフトウェア評価システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08212108A (ja) * 1995-02-08 1996-08-20 Kokusai Electric Co Ltd ソフトウェアのテスト方法及び装置
JPH10320234A (ja) * 1997-05-21 1998-12-04 Hitachi Ltd ソフトウェアの自動テスト方法
JPH11259288A (ja) * 1998-03-10 1999-09-24 Nec Corp デグレードチェック装置
JP2002157144A (ja) * 2000-11-17 2002-05-31 Mitsubishi Electric Corp ソフトウェア自動試験方式
JP2004118403A (ja) * 2002-09-25 2004-04-15 Fujitsu Ltd ソフトウェア機能テストデータ生成プログラムおよびソフトウェア機能テストデータ生成方法
JP2006031248A (ja) * 2004-07-14 2006-02-02 Canon Inc 関数呼び出しをフックしてログを生成するソフトウェア評価システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011215760A (ja) * 2010-03-31 2011-10-27 Hitachi Ltd 計算機システム、及び、モジュール実行方法
KR101400396B1 (ko) * 2012-09-05 2014-05-27 재단법인대구경북과학기술원 메모리 주소를 이용한 임베디드 소프트웨어의 실시간 디버깅 방법

Similar Documents

Publication Publication Date Title
US9389849B2 (en) Test case pattern matching
US9170918B2 (en) Model verification system, model verification method, and recording medium
US20020091968A1 (en) Object-oriented data driven software GUI automated test harness
US20080148235A1 (en) Runtime inspection of user interfaces
US7895575B2 (en) Apparatus and method for generating test driver
US20090100299A1 (en) Methods and Apparatus for Patternizing Device Responses
JP2003044275A (ja) 変更危険度測定システム、変更危険度測定方法及び変更危険度測定プログラム
US10846059B2 (en) Automated generation of software bindings
JP2000232516A (ja) 妥当性検査規則を作成するための方法、生成モジュール、サーバ、制御モジュール、および記憶手段
CN103049504A (zh) 基于源代码查询的半自动插桩方法
JP2007241432A (ja) ソフトウェア試験装置、ソフトウェア試験方法及びソフトウェア試験用プログラム
CN110286882B (zh) 一种基于模型检测的前台系统设计与验证方法
JP5067317B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
CN111813648A (zh) 一种应用于App的自动化测试方法、装置、存储介质及电子设备
CN115454702A (zh) 日志故障分析方法、装置、存储介质及电子设备
CN114398278A (zh) 程序依赖图引导修复模板的空指针引用自动修复方法
CN111078548B (zh) 测试用例解析方法、装置、存储介质及验证平台
JPH11224211A (ja) ソフトウェア検査支援装置
JP2011215998A (ja) プログラム検証装置
JP4387324B2 (ja) プロパティ変換装置
CN110134435A (zh) 一种代码修复案例获取方法、装置、设备及存储介质
CN109408395A (zh) 基于txt文件的解析测试系统
CN116880826B (zh) 一种可视化代码生成方法
JP2008204187A (ja) 情報処理装置及び情報処理方法
JPH06290039A (ja) プログラム変更方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070926

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080324

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110308