図面 (/)

技術 テストパターン生成装置及び方法

出願人 株式会社豊田中央研究所
発明者 寺嶌立太佐野範佳脇田敏裕稲森豊
出願日 1996年9月9日 (24年3ヶ月経過) 出願番号 1996-261375
公開日 1998年3月31日 (22年9ヶ月経過) 公開番号 1998-083327
状態 未査定
技術分野 デジタル計算機の試験診断 電子回路の試験 デバッグ/監視 電子回路の試験 CAD
主要キーワード 分割仕様 LIFOメモリ LIFO テストパターンメモリ 探索操作 最終時刻 各処理単位 テストパターン生成装置
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(1998年3月31日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (4)

課題

外部入力のみならず内部状態の変化に対応して動作状態を変えるプログラムの構造テストに用い得るテストパターン簡易に生成する。

解決手段

テスト対象のプログラムを分割して代数的に記述する各仕様実行順に配列し、テストパターン生成対象の変数Xがとるべき状態Sを最終時刻の被操作データとして指定し、指定された変数を指定された状態にするための条件の記述された仕様を探索して、前記条件の要素として外部入力が記述されている場合はそのとるべき状態をテストパターンデータとして記憶し、前記条件の要素として変数が記述されている場合はそのとるべき状態を前時刻の被操作データとして指定するとともに記憶し、最終時刻の被操作データから時刻の逆順に前記探索等を行い、各変数の状態が各々初期状態をとり得るようになると前記変数Xを前記状態Sにするためのテストパターン生成過程を終了させる装置及び方法。

概要

背景

プログラムに対して適切な外部入力テストパターン)を与え、その出力を期待値と比較することで、プログラムが正常に動作するか否かを検査する、いわゆるプログラムテストが行われている。かかるプログラムテストでは、プログラムに対して外部入力されるテストパターンの良否が、プログラムテストの信頼性を左右する。近年、プログラムの複雑度が増すにつれて、テストパターンの生成に長時間を要するようになってきている。このため、複雑なプログラムに関して良質なテストパターンを簡易に生成する技術が望まれている。

特開昭60−77248号公報には、プログラムに対応する状態遷移図に基づいてテストパターン(テストデータ)を生成する装置が開示されている。この公報の装置では、初期状態から途中状態を経て初期状態に戻るパスを辿るように外部入力が選ばれる。次に、未だ辿られていないパスを有する途中状態が検出されて該途中状態に戻り、該途中状態から未だ辿られていないパスを辿るように外部入力が選ばれる。以下、同様の手順で操作が繰り返されて全てのパスが辿られ終わると、外部入力のデータ系列が、テストデータとして生成される。

概要

外部入力のみならず内部状態の変化に対応して動作状態を変えるプログラムの構造テストに用い得るテストパターンを簡易に生成する。

テスト対象のプログラムを分割して代数的に記述する各仕様実行順に配列し、テストパターン生成対象の変数Xがとるべき状態Sを最終時刻の被操作データとして指定し、指定された変数を指定された状態にするための条件の記述された仕様を探索して、前記条件の要素として外部入力が記述されている場合はそのとるべき状態をテストパターンデータとして記憶し、前記条件の要素として変数が記述されている場合はそのとるべき状態を前時刻の被操作データとして指定するとともに記憶し、最終時刻の被操作データから時刻の逆順に前記探索等を行い、各変数の状態が各々初期状態をとり得るようになると前記変数Xを前記状態Sにするためのテストパターン生成過程を終了させる装置及び方法。

目的

特開昭60−77248号公報の装置では、外部入力を適切に選ぶことで、全てのパスが辿られている。換言すれば、上記公報の装置は、外部入力に応じて動作を一義的に定め得るプログラムを対象として、そのテストパターンを作成する装置である。このため、外部入力のみならず、内部状態の変化にも対応して動作するプログラム用のテストパターンの生成には適していない。本発明は、内部状態の変化に対応して状態を変えるプログラムのテストに適したテストパターンを生成できるようにすることを目的とする。

効果

実績

技術文献被引用数
1件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

