説明

テスト支援装置

【課題】分岐などを多く含んでいて処理の流れが複雑なテストプログラム全体の流れを容易に理解できるテスト支援装置を提供することにある。
【解決手段】テストプログラムの仮想テストを行うように構成されたテスト支援装置において、前記テストプログラムの記述を解析するテストプログラム解析部と、このテストプログラム解析部の解析結果に基づき処理の流れについての判断を行うテストプログラム解析結果判断部と、これら各部におけるテストプログラムに関連した情報を表示するテストプログラム表示部、を有することを特徴とするもの。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テスト支援装置に関し、詳しくは、一連のテストプログラムの処理の流れを的確に把握できるように表示する表示の改善に関するものである。
【0002】
LSIテスタは、テスト仕様に則って、被テスト対象物(DUT)であるLSIをテストする。テスト仕様は、デバイスメーカーが、テスタメーカーやテストハウスに対して指示するテスト内容であり、LSIテスタを構成するモジュールに設定すべき電圧値などのパラメータが文章や図で記載されているものである。テスト仕様に記載されたこれらのパラメータは、テストプログラムによって、LSIテスタに設定される。
【0003】
ところで、作成されたテストプログラムについては、そのテストプログラムがテスト仕様を正しく反映しているか否かを確認する必要がある。
【0004】
図3は、テストプログラムの仮想テストを行う従来のシステムの一例を示すブロック図である。図3において、ソフトウェアで記述されたLSIテスタ1は、テストプログラム格納部3に格納された実機テスタで動作するのと同じテストプログラムおよびテストパターン格納部4に格納された実機テスタで動作するのと同じテストパターンに基づいて、ソフトウェアで記述されたDUT2に対してテストを行う。DUT2には、HDL(Hardware Description Language)で記述された設計データを用いる。
【0005】
これにより、HDL記述で実現可能な範囲に関しては、DUT2の応答まで含めて、テストを実行できる。この図3の構成は、主に、テストプログラムとテストパターンの検証の用途で用いられる。
【0006】
なお、図3のLSIテスタ1は、DUT2を用いない構成で動作させることも可能である。その場合は、DUTの応答を期待する部分では、LSIテスタ1は、予め設定された応答を受け取るように作成されている。このDUT2を用いない構成は、主に、テストプログラムの検証の用途で用いられる。
【0007】
図4は、テストプログラムの具体例図である。
図4において、
if (@flag==1) {
のif文は、flagが「1」の場合には、
testno(1000,2,11,2)
として指定されているtest2を実行し、flagが「1」ではない場合には、
testno(1100,2,11,2);
として指定されているelse文の「プログラム記述2」に基づくtest102を実行することを指示している。
【0008】
なお、testno(a,b,c,d)のaはそれぞれのテスト番号を示し、bはパスビンの番号を示し、cはフェイルビンの番号を示し、dはそれぞれのテストのカテゴリを示すものであり、テスト結果のログには、aのテスト番号とdのテストカテゴリが記録される。テストのカテゴリとしては、タイミングテスト、電圧テスト、導通テストなどが規定されている。
【0009】
for (@cnt=0; @cnt<10;@cnt++) {
のfor文は、カウント値を0からカウントアップしながら10に達するまで、
testno(500,1,10,1);
として指定されている「プログラム記述1」に基づくtest1を繰り返して実行することを指示している。
【0010】
このような
if (@flag==1) {
のif文に続き、
testno(2000,3,12,3);
として指定されているtest3を実行し、さらに、
if (@flag==2) {
test4;

のif文を実行することになる。
【0011】
すなわち、図4のテストプログラムでは、for文とif文とそれらの中のプログラム変数などでプログラムの処理の流れを変えている。
【0012】
非特許文献1には、実際のテスタ(実機)でなく仮想テスタによってテストデバッグを行う技術が記載されている。
【0013】
特許文献1には、問題の所在を迅速に切り分ける、ICテスタ用デバッグ支援方法が記載されている。
【先行技術文献】
【非特許文献】
【0014】
【非特許文献1】佐野,久保,小笠原,安斉,「LSIテスト支援システム −仮想テスタPreTestStation−」,横河技報,横河電機株式会社,Vol.47 No.3(2003),p.87−90
【特許文献】
【0015】
【特許文献1】特開2008−70294号公報
【発明の概要】
【発明が解決しようとする課題】
【0016】
しかし、図4のようにプログラムの処理の流れを変える文がある場合には、これらのテストプログラムの記述を見てテストプログラムの動きを的確に把握して理解するのは簡単なことではない場合が多い。
【0017】
これに対し、単に記述を見て理解するのではなく、実際にテストプログラムを、ある区切り、たとえば値が設定される行ごとに、ステップ状に動作させて動きが見えるようにすることも行われてはいるが、それでも、テストプログラム全体の流れを見渡すのは容易ではないことがある。
【0018】
本発明は、このような課題を解決するものであり、その目的は、分岐などを多く含んでいて処理の流れが複雑なテストプログラム全体の流れを容易に理解できるテスト支援装置を提供することにある。
【課題を解決するための手段】
【0019】
このような課題を達成するために、本発明のうち請求項1記載の発明は、
テストプログラムの仮想テストを行うように構成されたテスト支援装置において、
前記テストプログラムの記述を解析するテストプログラム解析部と、
このテストプログラム解析部の解析結果に基づき処理の流れについての判断を行うテストプログラム解析結果判断部と、
これら各部におけるテストプログラムに関連した情報を表示するテストプログラム表示部、
を有することを特徴とする。
【0020】
請求項2記載の発明は、請求項1記載のテスト支援装置において、
前記テストプログラム解析結果判断部は、前記テストプログラムに記述されている処理の流れを、分岐、設定、測定、判定などのいずれかを含む大きな意味の有する単位にまとめることを特徴とする。
【0021】
請求項3記載の発明は、請求項1または請求項2記載のテスト支援装置において、
前記プログラム表示部に表示される前記テストプログラム解析結果判断部の判断結果の大きな意味の有する単位項目を選択することにより、選択された単位項目について前記テストプログラムに記述されている具体的な内容が表示されることを特徴とする。
【発明の効果】
【0022】
本発明によれば、分岐などを多く含む処理の流れが複雑なテストプログラム全体の流れを、テストプログラム表示部に表示される各部の処理結果の表示画面に基づき、容易に理解できる。
【図面の簡単な説明】
【0023】
【図1】本発明のテスト支援装置の一実施例を示す構成図である。
【図2】図1のテストプログラム解析部の動作説明図である。
【図3】テストプログラムの仮想テストを行う従来のシステムの一例を示すブロック図である。
【図4】テストプログラムの具体例図である。
【発明を実施するための最良の形態】
【0024】
以下、本発明について、図面を用いて詳細に説明する。図1は本発明のテスト支援装置の一実施例を示す構成図であり、図3と共通する部分には同一の符号を付けている。
【0025】
図1の装置では、図3の装置に、テストプログラムを解析するテストプログラム解析部5と、テストプログラム解析部5での解析結果を判断するテストプログラム解析結果判断部6と、テストプログラム表示部7が付加されている。
【0026】
テストプログラム解析部5は、テストプログラム格納部3に格納されたテストプログラムの記述を解析し、その解析結果をテストプログラム解析結果判断部6に出力する。
【0027】
テストプログラム解析結果判断部6は、テストプログラム解析部5から入力される解析結果に対して所定の判断を行い、図2(C)のような判断結果を出力する。
【0028】
テストプログラム表示部7は、図2(A)に示すようなテストプログラム格納部3から読み出されるテストプログラムおよび図2(C)に示すようなテストプログラム解析結果判断部6の判断結果を表示する。
【0029】
図2(A)は、テストプログラムにおけるファンクションテストのうち、「tg」と記述されているタイミングテストと「VM」と記述されている電圧測定の部分を示しているが、テストプログラムになじみのない場合には、これらの記述からテストプログラムの動きを的確に理解することは困難である。
【0030】
図2(B)は、テストプログラム解析部5の解析結果例であり、以下のような事項を判断できる内容を含むものである。なお、これらの解析結果は、LSIの仮想テストを行うシステムが内部に一時的に持つデータでもよいし、一般的なファイルとしてハードディスクなどに記録してもよい。
・テストプログラムのファイル名
・テストプログラムのファイル中の各行の種類およびその行のファイル中の行番号
・各行が意味のある連続した記述の中に含まれるときはその範囲
【0031】
図2(B)の解析結果の各行は、それぞれ、図2(A)に記述されているテストプログラムの、「テストプログラムのファイル名:行番号:種別:範囲」を表している。
【0032】
具体的には、「test.tdl:1:テストセグメント定義」により、test.tdlの1行目が、テストセグメント定義に関する行であることを示している。
【0033】
「test.tdl:2,3:設定」は、test.tdlの2,3行目が、テストプログラム上の「設定」に関する行であることを示している。
【0034】
「test.tdl:4:IF」は、test.tdlの4行目がif文であることを示している。
【0035】
「test.tdl:5,8:設定」は、test.tdlの5,8行目が、テストプログラム上の「設定」に関する行であることを示している。
【0036】
「test.tdl:9:判定:8,10」は、test.tdlの9行目がテストプログラム上の「判定」に関する行であることを示し、その判定に関する内容が8行目から10行目に記述されていることを示している。
【0037】
「test.tdl:11:ENDIF」は、test.tdlの11行目がif文の終わりであることを示している。
【0038】
「test.tdl:11:ELSE」は、test.tdlの11行目がelse文であることを示している。
【0039】
「test.tdl:12,13:設定」は、test.tdlの12,13行目が、テストプログラム上の「設定」に関する行であることを示している。
【0040】
「test.tdl:14:測定:13,16」は、test.tdlの14行目がテストプログラム上の「測定」に関する行であることを示し、その測定に関する内容が13行目から16行目に記述されていることを示している。
【0041】
「test.tdl:15:判定:13,16」は、test.tdlの15行目がテストプログラム上の「判定」に関する行であることを示し、その判定に関する内容が13行目から16行目に記述されていることを示している。
【0042】
そして、「test.tdl:16:ENDELSE」は、test.tdlの16行目がelse文の終わりであることを示している。
【0043】
図2(C)は、テストプログラム表示部7に表示されるテストプログラム解析結果判断部6の判断結果例であり、図2(A)のテストプログラムおよび図2(B)のテストプログラム解析部5の解析結果例に対応している。
【0044】
すなわち、図2(C)では、その1行目に、図2(B)の解析結果の「test.tdl:1:テストセグメント定義」から、ファイル名として「テストセグメント定義」を表示している。
【0045】
2行目には、図2(B)の解析結果の「test.tdl:2,3:設定」から、処理の種類として、「設定」を表示している。
【0046】
3行目には、図2(B)の解析結果の「test.tdl:4:IF」から、処理の種類として、分岐のif文とその条件「@flag==1」と始めカッコ「{」を表示している。
【0047】
4行目には、図2(B)の解析結果の「test.tdl:5,8:設定」から、if文における処理の種類として、「設定」を表示している。
【0048】
5行目には、図2(B)の解析結果の「test.tdl:9:判定:8,10」から、if文における処理の種類として、「判定」を表示している。
【0049】
6行目には、図2(B)の解析結果の「test.tdl:11:ENDIF」および「test.tdl:11:ELSE」から、処理の種類として、if文の閉じカッコ「}」と分岐の「else文」と始めカッコ「{」を表示している。
【0050】
7行目には、図2(B)の解析結果の「test.tdl:12,13:設定」から、else文における処理の種類として、「設定」を表示している。
【0051】
8行目には、図2(B)の解析結果の「test.tdl:14:測定:13,16」から、else文における処理の種類として、「測定」を表示している。
【0052】
9行目には、図2(B)の解析結果の「test.tdl:15:判定:13,16」から、else文における処理の種類として、「判定」を表示している。
【0053】
そして、10行目には、図2(B)の解析結果の「test.tdl:16:ENDELSE」から、else文の閉じカッコ「}」を表示している。
【0054】
このように、図2(C)のテストプログラム解析結果判断部6の判断結果例によれば、分岐、設定、判定などを多く含む処理の流れが複雑なテストプログラムが、if文やelse文などの分岐のそれぞれについて、設定、測定、判定などの大きな意味のある単位にまとまって表示されている。
【0055】
なお、テストプログラム表示部7に表示される図2(C)に示すようなテストプログラム解析結果判断部6の判断結果例の表示画面上において、たとえば「設定」の文字を選択することで、その「設定」に対応する具体的な「行番号」および「範囲」を図2(B)のテストプログラム解析部5の解析結果の情報から取得し、テストプログラムに記述されている具体的な「行番号」および「範囲」を表示画面上に表示する。
【0056】
また、テストプログラム表示部7に表示される図2(C)の各行やif文などのテストプログラムの処理の流れが変わる単位で、ステップ実行できる機能を併せ持つようにしてもよい。
【0057】
このように構成することにより、分岐などを多く含み、処理の流れが複雑なテストプログラム全体の流れを、テストプログラム表示部に表示される各部の処理結果の表示画面に基づき、容易に理解できるテスト支援装置が実現できる。
【0058】
なお、上記実施例では、LSIテスタで用いるテストプログラムを仮想テストにより検証する例について説明したが、LSIテスタに限るものではなく、各種のテストシステムで用いるテストプログラムの検証にも有効である。
【0059】
以上説明したように、本発明によれば、分岐などを多く含んでいて処理の流れが複雑なテストプログラム全体の流れを容易に理解できるテスト支援装置が実現でき、テストプログラムの検証作業などを効率よく行うことができる。
【符号の説明】
【0060】
1 LSIテスタ
2 DUT
3 テストプログラム格納部
4 テストパターン格納部
5 テストプログラム解析部
6 テストプログラム解析結果判断部
7 テストプログラム表示部

【特許請求の範囲】
【請求項1】
テストプログラムの仮想テストを行うように構成されたテスト支援装置において、
前記テストプログラムの記述を解析するテストプログラム解析部と、
このテストプログラム解析部の解析結果に基づき処理の流れについての判断を行うテストプログラム解析結果判断部と、
これら各部におけるテストプログラムに関連した情報を表示するテストプログラム表示部、
を有することを特徴とするテスト支援装置。
【請求項2】
前記テストプログラム解析結果判断部は、前記テストプログラムに記述されている処理の流れを、分岐、設定、測定、判定などのいずれかを含む大きな意味の有する単位にまとめることを特徴とする請求項1記載のテスト支援装置。
【請求項3】
前記プログラム表示部に表示される前記テストプログラム解析結果判断部の判断結果の大きな意味の有する単位項目を選択することにより、選択された単位項目について前記テストプログラムに記述されている具体的な内容が表示されることを特徴とする請求項1または請求項2記載のテスト支援装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate