JP5874891B2 - プログラムテスト装置、プログラムテスト方法、およびプログラム - Google Patents

プログラムテスト装置、プログラムテスト方法、およびプログラム Download PDF

Info

Publication number
JP5874891B2
JP5874891B2 JP2011075157A JP2011075157A JP5874891B2 JP 5874891 B2 JP5874891 B2 JP 5874891B2 JP 2011075157 A JP2011075157 A JP 2011075157A JP 2011075157 A JP2011075157 A JP 2011075157A JP 5874891 B2 JP5874891 B2 JP 5874891B2
Authority
JP
Japan
Prior art keywords
program
test
variable
values
existing
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.)
Active
Application number
JP2011075157A
Other languages
English (en)
Other versions
JP2012208830A (ja
Inventor
仁志 小田
仁志 小田
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 JP2011075157A priority Critical patent/JP5874891B2/ja
Publication of JP2012208830A publication Critical patent/JP2012208830A/ja
Application granted granted Critical
Publication of JP5874891B2 publication Critical patent/JP5874891B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置上に形成されるシステムを動作させるプログラムについて、そのプログラムの動作テストを行なうプログラムテストシステムに関する。
新規の情報処理システムを構築する為の各種プログラムは、作成された際に動作テストが行なわれている。また、プログラムのテストは、既存システムを更新する場合にも実施されている。
プログラムのテストために、情報処理システムで検討されている入力データとそれに対する出力データの組み合わせをチェック項目として設計し、問題があるパターンや無いパターンをひとつひとつ作成することが行われている。この場合、異常値や境界値などを仕様の要求事項として定義したり、プログラムの作成者によって検討したりして、入力データと出力データとの対応を積み上げていくのが一般的である。
この作業は、テスト結果としての入出力データを利用者が正しい値を全てチェック項目として記述しておかなければならず、チェック項目を作成することに手間がかかり、また正確性にも課題がある。これは、プログラムの作成前に、正しい結果とする項目の入出力関係を一つずつ正しく精確に判断することが求められるためである。
関連する技術としては、特許文献1が挙げられる。特許文献1には、プログラムリストから、変動するパラメータ(変数)とその範囲を抽出し、その範囲内からシステムにテスト実施時に入力すべきテストパターン(変数の組合せ)とテストデータ(変数値)とを生成し、その後、生成したテストパターンとテストデータを用いてテストを実施するシステムテスト装置が記載されている。
特開2006−221447号公報
人為的にテスト項目(変数)とそのテストデータを作成してテストを行なう方法では、一般的に、既存システムを評価した時の評価項目である境界値や限界値について新システムでも実施し同じ結果が出ることを確認するとともに、改造観点で新たな評価項目を追加し確認するものである。この場合、既存システムで評価しなかった項目については改造前後で動作が変わったかどうかは確認できない。
また、特許文献1に記載されたように、プログラムリストを解析してテストパターンとテストデータとを生成して、テストを実施する場合では、新規に作成した部分について重点的にテストする一方、既存システムから変更を行っていない部分については、既存システムを評価した時の評価項目である境界値や限界値について新システムでも実施し同じ結果が出ることの確認を行うこととなる。この場合でも、既存システムで評価しなかった項目は改造前後で動作が変わったかどうかは確認できない。
また、既存のテスト方法では、網羅率が低いことも課題と捉えることができる。評価パターンが多い場合に、境界値、限界値といくつかのサンプリングデータのみによる評価を一般的に行っており、大規模システムに成るほど網羅度が低くなる傾向がある。
本発明は、上記課題に鑑みて成されたものであり、プログラムの新規作為時にテストを行なわなかった確認項目に対しても、後発的に発生する変更に伴い生ずる問題を低減させるテストを行なえるプログラムテスト装置を提供することを目的とする。
本発明に係るプログラムテスト装置は、既存プログラムが変更されたテストの対象となる更新プログラムに対する1ないし複数の所定の変数へのテストデータとして、指定された前記変数について入力され得る全ての範囲の値を生成するとともに、生成した値を個々の変数のテストデータとして関連付けたテストの実行条件を生成処理する手段と、前記既存プログラムに基づく既存システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該既存システムの出力を取得して記憶する手段と、前記更新プログラムに基づく新システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該新システムの出力を取得して記憶する手段と、前記既存システムおよび前記新システムの両出力を対比処理すると共に、対比結果に含まれる差分について、認知可能に出力する手段と、を備え、前記実行条件に含まれる所定の変数に対するテストデータのテスト順を、境界値および限界値について優先した後、試験済みとなる値の間の値である1の値を埋めるように優先付けし、その後更に試験済みとなる値の間の値である1の値を埋めるように優先付けするように繰り返して、前記所定の変数について入力され得る全ての範囲の値のテスト順を定め、リアルタイムで行われる前記既存システムおよび前記新システムからの出力対比を、任意のタイミング又は予め設定したタイマ値により停止させ得ることを特徴とする。
本発明に係るプログラムは、情報処理装置の制御部を、既存プログラムが変更されたテストの対象となる更新プログラムに対する1ないし複数の所定の変数へのテストデータとして、指定された前記変数について入力され得る全ての範囲の値を生成するとともに、生成した値を個々の変数のテストデータとして関連付けたテストの実行条件を生成する手段と、前記既存プログラムに基づく既存システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該既存システムの出力を取得して記憶する手段と、前記更新プログラムに基づく新システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該新システムの出力を取得して記憶する手段と、前記既存システムおよび前記新システムの両出力を対比すると共に、対比結果に含まれる差分について、認知可能に出力する手段として動作させ、前記制御部に、前記実行条件に含まれる所定の変数に対するテストデータのテスト順を、境界値および限界値について優先した後、試験済みとなる値の間の値である1の値を埋めるように優先付けし、その後更に試験済みとなる値の間の値である1の値を埋めるように優先付けするように繰り返して、前記所定の変数について入力され得る全ての範囲の値のテスト順を定めて、リアルタイムで行われる前記既存システムおよび前記新システムからの出力対比を、任意のタイミング又は予め設定したタイマ値により停止させる動作を行わせることを特徴とする。
本発明に係るプログラムテスト方法は、既存プログラムが変更されたテストの対象となる更新プログラムに対する1ないし複数の所定の変数へのテストデータとして、指定された前記変数について入力され得る全ての範囲の値を生成し、生成した値を個々の変数のテストデータとして関連付けたテストの実行条件を、該実行条件に含まれる所定の変数に対するテストデータのテスト順を、境界値および限界値について優先した後、試験済みとなる値の間の値である1の値を埋めるように優先付けし、その後更に試験済みとなる値の間の値である1の値を埋めるように優先付けするように繰り返して、前記所定の変数について入力され得る全ての範囲の値のテスト順を定め前記既存プログラムに基づく既存システムと前記更新プログラムに基づく新システムとのリアルタイムで行う出力対比を任意のタイミング又は予め設定したタイマ値により停止させ得るように生成処理し、前記既存システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該既存システムの出力を取得し、前記新システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該新システムの出力を取得し、前記既存システムおよび前記新システムの両出力を対比すると共に、対比結果に含まれる差分について、認知可能に出力することを特徴とする。
本発明によれば、プログラムの新規作為時にテストを行なわなかった確認項目に対しても、後発的に発生する変更に伴い生ずる問題を低減させるテストを行い得るプログラムテスト装置を提供できる。
実施の一形態のプログラムテストシステムの構成を示すブロック図である。 実施の一形態のプログラムテスト装置の動作を示すフローチャートである。 動作例の説明において使用するプログラムリストに含まれる変数を示す説明図である。 動作例の説明において既存の評価項目とする変数aの入力パターンと出力である戻り値との対応を示す説明図である。 動作例の説明において実行条件データとする情報を示す説明図である。 動作例の説明において既存システムおよび新システムから取得したテスト結果を示す説明図である。 動作例の説明において既存システムおよび新システムから取得したテスト結果を対比後の出力例を説明図である。 動作例の説明において既存のテストパターンで既存システムおよび新システムから取得したテスト結果を示す説明図である。 別の動作例の説明において実行条件データとする情報を示す説明図である。 更に別の動作例の説明において文字変数の範囲を指定するユーザインタフェースを示す説明図である。 更に別の動作例の説明において文字変数の組み合わせを示す説明図である。
本発明の実施形態を図1ないし図11と動作例を用いて説明する。
図1は、実施の一形態のプログラムテストシステムの構成を示すブロック図である。
図1に示す様に、プログラムテスト装置10は、プログラム制御により動作するデータ処理装置20と情報を記憶する記憶装置30から構成され、キーボード等の入力装置40と、ディスプレイ装置や印刷装置等の出力装置50が接続されている。また、プログラムテスト装置10には、既存プログラムに基づく既存システム100と、更新プログラムに基づく新システム200が接続されている。
データ処理装置20は、テスト実行条件生成手段21と、既存システム戻り値データ保存手段22と、新システム戻り値データ保存手段23と、データ比較出力手段24とを備える。
テスト実行条件生成手段21は、テストデータとする1ないし複数のパラメータ(変数)について、入力装置40から指定を受け付けて、その変数について入力され得る全ての範囲(全定義域)を抽出生成する。その後生成した値を変数のテストデータとしてそれぞれ関連付けてテストの実行条件データとして生成し、記憶装置30の実行条件記憶装置31に格納する。また、テスト実行条件生成手段21は、変数の指定を受けつけることに換えて、更新プログラムを構文解析により、新システム200の使用する変数となり得る変数とその変数の取り得る範囲を抽出し、テストの実行条件データとして生成するようにしてもよい。また、テスト実行条件生成手段21は、更新プログラムの構文解析と共に、既存プログラムの構文解析を行い、プログラム間の差分について識別して、新システム200のみで使用する変数と既存システム100のみで使用する変数を抽出して記憶保持するようにしてもよい。
テストデータを生成する変数としては、数値変数や、文字変数、関数などが挙げられる。文字変数を用いる場合には、文字種と入力文字数範囲を指定することによって、入力され得る全ての範囲(組み合わせ)の値を生成すればよい。
また、テストデータを生成する変数は、新システム200から入力を受け得る範囲に限定して、変数の入力され得る全ての範囲としてもよい。このように限定すれば、テスト時間の削減が図れる。
なお、実行条件として、どのパラメータと値の組から行なうかを示すテスト順が定められて記録されてもよい。テスト順は、例えば、境界値および限界値について優先した後、試験済みとなる値の間の値である1の値を埋めるように優先付けし、その後更に試験済みとなる値の間の値である1の値を埋めるように優先付けするように繰り返して、全ての範囲の値に順番付けしてもよいし、関数などを用いて定めてもよい。この順序に従うことによって、任意のタイミング又は予め設定したタイマ値などによりテストを停止させても、その時までに行ったテストが有効に利用できる。換言すれば、非常に長い時間のテストと成るようなプログラムに対しても、全ての領域に対して順次テストを行える環境を提供できる。
また、実行条件データについては後に動作例に示して説明する。
既存システム戻り値データ保存手段22は、既存システム100が実行条件データを用いてテスト動作した際の戻り値(出力値)を記憶装置30の入出力データ記憶部32に保存する。また、既存システム100に、実行条件記憶装置31から得た実行条件データを受け渡すようにしてもよい。
新システム戻り値データ保存手段23は、新システム200が実行条件データを用いてテスト動作した際の戻り値(出力値)を記憶装置30の入出力データ記憶部32に保存する。また、新システム200に、実行条件記憶装置31から得た実行条件データを受け渡すようにしてもよい。
データ比較出力手段24は、入出力データ記憶部32から既存システム100と新システム200の戻り値データを取得し、同一入力に対する戻り値データを比較して、その比較結果を認知可能に出力装置50に出力する。すなわち、プログラム更新の前後での出力の違いを対比できるように、差分を抽出して色分けや強調表示などにより示す。このとき、新システム200および既存システム100の一方でのみ使用する変数に起因する差分について個別に認知可能に提示してもよい。
また、データ比較出力手段24は、既存システム100および新システム200を同時にテスト動作させることによって得られる両システムの出力を、取得すると共に即座にテスト対比結果として表示するようにしてもよい。このようにすれば、対比すべき両値がそろった時点でその結果の確認を行えるようになる。
また、データ比較出力手段24は、出力の対比結果の差分に基づき、更新プログラムにおける抽出した差分に影響を与えたプログラムリスト列を認知可能に出力するようにしてもよい。
また、データ比較出力手段24は、出力の対比結果の差分について、既存プログラムと更新プログラムとのプログラムリストとしての差分および更新プログラムに基づき、更新に関連して変更されるべき出力事項であるか判定するようにしてもよい。この判定の一例を示せば、差分が、更新プログラムでの変更部分に含まれる変数に因るか、また、含まれた変数を引用する関数に依るかなどである。
記憶装置30は、実行条件記憶部31と、入出力データ記憶部32とを備えている。なおテスト量が小さければ、データ処理装置20と記憶装置30とを分けずにデータ処理装置20の有する記憶手段を用いるようにしてもよい。
実行条件記憶部31は、実行条件として実行対象とするプログラムの入力パラメータ(変数)と想定定義域(範囲)を対応付けた形式で記憶する。
入出力データ記憶部32は、既存システム100と新システム200がそれぞれプログラム実行時(テスト時)に出力した値を入力に対応付けられた形式で記憶する。
既存システム100は、修正される前の既存プログラムによって構築される情報処理システムである。既存システム100では、内在する既存プログラム実行部110が既存プログラムに従い動作することによって所望のシステムとして動作する。既存プログラム実行部110は、既存システム戻り値データ保存手段22に対して、示されたテストの実行条件に従ったテスト時の出力値を通知する。
新システム200は、既存プログラムを修正されて作られた更新プログラムによって構築される情報処理システムである。新システム200では、内在する更新プログラム実行部210が既存プログラムに従い動作することによって所望のシステムとして動作する。更新プログラム実行部110は、新システム戻り値データ保存手段23に対して、示されたテストの実行条件に従ったテスト時の出力値を通知する。
なお、既存システム100と新システム200を動作させる方法は、個々のプログラムの種類に従い、上記と異なるように既存システムを動作させてもよい。
次に、図1及び図2を参照して本プログラムテストシステムの動作について詳細に説明する。
入力装置40からプログラムテスト装置10に対してプログラムテストの実行を指示されると、テスト実行条件生成手段21は、指定されたパラメータ又は更新プログラムを解析して得たパラメータに対して、マシンの許す変数の範囲全ての入力パラメータデータ定義域を実行条件記憶部31に保存する(ステップS1)。
既存システム戻り値データ保存手段22は、実行条件記憶部31から得たテストの実行条件データを既存プログラム実行部110に渡し、全ての定義域の値を入力としながら既存プログラム実行部110により既存システム100を構築する既存プログラムを実行する。この際、既存システム戻り値データ保存手段22は、定義域のそれぞれの値ごとの戻り値データを実行ごとに既存プログラム実行部110より取得し、入出力データ記憶部32に保存する(ステップS2)。ここでいう出力データは戻り値のことである。
同様に、新システム戻り値データ保存手段23は、実行条件記憶部31から得たテストの実行条件データを更新プログラム実行部210に渡し、全ての定義域の値を入力としながら更新プログラム実行部210により新システム200を構築する更新プログラムを実行する。この際、新システム戻り値データ保存手段23は、定義域のそれぞれの値ごとの戻り値データを実行ごとに新プログラム実行部210より取得し、入出力データ記憶部32に保存する(ステップS3)。
データ比較出力手段24は入出力データ記憶部32に保存した既存システム戻り値データと新システム戻り値データを比較し、その結果を認知可能な状態として出力装置50に出力する(ステップS4)。
このように、プログラムテストシステムを構築することによって、プログラムの新規作為時にテストを行なわなかった変数に対しても、更新プログラムで使用する変数であれば更新に伴う差分を確認できる。
次に、具体例を用いて本実施形態の動作を説明する。
図3は、動作説明で使用するプログラムリストに含まれる変数を示す説明図である。例示する変数として、図3のようなint test( int a )という関数があったとする。本来はさらにいろいろな変数が使われ、ライン数も格段に多く、出力値は複雑に変数を経由して決定する場合が多いのだが、ここでは分かりやすくするため、敢えて簡潔な例としている。
(A)に示す既存プログラムに対する既存の評価項目が、aの範囲を-5≦a≦13(aは整数)とし、この中でaの境界値としてa=-5,-1,0,8,9,13を、境界値と境界値の間の値の代表値としてa=-3,4,11を、評価対象として挙げるとする。すると、既存システム100の評価項目としては図4のような入出力結果を評価することになる。
ここで、図3(A)に示した既存プログラムのint test( int a )の「r = a % 2;」の箇所を(B)に示すように更新プログラムとして「r = a % 4;」と変更する場合を説明する。すなわち、既存システム100から新システム200に更新する箇所を、「r = a % 2;」⇒「r = a % 4;」とする。
入力装置40からプログラムテストの実行を指示されると、テスト実行条件生成手段21は、実行条件データを生成して実行条件記憶部31に保存する。この際、32ビットの整数を用いるシステムであれば変数aに-2,147,483,648から2,147,483,647の整数を図5のような形式で保存する(図2のステップS1)。
既存システム戻り値データ保存手段22は、既存プログラム実行部110に実行条件記憶部31から得た実行条件データを渡し、全ての定義域の値を入力としながら入力パラメータ4,294,967,296パターンのa=-2,147,483,648〜2,147,483,647を増分で増やしつつ順次 既存プログラム実行部110により既存プログラムを実行する。既存システム戻り値データ保存手段22は、定義域のそれぞれの値ごとの戻り値データを実行ごとに既存プログラム実行部110より取得し、入出力データ記憶部32に図6に示すように保存する(ステップS2)。
同様に、新システム戻り値データ保存手段23は、更新プログラム実行部210に実行条件記憶部31から得た実行条件データを渡し、全ての定義域の値を入力としながら入力パラメータ4,294,967,296パターンa=-2,147,483,648〜2,147,483,647を増分で増やしつつ順次 更新プログラム実行部210により更新プログラムを実行する。新システム戻り値データ保存手段23は、定義域のそれぞれの値ごとの戻り値データを実行ごとに更新プログラム実行部210より取得し、入出力データ記憶部32に図6に示すように保存する(ステップS3)。
データ比較出力手段24は、図6に示すような新旧保存された戻り値データを比較するとa=2,3,6,7の場合の戻り値の値が異なっており、図7に例示するように認知可能に色付けや強調表示などによって不一致箇所を出力装置50に対して出力する(ステップS4)。
その後、必要に応じて、更新プログラムリストの中から抽出した差分に影響を与えているプログラムリスト列「r = a % 4;」を認知可能に提示したり、既存プログラムと更新プログラムとのプログラムリストとしての差分である「r = a % 2;」を「r = a % 4;」に変更したことから生じている戻り値の差分であるか判定する処理を行なってもよい。
なお、図7に示した不一致箇所は、図8に示すように既存の評価項目に対する評価結果では改造前後の動作差異として検出できなかった値である。このことからも改造前後の動作差異が検出できるプログラムテスト装置の有効性が分かる。
このように本実施形態によれば、新システムのプログラムテスト用の入力データと出力データの組み合わせを開発者が用意する必要がなくなり、作業工数を削減できることである。マシンの許す変数の範囲全ての入力データの組み合わせから出力データを実際に自動実行して結果を得るためである。
また、プログラムのテストの網羅度が高まる。これは、入力データをひとつひとつではなく全定義域として実行するため、膨大な組み合わせをテストできるからである。一般的には入力データの組み合わせが膨大である場合、境界値、限界値といくつかのサンプリングデータのみの評価となり想定範囲の境界値や特異データの組み合わせでテストをする。図7と図8とを用いて説明したように、既存のテストでは検出できなかった改造前後の動作差異が検出できていることが分かる。
次に、別の具体例を用いて本実施形態の動作を説明する。
本例では、変数とする入力パラメータが2つ以上である点で先の具体的動作例と異なっている。テストデータの組み合わせは多くなるが実施は同様である。また、入力パラメータが整数値ではなく実数値の場合でも入力データとして指定してもよい。
例示する変数として、int test2( int a, int b )という関数について、入力データはa、bで定義域をそれぞれ-2,147,483,648≦a≦2,147,483,647、-2,147,483,648≦b≦2,147,483,647(a,bは整数)とする。
入力装置40からプログラムのテストの実行を指示されると、テスト実行条件生成手段21は、マシンの許すそれぞれの変数の範囲全ての入力パラメータデータ定義域を抽出し、実行条件データとして図9のような形式で実行条件記憶部31に保存する(ステップS1)。
既存システム戻り値データ保存手段22は、既存プログラム実行部110から、入力パラメータ4,294,967,296パターン×4,294,967,296パターンで既存システム100が動作した際のそれぞれの値ごとの戻り値データを取得し、入出力データ記憶部32に保存する(ステップS2)。
同様に、新システム戻り値データ保存手段23は、新プログラム実行部210から、入力パラメータ4,294,967,296パターン×4,294,967,296パターンで新システム200が動作した際のそれぞれの値ごとの戻り値データを取得し、入出力データ記憶部32に保存する(ステップS3)。
データ比較出力手段24は、新旧保存されたデータを比較し、不一致箇所を出力装置50から提示する(ステップS4)。
次に、更に別の具体例を用いて本実施形態の動作を説明する。本実施例は、数値データの変わりに文字データを入力データとした動作を説明する。指定された変数や更新プログラムから抽出された文字変数は、文字種と文字数との組み合わせによって、変数について入力され得る全ての範囲の値を表現できる。
例えば、図10のようなUI画面から文字種と文字数を選択し、テスト実行条件生成手段21が指定された文字変数の入力され得る全ての範囲の値として文字種と文字数を実行条件記憶部31に保存する。なお、自動抽出の場合でも、新システムのユーザインタフェースへの入力制限数を反映させて文字数を取得すればよい。
既存システム戻り値データ保存手段22と新システム戻り値データ保存手段23は、定義域のそれぞれの値ごとの戻り値データを、既存システム100または新システム200から取得し、入出力データ記憶部32に保存する。
データ比較出力手段24は入出力データ記憶部32に保存した既存システム戻り値データと新システム戻り値データを比較し、結果を出力装置50に出力する。
ここで、図11を用いて評価する文字種と文字数の全組み合わせ方をアルファベット文字の場合で示す。
まず1文字目で全文字種(a,b,c,・・・x,y,z,A,B,C,・・・,Z)を入力データとして評価する。
次に、2文字のパターンは、それぞれの1文字に全1文字を組み合わせる。そして、aに対して全1文字(a,b,c,・・・x,y,z,A,B,C,・・・,Z)を2文字目として2文字とする(aa,ab,ac,・・・ax,ay,az,aA,aB,aC,・・・,aZ)。同様にbに対して全1文字(a,b,c,・・・x,y,z,A,B,C,・・・,Z)を2文字目として2文字とする(ba,bb,bc,・・・bx,by,bz,bA,bB,bC,・・・,bZ)。 これを繰り返し、全2文字のパターンを評価する。
次に、上記全2文字パターンに全1文字パターンを3文字目として組み合わせる。同様に全3文字パターンに全1文字パターンを4文字目として組み合わせる。これを繰り返し、指定された文字数までの文字パターンを評価する。
なお、文字を複数種類組み合わせて用いることも可能であり、その場合には、組み合わせパターンを同様の方法で増やせばよい。
以上説明したように、テストデータを自動作成し、新規開発時には網羅できていなかった確認項目があっても、改造前後の動作差異の見落としを減少させてテストの網羅度をアップすることができる。
すなわち、上記プログラムテスト装置を用いることによって、プログラムの新規作為時にテストを行なわなかった確認項目に対しても、後発的に発生する変更に伴い生ずる問題を低減させるテストを行なえるプログラムテスト装置を提供できる。
なお、プログラムテスト装置の各部および各手段は、ハードウェアとソフトウェアの組み合わせを用いて実現すればよい。ハードウェアとソフトウェアとを組み合わせた形態では、RAMにプログラムテスト用プログラムが展開され、該プログラムに基づいて制御部(CPU)等のハードウェアを動作させることによって、各部および各種手段を実現する。また、前記プログラムは、記憶媒体に記録されて頒布されても良い。当該記録媒体に記録されたプログラムは、有線、無線、又は記録媒体そのものを介して、メモリに読込まれ、制御部等を動作させる。尚、記録媒体を例示すれば、オプティカルディスクや磁気ディスク、半導体メモリ装置、ハードディスクなどが挙げられる。
上記実施の形態を別の表現で説明すれば、プログラムテスト装置として動作させる情報処理装置を、RAMに展開されたプログラムテスト用プログラムに基づき、上記データ処理装置および記憶装置として動作させることで実現することが可能である。
また、本発明の具体的な構成は前述の実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の変更があってもこの発明に含まれる。
また、上記の実施形態の一部又は全部は、以下のようにも記載されうる。尚、以下の付記は本発明をなんら限定するものではない。
[付記1]
既存プログラムが変更されたテストの対象となる更新プログラムに対する1ないし複数の所定の変数へのテストデータとして、指定された前記変数について入力され得る全ての範囲の値を生成するとともに、生成した値を個々の変数のテストデータとして関連付けたテストの実行条件を生成する手段と、
前記既存プログラムに基づく既存システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該既存システムの出力を取得して記憶する手段と、
前記更新プログラムに基づく新システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該新システムの出力を取得して記憶する手段と、
前記既存システムおよび前記新システムの両出力を対比すると共に、対比結果に含まれる差分について、認知可能に出力する手段と
を備えることを特徴とするプログラムテスト装置。
[付記2]
上記付記記載のプログラムテスト装置であって、
前記所定の変数として、前記更新プログラムを解析して、新システムの使用する変数と該変数の取り得る範囲を抽出する
ことを特徴とするプログラムテスト装置。
[付記3]
上記付記記載のプログラムテスト装置であって、
前記所定の変数として、文字変数を用いる場合に、文字種と入力文字数範囲を指定してその組み合わせ全てについて、該変数に関連付けた実行条件に含ませる
ことを特徴とするプログラムテスト装置。
[付記4]
上記付記記載のプログラムテスト装置であって、
前記所定の変数の入力され得る全ての範囲について、前記新システムから入力を受け得る範囲に限定して実行条件を生成する
ことを特徴とするプログラムテスト装置。
[付記5]
上記付記記載のプログラムテスト装置であって、
前記既存システムおよび前記新システムを前記実行条件に基づき並列動作させることによって得られる両システムの出力を、取得した順にリアルタイムに対比を行ない、対比結果の差分を順次認知可能に出力する
ことを特徴とするプログラムテスト装置。
[付記6]
上記付記記載のプログラムテスト装置であって、
前記実行条件に含まれる所定の変数に対するテストデータのテスト順を、境界値および限界値について優先した後、試験済みとなる値の間の値である1の値を埋めるように優先付けし、その後更に試験済みとなる値の間の値である1の値を埋めるように優先付けするように繰り返して、前記変数について入力され得る全ての範囲の値のテスト順を定め、
リアルタイムで行われる前記既存システムおよび前記新システムからの出力対比を、任意のタイミング又は予め設定したタイマ値により停止させ得る
ことを特徴とするプログラムテスト装置。
[付記7]
上記付記記載のプログラムテスト装置であって、
前記出力の対比結果の差分に基づき、前記更新プログラムにおける抽出した差分に影響を与えたプログラムリスト列を認知可能に出力する
ことを特徴とするプログラムテスト装置。
[付記8]
上記付記記載のプログラムテスト装置であって、
前記出力の対比結果の差分について、前記既存プログラムと前記更新プログラムとのプログラムリストとしての差分および前記更新プログラムに基づき、更新に関連して変更されるべき出力事項であるか判定する
ことを特徴とするプログラムテスト装置。
[付記9]
情報処理装置の制御部を、
既存プログラムが変更されたテストの対象となる更新プログラムに対する1ないし複数の所定の変数へのテストデータとして、指定された前記変数について入力され得る全ての範囲の値を生成するとともに、生成した値を個々の変数のテストデータとして関連付けたテストの実行条件を生成する手段と、
前記既存プログラムに基づく既存システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該既存システムの出力を取得して記憶する手段と、
前記更新プログラムに基づく新システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該新システムの出力を取得して記憶する手段と、
前記既存システムおよび前記新システムの両出力を対比すると共に、対比結果に含まれる差分について、認知可能に出力する手段
として動作させることを特徴とするプログラム。
[付記10]
上記付記記載のプログラムであって、
前記制御部に、前記所定の変数として、前記更新プログラムを解析して、新システムの使用する変数と該変数の取り得る範囲を抽出させる
ことを特徴とするプログラム。
[付記11]
上記付記記載のプログラムであって、
前記所定の変数として、文字変数を用いる場合に、文字種と入力文字数範囲を指定してその組み合わせ全てについて、該変数に関連付けた実行条件に含ませる
ことを特徴とするプログラム。
[付記12]
上記付記記載のプログラムであって、
前記所定の変数の入力され得る全ての範囲について、前記新システムから入力を受け得る範囲に限定して実行条件を生成させる
ことを特徴とするプログラム。
[付記13]
上記付記記載のプログラムであって、
前記既存システムおよび前記新システムを前記実行条件に基づき並列動作させることによって得られる両システムの出力を、取得した順にリアルタイムに対比を行なわせ、対比結果の差分を順次認知可能に出力させる
ことを特徴とするプログラム。
[付記14]
上記付記記載のプログラムであって、
前記実行条件に含まれる所定の変数に対するテストデータのテスト順を、境界値および限界値について優先した後、試験済みとなる値の間の値である1の値を埋めるように優先付けし、その後更に試験済みとなる値の間の値である1の値を埋めるように優先付けするように繰り返して、前記変数について入力され得る全ての範囲の値のテスト順を定め、
リアルタイムで行われる前記既存システムおよび前記新システムからの出力対比を、任意のタイミング又は予め設定したタイマ値により停止させ得るように動作させる
ことを特徴とするプログラム。
[付記15]
上記付記記載のプログラムであって、
前記出力の対比結果の差分に基づき、前記更新プログラムにおける抽出した差分に影響を与えたプログラムリスト列を認知可能に出力させる
ことを特徴とするプログラム。
[付記16]
上記付記記載のプログラムであって、
前記出力の対比結果の差分について、前記既存プログラムと前記更新プログラムとのプログラムリストとしての差分および前記更新プログラムに基づき、更新に関連して変更されるべき出力事項であるか判定させる
ことを特徴とするプログラム。
[付記17]
既存プログラムが変更されたテストの対象となる更新プログラムに対する1ないし複数の所定の変数へのテストデータとして、指定された前記変数について入力され得る全ての範囲の値を生成し、
生成した値を個々の変数のテストデータとして関連付けたテストの実行条件を生成し、
前記既存プログラムに基づく既存システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該既存システムの出力を取得し、
前記更新プログラムに基づく新システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該新システムの出力を取得し、
前記既存システムおよび前記新システムの両出力を対比すると共に、対比結果に含まれる差分について、認知可能に出力する
ことを特徴とするプログラムテスト方法。
[付記18]
上記付記記載のプログラムテスト方法であって、
前記所定の変数として、前記更新プログラムを解析して、新システムの使用する変数と該変数の取り得る範囲を抽出する
ことを特徴とするプログラムテスト方法。
[付記19]
上記付記記載のプログラムテスト方法であって、
前記所定の変数として、文字変数を用いる場合に、文字種と入力文字数範囲を指定してその組み合わせ全てについて、該変数に関連付けた実行条件に含ませる
ことを特徴とするプログラムテスト方法。
[付記20]
上記付記記載のプログラムテスト方法であって、
前記所定の変数の入力され得る全ての範囲について、前記新システムから入力を受け得る範囲に限定して実行条件を生成する
ことを特徴とするプログラムテスト方法。
[付記21]
上記付記記載のプログラムテスト方法であって、
前記既存システムおよび前記新システムを前記実行条件に基づき並列動作させることによって得られる両システムの出力を、取得した順にリアルタイムに対比を行い、対比結果の差分を順次認知可能に出力する
ことを特徴とするプログラムテスト方法。
[付記22]
上記付記記載のプログラムテスト方法であって、
前記実行条件に含まれる所定の変数に対するテストデータのテスト順を、境界値および限界値について優先した後、試験済みとなる値の間の値である1の値を埋めるように優先付けし、その後更に試験済みとなる値の間の値である1の値を埋めるように優先付けするように繰り返して、前記変数について入力され得る全ての範囲の値のテスト順を定め、
リアルタイムで行われる前記既存システムおよび前記新システムからの出力対比を、任意のタイミング又は予め設定したタイマ値により停止させ得るように動作する
ことを特徴とするプログラムテスト方法。
[付記23]
上記付記記載のプログラムテスト方法であって、
前記出力の対比結果の差分に基づき、前記更新プログラムにおける抽出した差分に影響を与えたプログラムリスト列を認知可能に出力する
ことを特徴とするプログラムテスト方法。
[付記24]
上記付記記載のプログラムテスト方法であって、
前記出力の対比結果の差分について、前記既存プログラムと前記更新プログラムとのプログラムリストとしての差分および前記更新プログラムに基づき、更新に関連して変更されるべき出力事項であるか判定させる
ことを特徴とするプログラムテスト方法。
本発明は、あらゆるプログラム言語のテストに利用可能である。
10 プログラムテスト装置
20 データ処理装置
21 テスト実行条件生成手段
22 既存システム戻り値データ保存手段
23 新システム戻り値データ保存手段
24 データ比較出力手段
30 記憶装置
31 実行条件記憶部
32 入出力データ記憶部
40 入力装置
50 出力装置
100 既存システム
110 既存プログラム実行部
200 新システム
210 更新プログラム実行部

Claims (9)

  1. 既存プログラムが変更されたテストの対象となる更新プログラムに対する1ないし複数の所定の変数へのテストデータとして、指定された前記変数について入力され得る全ての範囲の値を生成するとともに、生成した値を個々の変数のテストデータとして関連付けたテストの実行条件を生成処理する手段と、
    前記既存プログラムに基づく既存システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該既存システムの出力を取得して記憶する手段と、
    前記更新プログラムに基づく新システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該新システムの出力を取得して記憶する手段と、
    前記既存システムおよび前記新システムの両出力を対比処理すると共に、対比結果に含まれる差分について、認知可能に出力する手段と
    を備え
    前記実行条件に含まれる所定の変数に対するテストデータのテスト順を、境界値および限界値について優先した後、試験済みとなる値の間の値である1の値を埋めるように優先付けし、その後更に試験済みとなる値の間の値である1の値を埋めるように優先付けするように繰り返して、前記所定の変数について入力され得る全ての範囲の値のテスト順を定め、
    リアルタイムで行われる前記既存システムおよび前記新システムからの出力対比を、任意のタイミング又は予め設定したタイマ値により停止させ得る
    ことを特徴とするプログラムテスト装置。
  2. 請求項1記載のプログラムテスト装置であって、
    前記所定の変数として、前記更新プログラムを解析して、新システムの使用する変数と該変数の取り得る全ての範囲を抽出する
    ことを特徴とするプログラムテスト装置。
  3. 請求項1又は2記載のプログラムテスト装置であって、
    前記所定の変数として、文字変数を用いる場合に、文字種と入力文字数範囲を指定してその組み合わせ全てについて、該変数に関連付けて前記実行条件に含ませる
    ことを特徴とするプログラムテスト装置。
  4. 請求項1ないし3の何れか一項に記載のプログラムテスト装置であって、
    前記所定の変数の入力され得る全ての範囲について、前記新システムから入力を受け得る範囲に限定して前記実行条件を生成する
    ことを特徴とするプログラムテスト装置。
  5. 請求項1ないし4の何れか一項に記載のプログラムテスト装置であって、
    前記既存システムおよび前記新システムを前記実行条件に基づき並列動作させることによって得られる両システムの出力を、取得した順にリアルタイムに対比処理を行ない、対比結果の差分を順次認知可能に出力する
    ことを特徴とするプログラムテスト装置。
  6. 請求項1ないし5の何れか一項に記載のプログラムテスト装置であって、
    前記出力の対比結果の差分に基づき、前記更新プログラムにおける抽出した差分に影響を与えたプログラムリスト列を認知可能に出力する
    ことを特徴とするプログラムテスト装置。
  7. 請求項1ないし6の何れか一項に記載のプログラムテスト装置であって、
    前記出力の対比結果の差分について、前記既存プログラムと前記更新プログラムとのプログラムリストとしての差分および前記更新プログラムに基づき、更新に関連して変更されるべき出力事項であるか判定する
    ことを特徴とするプログラムテスト装置。
  8. 情報処理装置の制御部を、
    既存プログラムが変更されたテストの対象となる更新プログラムに対する1ないし複数の所定の変数へのテストデータとして、指定された前記変数について入力され得る全ての範囲の値を生成するとともに、生成した値を個々の変数のテストデータとして関連付けたテストの実行条件を生成する手段と、
    前記既存プログラムに基づく既存システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該既存システムの出力を取得して記憶する手段と、
    前記更新プログラムに基づく新システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該新システムの出力を取得して記憶する手段と、
    前記既存システムおよび前記新システムの両出力を対比すると共に、対比結果に含まれる差分について、認知可能に出力する手段
    として動作させ
    前記制御部に、
    前記実行条件に含まれる所定の変数に対するテストデータのテスト順を、境界値および限界値について優先した後、試験済みとなる値の間の値である1の値を埋めるように優先付けし、その後更に試験済みとなる値の間の値である1の値を埋めるように優先付けするように繰り返して、前記所定の変数について入力され得る全ての範囲の値のテスト順を定めて、
    リアルタイムで行われる前記既存システムおよび前記新システムからの出力対比を、任意のタイミング又は予め設定したタイマ値により停止させる
    動作を行わせる
    ことを特徴とするプログラム。
  9. 既存プログラムが変更されたテストの対象となる更新プログラムに対する1ないし複数の所定の変数へのテストデータとして、指定された前記変数について入力され得る全ての範囲の値を生成し、
    生成した値を個々の変数のテストデータとして関連付けたテストの実行条件を、該実行条件に含まれる所定の変数に対するテストデータのテスト順を、境界値および限界値について優先した後、試験済みとなる値の間の値である1の値を埋めるように優先付けし、その後更に試験済みとなる値の間の値である1の値を埋めるように優先付けするように繰り返して、前記所定の変数について入力され得る全ての範囲の値のテスト順を定め前記既存プログラムに基づく既存システムと前記更新プログラムに基づく新システムとのリアルタイムで行う出力対比を任意のタイミング又は予め設定したタイマ値により停止させ得るように生成処理し、
    前記既存システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該既存システムの出力を取得し、
    前記新システムが前記生成した実行条件で示された前記変数に基づくテスト動作を行なった際の該新システムの出力を取得し、
    前記既存システムおよび前記新システムの両出力を対比すると共に、対比結果に含まれる差分について、認知可能に出力する
    ことを特徴とする情報処理システムによるプログラムテスト方法。
JP2011075157A 2011-03-30 2011-03-30 プログラムテスト装置、プログラムテスト方法、およびプログラム Active JP5874891B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011075157A JP5874891B2 (ja) 2011-03-30 2011-03-30 プログラムテスト装置、プログラムテスト方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011075157A JP5874891B2 (ja) 2011-03-30 2011-03-30 プログラムテスト装置、プログラムテスト方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2012208830A JP2012208830A (ja) 2012-10-25
JP5874891B2 true JP5874891B2 (ja) 2016-03-02

Family

ID=47188474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011075157A Active JP5874891B2 (ja) 2011-03-30 2011-03-30 プログラムテスト装置、プログラムテスト方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5874891B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5825234B2 (ja) * 2012-09-11 2015-12-02 横浜ゴム株式会社 ゴム補強用スチールコードおよびコンベヤベルト
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US9207969B2 (en) * 2013-01-25 2015-12-08 Microsoft Technology Licensing, Llc Parallel tracing for performance and detail
US9021262B2 (en) 2013-01-25 2015-04-28 Concurix Corporation Obfuscating trace data
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US9665474B2 (en) 2013-03-15 2017-05-30 Microsoft Technology Licensing, Llc Relationships derived from trace data
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
JP2015043198A (ja) * 2013-07-22 2015-03-05 株式会社東芝 解析システム、解析方法および解析プログラム
JP6205965B2 (ja) * 2013-08-09 2017-10-04 富士通株式会社 テストデータ生成プログラム、テストデータ生成方法、およびテストデータ生成装置
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
CN105765528B (zh) 2013-11-13 2019-09-24 微软技术许可有限责任公司 具有可配置原点定义的应用执行路径跟踪的方法、系统和介质
JP7047444B2 (ja) * 2018-02-16 2022-04-05 トヨタ自動車株式会社 車両制御装置、電子制御ユニット、制御方法、制御プログラム、車両、otaマスタ、システム及びセンタ
US11093379B2 (en) 2019-07-22 2021-08-17 Health Care Service Corporation Testing of complex data processing systems

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03244043A (ja) * 1990-02-21 1991-10-30 Nec Corp テストデータ生成装置
JP2005141406A (ja) * 2003-11-05 2005-06-02 Toyota Motor Corp コンパイラ検査システムおよび同プログラム
JP2007041804A (ja) * 2005-08-02 2007-02-15 Sharp Corp プログラム生成装置、プログラム検証装置および検証プログラム
JP4874277B2 (ja) * 2008-03-12 2012-02-15 株式会社日立ソリューションズ 自動テスト実行システム

Also Published As

Publication number Publication date
JP2012208830A (ja) 2012-10-25

Similar Documents

Publication Publication Date Title
JP5874891B2 (ja) プログラムテスト装置、プログラムテスト方法、およびプログラム
US9389849B2 (en) Test case pattern matching
US20170228309A1 (en) System and method for equivalence class analysis-based automated requirements-based test case generation
EP2960799A1 (en) Defect localization in software integration tests
Mahajan et al. Using visual symptoms for debugging presentation failures in web applications
US10162739B2 (en) Test case generation system and recording medium wherein test case is recorded
JPH08241193A (ja) コード・セグメント解析方法。
EP2238540A1 (en) Selective code instrumentation for software verification
CN106776338B (zh) 一种测试方法、装置及服务器
US9690682B2 (en) Program information generating system, method, and computer program product
US10936474B2 (en) Software test program generation
JP2008191963A (ja) ソースコード検証システム、ソースコード検証方法、およびソースコード検証用プログラム
US9734042B1 (en) System, method, and computer program for automated parameterized software testing
US10073764B1 (en) Method for instruction sequence execution analysis and visualization
JP2020135171A (ja) 機械学習プログラム検証装置および機械学習プログラム検証方法
JP2010102620A (ja) ユーザ操作シナリオ生成装置、方法およびプログラム
KR101826618B1 (ko) 테스트 케이스 생성 방법, 장치 및 컴퓨터 판독가능 기록매체
JP2002163020A (ja) プログラマブルコントローラにおける異常検出方法およびその装置
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test
JP2009230420A (ja) ソースコード品質管理装置
JP7077909B2 (ja) デッドコード解析プログラム、デッドコード解析方法及びデッドコード解析装置
Koutsopoulos et al. Advancing data race investigation and classification through visualization
Srivastava et al. Cause effect graph to decision table generation
JP2005301568A (ja) 表示情報記憶制御装置および表示情報記憶制御プログラム
JP6002507B2 (ja) ソフトウェア検証用プログラムおよびソフトウェア検証システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150715

TRDD Decision of grant or rejection written
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151216

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160106

R150 Certificate of patent or registration of utility model

Ref document number: 5874891

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150