1の変数の状態を変化させ得る処理単位テスト対象プログラムを分割して各処理単位を各々代数的に記述して成る各仕様を、当該プログラム中での実行順に記憶している仕様記憶手段と、各変数とその状態を各々記憶する状態記憶手段と、テストパターン生成対象の変数Xと該変数Xがとるべき状態Sを最終時刻の被操作データとして指定する対象指定手段と、被操作データとして指定された変数を指定された状態にするための条件が記述されている仕様を探し出す仕様探索手段と、探索された仕様の前記条件の要素として外部入力が記述されている場合は、該外部入力がとるべき状態を記憶するテストパターン記憶手段と、探索された仕様の前記条件の要素として変数が記述されている場合は、該変数と該変数がとるべき状態を前時刻の被操作データとして指定し、前記状態記憶手段に該変数の状態を記憶する指定記憶手段と、前記仕様探索手段による仕様探索操作を最終時刻の被操作データから時刻の逆順に実行させる操作制御手段と、前記状態記憶手段に記憶されている各変数の状態を監視する監視手段と、各変数が各々初期状態をとり得るようになった旨が前記監視手段により検出されると、前記変数Xを前記状態Sにするためのテストパターン生成過程を終了させる対象解除手段と、を有するテストパターン生成装置

請求項2

1の変数の状態を変化させ得る処理単位にテスト対象のプログラムを分割して各々代数的に記述する各仕様を実行順に配列し、テストパターン生成対象の変数Xと該変数Xがとるべき状態Sを最終時刻の被操作データとして指定し、被操作データとして指定された変数を指定された状態にするための条件が記述されている仕様を探索し、探索された仕様の前記条件の要素として外部入力が記述されている場合は、該外部入力がとるべき状態をテストパターンの構成データとして記憶し、探索された仕様の前記条件の要素として変数が記述されている場合は、該変数と該変数がとるべき状態を前時刻の被操作データとして指定するとともに、該変数の状態を記憶し、最終時刻の被操作データから時刻の逆順に前記被操作データを前記仕様探索用に供給し、記憶している各変数の状態を監視して各変数が各々初期状態をとり得るようになった場合は、前記変数Xを前記状態Sにするためのテストパターン生成過程を終了させる、テストパターン生成方法

技術分野

0001

本発明は、プログラム機能テスト試験)で用いられるテストパターンテストデータ)を生成するための装置と方法に関する。本発明の装置又は方法によると、内部状態の変化に対応して動作する(状態を変える)プログラム用のテストパターンをも生成することができる。

背景技術

0002

プログラムに対して適切な外部入力(テストパターン)を与え、その出力を期待値と比較することで、プログラムが正常に動作するか否かを検査する、いわゆるプログラムテストが行われている。かかるプログラムテストでは、プログラムに対して外部入力されるテストパターンの良否が、プログラムテストの信頼性を左右する。近年、プログラムの複雑度が増すにつれて、テストパターンの生成に長時間を要するようになってきている。このため、複雑なプログラムに関して良質なテストパターンを簡易に生成する技術が望まれている。

0003

特開昭60−77248号公報には、プログラムに対応する状態遷移図に基づいてテストパターン(テストデータ)を生成する装置が開示されている。この公報の装置では、初期状態から途中状態を経て初期状態に戻るパスを辿るように外部入力が選ばれる。次に、未だ辿られていないパスを有する途中状態が検出されて該途中状態に戻り、該途中状態から未だ辿られていないパスを辿るように外部入力が選ばれる。以下、同様の手順で操作が繰り返されて全てのパスが辿られ終わると、外部入力のデータ系列が、テストデータとして生成される。

発明が解決しようとする課題

0004

特開昭60−77248号公報の装置では、外部入力を適切に選ぶことで、全てのパスが辿られている。換言すれば、上記公報の装置は、外部入力に応じて動作を一義的に定め得るプログラムを対象として、そのテストパターンを作成する装置である。このため、外部入力のみならず、内部状態の変化にも対応して動作するプログラム用のテストパターンの生成には適していない。本発明は、内部状態の変化に対応して状態を変えるプログラムのテストに適したテストパターンを生成できるようにすることを目的とする。

課題を解決するための手段

0005

本発明は、1の変数の状態を変化させ得る処理単位テスト対象のプログラムを分割して各処理単位を各々代数的に記述して成る各仕様を当該プログラム中での実行順に記憶している仕様記憶手段と、各変数とその状態を各々記憶する状態記憶手段と、テストパターン生成対象の変数Xと該変数Xがとるべき状態Sを最終時刻の被操作データとして指定する対象指定手段と、被操作データとして指定された変数を指定された状態にするための条件が記述されている仕様を探し出す仕様探索手段と、探索された仕様の前記条件の要素として外部入力が記述されている場合は該外部入力がとるべき状態を記憶するテストパターン記憶手段と、探索された仕様の前記条件の要素として変数が記述されている場合は該変数と該変数がとるべき状態を前時刻の被操作データとして指定し且つ前記状態記憶手段に該変数の状態を記憶する指定記憶手段と、前記仕様探索手段による仕様探索操作を最終時刻の被操作データから時刻の逆順に実行させる操作制御手段と、前記状態記憶手段に記憶されている各変数の状態を監視する監視手段と、各変数が各々初期状態をとり得るようになった旨が前記監視手段により検出されると前記変数Xを前記状態Sにするためのテストパターン生成過程を終了させる対象解除手段と、を有するテストパターン生成装置である。

