(57)【特許請求の範囲】
【請求項１】
装置をテストするシステムにおいて、
テストアプリケーションを記憶したメモリと、
装置に接続されるテストインタフェースと、
前記メモリおよび前記テストインタフェースに結合されたプロセッサであって、前記テストアプリケーションに従って動作して、
ｉ）装置テストタスクを定義するテスト手順であって、装置テストタスクの特定のテスト動作を実行するように前記プロセッサに指示する命令およびプログラマブル入力変数をそれぞれ定義する複数のテスト要素を含むテスト手順に基づいて一連の命令を提供し、
ｉｉ）前記装置をテストするために、前記提供された一連の命令に基づいて、前記テストインタフェースを制御する、
ように構成されるプロセッサと、を備え、
前記テスト要素は、それぞれ前記装置テストタスクの一部のみに対する命令を定義し、前記複数のテスト要素が、全体として、前記装置をテストするための完全な装置テストタスクを形成する、
装置をテストするシステム。
【請求項２】
請求項１記載のシステムにおいて、さらに前記プロセッサに結合された入出力装置を備え、前記プロセッサは、前記テストアプリケーションに従って動作して、前記入出力装置にグラフィカルユーザインタフェースを提供するように構成され、前記プロセッサは前記入出力装置により、
（ｉ）テスト要素データベースからのテスト要素を組み合わせて、前記テスト手順を形成し、
（ｉｉ）前記テスト手順を形成する各テスト要素のプログラマブル入力変数の少なくとも一部を初期値にセットし、
（ｉｉｉ）前記テスト手順を形成するテスト要素の動作順序を示し、
（ｉｖ）前記テスト手順を前記メモリ内に格納する、
ように指示される、システム。
【請求項３】
装置をテストするシステムにおいて、
テストアプリケーションを記憶したメモリと、
装置に接続されるテストインタフェースと、
前記テストアプリケーションに従って動作するプロセッサであって、
ｉ）装置テストタスクを定義するテスト手順であって、装置テストタスクの特定のテスト動作を実行するように前記プロセッサに指示する命令およびプログラマブル入力変数をそれぞれ定義する複数のテスト要素を含むテスト手順に基づいて一連の命令を提供し、
ｉｉ）前記提供された一連の命令に基づいて、前記テストインタフェースを制御するように構成されたプロセッサと、
を備え、前記テスト手順は、
第１の結果を提供する第１のテスト動作を実行するように前記プロセッサに指示する命令を定義する第１のテスト要素と、
前記第１の結果に基づく第２の結果を提供する第２のテスト動作を実行するように前記プロセッサに指示する第２の命令セットを定義する第２のテスト要素と、
を含む、
システム。
【請求項４】
請求項１記載のシステムにおいて、前記テスト手順は、前記プロセッサが、他のテスト手順に基づいて命令を提供するとき、装置テストタスクを実行する命令を提供するように、別のテスト手順内にネストされたネストテスト手順である、システム。
【請求項５】
請求項１記載のシステムにおいて、前記プロセッサは、複数の装置それぞれに関連する複数の処理ユニットを含み、前記複数の処理ユニットの各々は、前記提供された一連の命令に基づいて、前記テストインタフェースの各部分を制御して、前記複数の装置をそれぞれ並列にテストするように構成される、システム。
【請求項６】
請求項１記載のシステムにおいて、前記プロセッサは、複数の装置それぞれに関連する複数の処理ユニットを含み、前記複数の処理ユニットは、前記テスト手順の単一インスタンスによって定義される命令に基づいて、前記テストインタフェースの各部分を制御して、前記複数の装置をそれぞれ並列にテストするように構成される、システム。
【請求項７】
請求項１記載のシステムにおいて、前記装置は、混合信号装置であり、前記テスト手順は、
アナログ信号テスト動作を実行するように前記プロセッサに指示する命令を定義する第１のテスト要素と、
デジタル信号テスト動作を実行するように前記プロセッサに指示する命令を定義する第２のテスト要素と、
を含む、システム。
【請求項８】
請求項１記載のシステムにおいて、前記プロセッサは、さらに、
前記テスト手順を解析して、前記テスト手順の前記テスト要素のどのプログラマブル入力変数が初期値を必要とするかを識別し、
前記必要とされる初期値を提供して、識別されたプログラマブル入力変数を初期化するようにユーザにプロンプトするグラフィカルユーザインタフェースコンポーネントを生成する、
ように構成される、システム。
【請求項９】
装置をテストする方法において、
装置テストタスクを定義するテスト手順であって、前記装置テストタスクの特定のテスト動作を実行するようにプロセッサに指示する命令およびプログラマブル入力変数をそれぞれ定義する複数のテスト要素を含むテスト手順を取得するステップと、
前記テスト手順に基づいて一連の命令を提供するステップと、
装置をテストするために、前記提供された一連の命令に基づいてテストインタフェースを制御するステップと、を含み、
前記テストインタフェースを制御するステップが、
第１テスト要素に基づいて、第１テスト結果を生成する第１テスト動作を実行するステップと、
第２テスト要素に基づいて、（ｉ）前記第１テスト要素の指示の下、前記プロセッサによって実行される前記第１テスト動作により生成される前記第１テスト結果を得て、（ｉｉ）前記第１テスト結果に基づいて第２テスト結果を生成する第２テスト動作を実行するステップと、
含む方法。
【請求項１０】
請求項９記載の方法において、入出力装置にグラフィカルユーザインタフェースを提供するステップをさらに含み、前記プロセッサが入出力装置により、
（ｉ）テスト要素データベースからのテスト要素を組み合わせて、前記テスト手順を形成し、
（ｉｉ）前記テスト手順を形成する各テスト要素のプログラマブル入力変数の少なくとも一部を初期値にセットし、
（ｉｉｉ）前記テスト手順を形成するテスト要素の動作順序を示し、
（ｉｖ）前記テスト手順を前記メモリ内に格納する、
ように指示される、方法。
【請求項１１】
請求項９記載の方法において、前記提供するステップは、
前記テスト手順の第１テスト要素に基づいて、第１テスト結果を生成する第１テスト動作を実行するように前記プロセッサに指示する命令を提供するステップと、
前記テスト手順の第２テスト要素に基づいて、第２テスト結果を生成する第２テスト動作を実行するように前記プロセッサに指示する命令を提供するステップであって、前記第２テスト結果は前記第１テスト結果に基づく、ステップと、
を含む方法。
【請求項１２】
請求項９記載の方法において、前記テスト手順は、別のテスト手順内にネストされたネストテスト手順であり、前記提供するステップは、
他のテスト手順に基づいて命令を提供するとき、前記装置テストタスクを実行するように前記プロセッサに指示する命令を提供するステップを含む、方法。
【請求項１３】
請求項９記載の方法において、前記テストインタフェースは、複数の装置それぞれに関連する複数の処理ユニットを含み、該テストインタフェースを制御するステップは、
前記提供された一連の命令に基づいて、前記テストインタフェースの複数の処理ユニットの各々を動作させて、前記複数の各装置をそれぞれ並列にテストするステップを含む、方法。
【請求項１４】
請求項９記載の方法において、前記テストインタフェースは、複数の装置それぞれに関連する複数の処理ユニットを含み、前記テストインタフェースを制御するステップは、
前記テスト手順の単一インスタンスによって定義される命令に基づいて、前記テストインタフェースの前記複数の処理ユニットを動作させて、前記複数の各装置をそれぞれ並列にテストするステップを含む、方法。
【請求項１５】
請求項９記載の方法において、前記装置は混合信号装置であり、前記提供するステップは、
前記テスト手順の第１および第２テスト要素の１つの要素に基づいて、アナログ信号テスト動作を実行するように前記プロセッサに指示する命令を提供するステップと、
前記テスト手順の前記第１および第２テスト要素の別の要素に基づいて、デジタル信号テスト動作を実行するように前記プロセッサに指示する命令を提供するステップと、
を含む、方法。
【請求項１６】
請求項９記載の方法において、さらに、
前記テスト手順を解析して、前記テスト手順の前記テスト要素のどのプログラマブル入力変数が初期値を必要とするかを識別するステップと、
前記必要とされる初期値を提供して、識別されたプログラマブル入力変数を初期化するようにユーザにプロンプトするグラフィカルユーザインタフェースコンポーネントを生成するステップと、
を含む方法。
【請求項１７】
装置をテストするためのテスト手順を提供する方法において、
（ｉ）前記テスト手順が装置テストタスクを定義し、（ｉｉ）前記テスト手順が複数のテスト要素を含み、（ｉｉｉ）各テスト要素が、プロセッサに装置テストタスクの特定のテスト動作を実行させるように指示する命令およびプログラマブル入力変数を定義するように、テスト要素データベースからのテスト要素を組み合わせて、前記テスト手順を形成するステップと、
前記テスト手順を形成する各テスト要素のプログラマブル入力変数の少なくとも一部を初期値にセットするステップと、
前記テスト手順を形成する前記テスト要素についての動作順序を示すステップと、
前記テスト手順を前記メモリ内に格納するステップと、
を含み、前記動作順序を示すステップが、
前記プロセッサに第２動作を実行するように指示する第２テスト要素より先に、第１テスト結果を生成する第１テスト動作を実行するように前記プロセッサに指示する第１テスト要素を指定するステップであって、前記第２動作は、（ｉ）前記第１テスト要素の指示の下、前記プロセッサによって実行される前記第１テスト動作により生成される前記第１テスト結果を得て、（ｉｉ）前記第１テスト結果に基づいて第２テスト結果を生成する、ステップを含む、
方法。
【請求項１８】
請求項１７記載の方法において、前記テスト手順を別のテスト手順内にネストするステップをさらに含む方法。
【請求項１９】
請求項１７記載の方法において、前記装置は混合信号装置であり、前記組み合わせるステップは、
前記第１および第２テスト要素の１つを前記テスト手順に組み込むステップであって、前記第１および第２テスト要素の１つは、前記プロセッサにアナログ信号テスト動作を実行するように指示する命令を定義する、ステップと、
前記第１および第２テスト要素の他方を前記テスト手順に組み込むステップであって、前記第１および第２テスト要素の他方は、前記プロセッサにデジタル信号テスト動作を実行するように指示する命令を定義する、ステップと、
を含む、方法。
【請求項２０】
請求項１記載のシステムにおいて、前記テスト手順内のテスト要素セットの各テスト要素は前記装置によって使用される特定の信号に対応する、システム。
【請求項２１】
装置をテストするシステムにおいて、
テストアプリケーションを記憶したメモリと、
装置に接続されるテストインタフェースと、
前記メモリおよび前記テストインタフェースに結合されたプロセッサであって、前記テストアプリケーションに従って動作して、
ｉ）装置テストタスクを定義するテスト手順であって、装置テストタスクの特定のテスト動作を実行するように前記プロセッサに指示する命令およびプログラマブル入力変数をそれぞれ定義する複数のテスト要素を含むテスト手順に基づいて一連の命令を提供し、
ｉｉ）前記装置をテストするために、前記提供された一連の命令に基づいて、前記テストインタフェースを制御する、
ように構成されるプロセッサと、を備え、前記テスト手順は、
第１テスト結果を生成する第１テスト動作を実行するように前記プロセッサに指示する第１テスト要素と、
（ｉ）前記第１テスト要素の指示の下、前記プロセッサによって実行される前記第１テスト動作により生成される前記第１テスト結果を得て、（ｉｉ）前記第１テスト結果に基づいて第２テスト結果を生成する、第２テスト要素と、
含むシステム。
【請求項２２】
装置をテストするシステムにおいて、
テストアプリケーションを記憶したメモリと、
装置に接続されるテストインタフェースと、
前記メモリおよび前記テストインタフェースに結合されるプロセッサであって、前記テストアプリケーションに従って動作して、
ｉ）装置テストタスクを定義するテスト手順であって、装置テストタスクの特定のテスト動作を実行するように前記プロセッサに指示する命令およびプログラマブル入力変数をそれぞれ定義する複数のテスト要素を含むテスト手順に基づいて一連の命令を提供し、
ｉｉ）前記装置をテストするために、前記提供された一連の命令に基づいて、前記テストインタフェースを制御する、ように構成されるプロセッサと、
前記プロセッサにアナログ信号動作を実行するように指示する命令を有する第１テスト要素と、前記プロセッサにデジタル信号動作を実行するように指示する命令を有する第２テスト要素と、を記憶するテスト要素データベースであって、前記テスト手順は、前記プロセッサに、前記第１および第２テスト要素に基づく混合信号テストを実行するよう指示するように構成される、テスト要素データベースと、
を備えたシステム。
【発明の詳細な説明】
【０００１】
発明の分野
本発明は、概括的には自動テスト機器に関し、特にかかる機器を制御する技術に関する。
発明の背景
一般に、自動テスト機器（ＡＴＥ：automatic test equipment）は、自動的にデバイス（または完全なシステム）をテストするための機器である。ＡＴＥシステムによっては、集積回路（ＩＣ）または回路基板等の電子回路をテストするものがある。典型的なＡＴＥシステムがかかる装置（一般に試験中の装置またはＤＵＴと呼ぶ）をテストする場合、ＡＴＥシステムは、刺激（たとえば、電気信号）を装置に与えて、装置の応答（たとえば、電流および電圧）をチェックする。通常、テストの最終結果は、装置が首尾良く特定の予想される応答を予め確立された許容差内で提供する場合には「合格」、または装置が予想される応答を予め確立された許容差内で提供しない場合には「不合格」である。より高度なＡＴＥシステムは、不合格の装置を評価して、不合格の１つまたは複数の原因を潜在的に決定することが可能である。
【０００２】
ＡＴＥシステムは、ＡＴＥシステムの動作を指示するコンピュータを備えることが一般的である。通常、コンピュータは、１つまたは複数の専用ソフトウェアプログラムを実行して、（ｉ）テスト開発環境、および（ｉｉ）装置試験環境を提供する。テスト開発環境では、通常、ユーザがテストプログラムを作成する、すなわち、ＡＴＥシステムの各種部分を制御する１つまたは複数のファイルをソフトウェアベースでの構築を行う。装置試験環境では、通常、ユーザは試験用の１つまたは複数の装置を有するＡＴＥシステムを提供し、テストプログラムに従って各装置をテストするようＡＴＥシステムに指示する。ユーザは、単に追加の装置をＡＴＥシステムに提供し、テストプログラムに従って追加の装置をテストするようＡＴＥシステムに指示することにより、追加の装置をテストすることができる。したがって、ＡＴＥシステムでは、ユーザが、テストプログラムに基づき一貫して、かつ自動的に多くの装置をテストすることが可能である。
【０００３】
一般に、ＡＴＥシステムのテスト開発環境を使用してテストプログラムを作成するには、コードべースのアプローチおよびテンプレートベースのアプローチという２つの従来のアプローチがある。コードベースのアプローチでは、ユーザが、拡張およびライブラリを用いて、プログラミング言語（たとえば、ＣまたはＣ＋＋プログラミング言語）でコードを書く。一般に、コードは、電圧源、電流源、測定装置、およびデータ記憶資源等、ＡＴＥシステム内の各種コンポーネントの下位レベルの動作を制御する。さらに、複数の装置を並列にテストすべき場合には、通常、追加の装置のテストに必要な追加のＡＴＥシステムコンポーネントを制御するために、特定のコードを追加しなければならず、プログラムの複雑性が大幅に増大する。したがって、コードベースのアプローチでは一般に、ユーザがプログラミング言語およびＡＴＥシステムの各種コンポーネントについて幅広い知識を保有する必要がある。通常、開発されるコードは数千行の長さであり、正式な装置テストを開始することができるようになるまでに、テストおよびデバッグに相当な時間および努力がしばしば必要である。
【０００４】
コードベースのアプローチは、ユーザがＡＴＥシステムの資源を最大限に利用可能であることから、強力かつ柔軟である。ユーザは、本質的に、コードを書くことによってテストプログラムを初めから開発するため、ＡＴＥシステムを完全に利用するようにテストプログラムをカスタマイズし調整することができる。たとえば、ユーザは、特定の最適化をテストプログラムに含めて、達成可能な限り最速のテスト時間を提供し、したがってＡＴＥシステムの処理能力を最大化する様式でＡＴＥシステムを動作することができる。さらに、ユーザは、業界のテスト方法や標準に縛られない。むしろ、ユーザは、ある点に関しては業界の規範よりも優れたものでありうる、ユーザ特定のテスト方法および標準を確立し実施する能力を有する。さらに、ユーザは、ＡＴＥシステムの能力に適した多くの異なるタイプの装置をテストすることが可能である。これは、アナログ信号およびデジタル信号の双方を利用し、装置が、刺激信号を受け入れて応答信号を提供する準備ができる前に、装置特定の構成が通常求められる混合信号装置のテストに対して特に重要である。
【０００５】
コードベースのアプローチとは対照的に、テンプレートベースのアプローチは、ユーザに対する負担がより少ない。テンプレートベースのアプローチでは、ＡＴＥシステム製造業者が、ユーザにテストプログラムテンプレートの選択を供給する。各テンプレートは、通常、ＡＴＥ製造業者によって予め定められたコードを含むため、ユーザが初めからコードを書く必要性を軽減する。さらに、かかるテンプレートは一般に、ある程度カスタマイズ可能である。たとえば、特定のテストプログラムテンプレートでは、ユーザが、装置テスト時にＡＴＥシステムによって実行される特定のアクションを制御する特定の動作パラメータを入力することができる。また、テストプログラムテンプレートは、カスタマイズされた動作パラメータを複数の装置に並列に与え、複数の装置から並列に測定を行うことも典型的である。より幅広い変更には通常、ＡＴＥがこの基礎をなすコードをユーザに対してアクセス可能にする場合、ユーザが予め書き込まれたコードを調べ編集する必要がある。したがって、テンプレートベースのアプローチでは、ユーザのタスクは、意図する特定のテストに適切なテンプレートを選択し、意図するテストを適宜実行するようにＡＴＥシステムに指示するために、適した動作パラメータを選択されたテンプレートに提供することである。
【０００６】
一般に、ユーザの観点から、テンプレートベースのアプローチは、コードベースのアプローチよりも比較的使用しやすい。テンプレートベースのアプローチでは、ユーザが、予め定められたテストプログラムを利用するため、初めからコードを書く必要性が回避される。したがって、プログラミング言語またはＡＴＥシステムの下位レベルの詳細について幅広い知識がユーザに求められない。むしろ、ユーザは、単に予め定められたテンプレートを選択し、特定の動作パラメータを選択されたテンプレートにセットして、ＡＴＥシステムの動作をカスタマイズするだけである。そのように、ユーザは、本質的にテストプログラム開発者ではなくむしろＡＴＥ操作者の役割を果たす。
発明の概要
不都合なことに、テストプログラムを作成するコードベースアプローチおよびテンプレートベースアプローチは、特定の欠点を有する。特に、ユーザが初めからテストプログラムを書くコードベースアプローチでは、ユーザがプログラミング言語およびＡＴＥシステムの各種コンポーネントの下位レベルの詳細について幅広い知識を保有する必要がある。かかる知識なしでは、ユーザは、装置をテストするためにＡＴＥシステムの各種部分を適宜動作するテストプログラムを作成することができない。さらに、かかる知識があっても、テストプログラムを作成するタスクは複雑かつ間違い易い。通常、ユーザは、テストプログラムが装置テストでの正規の使用に対する準備が整うようになるまでに、相当量の時間をテストプログラムの開発およびデバッグに費やすことになる。
【０００７】
ユーザが、ＡＴＥ製造業者によって提供される予め定められたテストプログラムテンプレートを利用するテンプレートベースのアプローチも同様に、特定の欠点を有する。第１に、ユーザは、ＡＴＥ製造業者が予め考えたテストプログラムテンプレートから選択することしかできないため、このアプローチには比較的柔軟性がない。かかるテンプレートは、混合信号装置等の複雑な装置特定構成要件を有する装置のテストに必要な程度に、カスタマイズすることができないことが多い。
【０００８】
第２に、ＡＴＥユーザによっては、ＡＴＥ製造業者によって提供されるものに頼るのではなく、むしろ各自ユーザ特有の方法および標準を確立し実施する方を望む場合がある。状況によっては、このようなテンプレートは通常、動作パラメータ変更のみを許容するため、かかるユーザが、予め定められたテンプレートを変更することで各自の方法および標準を実施することは困難であるか、または不可能である。より幅広い変更には、通常、基本をなすテンプレート命令を検索し編集することにより、より下位のレベルで作業すると共に、望ましくない変更が行われていないことを確認する必要がある。かかるコードの変更およびデバッグは、時としては、初めからコードを書くよりも困難なタスクである可能性がある。
【０００９】
第３に、ＡＴＥ製造業者は各自のテンプレートの柔軟性およびカスタマイズ可能性を増大しようとするため、テンプレートは、ユーザの観点からより複雑になる傾向がある。状況によっては、予め定められたテンプレートに熟練してから、そのテンプレートを変更することによってテストプログラムを作成することは、初めからテストプログラムをただ書くよりも、ＡＴＥユーザに対して大きな負担でありうる。特に、ユーザは、プログラミング言語およびＡＴＥシステムのコンポーネントについていくらかの知識をすでに保有している場合がある。かかるユーザは、ここでは、製造業者のテストプログラムテンプレートの詳細をさらに学習してから、それをどのように変更するかを決定する必要があるという負担がかかる。
【００１０】
テストプログラムテンプレートを複雑にしすぎることを回避するために、ＡＴＥ製造業者は、テストプログラムテンプレートのより広い選択を提供しようとすることができる。不都合なことに、これはＡＴＥ製造業者に対して極端に負担になり、製造業者が、テストプログラムテンプレートに伴うＡＴＥシステムユーザのあらゆるニーズを予期してそれを満足させることは、不可能なことが多い。たとえば、ＡＴＥ製造業者が、多数の異なる信号の組み合わせにより、考えられるあらゆる混合信号テスト装置（アナログ信号およびデジタル信号の双方を含む装置テスト）について別個のテンプレートを提供することは、非現実的である。製造業者は、かかる業務を適時に完了することができない可能性が高い。さらに、ＡＴＥシステムユーザは、テストプログラムテンプレートの選択に窮する可能性が高く、おそらく、特定の状況に最も適したテストプログラムテンプレートを選ぶことができない。それにもかかわらず、ＡＴＥ製造業者が、所望の装置テスト（たとえば、試験中の意図する装置の正しい数のアナログ信号およびデジタル信号を処理可能なもの）に適切なテンプレートを提供しない場合、ＡＴＥユーザは、適切性がより低いテンプレートを変更しない限り、有効に装置をテストすることが不可能となる可能性が高い。かかる変更には、幅広いコードの変更が必要なことが多い。
【００１１】
テストプログラムを作成する上記従来のコードベースアプローチおよびテンプレートベースアプローチとは対照的に、本発明は、複数のテスト要素からテスト手順を提供する技術を対象とする。各テスト要素は、特定のテスト動作についての命令およびプログラマブル（プログラム可能）入力変数を定義する。好ましくは、各テスト要素は、ＡＴＥシステムの機器または性能の一つの基本機能を具現する。テスト手順は、装置テストタスクを定義し、テストプログラムとして動作することも、また他のテスト手順（または同じテスト手順の１つもしくは複数のインスタンス）と組み合わせて、より大きなテストプログラムを形成することもできる。したがって、従来のコードベースアプローチのように、テストプログラムコードを初めから書く必要がない。さらに、テスト要素からテスト手順を提供することにより一般に、テスト要素によって定義される個々のテスト動作をカスタマイズ式に組み合わせて、ＡＴＥユーザの特定のニーズに合わせるため、予め定められたテストプログラムテンプレートを変更するよりも高い柔軟性を提供する。
【００１２】
一構成では、ＡＴＥユーザは、テスト要素データベースから複数のテスト要素を組み合わせて、装置テストタスクを定義するテスト手順を形成する。各テスト要素は、プロセッサに装置テストタスクのうちの特定のテスト動作を実行するよう指示する命令およびプログラマブル入力変数を定義する。ＡＴＥユーザは、テスト手順を形成する各テスト要素のプログラム入力変数の少なくとも一部を初期値にセットする。さらに、ＡＴＥユーザは、テスト手順を形成するテスト要素の動作順を示す。さらに、ＡＴＥユーザは、テスト手順をメモリ内に記憶する。したがって、ＡＴＥユーザは、ＩＣまたは回路基板等の特定のデバイスのテストに適したカスタマイズされたテストプログラムを作成することができる。さらに、ＡＴＥユーザには初めからコードを書く負担がなく、コードベースのアプローチで必要なように、プログラミング言語またはＡＴＥコンポーネントの下位レベルの詳細について幅広い知識を保有する必要がない。
【００１３】
さらに、ＡＴＥユーザは、テスト手順を別のテスト手順内にネストする性能を有する。かかるネスト機能は、ＡＴＥユーザがモジュール化を通してテストプログラムをより良好に編成できるようにする。さらに、ＡＴＥユーザは、特定のテスト手順をテスト手順が当初作成された装置と同様の他のタイプの装置で再び使用可能になる。
【００１４】
好ましくは、テスト要素データベースは、アナログ信号テスト動作を実行するようにプロセッサに指示する命令を定義するアナログ信号テスト要素、デジタル信号テスト動作を実行するようにプロセッサに指示する命令を定義するデジタル信号テスト要素、および刺激信号および応答信号を送受信するようにＤＵＴを構成する命令を定義する他のテスト要素を含む。これらアナログ信号テスト要素、デジタル信号テスト要素、およびＤＵＴ構成テスト要素を組み合わせて混合信号テスト手順またはテストプログラムにするタスクは、多くの点に関して、従来のテンプレートベースアプローチにおいて、混合信号装置を有効にテストするために時に必要なように、特定の信号セットおよびＤＵＴ構成要件を処理するように設計された混合信号テンプレートを変換しようとするよりも容易である。
【００１５】
ＡＴＥユーザがテスト要素からテスト手順を作成した後、ＡＴＥシステムは、そのテスト手順を用いて装置をテストすることができる。特に、ユーザが正式な装置のテストを開始すると、ユーザは、コマンドをＡＴＥシステムの入出力（Ｉ／Ｏ）装置に入力して、テストを開始する。これに応答して、ＡＴＥシステムのプロセッサは、メモリからテスト手順を取得し、テスト手順に基づいて一連の命令を提供する。これに応答して、プロセッサは、装置をテストするために、提供された一連の命令に基づいて、テスト中の装置に接続される（たとえば、電気的にまたは機械的に）テストインタフェースを制御する。
【００１６】
好ましくは、ＡＴＥシステムは、Ｉ／Ｏ装置を通してグラフィカルユーザインタフェース（ＧＵＩ）を提供する。ユーザは、ＧＵＩを操作して、テスト要素データベースのテスト要素からテスト手順を作成する。特に、ユーザは、好ましくは、各テスト要素に対応するグラフィカルアイコンを選択し、ＧＵＩの編集ウィンドウ中のアイコンを構成して、テスト要素の動作順序を提供する。さらに、ユーザは、テスト要素によって定義される動作に応じて様々なダイアログボックスを使用して、テスト要素のプログラマブル入力変数を初期値にセットする。テスト要素を定義するテスト動作についての基本となる命令は、ユーザが単にアイコンを操作して、パラメータ値を入力することができるように、ＡＴＥ製造業者により予め定められていることが好ましい。したがって、ユーザは、テストプログラム（またはテスト手順）を初めから作成するが、初めからコードラインを書かないことから、プログラミング言語またはＡＴＥコンポーネントの下位レベルの詳細についての幅広い知識を必要としないため、コードベースアプローチの効果および柔軟性を有する。
【００１７】
テスト手順のテスト要素は、好ましくは、テスト手順のうちの１つのテスト要素から得られる情報を別のテスト要素が使用可能なように構成されることを理解すべきである。すなわち、ＡＴＥシステムが装置テスト中にテスト手順に従って動作する場合、あるテスト要素からのテスト動作結果が、他のテスト要素によって使用される。たとえば、１つのテスト要素は、テスト中の装置から測定値をとるようにＡＴＥに指示することができる。後続するテスト要素は、このような測定値を処理して、装置が適宜動作するかどうかを決定することが可能である。
【００１８】
また、プロセッサは、好ましくは、複数の装置それぞれに関連する複数の処理ユニットを含むことを理解するであろう。この構成では、テストインタフェースの制御は、提供された一連の命令に基づいて複数の各処理ユニットそれぞれを動作させて、複数の各装置それぞれを並列にテストすることを含む。この構成では、プロセッサ内の処理ユニットおよびその数を増大させることにより、ＡＴＥシステムをスケーリングすることができる。好ましくは、テスト手順およびそのテスト要素は、異なる数の装置を並列にテストするためには、通常相当な変更が必要な従来のコードベースのテストプログラムとは対照的に、テストインタフェースに提示されたものと同数の多くの装置を並列に自動的にテストすることをさらに理解されたい。
【００１９】
本発明の別の構成は、上記テスト手順を実行するための命令が記憶されたコンピュータ読み取り可能媒体を含むコンピュータプログラム製品を対象とする。命令は、データ処理装置によって処理されると、データ処理装置に、テスト手順が（ｉ）装置テストタスクを定義し、（ｉｉ）複数のテスト要素を含むように、ユーザコマンドに応答して、テスト要素データベースからのテスト要素を組み合わせてテスト手順を形成させる。命令はさらに、データ処理装置に、さらなるユーザコマンドに応答して、（ｉ）テスト手順を形成する各テスト要素のプログラマブル入力変数の少なくとも一部を初期値にセットさせ、（ｉｉ）テスト手順を形成するテスト要素の動作順序を示させ、（ｉｉｉ）テスト手順をメモリ内に記憶させる。
【００２０】
本発明の別の構成は、装置をテストするための命令が記憶されたコンピュータ読み取り可能媒体を含むコンピュータプログラム製品を対象とする。命令は、データ処理装置によって処理されると、データ処理装置に、装置テストタスクを定義するテスト手順を取得させる。テスト手順は、プロセッサに装置テストタスクの特定のテスト動作を実行するように指示する命令およびプログラマブル入力変数を定義する複数のテスト要素を含む。命令はさらに、データ処理装置にテスト手順に基づいて一連の命令を提供させ、装置をテストするために、提供された一連の命令に基づいてテストインタフェースを制御させる。
【００２１】
本発明の上記特徴は、自動テストシステムおよびマサチューセッツ州ボストンに所在のＴｅｒａｄｙｎｅ，Ｉｎｃ．によって製造されるもの等の他の関連装置に採用することができる。
好ましい実施形態の詳細な説明
本発明の上記および他の目的、特徴、および利点は、添付図面に示される本発明の好ましい実施形態の以下のより具体的な説明から明らかになろう。それぞれの図面で、同じ参照符号は同じ構成要素を示す。それらの図面は必ずしも一定の比率で拡大縮小したものではなく、本発明の原理を説明することに重点がおかれている。
【００２２】
本発明は、自動テスト機器（ＡＴＥ）において使用するために複数のテスト要素からテスト処理手順（手順）を提供する技術を対象とする。テスト手順は、デバイス（装置）テストタスクを定義し、各テスト要素は、装置テストタスクの特定のテスト動作についての命令およびプログラマブル入力変数を定義する。各テスト要素は、好ましくは、ＡＴＥシステムの命令または性能のうちの一つの基本機能を具現する。テスト手順は、ＡＴＥテストプログラムとして使用してもよく、また他のテスト手順（または同じテスト手順のインスタンス）と組み合わせてより大きなＡＴＥテストプログラムを形成してもよい。したがって、かかる技術により、従来のコードベースアプローチのように初めからコードを書くことによって、または従来のテンプレートベースアプローチのようにテンプレートを変更することによって、ＡＴＥテストプログラムを作成する必要性が軽減される。かかる技術は、ＡＴＥシステムおよびマサチューセッツ州ボストンに所在のＴｅｒａｄｙｎｅ，Ｉｎｃ．によって製造されるもの等の他の関連装置において採用することができる。
【００２３】
図１は、本発明による使用に適したＡＴＥシステム２０を示す。ＡＴＥシステム２０は、メモリ２２、入出力（Ｉ／Ｏ）装置２４、複数の処理ユニット２７を有するプロセッサ２６、およびテストインタフェース２８を含む。図１の矢印３０は、メモリ２２、Ｉ／Ｏ装置２４、プロセッサ２６、およびテストインタフェース２８の間で交換される情報（すなわち信号）を表す。本発明による使用に適し、図１のＡＴＥシステム２０と同様の別のＡＴＥシステムは、米国特許第５，９１０，８９５号（Ｐｒｏｓｋａｕｅｒ他）に記載されており、その教示全体を参照により本発明に援用する。
【００２４】
図１に示すように、メモリ２２は、とりわけ、オペレーティングシステム３２、テストアプリケーション３４、テスト要素データベース３６、およびテストプログラム３８を含む各種構成体を格納（記憶）する。テストプログラム３８は、テスト手順４０−１、．．．、４０−Ｍ（集合的にテスト手順４０）を含む。各テスト手順４０は、複数のテスト要素４２を含む。たとえば、手順４０−１は、テスト要素４２−１、．．．、４２−Ｎを含む。
【００２５】
１つまたは複数の上記列挙したメモリ２２内の構造は、コンピュータプログラムプロダクト（製品）４４（たとえば、１つまたは複数のディスクまたはテープ）を通してメモリ２２に提供することができる。好ましくは、テストアプリケーション３４およびテスト要素データベース３６は、コンピュータプログラム製品４４等を介してＡＴＥシステム２０の製造業者によってＡＴＥエンドユーザに提供される。代替として、他の機構（たとえば、図示していないネットワークインタフェースを通してダウンロードされる）を介してこれら構造をメモリ２２に提供しても、またＡＴＥシステム２０を動作させるＡＴＥユーザによって作成してもよい。
【００２６】
ＡＴＥシステム２０は、オペレーティングシステム３２およびテストアプリケーション３４（すなわち、オペレーティングシステム３２によって調整される１つまたは複数のソフトウェアプログラム）に従って動作して、ユーザにテスト開発環境および装置テスト環境を提供する。テストアプリケーション３４は、Ｉ／Ｏ装置２４上のグラフィカルユーザインタフェース（ＧＵＩ）を提供し、ユーザが、（ｉ）テスト開発環境内で動作する場合にテストプログラム３８（たとえば、１つまたは複数のテスト手順４０）を作成し、（ｉｉ）装置テスト環境内で動作する場合にテストプログラム３８に従って装置４６−１、．．．、４６−Ｘ（集合的に装置４６）をテストすることができるようにする。
【００２７】
上述したように、各テスト手順４０は、複数のテスト要素４２を含む。好ましくは、各テスト要素４２は、すなわちＡＴＥシステム２０の製造業者によって提供される命令および変数、モジュール化され、予め定められたグループ化されたものである。まず、このようなグループは、テスト要素データベース３６に集中して記憶される。
【００２８】
一構成では、ユーザは、複数のテスト要素４２からテスト手順４０を作成すると、複数のテスト要素４２についての命令および変数の実際のグループをテスト要素データベース３６からテスト手順４０を記憶するように指定されるメモリ２２のあるロケーションにコピーする。この構成では、テスト手順４０は、各テスト要素４２が、特定の装置テストタスクを実行するようにＡＴＥシステム２０を指示するために必要なすべての命令および変数を含むという点において、本質的に自立型である。
【００２９】
別の構成では、ユーザは、複数のテスト要素からテスト手順４０を作成すると、テスト要素リファレンスおよび変数値（図１に示されるテスト要素４２として表される）をテスト手順４０に追加する。テスト要素リファレンスは、本質的に、テスト要素データベース３６に中央的に記憶されたままのテスト要素命令および変数に対するポインタである。この構成では、装置テスト時に、ＡＴＥシステム２０が、テスト要素リファレンスに基づいてテスト要素４２についての命令および変数を検索し、初期に提供される変数の値を変数の初期値として用いる。この構成は、先に述べた自立型構成よりも少ない記憶空間を使用する。さらに、改訂および改良が特定のテスト要素４２に対して行われると、すなわち変更が特定のテスト要素４２の変数の命令に対して行われると、そのテスト４２を参照する各テスト手順４０が自動的に変更にアクセス可能である。
【００３０】
自立型構成またはテスト要素リファレンス構成のいずれにおいても、各テスト要素４２の命令および変数のグループは、両方の構成におけるいくつかの点で、テスト要素データベース３６から検索されるため、テスト手順４０はテスト要素４２を含むと考えられることを理解すべきである。自立型構成では、グループはテスト手順作成時間で検索される。テスト要素リファレンス構成では、グループはデバイステスト時間で検索される。
【００３１】
本発明は、テストプログラムを作成する従来のコードベースアプローチおよびテンプレートベースアプローチの欠点を克服することがさらに理解されるであろう。特に、コードベースアプローチのユーザは、テストプログラムを作成するために初めからコードを書く必要がある。かかるコード書きは、本発明では不必要である。むしろ、本発明のユーザは、テスト要素（すなわち、命令および変数の予め定められたグループ）を組み合わせてテストプログラム３８を作成する。本発明のユーザは、特定のテスト動作の実行に最も適したテスト要素４２を選択して、特定の装置テストタスクを実行するための特別な注文に従って製作されたテスト手順４０を形成するため、テストプログラム３８は、コードベースアプローチを用いて作成したテストプログラムとまさに同じ程度効果的であり、かつ柔軟性を有することができる。さらに、複数のテスト手順４０を組み合わせて、装置テストのための複数の装置テストタスクを実行することが可能である。
【００３２】
テンプレートベースアプローチのユーザは、効果的な装置テストのためにテンプレートをカスタマイズするために、基本をなす予め定められたコードを編集する必要があることが多いことをさらに理解されたい。かかる業務は、ユーザがテンプレートのプログラミング言語に精通していない場合困難なことが多い。かかる変更は、本発明では不必要である。むしろ、本発明のユーザは、適したテスト要素４２を組み合わせ（好ましくは、後で説明するように、ＧＵＩ上のグラフィカルアイコンを構成することにより）、変数値を提供して、テストプログラム３８を作成することができる。これらテスト要素４２はそれぞれ、変更なしで異なる数の装置を並列にテストすることが可能である。したがって、ユーザは、任意の基本をなすコードに取り組む必要がない。
【００３３】
図２は、ユーザの観点からの、本発明のテストプログラム３８、従来のコードベースアプローチを使用して作成された典型的なテストプログラム５０、および従来のテンプレートベースアプローチを使用して作成された典型的なテストプログラム５２の一般的な比較を示す。図２に示すように、本発明のテストプログラム３８は、一般に、テンプレートベースのテストプログラム５４よりも柔軟である。特に、本発明のＡＴＥシステム２０を使用する場合、ユーザは、ＡＴＥシステムの性能に適切な多くの異なるタイプの装置をテストすることができる。ユーザは、テンプレートベースアプローチでのようにＡＴＥ製造業者によって提供される予め定められたテンプレート選択に限定されない。
【００３４】
さらに、本発明のテストプログラム３８を作成するユーザは、テスト要素データベース３６からテスト要素４２を単に組み合わせるだけである。テストプログラム３８の作成に、コード変更は必要ない。対照的に、テンプレートベースアプローチでは、適したテンプレートがＡＴＥ製造業者によって提供されない場合、効果的な装置テストのためにコード変更がしばしば必要である。不都合なことに、ユーザは、他の関連するまたは隣接するテンプレート部分の動作を壊すことなく、テンプレートの部分を見つけて再度書く必要があるため、幅広いコード変更は一般に難しく、正規のテストを開始できるようになる前に、相当なテストおよびデバッグが必要である。
【００３５】
さらに、図２に示すように、ユーザの観点から、本発明のテストプログラム３８は、一般に、コードベーステストプログラム５０よりも作成の複雑性が低い。本発明のテストプログラム３８を作成するには、ユーザは、実際のコードよりも上のレベルで作業し、テスト要素４２（命令および変数の予め定められたグループ）を組み合わせ、初期値を提供して、テストプログラム３８のための１つのテスト手順４０または複数のテスト手順４０を形成する。プログラミング言語およびＡＴＥコンポーネントの下位レベルの詳細についての知識は、テストプログラム３８の作成に必要ない。一方、コードベースアプローチでは、ユーザは、プログラミング言語およびＡＴＥシステムの各種コンポーネントの下位レベルの詳細についての知識を保有しなければならない。さらに、ユーザは、コードベースアプローチを使用してテストプログラム５０を作成すると、一般に、テストプログラム５０内のコード文のテストおよびデバッグにかなりの時間および努力を費やさなければならない。
【００３６】
さらに、ユーザによって書かれたテストプログラムに対する任意の編成制御は、自ら課した制御から生じるため、コードベースのテストプログラム５０は、本発明のテストプログラム３８程良好に編成されない可能性が高い。すなわち、コードベースのテストプログラム５０が、モジュール化される、良好に編成される、またはデバッグしやすいという保証はない。他方、本発明のテストプログラム３８は、テスト手順４０を形成するテスト要素４２およびテストプログラム３８を形成する１つまたは複数のテスト手順４０の構成により自然にモジュール構造をとる。さらに、テストプログラム３８が、テスト要素データベース３６内のテスト要素４２へのリファレンスを使用し、かつ改訂または改良が特定のテスト要素４２に行われる場合、ＡＴＥシステム２０は、本発明のテストプログラム３８、そのテスト要素４２を使用する他のあらゆるテストプログラム３８およびテスト手順４０にその変更を伝える。したがって、一般に、本発明のテストプログラム３８は、ユーザの観点から、コードベーステストプログラム５０よりも複雑性が低い。
【００３７】
図２を再び参照すると、ユーザの観点から、本発明のテストプログラム３８は、概して、コードベースのテストプログラム５０よりも使用しやすい。本発明のテストプログラム３８は、特定の装置テストにかかわらず、標準化インタフェース（たとえば、ＧＵＩ）を利用する。さらに、一構成では、テストプログラム３８は、共通の標準スプレッドシートプログラムから制御され、起動される。かかる使用に適した１つのスプレッドシートプログラムは、ワシントン州レッドモンドに所在のマイクロソフト社によって製造されるＭｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌである。ＡＴＥシステム２０のオペレータは、異なる装置テストごとに新しいインタフェースを学習する必要がない。
【００３８】
他方、コードベースのテストプログラム５０は通常、特定の装置をテストするために排他的に手書きのため、独自のユーザインタフェースを使用する。したがって、ＡＴＥテストオペレータは、新しいコードベースのテストプログラム５０それぞれについて新しいインタフェースを学習しなければならない。したがって、コードベースのテストプログラム５０は、概して、本発明のテストプログラム３８よりも使いにくい。
【００３９】
次に、図３を参照して本発明のさらなる詳細を提供する。テストアプリケーション３４は、とりわけ、グラフィカルユーザインタフェース（ＧＵＩ）６０、テストプログラムビルダ６２、およびテストプログラムインタプリタ６４を含む多数のコンポーネントを有する。テストプログラムインタプリタ６４は、とりわけ、プログラムマネージャ６６およびランタイムデバッガ７２を含む。
【００４０】
以下のテストアプリケーションコンポーネントの詳細は、簡略化のために特定の動作を実行するコンポーネントを説明しうるが、プロセッサ２６は実際に、これら動作をコンポーネントの指示の下で実行することを理解されたい。すなわち、各テストアプリケーションコンポーネントは、おそらく１つまたは複数の他の部分のＡＴＥシステム２０と共にプロセッサ２６に、かかる動作を実行するように指示する。
【００４１】
ＧＵＩ６０は、テストアプリケーション３４のフロントエンドとして動作する（Ｉ／Ｏ装置２４を通して）。すなわち、ＧＵＩ６０は、ＡＴＥ２０のユーザにコマンドおよびデータについてプロンプトし、コマンドおよびデータをテストプログラムビルダ６２およびテストプログラムインタプリタ６４に提供する。さらに、ＧＵＩ６０は、ユーザコマンドに対する応答およびデータをテストプログラムビルダ６２およびテストプログラムインタプリタ６４から受信し、ユーザに対して応答をフィードバックとしてＩ／Ｏ装置２４上に表示する。
【００４２】
テストプログラムビルダ６２は、テスト開発環境におけるテストプログラム３８を構築する責任を担う。図３に示すように、テストプログラムビルダ６２は、テスト要素データベース３６にアクセスして、テストプログラム３８を構築する。特に、ＧＵＩ６０を通してユーザによって提供されるコマンドは、テストプログラムビルダ６２に、テスト要素を組み合わせて構成し、１つまたは複数のテスト手順４０を作成するよう指示する。各テスト手順４０のインスタンスは、テストプログラム３８自体として動作することも、また他のテスト手順４０または同じテスト手順４０のインスタンスと組み合わされて、より大きなテストプログラム３８を形成することも可能である。
【００４３】
テストプログラムインタプリタ６４は、装置テスト環境においてテストプログラム３８に基づいて装置をテストする責任を担う。特に、プログラムマネージャ６６は、テストプログラム３８のテスト手順４０を形成するテスト要素のテスト要素命令を解釈し、装置テストの実行に必要な下位レベルの動作を実行する。特に、テストプログラムインタプリタ６４は、テスト要素パラメータを小さなテストアクションシーケンスに変形して、処理ユニット２７の動作を統合する。ユーザは、これら下位レベルの詳細を知らないままでいることができる。各種テストアプリケーションコンポーネントの動作についてのさらなる詳細を以下に説明する。
【００４４】
図４は、ＡＴＥシステム２０による使用に適したテスト開発環境のウィンドウ８０を例として示す。ウィンドウ８０は、従来通りに動作して、特定のタスク（たとえば、テスト手順の作成または記憶）を実行するために、ユーザがコマンドを入力できるようにするメニュー８２およびツールバー８４を含む。
【００４５】
ウィンドウ８０は、多数のサブウィンドウをさらに有する。特に、ウィンドウ８０は、現在のテスト手順４０の複数のテスト要素４２についての配置順序をグラフィック的に（たとえば、トップダウンアイコンフォーマットで）表示するテスト手順エディタサブウィンドウ８６を含む。例では、現在のテスト手順４０は、「Ｐａｔｔｅｒｎ」アイコンで示される「Ｐａｔｔｅｒｎ」テスト要素で始まり、その後に「ＰＰＭＵ」アイコンとして示される「ＰＰＭＵ」テスト要素が続き、以下同様である。テスト要素順序は、テスト要素アイコンを追加、挿入、または削除することによって変更することができる。さらに、テスト要素順序は、テスト要素アイコンを結び付ける矢印を変更して、フロー内でループまたは分岐を提供することによって変更することができる。したがって、ユーザは、複雑で条件付きの手順フローを構築して、複雑なテストタスクを達成することができる。
【００４６】
ウィンドウ８０は、ユーザに特定のテスト要素４２に必要な値および／または変数名を入力するようにプロンプトする入力値サブウィンドウ８８をさらに含む。図４に例として示すように、「ＰＰＭＵ」テスト要素が、「ＰＰＭＵ」アイコンの周りのボックス化アウトラインに示されるようにテスト手順エディタサブウィンドウ８６において選択され、サブウィンドウ８８が、「ＰＰＭＵ」テスト要素に必要な値を入力するようにユーザをプロンプトする。例としてのみ示すが、ユーザは、「ＰＰＭＵ」テスト要素の「Ｍａｘ  Ｅｘｐｅｃｔｅｄ  Ｃｕｒｒｅｎｔ（最大予想電流）」変数に対応する値「０．００００１」をフィールド９０に入力している（たとえば、キーボードまたはマウスを介して）。
【００４７】
ウィンドウ８０は、テスト手順４０によって使用される変数およびそれらの属性の概観をユーザに提供する変数表サブウィンドウ９２をさらに含む。ユーザは、単に変数表サブウィンドウ９２のフィールドを選択し（たとえば、Ｉ／Ｏ装置２２のマウスを使用して）、新しい属性値をそのフィールドに入力するだけで、テスト手順４０によって使用される特定属性値を変更することができる。
【００４８】
図５は、ユーザからの入力に基づいて、テスト開発環境のウィンドウ８０をどのように変更することができるかを例としてのみ示す。特に、ユーザが、ウィンドウ８０（図４も参照）のテスト手順エディタサブウィンドウ８６内のフローのうちの別のテスト要素を選択するものと想定する。これに応答して、ユーザは、図５に示すように、Ｉ／Ｏ装置２２上にウィンドウ９４を見ることになる。ウィンドウ９４は、ウィンドウ９４が、先に選択されたアイコンではなく、新しく選択されたテスト要素のアイコン（すなわち「Ｌｉｍｉｔｓ  ＆  Ｄａｔａｌｏｇ」アイコン）をハイライトすなわちボックス化して示す、変更されたテスト手順エディタサブウィンドウ８６’を含むことを除き、ウィンドウ８０と同様である。さらに、ウィンドウ８０のサブウィンドウ８８は、新しく選択されたテスト要素に対応する新しいサブウィンドウ９６で置換される。
【００４９】
上記ウィンドウベースの提示構成により、テスト要素の使用が汎用プログラミングツールよりも優れたものになる。たとえば、テスト要素特定ウィンドウ８８および９６は、ユーザに、どんな情報が必要なのかを示す。したがって、ユーザは、リファレンス材料を調べる、またはＡＴＥシステム２０について幅広い経験を保有する必要がない。
【００５０】
ユーザは、テスト手順４０にテスト要素４２を追加し終えると、特定の変数を初期値にセットすることを望むことがある。たとえば、ユーザは、３．５ボルトの電圧源を使用して装置を１度テストしてから、５．０ボルトの電圧源を使用して同じ装置に対してテストを繰り返したい場合がある。ユーザに適応するため、ＡＴＥシステム２０は、ユーザがテスト手順４０の複数のインスタンス（各テストについて１つ）を作成できるようにする。このために、ユーザはコマンドをＧＵＩ６０に入力し、ＡＴＥシステム２０が、テスト手順４０の複数のインスタンスを作成し、一意の識別子（たとえば、インスタンス名または番号）によって各インスタンスを区別するようユーザにプロンプトする。図６は、例としてのみ、テスト手順４０の特定のインスタンスについて値を入力するようにユーザをプロンプトするインスタンスエディタウィンドウ１００を示す。したがって、ユーザは、同じテスト手順４０の複数のインスタンスを使用して、同じ装置に対して同じテストの変形を実行するように、テストプログラム３８を開発することができる。
【００５１】
ユーザは単にテスト要素（すなわち、所望のテスト要素を表すテスト要素アイコン）をテスト要素データベース３６から検索し、それらを配置し、それらの入力変数を初期化するだけであるため、本発明のＡＴＥシステム２０は、テスト手順４０を作成するときに使用が容易であることが理解される。ユーザは、テストプログラムを作成する従来のアプローチのように任意のコードを書いたり変更したりする必要がない。それにもかかわらず、ＡＴＥシステム２０は、テスト要素４２によって定義された命令および変数を、ユーザが見たいと望む場合に示す性能を有する。たとえば、ユーザは、メニュー８２またはツールバー８４を使用して、ＡＴＥシステム２０に命令および変数を表示するように指示することができる。図７に示すように、ＡＴＥシステム２０は、選択されたテスト要素４２により定義される命令および変数１０８を有するウィンドウ１０６をユーザに示すことによって応答する。
【００５２】
次に、図８および図９を参照して、ＡＴＥシステム２０の動作のさらなる詳細について説明する。図８は、ＡＴＥシステム２０によって実行される処理（手順）１１０の流れ図を示す。手順は、ＡＴＥシステム２０がテスト開発環境において動作するときに実行される設計時間ステップ１１２、およびＡＴＥシステムが装置テスト環境において動作するときに実行されるランタイム（実行時）ステップ１１４を含む。
【００５３】
ステップ１１６において、テスト手順（処理）４０を作成するために、ＡＴＥシステム２０がテスト要素データベース３６にアクセスする。特に、図４〜図６に示すように、ＧＵＩ６０およびテスト手順ビルダ６２により、ユーザは、テスト要素データベース３６からのテスト要素４２を組み合わせ、それらの変数に値をセットし、互いに関してテスト要素を並べて、テスト手順４０を作成することができる。オプションとして、ユーザは、１つまたは複数の先に作成されたテスト手順４０を、目下作成中のテスト手順４０に含めることができる。
【００５４】
ステップ１１８において、ＡＴＥシステム２０（すなわち、ＧＵＩ６０およびテスト手順ビルダ６２）が、追加のテスト手順作成の選択肢をユーザに提供する。ユーザがＡＴＥシステム２０に別のテスト手順４０を作成するように指示する場合、ステップ１１８はステップ１１６に戻る。その他の場合、ステップ１１８はステップ１２０に進む。
【００５５】
ステップ１２０において、ＡＴＥシステム２０は、先に作成されたテスト手順４０のインスタンスを形成する。ユーザは、入力をインスタンスエディタウィンドウ１００（図６参照）に提供して、装置テスト中に使用するための初期値をセットする。
【００５６】
ステップ１２２において、ＡＴＥシステム２０は、メモリ２２に、テスト手順インスタンス４０を記憶させる。以下、テスト手順インスタンス４０を簡略化のためにテスト手順４０と呼ぶ。ＡＴＥシステム２０は、テスト手順４０の複数のインスタンスを処理可能なことを理解されたい。次に、ステップ１２２はステップ１２４に進む（装置テスト環境の始め）。
【００５７】
ステップ１２４において、ＡＴＥシステム２０は、テスト手順４０に基づいて一連の命令を提供する。テスト手順４０が、テスト要素データベース３６内に記憶されるテスト要素命令に対するリファレンスを含む一構成では、テスト手順インタプリタ６４のプログラムマネージャ６６は、テスト要素データベース３６から命令を検索する。テスト手順４０が、テスト手順４０を形成する各テスト要素４２についての実際の命令および変数を含む別の構成では、プログラムマネージャ６６が、単にメモリ２２からテスト手順４０の部分を読み出すことによって、命令を得る。双方の構成では、プログラムマネージャ６６が、一連の命令をプロセッサ２６の各処理ユニット２７によって実行される動作シーケンスに変形する。
【００５８】
ステップ１２６において、プロセッサの各処理ユニット２７が、テストインタフェース２８を制御して各装置４６をテストする。たとえば、処理ユニット２７は、装置４６に信号４８を加え、または装置４６の信号４８を測定することができる。処理ユニット２７の同時動作により、ＡＴＥシステム２０は複数の装置を自動的に並列にテストすることができる。
【００５９】
次に、図９を参照して、テスト手順４０を作成するとき、ユーザのアクティビティのさらなる詳細を説明する。ユーザは、ＡＴＥシステム２０を操作してテスト手順４０を作成する場合、ＧＵＩ６０およびテストアプリケーション３４のテストプログラムビルダ６２を使用して手順１３０を実行する。
【００６０】
ステップ１３２において、ユーザが、テスト要素データベース３６からテスト要素を検索する。たとえば、混合信号装置の場合、ユーザは、アナログソーステスト要素、デジタルソーステスト要素、アナログサンプルテスト要素、デジタルサンプルテスト要素等のうちの１つを選択することができる。
【００６１】
ステップ１３４において、ユーザは、テスト手順４０に追加された他のあらゆるテスト要素に対する、検索されたテスト要素の動作順序についての情報を提供する。好ましくは、ユーザは、ＧＵＩ６０（たとえば、図４のサブウィンドウ６を参照）のテスト手順エディタウィンドウ内でテスト要素アイコンを配置する。たとえば、ユーザは、最も最近に検索したテスト要素を先に検索したテスト要素の後に並べることができる。
【００６２】
ステップ１３６において、ユーザは、テスト手順４０の任意のテスト要素４２についてプログラマブル入力変数をセットする。たとえば、ユーザは、ＧＵＩ６０のサブウィンドウ（たとえば、図４のサブウィンドウ８８を参照）を使用して、最も最近検索されたテスト要素４２について変数名を入力することができる。さらに、ユーザは、たとえば、変数表サブウィンドウ９２において定義される手順変数を用いることにより、結果を最も最近検索されたテスト要素４２に提供するように、先に検索されたテスト要素４２を構成することができる。これは、テスト要素４２間で情報を自動的に渡すようにテスト要素４２を構成する。好ましくは、これは、並列にテストする各ＤＵＴごとに１つずつ、複数の値を保持する手順変数を用いて行われる。
【００６３】
ステップ１３８において、ユーザは、別のテスト要素４２をテスト手順４０に追加するかどうかを決定する。ユーザは、別のテスト要素４２の追加を望む場合、ステップ１３２〜１３６を繰り返す。その他の場合、ユーザはステップ１４０に進む。
【００６４】
ステップ１４０において、ユーザは、各テスト手順４０についてインスタンスエディタを作成する。特に、ＧＵＩ６０を通してのユーザ入力に応答して、テストプログラムビルダ６２がテスト手順４０を解析して、装置テスト前に、テスト要素４２のどのプログラマブル入力変数に初期値が必要かを決定する。一構成では、テストプログラムビルダ６２は、変数表サブウィンドウ９２（図４および図５参照）内で使用される情報を検査して、初期値が必要なプログラマブル入力変数を識別する。次に、ＡＴＥシステム２０は、インスタンスエディタウィンドウ１００を作成し、必要な初期値を提供するようユーザにプロンプトする（図６参照）。次に、ユーザは、装置テストのため、テスト手順４０の１つまたは複数のインスタンスを作成する（図８におけるステップ１２０を参照）。インスタンスエディタは、装置テストのためにテスト手順４０が必要とする初期値を提供するようにユーザにプロンプトするため、ユーザは、かかる要件を手動で調べる必要がなく、またテスト手順４０を使用した先の経験に頼る必要がない。
【００６５】
上記説明から、本発明の技術により、ユーザは、テストプログラムを作成する従来のアプローチの欠点なく、テストプログラム３８自体として使用するため、または他のテスト手順４０（または同じテスト手順の複数のインスタンス）と組み合わせて使用してより大きなテストプログラム３８を形成するために、テスト手順４０を作成することが可能なことが理解される。特に、ユーザは、命令および変数のグループを定義するテスト要素を、１つまたは複数の装置４６に対して装置テストを実行するようにＡＴＥシステム２０に指示する順序付き配置に組み合わせる。ＡＴＥシステム２０は、使用しやすく、下位レベルＡＴＥ機器およびコンポーネント、およびプログラミング言語についての専門知識が必要なく、ユーザが、ＡＴＥシステムの資源をどのように使用したいかを指示することができるように柔軟である。本発明の特徴は、マサチューセッツ州ボストンに所在のＴｅｒａｄｙｎｅ，Ｉｎｃ．によって製造されるコンピュータ化された装置において特に有用である。
同等物
本発明について、好ましい実施形態を参照して特に示し説明したが、特許請求の範囲によって定義される本発明の精神および範囲から逸脱せずに、形態および詳細の各種変更を行いうることが当業者により理解されるであろう。
【００６６】
たとえば、Ｉ／Ｏ装置２２、メモリ２２、およびプロセッサ２４は、汎用コンピュータの部分を形成することも（たとえば、メインフレーム、ワークステーション、分散計算システム等）、また専用ＡＴＥ装置を形成することもできる。メモリ２２は、主記憶装置（たとえば、半導体メモリ）、補助記憶装置（たとえば、ディスクまたはテープメモリ）、他の記憶媒体（たとえば、ＣＤ−ＲＯＭ、ネットワークサーバ等）、または異なるメモリタイプの組み合わせを含むことができる。さらに、Ｉ／Ｏ装置２４は、１つまたは複数のディスプレイ、キーボード、プリンタ、マウス等の複数の入力装置および出力装置を含むことができる。
【００６７】
さらに、プロセッサ２６は、複数の処理ユニット２７を含めて示されるが、時間を多重化して、任意所与の時間にテストインタフェース２８に接続された各装置４６をテストする単一プロセッサとして実施してもよい。代替として、プロセッサ２６は、マルチプロセッサ構成を有しても、また複数の装置４６にそれぞれ関連付けされた複数の処理ユニット２７を制御する分散処理構成を有しても良い。様々な相互接続機構（たとえば、コンピュータバス、バックプレーン等）が、ＡＴＥシステム２０の各種コンポーネント間での情報交換３０の処理に適している。
【００６８】
ＩＣまたは回路基板をテストする環境において、テストインタフェース２８は、装置４６と電気的に接触するプローブまたはピンを含むことができる。他の環境において、テストインタフェース２８は、このような環境に特定の様々な装置を含むことができる。たとえば、装置を機械的にテストするために、テストインタフェースは、加力および測定装置を含むことができる。
【００６９】
さらに、ＡＴＥシステム２０は、必ずしも各テスト手順４０が複数のテスト要素４２を含む必要がないことを理解されたい。むしろ、テスト手順４０は、単一のテスト要素４２を含むことができる。しかし、本質的に提供される編成利点（すなわち、命令および変数を、特定のテスト動作を実行するグループにモジュール化すること）により、テスト手順４０が複数のテスト要素４２を含むことが好ましい。
【００７０】
さらに、ユーザは、ＡＴＥシステム２０が全容量未満で動作する場合、プロセッサの１つまたは複数の処理ユニット２７をディセーブル（動作不能化）可能なことを理解されたい。たとえば、ユーザが単一装置４６をテストしたいと望む場合、ユーザは、１つのみの処理ユニット２７を動作して、その装置４６をテストするようにＡＴＥシステム２０を構成することができる。
【図面の簡単な説明】
【図１】  本発明による使用に適した自動テスト機器システムのブロック図を示す。
【図２】  ユーザの観点から柔軟性、複雑性、および使用容易性について、本発明のテストプログラムと従来のアプローチとの比較について示す図である。
【図３】  自動テストシステム内で動作する場合の図１のテストアプリケーションおよび各種コンポーネントとのインタラクションの詳細なブロック図を示す。
【図４】  図３のグラフィカルユーザインタフェースのテストプログラム開発ウィンドウを例として示す。
【図５】  図３のグラフィカルユーザインタフェースの別のテストプログラム開発ウィンドウを例として示す。
【図６】  図３のグラフィカルユーザインタフェースのさらに別のテストプログラム開発ウィンドウを例として示す。
【図７】  図３のグラフィカルユーザインタフェースのさらに別のテストプログラム開発ウィンドウを例として示す。
【図８】  本発明により動作する場合、図１の自動テストシステムによって実行される手順の流れ図を示す。
【図９】  図１の自動テスト機器システムのユーザによって実行される手順の流れ図を示す。
【図１】
0004454198.tif 000002
【図２】
0004454198.tif 000003
【図３】
0004454198.tif 000004
【図４】
0004454198.tif 000005
【図５】
0004454198.tif 000006
【図６】
0004454198.tif 000007
【図７】
0004454198.tif 000008
【図８】
0004454198.tif 000009
【図９】
0004454198.tif 000010