0006

テストパターン生成対象の変数Xがとるべき状態Sが最終時刻の被操作データとして指定されると、該変数Xを上記状態Sにするためのテストパターンの生成過程が、最終時刻から時刻の逆順に開始される。まず、上記変数Xを上記状態Sにするための条件が記述されている仕様が探索され、該探索された仕様中に記述されている変数がとるべき状態が、前時刻の被操作データとして指定され、且つ、記憶される。また、探索された仕様中に記述されている外部入力がとるべき状態が、上記変数Xを上記状態Sにするためのテストパターンの構成データとして記憶される。次に、前時刻の被操作データに関して、同様に処理が行われる。

0007

上記処理が時刻の逆順に遂行された結果、各変数の状態が初期状態をとるに到った場合は、上記変数Xを上記状態Sにするためのテストパターンの導出成功した場合であり、当該テストパターンの生成過程が終了される。また、上記処理が時刻の逆順に遂行された結果、全ての変数の状態が周期的に変化するに到った場合や、外部入力によって変数の状態を変化させ得なくなるに到った場合は、上記変数Xを上記状態Sにするためのテストパターンの導出に失敗した場合である。この場合に於いて、上記変数Xを上記状態Sにするための条件が記述されている仕様が他に在る場合には、該他の仕様について同様にテストパターンの生成過程を開始するように構成することもできる。上記変数Xを上記状態Sにするためのテストパターンを生成する過程が終了すると、次の変数を或る所望の状態にするためのテストパターンの生成過程が同様に開始される。なお、次の変数が無い場合には、当該プログラムに関するテストパターンの生成が終了される。

0008

前記処理単位とは、外部入力の状態を定めることにより、着目した1の変数の状態を一義的に定め得る単位をいう。前記仕様とは、前記処理単位を代数的に記述したものである。即ち、変化する状態と、該状態に変化させるための条件及び操作を、形式的に記述したものである。代数系の意味に従って仕様を解釈すると、分割された仕様の全体が、テスト対象のプログラムと同じ動作をする。この仕様が、本発明では、時刻の逆順に辿られることで、テストパターンが生成される。なお、テスト対象のプログラムは、非同期割り込みが無い、又は、非同期な割り込みを用いないでモデル化できるプログラムであるものとする。

0009

前述の本発明の構成に於いて、前記操作制御手段が、1の被操作データに関して複数の仕様が探索された場合には、所定の規則に従って選択した1の仕様について前記操作制御を実行するとともに他の仕様を記憶しておき、前記変数Xを前記状態Sにするためのテストパターンの導出に失敗した場合には、次に、記憶している残りの仕様の中から所定の規則に従って選択した1の仕様について前記操作制御を実行し、以下、同様に前記操作制御を繰り返して実行するテストパターン生成装置として構成することもできる。

0010

また、前述の本発明の構成に於いて、前記テストパターン記憶手段が、LIFO(Last In, First Out)メモリに前記状態を記憶し、テストパターン生成対象の全変数について処理が終了した後に、該LIFOメモリからデータ系列を読み出してテストパターンとして出力するテストパターン生成装置として構成することもできる。

0011

また、本発明は、1の変数の状態を変化させ得る処理単位にテスト対象のプログラムを分割して各々代数的に記述する各仕様を実行順に配列し、テストパターン生成対象の変数Xと該変数Xがとるべき状態Sを最終時刻の被操作データとして指定し、被操作データとして指定された変数を指定された状態にするための条件が記述されている仕様を探索し、探索された仕様の前記条件の要素として外部入力が記述されている場合は該外部入力がとるべき状態をテストパターンの構成データとして記憶し、探索された仕様の前記条件の要素として変数が記述されている場合は該変数と該変数がとるべき状態を前時刻の被操作データとして指定するとともに該変数の状態を記憶し、最終時刻の被操作データから時刻の逆順に前記被操作データを前記仕様探索用に供給し、記憶している各変数の状態を監視して各変数が各々初期状態をとり得るようになった場合は前記変数Xを前記状態Sにするためのテストパターン生成過程を終了させる、テストパターン生成方法である。

発明を実施するための最良の形態

0012

以下、図面を参照して、本発明の実施の形態を説明する。図1(a)は本実施の形態の対象とされるプログラムの外部入力i1 と動作状態S1 〜S3 を示すデータ入出力図、図1(b)は上記プログラムを分割して代数的に記述した仕様を実行順に配した説明図である。ここで、図1(b)の仕様1〜仕様3が各々請求項の処理単位に相当する。図2は動作状態S1 が1になるように、外部入力i1 と動作状態S2 ,S3 を最終時刻から図1(b)の仕様に即して時刻の逆順に決定する様子を示す説明図である。ここで、内部状態S1 〜S3 は、仕様によって決定される順に左から右へ記述されている。図3は本実施の形態の装置の機能的構成を示す機能ブロック図である。

0013

図3に於いて、対象プログラムの動作を代数的に記述する仕様が本テストパターン生成装置に入力されると、上記対象プログラムの仕様はコントロール部によって処理単位に分割される。処理単位とは、変数や外部入力の状態を定めることで、着目した1の変数の状態を一義的に定め得る単位をいう。分割された各処理単位を代数的に記述する各仕様は、仕様メモリに図1(b)の如く実行順に記憶される。なお、外部入力i1 は、仕様1の直前に入力されるものとする。

0014

また、プログラム中で用いられる各変数とその初期状態とが、変数状態メモリに記憶される。変数状態メモリには、各変数とその初期状態を記憶する領域の他に、図2に示す如く、最終時刻から時刻の逆順に定められる状態を記憶するための領域が設けられている。なお、図2の最左欄(外部入力i1 の欄)は、テストパターンメモリの領域を示す。

0015

対象プログラムの分割仕様と変数とその初期状態が記憶されると、コントロール部から対象指定部に対して、テストパターン作成対象の変数Xとその状態Sを最終時刻の被操作データとして指定すべき旨が命令される。これに応じて、対象指定部は、上記変数Xと上記状態Sとを最終時刻の被操作データとして指定して仕様探索部に送る。ここでは、変数S1 と状態「1」とが、最終時刻の被操作データとして指定される。これに応じて、変数状態メモリ内には、図2(a)に示すように、変数S1 の最終時刻0の欄に、状態「1」が書き込まれる。

0016

最終時刻の被操作データが指定されると、指定された変数S1 を指定された状態「1」にするための条件の記述されている仕様が、仕様メモリから探し出される。図1(b)に示すように、仕様1には、「i1 =1,且つ,S2 =0,且つ,S3 =1ならば、S1 =1である」という条件が記述されている。このため、ここでは、仕様1が探し出される。また、探し出された仕様1に基づいて、変数状態メモリ内には、図2(a)に示すように、変数S2 の前時刻1の欄に状態「0」が、変数S3 の前時刻1の欄に状態「1」が、各々書き込まれ、同様に、テストパターンメモリ内には、外部入力i1 の最終時刻0の欄に状態「1」が書き込まれる。ここで、変数S2 と変数S3 は、仕様1の実行時までに上述の状態になっていることが必要であるため、前時刻1の欄に書き込まれる。また、外部入力i1 は仕様1の実行直前に入力されるため、最終時刻0の欄に書き込まれる。なお、図2に於いて、例えば(S10=1)とは、S1 が時刻0に於いて1になるようにするために決定されたことを意味する。

0017

また、仕様1に記述されている条件を満たすために必要な要素「S2 =0」又は「S3 =1」が、前時刻の被操作データとして指定される。これにより、仕様1から時刻の逆順に仕様が辿られて、「S2 =0」又は「S3 =1」にするための条件が記述されている仕様が探し出される。仕様3には、「i1 が連続して3回『i1 =1』であれば、S3 =1である」という条件が記述されている。このため、ここでは、仕様3が探し出される。また、探し出された仕様3に基づき、テストパターンメモリ内には、図2(b)に示すように、外部入力i1 の前時刻1〜前時刻3の各欄に各々状態「1」が書き込まれる。即ち、前時刻3・前時刻2・前時刻1に於いて外部入力i1 =1であれば、前時刻1に於いてS3 =1となり、仕様1のS3 に関する条件を満たすため、上述の如く前時刻3〜前時刻1に於ける外部入力i1 が決定されて、テストパターンメモリに記憶される。

0018

さらに、仕様3から時刻の逆順に仕様が辿られて、残りの要素「S2 =0」を満たすための条件が記述されている仕様が探し出される。仕様2には、「i1 =1,且つ,S3 =1ならば、S2 =1」という条件が記述されている。このため、ここでは、仕様2が探し出される。また、探し出された仕様2に基づいて、変数状態メモリ内には、図2(c)に示すように、変数S3 の前時刻2の欄に状態「0」が書き込まれる。即ち、前時刻2に於いて変数S3 =0であれば、前時刻1の外部入力i1 にかかわりなく、前時刻1に於ける変数S2 =0となり、仕様1のS2 に関する条件を満たすため、上述の如く前時刻2に於ける変数S3 が決定されて記憶される。

0019

仕様1の条件を満たす要素に関する探索が終了すると、次に、仕様2に記述されている条件を満たすために必要な要素「S3 =0」が、前時刻の被操作データとして指定され、これにより、仕様2から時刻の逆順に仕様が辿られて、「S3=0」にするための条件が記述されている仕様が探し出される。仕様3には、「i1 が連続して3回『i1 =1』であれば、S3 =1である」という条件が記述されている。このため、ここでは、仕様3が探し出される。また、探し出された仕様3に基づき、図2(c)に示すように、テストパターンメモリ内の外部入力i1 の前時刻4の欄に状態「0」が書き込まれる。即ち、前時刻4に於いて外部入力i1 =0であれば、前時刻2に於いてS3 =0となり、仕様2のS3 に関する条件を満たすため、上述の如く、前時刻4に於ける外部入力i1 が決定されて、テストパターンメモリに記憶される。

0020

この時点で、変数S2 と変数S3 は初期状態「0」となる。また、変数S1 の前時刻1以前の状態は任意「*」であり、初期状態をとり得る。つまり、各変数が各々初期状態をとり得るようになっている。このようになると、監視部からコントロール部に対して、その旨のデータが送られる。これに応じて、コントロール部は、変数S1 を状態「1」にするためのテストパターン生成過程を終了させるべき旨を対象指定部に対して通知し、また、これにより、テストパターンメモリに記憶されている外部入力i1 のデータ系列(変数S1 を状態「1」にするためのテストパターン)が読み出されて、装置外部に送られる。即ち、変数S1 を状態「1」にするためのテストパターンが得られる。

0021

なお、変数S1 を状態「1」にするためのテストパターンの生成終了後、引き続いて他の変数を所望の状態にするためのテストパターンを生成する場合は、コントロール部から対象指定部に対してその旨が通知され、これにより、前述の場合と同様にして、該他の変数を該所望の状態にするためのテストパターンの生成過程が開始される。

0022

上述の説明では、全ての変数が初期状態をとり得るに到ることで、変数S1 を状態「1」にするためのテストパターンの生成過程が終了されている。換言すれば、テストパターンの導出成功によって、テストパターンの生成過程が終了されている。しかしながら、全ての変数が周期的に変化するに到った場合や、外部入力によって変数を変化させ得なくなるに到った場合のように、テストパターンの導出に失敗する場合もあり得る。このような場合に於いて、前記変数S1 を前記状態「1」にするための条件が記述されている仕様が他に在る場合には、該他の仕様について同様にテストパターンの生成過程が開始される。即ち、テストパターンの導出に失敗した変数について、テストパターンの再探索が開始される。なお、本例では、前記変数S1 を前記状態「1」にするための条件の記述された仕様は、他には無い。

0023

なお、全ての変数が周期的に変化するに到る場合としては、例えば、条件の記述された代数式の両辺に同一の変数が存在する分割仕様が存在するような場合が考えられる。例えば、「i1 =1,且つ,S1 =0,且つ,S3 =1ならば、S1 =1である」の如き仕様の場合である。かかる仕様が存在するが故に、全ての変数が周期的に変化するようになった場合には、前記監視部は、当該変数を所望の状態にするためのテストパターンの導出に失敗したとして、上述の如くテストパターンの生成過程を終了させるべき旨をコントロール部に対して通知することとなる。

発明の効果

0024

以上のように、本発明では、プログラムを処理単位に分割し、或る状態の前の状態を求めるという操作を順に繰り返して、初期状態まで遡ることによりテストパターンを生成しているため、内部状態の変化によって動作状態を変えるプログラムのテストパターンを生成することができる。また、状態の変化に影響しない要因を考慮する必要が無いという効果もある。

図面の簡単な説明

0025

図1(a)は本実施の形態の対象とされるプログラムの外部入力i1 と動作状態S1 〜S3 を示すデータ入出力図、(b)は上記プログラムを分割して代数的に記述した仕様を実行順に配した説明図。
図2動作状態S1 が1になるように、外部入力i1 と動作状態S1 ,S3 を最終時刻から図1(b)の仕様に即して時刻の逆順に決定する様子を示す説明図。
図3実施の形態のテストパターン生成装置の機能的構成を示す機能ブロック図。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