(57)【要約】      （修正有）【課題】自動テストを行うためのシステムを提供する。【解決手段】テストシステム５００は、第１のテストプランＴＰ１を制御サーバ５２５へロードするように動作可能な第１のユーザコンピュータ５１０と、第２のテストプランＴＰ２を制御サーバ５２５へロードするように動作可能な第２のユーザコンピュータ５２０とを備える。テストシステム５００はさらに、複数のプリミティブ５４０ａ、５４０ｂを配置するための少なくとも１つのラックを有するテスタを備える。制御サーバ５２５は、第１のユーザコンピュータ５１０、第２のユーザコンピュータ５２０、及びテスタに通信可能に接続され、制御サーバは、プリミティブの第１のサブセットによる第１のテストプランの実行を管理するように動作可能であり、プリミティブの第２のサブセットによる第２のテストプランの実行を管理するように動作可能である。【選択図】図５
2018189645.tif 000002
【特許請求の範囲】
【請求項１】
自動テスト装置（ＡＴＥ）を用いてテストを行うための方法であって、
第１のテストプランを第１のユーザコンピュータから制御サーバへロードする段階であって、前記制御サーバはテスタ内の複数のプリミティブと通信し、前記複数のプリミティブは前記テスタのラック内に配置される、段階と、
前記第１のテストプランを前記複数のプリミティブからプリミティブの第１のサブセットへダウンロードする段階と、
第２のテストプランを第２のユーザコンピュータから前記制御サーバへロードする段階と、
前記第２のテストプランを前記複数のプリミティブからプリミティブの第２のサブセットへダウンロードする段階と、
前記第１のテストプラン及び前記第２のテストプランを同時に実行する段階とを備える、方法。
【請求項２】
標準的なＩＰネットワーク接続を用いて、前記第１のユーザコンピュータ及び前記第２のユーザコンピュータから前記制御サーバへ通信する段階をさらに備える、請求項１に記載の方法。
【請求項３】
プリミティブの前記第２のサブセット内のテスト対象デバイス（ＤＵＴ）をテストしている間に、プリミティブの前記第１のサブセット内のＤＵＴを物理的に操作することができ、プリミティブの前記第１のサブセット内のテスト対象デバイス（ＤＵＴ）をテストしている間に、プリミティブの前記第２のサブセット内のＤＵＴを物理的に操作することができる、請求項１又は２に記載の方法。
【請求項４】
プリミティブの前記第１のサブセットで実行される前記第１のテストプランは生産テストプランであり、プリミティブの前記第２のサブセットで実行される前記第２のテストプランは技術テストプランである、請求項１から３のいずれか一項に記載の方法。
【請求項５】
前記第１のユーザコンピュータ及び前記第２のユーザコンピュータは、互いから遠く離れている、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記第１のユーザコンピュータ及び前記第２のユーザコンピュータは、前記制御サーバから遠く離れている、請求項１から５のいずれか一項に記載の方法。
【請求項７】
プリミティブの前記第１のサブセット内のテスト対象デバイス（ＤＵＴ）は、プリミティブの前記第２のサブセット内の前記ＤＵＴがテストされているのと異なるプロトコルを実行する、請求項１から６のいずれか一項に記載の方法。
【請求項８】
プリミティブの前記第１のサブセット内のテスト対象デバイス（ＤＵＴ）は、サイズ及び形状のうち一方から選択される点で、プリミティブの前記第２のサブセット内の前記ＤＵＴと異なる、請求項１から７のいずれか一項に記載の方法。
【請求項９】
自動テストを行うシステムであって、
第１のテストプランを第１のユーザから制御サーバへロードするように動作可能な第１のユーザコンピュータと、
第２のテストプランを第２のユーザから前記制御サーバへロードするように動作可能な第２のユーザコンピュータと、
複数のプリミティブを配置するための少なくとも１つのラックを有するテスタと、
前記制御サーバとを備え、
前記制御サーバは、前記第１のユーザコンピュータ、前記第２のユーザコンピュータ、及び前記テスタに通信可能に接続され、前記制御サーバは、プリミティブの第１のサブセットを前記第１のテストプランに割り当て、プリミティブの前記第１のサブセットにおける前記第１のテストプランの実行を管理するように動作可能であり、前記制御サーバはさらに、プリミティブの第２のサブセットを前記第２のテストプランに同時に割り当て、プリミティブの前記第２のサブセットにおける前記第２のテストプランの実行を管理するように動作可能である、システム。
【請求項１０】
前記第１のユーザコンピュータ及び前記第２のユーザコンピュータは、標準的なＩＰネットワーク接続及びプロトコルを用いて前記制御サーバと通信する、請求項９に記載のシステム。
【請求項１１】
プリミティブの前記第２のサブセット内のテスト対象デバイス（ＤＵＴ）をテストしている間に、プリミティブの前記第１のサブセット内のＤＵＴを物理的に操作することができ、プリミティブの前記第１のサブセット内のテスト対象デバイス（ＤＵＴ）をテストしている間に、プリミティブの前記第２のサブセット内のＤＵＴを物理的に操作することができる、請求項９又は１０に記載のシステム。
【請求項１２】
プリミティブの前記第１のサブセットで実行される前記第１のテストプランは生産テストプランであり、プリミティブの前記第２のサブセットで実行される前記第２のテストプランは技術テストプランである、請求項９から１１のいずれか一項に記載のシステム。
【請求項１３】
前記第１のユーザコンピュータ及び前記第２のユーザコンピュータは、互いから遠く離れている、請求項９から１２のいずれか一項に記載のシステム。
【請求項１４】
前記第１のユーザコンピュータ及び前記第２のユーザコンピュータは、前記制御サーバから遠く離れている、請求項９から１３のいずれか一項に記載のシステム。
【請求項１５】
プリミティブの前記第１のサブセット内のテスト対象デバイス（ＤＵＴ）は、プリミティブの前記第２のサブセット内の前記ＤＵＴがテストされているのと異なるプロトコルを実行する、請求項９から１４のいずれか一項に記載のシステム。
【請求項１６】
自動テストを行うシステムであって、
第１のテストプランを第１のユーザから制御サーバへロードするように動作可能な第１のユーザコンピュータと、
第２のテストプランを第２のユーザから前記制御サーバへロードするように動作可能な第２のユーザコンピュータと、
複数のテスタスライスを配置するための少なくとも１つのラックを有するテスタと、
前記制御サーバとを備え、
前記制御サーバは、前記第１のユーザコンピュータ、前記第２のユーザコンピュータ、及び前記テスタに通信可能に接続され、前記制御サーバは、テスタスライスの第１のサブセットを前記第１のテストプランに割り当て、テスタスライスの前記第１のサブセットにおける前記第１のテストプランの実行を管理するように動作可能であり、前記制御サーバはさらに、テスタスライスの第２のサブセットを前記第２のテストプランに同時に割り当て、テスタスライスの前記第２のサブセットにおける前記第２のテストプランの実行を管理するように動作可能である、システム。
【請求項１７】
前記第１のユーザコンピュータ及び前記第２のユーザコンピュータは、標準的なＩＰネットワーク接続及びプロトコルを用いて前記制御サーバと通信する、請求項１６に記載のシステム。
【請求項１８】
テスタスライスの前記第２のサブセット内のテスト対象デバイス（ＤＵＴ）をテストしている間に、テスタスライスの前記第１のサブセット内のＤＵＴを物理的に操作することができ、テスタスライスの前記第１のサブセット内のテスト対象デバイス（ＤＵＴ）をテストしている間に、テスタスライスの前記第２のサブセット内のＤＵＴを物理的に操作することができる、請求項１６又は１７に記載のシステム。
【請求項１９】
テスタスライスの前記第１のサブセットで実行される前記第１のテストプランは生産テストプランであり、テスタスライスの前記第２のサブセットで実行される前記第２のテストプランは技術テストプランである、請求項１６から１８のいずれか一項に記載のシステム。
【請求項２０】
前記第１のユーザコンピュータ及び前記第２のユーザコンピュータは、互いから遠く離れている、請求項１６から１９のいずれか一項に記載のシステム。
【請求項２１】
前記第１のユーザコンピュータ及び前記第２のユーザコンピュータは、前記制御サーバから遠く離れている、請求項１６から２０のいずれか一項に記載のシステム。
【請求項２２】
テスタスライスの前記第１のサブセット内のテスト対象デバイス（ＤＵＴ）は、テスタスライスの前記第２のサブセット内の前記ＤＵＴがテストされているのと異なるプロトコルを実行する、請求項１６から２１のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
［関連出願］
【０００２】
本出願は、２０１７年４月２８日に出願された「テストプログラムフロー制御（ＴＥＳＴ  ＰＲＯＧＲＡＭ  ＦＬＯＷ  ＣＯＮＴＲＯＬ）」と題する米国特許出願第１５／５８２，１３７号に関連している。当該特許出願は、Ｒｏｔｅｍ  Ｎａｈｕｍ、Ｒｅｂｅｃｃａ  Ｔｏｙ、Ｂｏｉｌａｍ  Ｐｈａｍ、Ｋｅｖｉｎ  Ｌｉｕ、及びＬｅｏｎ  Ｃｈｅｎを発明者とし、代理人整理番号は、ＡＴＳＹ−００５４−０１．０１ＵＳである。当該特許出願は、その全体を参照することにより、また全ての目的のために本明細書に組み込まれる。
【０００３】
本開示は概して、自動テスト装置の分野に関し、より具体的には、そのような装置を制御する手法に関する。
【背景技術】
【０００４】
自動テスト装置（ＡＴＥ）は、半導体ウエハ若しくはダイ、集積回路（ＩＣ）、回路基板、又はソリッドステートドライブなどのパッケージ化された装置上でテストを行う、あらゆるテストアセンブリであってよい。ＡＴＥアセンブリは、測定を迅速に行う自動テストを実行し、その後解析され得るテスト結果を生成するのに用いられてよい。ＡＴＥアセンブリは、計測器に接続されたコンピュータシステムから、複雑な自動テストアセンブリまで何であってもよく、そのような複雑な自動テストアセンブリには、システムオンチップ（ＳＯＣ）テスト又は集積回路テストなどの、電子部品テスト及び／又は半導体ウエハテストを自動的に行うことが可能な、特注の専用コンピュータ制御システムや多くの異なるテスト装置が含まれてよい。ＡＴＥシステムは、所与のデバイスが消費者に届けられる前に、デバイスが設計通りに機能するのを保証すること、及びそのデバイス内の不良コンポーネントの有無を判定する診断ツールとして機能を果たすことの両方のために費やされるデバイスのテスト時間を低減する。
【０００５】
典型的なＡＴＥシステムがデバイス（一般に、テスト対象デバイス又はＤＵＴと呼ばれる）をテストする場合、ＡＴＥシステムは、デバイスに刺激（例えば、電気信号）を与え、デバイスからの応答（例えば、電流や電圧）を検査する。通常、テストの最終結果は、デバイスが期待される特定の応答を事前に設定された許容範囲内で提供できた場合は「合格」、デバイスが期待される応答を事前に設定された許容範囲内で提供できなかった場合は「不良」のいずれかである。より高度なＡＴＥシステムは、不良デバイスを評価し、場合によっては１つ又は複数の故障原因を判定することが可能である。
【０００６】
ＡＴＥシステムでは、ＡＴＥシステムのオペレーションを管理するコンピュータを含むことが一般的である。通常、コンピュータは、１つ又は複数の専用ソフトウェアプログラムを実行して、（ｉ）テスト開発環境、及び（ｉｉ）デバイステスト環境を提供する。テスト開発環境では、ユーザが通常、テストプログラムを作成する。このテストプログラムは、例えば、１つ又は複数のファイルからなる、ＡＴＥシステムの様々な部分を制御するソフトウェアベースの構成体である。デバイステスト環境では、ユーザは通常、テストするための１つ又は複数のデバイスをＡＴＥシステムに提供し、テストプログラムに従って各デバイスをテストするようＡＴＥシステムに命令する。ユーザは、追加のデバイスをＡＴＥシステムに提供し、その追加のデバイスをテストプログラムに従ってテストするようＡＴＥシステムに命令するだけで、追加のデバイスをテストすることができる。したがって、ＡＴＥシステムは、テストプログラムに基づいて、ユーザが多くのデバイスを一貫した自動化方式でテストすることを可能にする。
【０００７】
典型的な従来技術のテスト環境では、ＤＵＴは制御された環境チャンバ又は「オーブン」に配置される。ＤＵＴは、テストヘッドのスライスに接続される。いくつかのＤＵＴは単一のスライスに接続され得、単一のテストチャンバには、いくつかのスライスが含まれてよい。これらのスライスは、テストプランに従ってＤＵＴに対してテストを行うテスト回路を含む。ＤＵＴは、オーブンに入ると、制御されたチャンバ環境を乱さないように、ユーザが手を触れることはできない。複数のスライスは概して、複数のＤＵＴに対して同じテストプランを実行するロックステップで動作する。さらに、テストヘッドは通常、テストヘッドに直接に接続される単一の制御装置のコンピュータシステムによって制御され、この方式で、テストヘッドの全てのスライスを制御する。制御装置のコンピュータは通常、ＤＵＴに対して単一のテストプランを実行する単一のユーザによって操作される。
【０００８】
このテスト環境の課題は、各テスト中に、所与のテストヘッドのスライスを完全に満たすのに十分なＤＵＴがないことが多いということである。したがって、そのような状態でテスト中に使用されていないスライスは、何も有益な仕事を行っていないという点でむだである。これらの空き状態は、非常に高価な電子機器がアイドル状態に置かれているので、テスト全体のスループットを低下させ得る。これらのアイドル状態にあるスライスは、１）チャンバの内側にはテスト中にアクセスできない、２）制御コンピュータはいつでも１人のユーザしかサポートしない、及び３）通常１種類のＤＵＴだけに当てられるこれらのスライス（全てのスライス）は、一度に１つのテストプランだけに基づいて動作するという理由で、異なる用途に供されることができない。
【０００９】
テストチャンバはまた、大型であり高価でもある。従来のテスト環境の別の欠点は、テストチャンバを十分に利用するために、例えば、生産や技術などのいくつかの異なるユーザグループの間で、テストチャンバを同時に共有することを望む典型的な顧客が、そうすることができないという点である。テストスライスは、典型的なテスト環境において、一度に単一のテストプランでしか動作できず、単一のユーザの体験したことしかサポートできないので、顧客はテストチャンバをいつでも十分に利用することができず、したがって、追加の装置を購入するか、又は効率を犠牲にするかを強いられている。つまり、従来のテストチャンバは、きわめて適応性が低い。
【発明の概要】
【００１０】
したがって、複数のユーザの間で共有され得るテスト環境のニーズが存在する。さらに、必要とされるのは、複数のテスタスライスを含み得るテスト環境であり、これらのスライスのそれぞれは、個別のテストプランを実行することができるか、又はテストチャンバ内の残りのスライスから独立して利用可能である。また、必要とされるのは、チャンバが同時に複数のユーザによって十分に利用され得るように、チャンバ―内でテストが実行されている間に、チャンバの内側からアクセスすることを可能にするテストチャンバである。最後に、必要とされるのは、各テスタスライス内の異なるＤＵＴが、本システムにおいて、その他のＤＵＴから独立してテストフローを実行できるテスト環境である。説明されるシステムの有益な態様を用いて、そのような態様のそれぞれを限定することなく、本発明の実施形態が、これらの課題に取り組むために今までにない解決手段を提供する。
【００１１】
本明細書において開示される本発明は、複数のプリミティブ（又は、複数のテスタスライス）及び関連するＤＵＴインタフェースボード（ＤＩＢ）を利用して、ＤＵＴをテストする。各プリミティブは、他のプリミティブから独立して動作することが可能であることを意味するモジュール方式である。したがって、ラックに配置された複数のプリミティブはそれぞれ、異なるテストプランに従って動作することができ、異なるＤＵＴタイプに合わせて動作することさえできる。これらのプリミティブは、命令、制御、管理などのために、制御サーバと通信する。制御サーバは、制御サーバがサポートする様々なプリミティブ用の複数のアプリケーションプログラム又はテストプランをホストすることが可能である。プリミティブは、標準的なＩＰネットワークを介してサーバと通信することができる。遠く離れて位置する可能性がある様々なコンピュータシステムは、標準的なＩＰネットワーク接続を介してサーバにアクセスすることができる。さらに、１つの実施形態において、プリミティブのラックと関連付けられたＤＵＴをテストするときには、環境チャンバはもはや必要なく、したがって有利には、ＤＵＴ及びプリミティブに対して、ユーザが直接に操作することがいつでも可能になる。
【００１２】
したがって、このテストプラットフォームの下では、１）プリミティブのモジュール性、及び２）標準的なＩＰネットワークの使用によって、複数のプリミティブが、１人のユーザによる所与のテストプランに従って複数のＤＵＴをテストすることが可能であり、一方、同じラックの第２の複数のプリミティブが、第２のユーザによって管理される全く異なるアプリケーションを（異なるＤＵＴタイプにさえ）実行するといった具合である。したがって、アイドル状態のテスト回路と関連した、従来技術のこれまでの課題は取り除かれる。
【００１３】
さらに、本発明の１つの実施形態において、任意の所与のプリミティブ（又はテスタスライス）にある各ＤＵＴは、当該プリミティブのその他のＤＵＴと異なるテストフローを実行することが可能となり、これにより、さらなる適応性がユーザに提供され、テストプロセスがより効率的になる。換言すれば、テスタ内の全てのＤＵＴに対して、同じテストプログラム及び同じテストフローを実行することが必要であった従来のテスタと違って、本発明の実施形態は、プリミティブ（又はテスタスライス）内の各ＤＵＴが同じプリミティブ内のその他のＤＵＴと異なるテストフローを実行することを可能にする。
【００１４】
１つの実施形態において、自動テスト装置（ＡＴＥ）を用いてテストを行うための方法が示される。本方法は、第１のテストプランを第１のユーザコンピュータから制御サーバへロードする段階を備え、制御サーバはテスタ内の複数のプリミティブと通信し、複数のプリミティブはテスタの単一のラック内に配置される。本方法はさらに、第１のテストプランを複数のプリミティブからプリミティブの第１のサブセットへダウンロードする段階を備える。さらに、本方法は、第２のテストプランを第２のユーザコンピュータから制御サーバへロードする段階と、第２のテストプランを複数のプリミティブからプリミティブの第２のサブセットへダウンロードする段階とを備える。最後に、本方法は、第１のテストプラン及び第２のテストプランを同時に実行する段階を備える。
【００１５】
別の実施形態において、自動テストを行うためのシステムが示される。本システムは、第１のテストプランを第１のユーザから制御サーバへロードするように動作可能な第１のユーザコンピュータと、第２のテストプランを第２のユーザから制御サーバへロードするように動作可能な第２のユーザコンピュータとを備える。本システムは、複数のプリミティブと制御サーバとを配置するための少なくとも１つのラックを有するテスタも備える。制御サーバは、第１のユーザコンピュータ、第２のユーザコンピュータ、及びテスタに通信可能に接続され、制御サーバは、プリミティブの第１のサブセットを第１のテストプランに割り当て、プリミティブの第１のサブセットによる第１のテストプランの実行を管理するように動作可能である。制御サーバはさらに、プリミティブの第２のサブセットを第２のテストプランに同時に割り当て、プリミティブの第２のサブセットによる第２のテストプランの実行を管理するように動作可能である。
【００１６】
さらに別の実施形態において、自動テストを行うためのシステムが示される。本システムは、第１のテストプランを第１のユーザから制御サーバへロードするように動作可能な第１のユーザコンピュータと、第２のテストプランを第２のユーザから制御サーバへロードするように動作可能な第２のユーザコンピュータとを備える。本システムは、複数のテスタスライスと制御サーバとを配置するための少なくとも１つのラックを有するテスタも備える。制御サーバは、第１のユーザコンピュータ、第２のユーザコンピュータ、及びテスタに通信可能に接続され、制御サーバは、テスタスライスの第１のサブセットを第１のテストプランに割り当て、テスタスライスの第１のサブセットによる第１のテストプランの実行を管理するように動作可能である。制御サーバはさらに、テスタスライスの第２のサブセットを第２のテストプランに同時に割り当て、テスタスライスの第２のサブセットによる第２のテストプランの実行を管理するように動作可能である。
【００１７】
添付図面と共に以下の詳細な説明が、本発明の本質及び利点に関する、さらなる理解を提供するであろう。
【図面の簡単な説明】
【００１８】
本発明の実施形態が、限定するためでなく例として添付図面の各図に示される。これらの図面において、同じ参照番号は同様の要素を指す。
【００１９】
【図１Ａ】本発明の自動テストシステムの実施形態が、本発明の１つの実施形態に従って実装され得るコンピュータシステムである。
【００２０】
【図１Ｂ】本発明の実施形態に従って、クライアントシステム及びサーバがネットワークに接続され得るネットワークアーキテクチャの一例のブロック図である。
【００２１】
【図２】制御された環境チャンバにＤＵＴが配置される典型的なテスト環境を示す。
【００２２】
【図３】テスタスライスの例示的な実施形態、及びシステム制御装置及びＤＵＴとの相互接続を示す詳細な概略ブロック図である。
【００２３】
【図４Ａ】本発明の一実施形態によるＤＵＴインタフェースボード（ＤＩＢ）４００とインタフェースで接続されるプリミティブを示す。
【００２４】
【図４Ｂ】複数のプリミティブを備えるワークセルを示す。
【００２５】
【図５】異なるアプリケーションを用いる複数のユーザをサポートする、本発明の一実施形態によるテストシステムを示す。
【００２６】
【図６】従来のテスタより優れた、本発明の実施形態が提供する今までにない改善を示す上位概要である。
【００２７】
【図７】本発明の一実施形態によるテストプログラムの様々なコンポーネントを示す。
【００２８】
【図８】本発明の１つの実施形態による、同じテスタ上で複数のテストプログラムを同時に実行するための例示的なコンピュータ実装プロセスのフローチャートを示す。
【００２９】
【図９】本発明の１つの実施形態による、同じテスタの単一のプリミティブ内で複数のテストフローを同時に実行するための例示的なコンピュータ実装プロセスのフローチャートを示す。
【００３０】
これらの図において、同じ名称を有する要素は、同じ機能又は類似の機能を有する。
【発明を実施するための形態】
【００３１】
ここで、本開示の様々な実施形態が詳細に参照されることになり、これらの実施形態の実施例が添付図面に示されている。実施例がこれらの実施形態と共に説明されるが、それによって、本開示がこれらの実施形態に限定されることは意図していないことが理解されるであろう。それどころか、本開示は、代替例、修正例、及び均等例をカバーすることが意図されており、これらの例は、添付された特許請求の範囲によって定められる本開示の精神及び範囲の中に含まれ得る。さらに、本開示の以下の詳細な説明では、本開示の十分な理解を提供するために、数多くの具体的な詳細が記載されている。しかしながら、本開示は、これらの具体的な詳細を用いずに実施され得ることが理解されるであろう。他の例では、よく知られた方法、手順、コンポーネント、及び回路が、本開示の態様をむだに不明瞭にしないように、詳細に説明されてはいない。
【００３２】
続く詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対するオペレーションの手順、論理ブロック、処理、及び他の記号を用いた表現の観点で示されている。これらの説明及び表現は、データ処理技術の当業者が自分の研究の主旨を他の当業者に最も効果的に伝達するために用いる手段である。本出願では、手順、論理ブロック、プロセスなどが、必要な結果をもたらす筋の通った一連の段階又は命令であると考えられている。これらの段階は、物理量の物理的操作を利用するものである。これらの量は、必ずではないがたいてい、コンピュータシステムにおいて、格納され、転送され、組み合わされ、比較され、あるいは操作されることが可能な、電気信号又は磁気信号の形態を取る。これらの信号を、トランザクション、ビット、値、要素、記号、文字、サンプル、ピクセルなどと呼ぶことが、主に一般的に用いられているという理由で、場合によっては簡便であると分かっている。
【００３３】
しかしながら、これらの用語及び同様の用語の全ては、適切な物理量と関連付けられることになり、これらの量に適用される単に簡便な名称であることに留意されたい。特に記述されない限り、以下の説明から明らかであるように、本開示の全体にわたって、「構成する（ｃｏｎｆｉｇｕｒｉｎｇ）」、「提供する（ｐｒｏｖｉｄｉｎｇ）」、「実行する（ｅｘｅｃｕｔｉｎｇ）」、「伝送する（ｔｒａｎｓｍｉｔｔｉｎｇ）」、「取得する（ｏｂｔａｉｎｉｎｇ）」、「実装する（ｉｍｐｌｅｍｅｎｔｉｎｇ）」、「プログラムする（ｐｒｏｇｒａｍｍｉｎｇ）」、「割り当てする（ａｌｌｏｃａｔｉｎｇ）」、「関連付ける（ａｓｓｏｃｉａｔｉｎｇ）」、「設定する（ｓｅｔｔｉｎｇ）」、「アクセスする（ａｃｃｅｓｓｉｎｇ）」、「制御する（ｃｏｎｔｒｏｌｌｉｎｇ）」、「決定する（ｄｅｔｅｒｍｉｎｉｎｇ）」、「識別する（ｉｄｅｎｔｉｆｙｉｎｇ）」、「キャッシュする（ｃａｃｈｉｎｇ）」、「維持する（ｍａｉｎｔａｉｎｉｎｇ）」、「比較する（ｃｏｍｐａｒｉｎｇ）」、「除去する（ｒｅｍｏｖｉｎｇ）」、「読み出す（ｒｅａｄｉｎｇ）」、「書き込む（ｗｒｉｔｉｎｇ）」などの用語を利用する説明が、コンピュータシステム又は同様の電子コンピュータ処理装置又はプロセッサ（例えば、図１Ａのシステム１１０）の動作及びプロセス（例えば、図８のフローチャート８００）を指すことが理解される。コンピュータシステム又は同様の電子コンピュータ処理装置は、コンピュータシステムメモリ、レジスタ又は他のそのような情報の記憶装置、伝送装置又は表示装置内の、物理（電子）量として表されるデータを操作し変換する。
【００３４】
本明細書において説明される実施形態が、１つ又は複数のコンピュータ又は他の装置によって実行されるプログラムモジュールなどの、何らかの形態のコンピュータ可読記憶媒体上に存在するコンピュータ実行可能命令の一般的文脈で論じられることがある。限定目的ではなく例として、コンピュータ可読記憶媒体は、非一時的コンピュータ可読記憶媒体及び通信媒体を含んでよく、非一時的コンピュータ可読媒体は、一時的な伝播信号を除く、全てのコンピュータ可読媒体を含む。概して、プログラムモジュールには、特定のタスクを行うか、又は特定の抽象データ型を実現する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。プログラムモジュールの機能は、様々な実施形態において必要なように、組み合わされても分散されてもよい。
【００３５】
コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどの情報を記憶するためのあらゆる方法又は技術で実装される、揮発性及び不揮発性の、着脱可能及び着脱不可能な媒体が含まれる。コンピュータ記憶媒体には、限定されないが、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリなどのメモリ技術、コンパクトディスクＲＯＭ（ＣＤ−ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）などの光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は必要な情報を格納するのに用いられ得る、且つその情報を引き出すためにアクセスされ得る任意の他の媒体が含まれる。
【００３６】
通信媒体は、コンピュータ実行可能命令、データ構造、及びプログラムモジュールを具現化することができ、あらゆる情報送達媒体を含む。限定目的ではなく例として、通信媒体には、有線ネットワーク又は有線による直接接続などの有線媒体、並びに音響媒体、無線周波数（ＲＦ）媒体、赤外線媒体、及び他の無線媒体などの無線媒体が含まれる。上記のいずれかの組み合わせも、コンピュータ可読媒体の範囲内に含まれ得る。
【００３７】
図１Ａは、異なるアプリケーションを有する複数のユーザをサポートすることが可能なテスタ制御システム１１０の一例に関するブロック図である。例えば、システム１１０は、（図５に示されるように）サーバ５２５の機能を実行することができる。テスタ制御システム１１０は概して、コンピュータ可読命令を実行することが可能な、あらゆる単一又は複数のプロセッサコンピュータ処理装置又はシステムを表す。制御システム１１０の例には、限定されないが、ワークステーション、ラップトップ、クライアント側の端末、サーバ、分散演算処理システム、ハンドヘルド型装置、又は任意の他の演算処理システム若しくは装置が含まれる。最も基本的な構成において、制御システム１１０は、少なくとも１つのプロセッサ１１４と、システムメモリ１１６とを含んでよい。
【００３８】
プロセッサ１１４は概して、データを処理することが可能な、又は命令を解釈して実行することが可能な、あらゆる種類又は形態の処理ユニットを表す。特定の実施形態において、プロセッサ１１４は、ソフトウェアアプリケーション又はモジュールから命令を受信してよい。これらの命令は、本明細書において説明される及び／又は示される例示的な実施形態のうち１つ又は複数の機能を、プロセッサ１１４に実行させてよい。
【００３９】
システムメモリ１１６は概して、データ及び／又は他のコンピュータ可読命令を格納することが可能な、あらゆる種類又は形態の揮発性又は不揮発性の記憶装置若しくは媒体を表す。システムメモリ１１６の例には、限定されないが、ＲＡＭ、ＲＯＭ、フラッシュメモリ、又は任意の他の適切な記憶装置が含まれる。必須ではないが、特定の実施形態において、制御システム１１０は、揮発性記憶装置（例えば、システムメモリ１１６など）及び不揮発性記憶装置（例えば、主記憶装置１３２など）の両方を含んでよい。
【００４０】
テスタ制御システム１１０は、プロセッサ１１４及びシステムメモリ１１６に加えて、１つ又は複数のコンポーネント又は要素も含んでよい。例えば、図１Ａの実施形態において、制御システム１１０は、メモリ制御装置１１８、入力／出力（Ｉ／Ｏ）制御装置１２０、及び通信インタフェース１２２を含み、これらはそれぞれ、通信インフラストラクチャ１１２を介して相互接続されてよい。通信インフラストラクチャ１１２は概して、コンピュータ処理装置の１つ又は複数のコンポーネント間の通信を容易にすることが可能な、あらゆる種類又は形態のインフラストラクチャを表す。通信インフラストラクチャ１１２の例には、限定されないが、通信バス（業界標準アーキテクチャ（ＩＳＡ）、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）、ＰＣＩエクスプレス（ＰＣＩｅ）、又は類似のバスなど）及びネットワークが含まれる。
【００４１】
メモリ制御装置１１８は概して、メモリ若しくはデータを扱うことが可能な、又は制御システム１１０の１つ若しくは複数のコンポーネント間の通信を制御することが可能な、あらゆる種類又は形態の装置を表す。例えば、メモリ制御装置１１８は、通信インフラストラクチャ１１２を介して、プロセッサ１１４、システムメモリ１１６、及びＩ／Ｏ制御装置１２０の間の通信を制御してよい。
【００４２】
Ｉ／Ｏ制御装置１２０は概して、コンピュータ処理装置の入力及び出力機能を調整及び／又は制御することが可能な、あらゆる種類又は形態のモジュールを表す。例えば、Ｉ／Ｏ制御装置１２０は、プロセッサ１１４、システムメモリ１１６、通信インタフェース１２２、ディスプレイアダプタ１２６、入力インタフェース１３０、及び記憶装置インタフェース１３４などの、制御システム１１０の１つ又は複数の要素間のデータ転送を制御してよく又は容易にしてよい。
【００４３】
通信インタフェース１２２は概して、例示的な制御システム１１０と１つ又は複数の追加の装置との間の通信を容易にすることが可能な、あらゆる種類又は形態の通信装置又はアダプタを表す。例えば、通信インタフェース１２２は、制御システム１１０と、追加の制御システムを含むプライベートネットワーク又はパブリックネットワークとの間の通信を容易にしてよい。通信インタフェース１２２の例には、限定されないが、有線ネットワークインタフェース（ネットワークインタフェースカードなど）、無線ネットワークインタフェース（無線ネットワークインタフェースカードなど）、モデム、及び任意の他の適切なインタフェースが含まれる。１つの実施形態において、通信インタフェース１２２は、インターネットなどのネットワークへの直接リンクを介して、リモートサーバへの直接接続を提供する。通信インタフェース１２２は、任意の他の適切な接続を通じて、そのような接続を間接的に提供してもよい。
【００４４】
通信インタフェース１２２は、外部バス又は通信チャネルを介して、制御システム１１０と１つ又は複数の追加のネットワーク装置若しくは記憶装置との間の通信を容易にするように構成された、ホストアダプタを表してもよい。ホストアダプタの例には、限定されないが、スモールコンピュータシステムインタフェース（ＳＣＳＩ）ホストアダプタ、ユニバーサルシリアルバス（ＵＳＢ）ホストアダプタ、ＩＥＥＥ（米国電気電子技術者協会）１３９４ホストアダプタ、シリアルアドバンスドテクノロジアタッチメント（ＳＡＴＡ）及び外部ＳＡＴＡ（ｅＳＡＴＡ）ホストアダプタ、アドバンスドテクノロジアタッチメント（ＡＴＡ）及びパラレルＡＴＡ（ＰＡＴＡ）ホストアダプタ、ファイバチャネルインタフェースアダプタ、イーサネット（登録商標）アダプタなどが含まれる。通信インタフェース１２２は、制御システム１１０が、分散演算処理又はリモート演算処理を行うことも可能にしてよい。例えば、通信インタフェース１２２は、命令をリモート装置から受信してよく、又は命令を実行のためにリモート装置へ送信してもよい。
【００４５】
図１Ａに示されるように、制御システム１１０は、ディスプレイアダプタ１２６を介して通信インフラストラクチャ１１２に接続された少なくとも１つの表示装置１２４を含んでもよい。表示装置１２４は概して、ディスプレイアダプタ１２６によって転送された情報を視覚的に表示することが可能な、あらゆる種類又は形態の装置を表す。同様に、ディスプレイアダプタ１２６は概して、表示装置１２４に表示するために、グラフィック、テキスト、及び他のデータを転送するように構成された、あらゆる種類又は形態の装置を表す。
【００４６】
図１Ａに示されるように、制御システム１１０は、入力インタフェース１３０を介して通信インフラストラクチャ１１２に接続された、少なくとも１つの入力装置１２８を含んでもよい。入力装置１２８は概して、コンピュータ又は人が生成する入力を制御システム１１０に提供することが可能な、あらゆる種類又は形態の入力装置を表す。入力装置１２８の例には、限定されないが、キーボード、ポインティングデバイス、音声認識装置、又は任意の他の入力装置が含まれる。
【００４７】
図１Ａに示されるように、制御システム１１０は、記憶装置インタフェース１３４を介して通信インフラストラクチャ１１２に接続された、主記憶装置１３２及びバックアップ記憶装置１３３を含んでもよい。記憶装置１３２及び１３３は概して、データ及び／又は他のコンピュータ可読命令を格納することが可能な、あらゆる種類又は形態の記憶装置又は媒体を表す。例えば、記憶装置１３２及び１３３は、磁気ディスクドライブ（例えば、いわゆるハードドライブ）、フロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュドライブなどであってよい。記憶装置インタフェース１３４は概して、記憶装置１３２及び１３３と制御システム１１０の他のコンポーネントとの間でデータを転送するための、あらゆる種類又は形態のインタフェース又は装置を表す。
【００４８】
１つの例において、データベース１４０が、主記憶装置１３２に格納されてよい。データベース１４０は、単一のデータベース又はコンピュータ処理装置の一部を表してよく、複数のデータベース又はコンピュータ処理装置を表してもよい。例えば、データベース１４０は、制御システム１１０の一部、及び／又は図１Ｂの例示的なネットワークアーキテクチャ１００の一部（下記）を表してよい（そこに格納されてよい）。あるいは、データベース１４０は、制御システム１１０及び／又はネットワークアーキテクチャ１００の一部などのコンピュータ処理装置によってアクセスされることが可能な、１つ又は複数の物理的に別個の装置を表してよい（そこに格納されてよい）。
【００４９】
続いて図１Ａを参照すると、記憶装置１３２及び１３３は、コンピュータソフトウェア、データ、又は他のコンピュータ可読情報を格納するように構成された着脱可能な記憶装置との間で、読み出し及び／又は書き込みを行うように構成されてよい。好適な着脱可能な記憶装置の例には、限定されないが、フロッピーディスク、磁気テープ、光ディスク、フラッシュメモリデバイスなどが含まれる。記憶装置１３２及び１３３は、コンピュータソフトウェア、データ、又は他のコンピュータ可読命令を制御システム１１０にロードすることを可能にするための、他の類似の構造又は装置を含んでもよい。例えば、記憶装置１３２及び１３３は、ソフトウェア、データ、又は他のコンピュータ可読情報を読み出し、書き込むように構成されてよい。記憶装置１３２及び１３３は、制御システム１１０の一部であってもよく、又は他のインタフェースシステムを通じてアクセスされる別個の装置であってもよい。
【００５０】
多くの他の装置又はサブシステムが、制御システム１１０に接続されてよい。反対に、図１Ａに示されるコンポーネント及び装置の全てが、本明細書において説明される実施形態を実施するために存在する必要はない。上述されたこれらの装置及びサブシステムは、図１Ａに示されるのと異なる方法で相互接続されてもよい。制御システム１１０は、任意の数のソフトウェア、ファームウェア、及び／又はハードウェア構成を利用してもよい。例えば、本明細書において開示される例示的な実施形態は、コンピュータプログラム（コンピュータソフトウェア、ソフトウェアアプリケーション、コンピュータ可読命令、又はコンピュータ制御論理とも呼ばれる）として、コンピュータ可読媒体上に符号化されてよい。
【００５１】
コンピュータプログラムを含むコンピュータ可読媒体は、制御システム１１０にロードされてよい。コンピュータ可読媒体に格納されたコンピュータプログラムの全て又は一部は、その後、システムメモリ１１６並びに／又は記憶装置１３２及び１３３の様々な部分に格納されてよい。制御システム１１０にロードされるコンピュータプログラムは、プロセッサ１１４によって実行される場合、本明細書において説明される及び／又は示される例示的な実施形態の機能をプロセッサ１１４に実行させてよく、及び／又はこれらの機能を実行する手段であってもよい。追加的に又は代替的に、本明細書において説明される及び／又は示される例示的な実施形態は、ファームウェア及び／又はハードウェアにより実装されてよい。
【００５２】
図１Ｂは、クライアントシステム１５１、１５２、及び１５３、並びにサーバ１４１及び１４５がネットワーク１５０に接続され得る、ネットワークアーキテクチャ１００の一例のブロック図である。クライアントシステム１５１、１５２、及び１５３は概して、図１Ａのテスタ制御システム１１０などの、あらゆる種類又は形態のコンピュータ処理装置又はシステムを表す。
【００５３】
同様に、サーバ１４１及び１４５は概して、様々なデータベースサービスを提供する及び／又は特定のソフトウェアアプリケーションを実行するように構成された、アプリケーションサーバ又はデータベースサーバなどのコンピュータ処理装置又はシステムを表す。ネットワーク１５０は概して、例えば、イントラネット、ワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、パーソナルエリアネットワーク（ＰＡＮ）、又はインターネットを含む、あらゆる電気通信ネットワーク又はコンピュータネットワークを表す。
【００５４】
図１Ａの制御システム１１０を参照すると、通信インタフェース１２２などの通信インタフェースが、各クライアントシステム１５１、１５２、及び１５３とネットワーク１５０との間の接続を提供するのに用いられてよい。クライアントシステム１５１、１５２、及び１５３は、例えば、ウェブブラウザ又は他のクライアントソフトウェアを用いて、サーバ１４１又は１４５上の情報にアクセスすることが可能であってよい。そのようなソフトウェアによって、クライアントシステム１５１、１５２、及び１５３は、サーバ１４０、サーバ１４５、記憶装置１６０（１）〜（Ｌ）、記憶装置１７０（１）〜（Ｎ）、記憶装置１９０（１）〜（Ｍ）、又はインテリジェント記憶装置アレイ１９５によってホストされるデータにアクセスすることが可能であってよい。図１Ｂは、データを交換するためにネットワーク（インターネットなど）を用いることを示しているが、本明細書において説明される実施形態は、インターネット又はあらゆる特定のネットワークベースの環境に限定されない。
【００５５】
１つの実施形態において、本明細書に開示される例示的な実施形態のうち１つ又は複数の全て又は一部は、コンピュータプログラムとして符号化され、サーバ１４１、サーバ１４５、記憶装置１６０（１）〜（Ｌ）、記憶装置１７０（１）〜（Ｎ）、記憶装置１９０（１）〜（Ｍ）、インテリジェント記憶装置アレイ１９５、又はこれらのあらゆる組み合わせにロードされ、これらによって実行される。本明細書に開示される例示的な実施形態のうち１つ又は複数の全て又は一部はまた、コンピュータプログラムとして符号化され、サーバ１４１に格納され、サーバ１４５によって実行され、ネットワーク１５０を介してクライアントシステム１５１、１５２、及び１５３に分散されてもよい。
【００５６】
［異なるアプリケーションを用いる複数のユーザをサポートするテストシステム］
【００５７】
図２は、制御された環境チャンバ１０又は「オーブン」にＤＵＴが配置される典型的なテスト環境を示す。これらのＤＵＴは、テストヘッド２０のテスタスライスに接続される。単一のテスタスライス４０に、多くのＤＵＴが接続され得る。テスタスライス（図３に関連して、さらに詳細に論じられる）は、テストプランに従ってＤＵＴに対してテストを行うテスト回路を含む。テストヘッド２０ごとに、多くのテスタスライスが存在し得る、ＤＵＴは、オーブン１０に挿入されるときに、トレイ３０に配置される。ＤＵＴは、オーブン１０の中にあるとき、通常、チャンバ１０の制御された環境を乱さないように、ユーザが手を触れることはできない。典型的な環境チャンバにおいて、複数のテスタスライスは、複数のＤＵＴに対して同じテストプランを実行するロックステップで動作する。さらに、テストヘッドは通常、テストヘッドに直接に接続される単一の制御装置のコンピュータシステム（不図示）によって制御され、この方式で、テストヘッド２０の全てのスライスを制御する。制御装置のコンピュータは通常、ＤＵＴに対して単一のテストプランを実行する単一のユーザによって操作される。
【００５８】
このテスト環境の課題は、各テスト中に、所与のテストヘッドのテスタスライスを完全に満たすのに十分なＤＵＴがないことが多いということである。したがって、そのような状態でテスト中に使用されていないスライスは、何も有益な仕事を行っていないという点でむだである。これにより、テスト全体のスループットが低下し得、非常に高価な電子機器がアイドル状態に置かれる。これらのアイドル状態にあるスライスは、１）チャンバの内側にはテスト中にアクセスできない、２）制御コンピュータはいつでも１人のユーザしかサポートしない、及び３）これらのスライス（全てのスライス）は、一度に１つのテストプランだけに基づいて動作するという理由で、異なる用途に供されることができない。
【００５９】
テストチャンバはまた、通常、大型であり高価でもある。このテスト環境の別の欠点は、テストチャンバを十分に利用するために、例えば、生産や技術などのいくつかの異なるユーザグループの間で、テストチャンバを同時に共有することを望む典型的な顧客が、そうすることができないという点である。テストスライスは、典型的なテスト環境において、一度に単一のテストプランでしか動作できず、単一のユーザの体験したことしかサポートできないので、顧客はテストチャンバをいつでも十分に利用することができず、したがって、追加の装置を購入するか、又は効率を犠牲にするかを強いられている。
【００６０】
図３は、テスタスライスの例示的な実施形態、及びシステム制御装置及びＤＵＴとの相互接続を示す詳細な概略ブロック図である。
【００６１】
図３を参照すると、各テスタスライスは、サイトモジュールを含む。サイトモジュールは、１つの実施形態において、テスタスライス３４０Ａ〜３４０Ｎ上に機械的に配置されてよく、各テスタスライスは、少なくとも１つのサイトモジュールを含む。いくつかの典型的な実施形態において、各テスタスライスは、２つのサイトモジュール及び２つのデバイス電源ボードを含んでよい。他の実施形態において、テスタスライスは、より多くの又はより少ないサイトモジュール及び／又は電源ボードを含んでよい。図３のテスタスライス３４０Ａは、例えば、サイトモジュール３１０Ａ及び３１０Ｂ、並びにデバイス電源ボード３３２Ａ及び３３２Ｂを含む。しかしながら、テスタスライス上に配置され得るデバイス電源ボード又はサイトモジュールの数には、何も限定はない。テスタスライス３４０は、ネットワークスイッチ３０２を通じてシステム制御装置３０１に接続される。ネットワークスイッチ３０２は、３２ビット幅のバスで、これらのサイトモジュールのそれぞれに接続されてよい。
【００６２】
１つの実施形態において、システム制御装置３０１はコンピュータシステムであってよく、例えば、テストプログラムをロードしてＡＴＥ３００に接続されたＤＵＴのテストを実行するために、ユーザインタフェースをＡＴＥのユーザに提供するパーソナルコンピュータ（ＰＣ）であってよい。Ａｄｖａｎｔｅｓｔ  Ｓｔｙｌｕｓオペレーティングシステムは、デバイステスト中に通常用いられるテストソフトウェアの１つの例である。これにより、テストを構成し制御するグラフィカルユーザインタフェースがユーザに提供される。また、テストフローを制御し、テストプログラムのステータスを制御し、どのテストプログラムが実行されているかを判定し、テスト結果及びテストフローに関連する他のデータを記録するための機能も含まれてよい。１つの実施形態において、システム制御装置は、５１２個ものＤＵＴに接続され、これらを制御することができる。
【００６３】
１つの実施形態において、システム制御装置３０１は、イーサネット（登録商標）スイッチなどのネットワークスイッチを通じて、サイトモジュールボード３１０Ａ〜３１０Ｂに接続されてよい。他の実施形態において、ネットワークスイッチは、例えば、ファイバチャネル、８０２．１１、又はＡＴＭなどの異なるプロトコルと互換性があってよい。
【００６４】
デバイス電源ボード３３２Ａ〜３３２Ｂのそれぞれは、サイトモジュール３１０Ａ〜３１０Ｂのうち一方から制御されてよい。テスタプロセッサ３０４上で実行されるソフトウェアは、デバイス電源を特定のサイトモジュールに割り当てるように構成されてよい。１つの実施形態において、サイトモジュール３１０Ａ〜３１０Ｂ及びデバイス電源３３２Ａ〜３３２Ｂは、例えば、ペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）、シリアルＡＴアタッチメント（ＳＡＴＡ）、又はシリアルアタッチドＳＣＳＩ（ＳＡＳ）といった高速シリアルプロトコルを用いて、互いに通信するように構成される。
【００６５】
１つの実施形態において、各サイトモジュールは、図３に示されるように２つのＦＰＧＡで構成される。図３の実施形態におけるＦＰＧＡ３１６及び３１８のそれぞれは、テスタプロセッサ３０４によって制御される。テスタプロセッサ３０４は、図３のシステムバス３３０及び３３２で示されるように、ＰＣＩｅなどの８レーン高速シリアルプロトコルインタフェースを用いて各ＦＰＧＡと通信することができる。他の実施形態において、テスタプロセッサ３０４はまた、例えば、シリアルＡＴアタッチメント（ＳＡＴＡ）又はシリアルアタッチドＳＣＳＩ（ＳＡＳ）といった異なる高速シリアルプロトコルを用いてＦＰＧＡと通信してもよい。
【００６６】
ＦＰＧＡ３１６及び３１８はそれぞれ、メモリモジュール３０８及び３０４に接続される。メモリモジュールは、ＦＰＧＡデバイス及びテスタプロセッサ３０４の両方と接続されてよく、これらの両方によって制御されてよい。
【００６７】
ＦＰＧＡ３１６及び３１８はそれぞれ、バス３５２及び３５４を通じて、ロードボード３８０上のＤＵＴ３７２Ａ〜３７２Ｍに接続されてよい。ロードボード３８０は、ライン３５２及び３５４でＤＵＴへ通信するのに用いられるプロトコルに依存しない汎用高速接続を、サイトモジュールエンドで可能にする物理ハーネスである。しかしながら、ＤＵＴエンドにおいてロードボードは、ＤＵＴによって用いられているプロトコルに固有のコネクタを有するように設計される必要がある。
【００６８】
図３は、テスタスライスの例示的な実施形態のみを示していることに留意されたい。さらに、本発明の実施形態は、図３に示されるテスタスライスの種類だけに限定されないことに留意されたい。本発明の実施形態は、さらに下記で論じられることになるが、異なる種類のテスタスライス及びプリミティブを含んでよい。
【００６９】
ＤＵＴ３７２Ａ〜３７２Ｍは、本発明の１つの実施形態において、テスト用のサーマルチャンバ３９０の内側に配置されるロードボード３８０上に搭載される。ＤＵＴ３７２Ａ〜３７２Ｍ及びロードボード３８０は、デバイス電源３３２Ａ及び３３２Ｂから電力を得ている。
【００７０】
各ＦＰＧＡに接続され得るＤＵＴの数は、ＦＰＧＡ内の送受信機の数と、各ＤＵＴが必要とするＩ／Ｏレーンの数とに依存する。１つの実施形態において、ＦＰＧＡ３１６及び３１８はそれぞれ、３２個の高速送受信機を含んでよく、バス３５２及び３５４はそれぞれ、３２ビット幅であってよい。しかしながら、用途に応じて、より多くの又はより少ない数量で実装されてよい。例えば、各ＤＵＴが８個のＩ／Ｏレーンを必要とする場合、そのようなシステムでは、４個のＤＵＴだけが各ＦＰＧＡに接続され得る。
【００７１】
図４Ａは、本発明の一実施形態によるＤＵＴインタフェースボード（ＤＩＢ）４００とインタフェースで接続されたプリミティブ４１０を示す。図２に示されるテスタスライス４０と同様に、図４Ａのプリミティブは、テストヘッド２０に収まるディスクリートテストモジュールの一種であり、テストプランに従ってＤＵＴに対してテストを行うテスト回路を備える。プリミティブは筐体４５０を有し、その中に、例えば、サイトモジュール、電源などの様々な電子機器が全て収納されている。ＤＩＢ４００は、ＤＵＴ４２０の大きさに合わせた特注のコネクタを用いて、複数のＤＵＴ４２０を含み得る。ＤＩＢ４００は、筐体４７０も含み得る。ＤＩＢ４００は、図３に示されるロードボード３８０と同様のロードボード（不図示）を通じて、プリミティブ４１０の汎用バックプレーン（不図示）にインタフェースで接続されている。プリミティブ４１０は、ＤＵＴ４２０に対してテストプランを実行するための（図３に示されるテスタスライス３４０Ａと同様の）テスト回路を含む。プリミティブ４１０は、任意の他のプリミティブから独立して動作することができ、（図３に示されるシステム制御装置３０１と同様の）制御サーバに接続されている。
【００７２】
図４Ｂは、複数のプリミティブ４９１を含むワークセルを示す。本発明の実施形態は、（図４Ｂに示されるプリミティブと同様の）複数のプリミティブ及び関連するＤＩＢとを利用して、ＤＵＴをテストする。本発明の実施形態は、（図２のテスタスライス４０と同様の）テスタスライスを用いて、ＤＵＴをテストすることもできる。各プリミティブ（又はテスタスライス）は、他のプリミティブ（又はテスタスライス）から独立して動作することが可能であることを意味するモジュール方式である。したがって、（図４Ｂに示されるように）ラック内に配置された複数のプリミティブはそれぞれ、異なるテストプランに従って動作することができる。これらのプリミティブは、命令、制御、管理などのために、制御サーバと通信する。制御サーバは、制御サーバがサポートする様々なプリミティブ用の複数のアプリケーションプログラム又はテストプランをホストすることが可能である。プリミティブは、標準的なＩＰネットワークを介してサーバと通信することができる。遠く離れて位置する可能性がある様々なコンピュータシステムは、標準的なＩＰネットワーク接続を介してサーバにアクセスすることができる。
【００７３】
したがって、このテストプラットフォームの下では、１）プリミティブのモジュール性、及び２）標準的なＩＰネットワーク接続の使用によって、複数のプリミティブ又はテスタスライスが、１人のユーザによる所与のテストプランに従って複数のＤＵＴをテストすることが可能であり、一方、同じラックの第２の複数のプリミティブが、第２のユーザによって管理される全く異なるアプリケーション（又は異なるテストプラン）を実行するといった具合である。したがって、アイドル状態のテスト回路と関連した、従来のテストシステムのこれまでの課題は取り除かれる。例えば、６つのプリミティブを含むテストヘッドにおいて、これらのプリミティブのうち２つが、ＳＡＴＡ型の装置をデバッグするために技術部署専用とすることが可能であってよく、これらのプリミティブのうち４つが生産部署によるＳＳＤドライブの大量テスト専用としてよい。
【００７４】
１つの実施形態において、本テストシステムが図４Ａに示されるプリミティブを用いる場合、プリミティブは効率的な方法で区切られるように設計されているので、環境チャンバは、プリミティブのラックと関連付けられたＤＵＴをテストするときには、もはや必要とされない。本実施形態において、プリミティブの筐体４５０は、ＤＵＴからの熱が筐体の内側に保持されることを可能にし、したがって、別個の加熱チャンバが必要とされない。結果として、ＤＵＴ及びプリミティブに対して、ユーザが直接に操作することがいつでも可能になる。換言すれば、ＤＵＴは、（筐体内で長時間電源が投入されると）ＤＵＴを高温でテストするのに必要な熱を供給する。さらに、プリミティブ筐体４５０は、ＤＵＴを冷却し、その意結果としてプリミティブの内部温度を下げるために、空気がプリミティブ内を循環できるようにするファン及び／又は通気孔を含んでよい。
【００７５】
異なる実施形態において、本テストシステムが図２に示されるテスタスライスを用いる場合、環境チャンバが依然として必要とされるが、本システムがモジュール方式であることによって、異なるユーザが環境チャンバの個々の区分を排他的に制御することが可能になる。したがって、ＤＵＴ及びテスタスライスに対して、ユーザが直接に操作することがいつでも可能になる。例えば、第１のユーザが、テスタスライスの第１のセットを用いて環境チャンバ内でテストを実行してよく、一方、第２のユーザが、自分の排他的な制御下にあるテスタスライスの第２のセット内のＤＵＴを操作してよい。
【００７６】
図５は、異なるアプリケーションを用いる複数のユーザをサポートする、本発明の一実施形態によるテストシステム５００を示す。図５に示されるように、制御サーバ５２５が異なるプリミティブ５４０ａ及び５４０ｂと通信状態にある。これら２つのプリミティブは、（図４Ｂに示されるように）単一のラック内に配置されてよい。図５の例示的なテストシステムはプリミティブを用いるが、本発明の原理は、テスタスライスを用いるテストシステムにも同様に適用できることに留意されたい。
【００７７】
プリミティブ５４０ａは、テストプラン「ＴＰ１」を用い、（ＤＩＢを介して）複数のＤＵＴ５５０ａをテストすることが示されている。プリミティブ５４０ｂは、テストプラン「ＴＰ２」と呼ばれる別個のアプリケーションを用い、（ＤＩＢを介して）複数のＤＵＴ５５０ｂをテストすることが示されている。２つの異なる標準的なＩＰネットワーク接続を介して、第１のユーザコンピュータ５１０及び第２のユーザコンピュータ５２０が両方とも、制御サーバ５２５に接続される。
【００７８】
例えば、第１のユーザコンピュータは、ある顧客の技術部署専用としてよく、第２のユーザコンピュータは、生産部署専用としてよい。これらのユーザコンピュータは、互いに遠く離れていてよく、且つサーバ５２５から遠く離れていてもよい。さらに多くのプリミティブ及び／又はテスタスライスが、サーバ５２５と通信状態にあってよく、説明のために２つだけが示されていることが理解される。
【００７９】
図５に示される例において、第２のユーザコンピュータ５２０は、プリミティブ５４０ｂによる実行を介して複数のＤＵＴ５５０ｂに対する生産テストプランを制御している。この生産テストプランは、制御サーバ５２５へロードされ、次に、ＤＵＴ５５０ｂに対して実行するために、プリミティブ５４０ｂにダウンロードされてよい。テスト結果は、その後、反対方向に伝達され得る。この例において、ユーザコンピュータ５２０は、ＤＵＴ５５０ｂの大量生産テストの間、生産従事者の管理下にあってよい。
【００８０】
このように、本発明の実施形態は、同じテスタを用いて、全く異なる機能をサポートすることができる。例えば、生産テスト中に、テスタは、テストヘッド内のプリミティブのサブセットを用いて、一定のワークフローを実行してよい。例として、生産ワークフローには、ＳＳＤドライブにバーコードを付けること、これらのＳＳＤドライブをテストすること、及び各ＳＳＤドライブを「合格」又は「不良」として分類することが含まれてよい。同時に、技術チームの一員が、テストヘッド内の異なるセットのプリミティブを用いて、ＳＡＴＡドライブの不良結果をデバッグするなどの全く異なる機能を実行してよい。
【００８１】
上記テストと同時に、第１のユーザコンピュータ５１０は、プリミティブ５４０ａを介して、複数のＤＵＴ５５０ａに適用する技術テストプランを制御することができる。技術テストプランは、まだ完成していない開発中のテストプランであってよい。あるいは、技術テストプランは、異なるプロトコルを用いて異なるＤＵＴをテストするための、単に異なる種類の生産テストプラン、例えば、ＤＵＴタイプｘに対してＤＵＴタイプｙであってもよい。この技術テストプランは、制御サーバ５２５へロードされ、次に、ＤＵＴ５５０ａに対して実行するために、プリミティブ５４０ａにダウンロードされてよい。テスト結果は、その後、反対方向に伝達され得る。この例において、ユーザコンピュータ５１０は、今後使うために現在試作中のテストプランを開発するテストエンジニアの管理下にあってよい。
【００８２】
１つの実施形態において、ユーザコンピュータ５１０及び５２０は、テストソフトウェア、例えば、Ａｄｖａｎｔｅｓｔ  Ｓｔｙｌｕｓを実行するシステム制御装置であってよい。異なる実施形態において、ユーザコンピュータ５１０及び５２０は、通信ネットワーク、例えばＩＰネットワークを通じてサーバ５２５に接続されたユーザ端末であってよく、サーバ５２５は、テストソフトウェア、例えば、Ａｄｖａｎｔｅｓｔ  Ｓｔｙｌｕｓを実行するシステム制御装置であってよい。
【００８３】
１つの実施形態において、サーバ５２５は、接続されたプリミティブ（又はテスタスライス）全てのテストを監視する制御装置であり、ユーザにＧＵＩも提供する。他の実施形態において、図５に示されるように、ユーザはＩＰ接続を通じてサーバに接続し、サーバに接続されたユーザコンピュータのそれぞれは、別個のＧＵＩを関連するユーザに提供し、関連するプリミティブのセットを制御する。
【００８４】
サーバ５２５は、１つの実施形態において、ユーザ間にリソースを割り当てる割り当てスキームを実行することができる。例えば、サーバは、ユーザの用途に応じて、ユーザにプリミティブ及び／又はテスタスライスを割り当てることができる。１つの実施形態において、サーバは、異なる目的の異なるプリミティブ及び／又はテスタスライスを異なるユーザに動的に割り当て、且つ管理することができる。サーバは、ユーザコンピュータのそれぞれと、サーバ５２５に接続された様々なプリミティブ（及び、それらの関連ＤＵＴ）との間の双方向通信も可能にする。サーバはまた、接続された様々なプリミティブ上で同時に実行されるワークフローを管理し、接続されたプリミティブ及び／又はテスタスライス上で、様々なワークフローを追跡することができる。
【００８５】
本発明の実施形態は、有利には、異なる種類のデバイス（異なるサイズ、種類、及び形状の要因を含む）を同じテストヘッド２０を用いて同時にテストするのに用いられ得ることに留意されたい。例えば、同じテスタが、異なるプリミティブ又はテスタスライスを用いて、ＳＡＴＡドライブ及びＳＳＤドライブを同時にテストするのに用いられ得る。
【００８６】
さらに、異なるテストプランが、テストされている異なる種類のデバイスごとに、又はテストヘッド内のプリミティブ又はテスタスライスごとに実行されてよい。これにより、有利には、単一の顧客が単一のテスタを複数の機能に合わせて並行して用いることが可能になり、各機能に合わせた専用テスタが不要になる。本発明の実施形態をサポートするために、１つの実施形態において、テスタソフトウェアが複数のテストプログラムを同時にロードする能力を有することになり、各テストプログラムは、異なるプリミティブ上で同時に実行されてよい。例えば、ユーザがグループごとに１つのテストプログラムをロードすることが可能であってよく、１つのグループが、１つのトレイスロット上の全てのＤＵＴと定められる。テスタソフトウェアは、１つの実施形態において、テスタシステムに存在するプリミティブと同数のテストプログラムを同時に実行することをサポートする能力を有することができる。
【００８７】
したがって、プリミティブ５４０ａが複数のＤＵＴをテストする複数のプリミティブを表すと仮定すると、同じラックの第２の複数のプリミティブ５４０ｂが異なるユーザによって異なる目的に用いられることが可能であり、これにより、あらゆるアイドル状態のコンポーネントを無くすことができる。より具体的には、第１のテストが技術チームによってＤＵＴ５５０ａで行われている間、生産チームは並行して、後で使用する次のテストを準備するためにプリミティブ５５０ｂを用いてよいことは有利である。
【００８８】
標準的なＩＰネットワーク通信が、制御サーバ５２５とユーザコンピュータとの間で用いられるので、複数のユーザコンピュータがいつでも制御サーバ５２５にアクセスすることができ、これらのユーザコンピュータは遠く離れていてもよい。これにより、複数の異なるテストプランが、異なるユーザによるサーバ制御を介して、ラックの様々なプリミティブにロードされ、互いから独立して実行されることが可能になる。
【００８９】
環境チャンバがプリミティブの設計を理由に取り除かれる実施形態において、プリミティブ５４０ｂのテストプランが動作している間に、プリミティブ５４０ａは直接に手動でインタラクトされてよく、逆の場合も同じである。
【００９０】
同様に、環境チャンバが依然として用いられる、テスタスライスを用いた実施形態であっても、これらのテスタスライスが互いから独立して用いられ得るので、異なるユーザが環境チャンバの個々の区分を排他的に制御することができる。
【００９１】
本発明の利点には、各プリミティブが独立して動作できるという点で、より大きなテスタ適応性が含まれる。本発明の別の利点は、アイドル状態のテスト回路を無くすことによってテスタ効率が上がることである。本発明の別の利点は、プリミティブの所与のラック内で、複数のユーザが異なるＤＵＴに対して異なるテストプランを同時に実行できることである。
【００９２】
［テストプログラムフロー制御］
【００９３】
１つの実施形態において、ユーザは、プリミティブ又はテスタスライスに接続された各ＤＵＴに対して、異なるテストフローを実行することができる。図６は、従来のテスタより優れた、本発明の実施形態が提供する今までにない改善を示す上位概要である。
【００９４】
図６に示され上述されたように、従来のテスタは、テストヘッド内に含まれる全てのテスタスライスで単一のテストプラン（又はテストプログラム）しか実行できないので、限定されていた。
【００９５】
さらに、上述されたように、本発明の実施形態は、１）プリミティブのモジュール性、及び２）標準的なＩＰネットワーク接続の使用の結果として、従来のテスタを部分的に改善する。したがって、図６に示されるように、複数のプリミティブ又はテスタスライスが、１人のユーザによる所与のテストプランに従って複数のＤＵＴをテストすることが可能であり、一方、同じラックの第２の複数のプリミティブが、第２のユーザによって管理される全く異なるアプリケーション（又は異なるテストプラン）を実行するといった具合である。例えば、テスタ６２０が８個のプリミティブを含む場合、各プリミティブは、異なるテストプログラム（ＴＰ０、ＴＰ１、…、ＴＰ７）を実行することが可能である。さらに、各プリミティブは、異なるプロトコルを実行するＤＵＴをテストすることができる。例えば、１つのプリミティブ又はプリミティブのセットがＳＳＤドライブをテストすることができ、別のプリミティブ又はプリミティブのセットがＳＡＴＡドライブをテストすることができる。
【００９６】
本発明の実施形態はまた、プリミティブ（又はテスタスライス）に接続された各ＤＵＴに対して、ユーザが異なるテストフローを実行することを可能にすることで、従来のテスタを改善する。同じプリミティブに接続された全てのＤＵＴは同じプロトコルを実行し得るが、本発明の実施形態は、各プリミティブのＤＵＴが異なるテストフローを実行することを可能にする。図６のテスタ６３０に示されるように、テストプログラムＴＰ０を実行するプリミティブに接続されたＤＵＴ０がフローＡを実行し、ＤＵＴ２がフローＢを実行し、ＤＵＴ７がフローＣを実行する。換言すれば、プリミティブ内の各ＤＵＴは、独自のテストフローを実行することができ、プリミティブ内のその他の全てのＤＵＴと同じテストフローを実行する必要はない。
【００９７】
図７は、本発明の一実施形態によるテストプログラムの様々なコンポーネントを示す。テストプログラムは通常、２つのファイル、すなわち、標準テストインタフェース言語（ＳＴＩＬ）ファイル及びテストメソッド（．ｓｏ）ファイルから構成される。テストメソッド（．ｓｏ）ファイルは通常、ＤＵＴを直接にテストするためにテスタのサイトモジュール上で実行することになるコンピュータコードを含む。一方、ＳＴＩＬファイルは、（いくつかある構成情報の中でも特に）テストプログラムを作成するために、テストメソッドがどのように構成されるかに関する情報を含む。
【００９８】
テストメソッドは、テストプログラムの基本的構成要素を含む。例えば、図７に示されるように、テストメソッド７１０は、デバイスを開き、ＤＵＴに対してリセットを行うオペレーション、又は任意の他のテスト関連オペレーションを含み得る。テストメソッドは、ＤＵＴと直接に通信する。テストメソッドは、図７を用いて下記に詳述されることになる階層構造のＳＴＩＬファイルで構成される。
【００９９】
本発明の１つの実施形態において、テストメソッドは、テストパラメータ７３０で起動する。テストパラメータ７３０は、特定の順序で実行されるテストメソッドのセットである。テストパラメータは通常、テストメソッドのリストを含む。
【０１００】
テストセグメント７４０は通常、単一のテストパラメータ７３０と関連付けられる。テストパラメータ７３０は、テストセグメントで起動し得る。同じテストパラメータが、複数のセグメントに用いられ得ることに留意されたい。また、テストセグメントは、ＤＵＴのビン情報及びテストパラメータを含むことにさらに留意されたい。ビン番号は、ＤＵＴが属する物理ビンに関連してよい。したがって、テストセグメントは、テストパラメータ内のテストメソッドを、テストパラメータからのテストメソッドが実行されるはずの物理ＤＵＴに関連付ける。プログラムシーケンスを作成するために、複数のテストセグメントが組み合わされてよい。
【０１０１】
プログラムシーケンス７６０は、特定の順序で実行されるセグメントのセットである。次の４つの異なるプログラムシーケンスが存在する。すなわち、（ａ）開始（Ｓｔａｒｔ）：前処理段階、（ｂ）主（Ｍａｉｎ）：実際のテスト段階、（ｃ）終了（Ｆｉｎｉｓｈ）：後処理段階、例えばデバイスの電源を切る、後片付けなど、及び（ｄ）デバッグ（Ｄｅｂｕｇ）：デバッグ目的のために手動で実行され得るセグメント（任意でよい）の４つである。全てのテストプログラムには、開始プログラムシーケンス、主プログラムシーケンス、終了プログラムシーケンスがある。デバッグ目的に利用可能な任意のデバッグプログラムシーケンスも存在する。
【０１０２】
従来のテスタは通常、ＳＴＩＬファイルごとに１セットのプログラムシーケンスだけを許可する。本発明の１つの実施形態において、テストフロー構成体が、４つのプログラムシーケンスのセットを含むテスタソフトウェア（例えば、Ａｄｖａｎｔｅｓｔ  Ｓｔｙｌｕｓ）内に定義されている。例えば、図７に示されるように、テストフローＡＢＣは、４つのプログラムシーケンスとして、開始、主、終了、及びデバッグを含む。同様に、テストフローＤＥＦも、４つのプログラムシーケンスとして、開始、主、終了、及びデバッグを含む。さらに、テストスイート構成体が作成される。テストスイート７２０は、テストフローの集合体として定義される。
【０１０３】
本発明の１つの実施形態において、ユーザが複数のテストフローを１つのＳＴＩＬファイルに定義することが可能なのは有利である。本発明の実施形態は、ユーザが複数のテストフローを１つのＳＴＩＬファイル内に定義することを可能にして、プリミティブ（又はテスタスライス）に接続された各ＤＵＴに対して異なるテストフローを実行することで、従来のテスタを改善する。プリミティブ内の各ＤＵＴは、ＳＴＩＬファイルに定義された複数のテストフローのうち１つを実行することができる。同じプリミティブに接続された全てのＤＵＴが同じプロトコルを実行し、且つ同じユーザの管理下にあってよいが、本発明の実施形態は、各プリミティブのＤＵＴが異なるテストフローを実行することを可能にする。したがって、本発明の実施形態は（上述したプリミティブごとの適応性に加えて）ＤＵＴごとの適応性を可能にする。さらに、本発明の実施形態は、各デバイスが複数のインサーションを有することが可能であり、全てのインサーションは、異なテストフローを必要とする。ＳＴＩＬファイルは、全てのインサーションを処理するように構成される。
【０１０４】
本発明の実施形態は有利には、プリミティブ内の各ＤＵＴがテストプロセス中に異なるポイント又は段階にあることを可能にすることで、１つのテストプログラムにおいて単一のテストフローしか許可しなかった従来のテスタに比べて、テストをより効率的にする。従来のテスタは、テスタ内の全てにＤＵＴに対して同じテストフローを実行するように制限されていた。複数のテストフローへのサポートがなく、リソースを効率的に用いることができないので、生産プロセス及び技術プロセスの両方は概して、より複雑になる。
【０１０５】
したがって、本発明の実施形態は、異なるテストメソッドが異なるＤＵＴに対していつでも実行されることを可能にし、これにより、ユーザがテスタリソースを十分に利用することが可能になる。複数のテストフローをサポートする能力がなければ、テストプロセスの異なる段階にあるＤＵＴは、いくつかのテスタの間で分離される必要があるであろう。例として、テスタ内の各ＤＵＴが３つの異なるテストプログラムを実行する必要があるとしてみよう。従来、顧客は、１番目のテストプログラムをロードし、２番目のテストプログラムを開始する前に、テスタ内の全てのＤＵＴのテストを終了させる必要があった。１番目のテストプログラムが完了した後、ユーザは次に、２番目のテストプログラムをロードして、全てのデバイスの測定を完了させる必要があるといった具合になるであろう。
【０１０６】
本発明の実施形態を用いると、顧客は、３つのテストプログラムのそれぞれを、マルチフローＳＴＩＬファイルで単一のテストフローに統合することができる。次に、ＤＵＴ１２がＤＵＴ０よりずっと前に終了した場合、顧客はＤＵＴ１２に対して２番目のテストフローを実行することができ、一方、ＤＵＴ０は依然として１番目のテストフローを実行している途中である。こうして、本発明の実施形態は、顧客が各プリミティブで異なるテストプログラムを実行することを可能にするだけでなく、顧客が各ＤＵＴに対して異なるテストプログラムを実行することも可能にする。したがって、本発明の実施形態は、ユーザに十分な適応性を提供し、システムリソースの使用をより効率的にするのに役立つ。
【０１０７】
１つの実施形態において、ユーザは、２つの既存のＳＴＩＬファイルを結合することが可能であってよい。ＳＴＩＬファイルに定義された全てのテストフローは、同じテストメソッドのセット（例えば、テストメソッド７１０）に依存するので、ユーザは、個々のテストプログラムごとのテストメソッド（．ｓｏ）ファイルで利用可能なテストメソッドの全てが、結合されたテストプログラムのテストメソッドファイルでも利用可能であることを保証する必要があるであろう。
【０１０８】
本発明の実施形態はまた、テストフローを編集するグラフィカルユーザインタフェース（ＧＵＩ）も可能にする。例えば、図７に示されるように、ＧＵＩは様々なテストフロー用のタブ、例えば、Ｐｒｉｍａｒｙ、ＡＢＣ、ＤＥＦ、ＧＨＩなどを有する。さらに、各フローは、当該フロー内のプログラムシーケンスごとに、例えば、図７に示されるように、開始、主、終了、デバッグなどの別個のタブを有する。図７の例では、テストフローウィンドウ７９５がテストフローＰｒｉｍａｒｙの主シーケンスを示している。主シーケンスは、テストフローＰｒｉｍａｒｙの実際のテスト段階を含む。本発明の実施形態は、図７の例に示されるＧＵＩを用いてテストフローの編集を可能にする。テストフローＰｒｉｍａｒｙの主シーケンスを編集するために、例えば、ユーザは、テストフローウィンドウ７９５に示されるセグメントを、図を使って編集することができる。
【０１０９】
本発明の実施形態はまた、テストフローを実行するＧＵＩも可能にする。ユーザは、ＧＵＩからテストプログラムを実行する場合、１つのテストフロー又はテストスイート全体を実行することを選択することができる。特定のテストフローを実行するために、ユーザは、実行したいテストフローを選択する。次にユーザは、そのテストプログラムの実行を開始することができる。選択されたフローは、ＤＵＴツールで選択された全てのＤＵＴに対して実行されることになる。テストスイートを実行するために、ユーザは、プログラムを実行したいＤＵＴを選択し、次に、ＧＵＩのＤＵＴツールにある実行ボタンを押してよい。テストスイートを実行すると、何か故障があった場合に、テストスイートは実行を停止することができ、ＧＵＩはその故障を報告することになる（その後のフローが故障時に実行されることはない）。
【０１１０】
本発明の実施形態はまた、実行命令番号付けも可能にする。各テストフローは、上述されたように基本的なセグメントに基づいている。本発明の実施形態は、各セグメントに識別番号を割り当てる。これにより、ユーザは、テスト進捗について、より優れた可視性を提供される。実行時に、ユーザは、テストがどの段階にあるかを、識別番号を用いて判断することが可能である。図７に示されるように、実行番号７６１は、ユーザによって編集可能である。さらに、この実行番号は任意であり、必ずしも全てのセグメントが実行番号を必要とするとは限らない。実行番号が定められていない場合、実行番号が表示されることはない。
【０１１１】
１つの実施形態において、テスタソフトウェアは特定の実行時段階をサポートする。例えば、デバイスごとに、テスタソフトウェアは、ＤＵＴに対してどのテストフローを実行するかを自動的に判定することができる。テストフローが終了すると、自動システムはまた、関連ＤＵＴに対して、次のテストフローを続けるか又はテストプロセスを終了するかを決定することができる。
【０１１２】
図８は、本発明の１つの実施形態による、同じテスタ上で複数のテストプログラムを同時に実行するための例示的なコンピュータ実装プロセスのフローチャートを示す。しかしながら、本発明は、フローチャート８００で提供される説明に限定されない。むしろ、本明細書において提供される教示から、他の機能フローが本発明の範囲及び精神に含まれることが当業者には明らかであろう。フローチャート８００は、上述された例示的な実施形態を引き続き参照しながら説明されることになるが、本方法は、これらの実施形態に限定されない。
【０１１３】
段階８０２で、第１のテストプランが制御サーバ、例えばサーバ５２５に第１のユーザコンピュータ、例えばユーザコンピュータ５１０からロードされ、制御サーバは、テスタ内の複数のプリミティブと通信状態にある。上述されたように、本発明の実施形態は、テスタスライスにも適用される。制御サーバは通常、制御サーバがプリミティブと通信して、プリミティブ内のＤＵＴに対してテストプランを実行することを可能にするテスタソフトウェア、例えばＡｄｖａｎｔｅｓｔ  Ｓｔｙｌｕｓオペレーティングシステムを実行することになる。
【０１１４】
段階８０４で、第１のテストプランは、複数のプリミティブからプリミティブの第１のセットにダウンロードされ、プリミティブの第１のセットと関連付けられたＤＵＴに対して実行される。図５と関連した例において言及されたように、第１のユーザコンピュータは、技術グループによって制御されてよく、プリミティブの第１のセットは、技術グループのテストプランを実行してよい。
【０１１５】
段階８０６で、第２のテストプランが第２のユーザコンピュータ、例えばユーザコンピュータ５２０から制御サーバへロードされる。第２のユーザコンピュータは、例えば、顧客サイトにおいて生産グループの管理下にあってよい。
【０１１６】
段階８０８で、第２のテストプランは、複数のプリミティブからプリミティブの第２のセットにダウンロードされ、プリミティブの第２のセットと関連付けられたＤＵＴに対して実行される。
【０１１７】
段階８１０で、サーバは、プリミティブの第１のサブセットに対して第１のテストプランを、プリミティブの第２のサブセットに対して第２のテストプランを、同時に実行する。
【０１１８】
図９は、本発明の１つの実施形態による、同じテスタの単一のプリミティブ内で複数のテストフローを同時に実行するための例示的なコンピュータ実装プロセスのフローチャートを示す。しかしながら、本発明は、フローチャート９００で提供される説明に限定されない。むしろ、本明細書において提供される教示から、他の機能フローが本発明の範囲及び精神に含まれることが当業者には明らかであろう。フローチャート９００は、上述された例示的な実施形態を引き続き参照しながら説明されることになるが、本方法は、これらの実施形態に限定されない。
【０１１９】
段階９０２で、テストプランが制御サーバ、例えばサーバ５２５にユーザコンピュータ、例えばコンピュータ５１０からロードされ、制御サーバは、テスタ内の複数のプリミティブ、例えばプリミティブ５４０ａ〜ｂと通信状態にある。制御サーバは通常、制御サーバがプリミティブと通信して、プリミティブ内のＤＵＴに対してテストプランを実行することを可能にするテスタソフトウェア、例えばＡｄｖａｎｔｅｓｔ  Ｓｔｙｌｕｓオペレーティングシステムを実行することになる。
【０１２０】
段階９０４で、テストプランは、複数のプリミティブから１つのプリミティブにダウンロードされ、そのプリミティブと関連付けられたＤＵＴに対して実行される。上述されたように、本発明の１つの実施形態において、ユーザが複数のテストフローをテストプランの１つのＳＴＩＬファイルに定義することが可能である。
【０１２１】
段階９０６で、複数のテストフローからの第１のテストフローが、プリミティブ内の第１のＤＵＴに対して実行される。段階９０８、複数のテストフローからの第２のテストフローが、プリミティブ内の第２のＤＵＴに対して実行され、第１のテストフロー及び第２のテストフローは同時に実行される。上述されたように、本発明の実施形態は、ユーザが複数のテストフローを１つのＳＴＩＬファイル内に定義することを可能にして、プリミティブ（又はテスタスライス）に接続された各ＤＵＴに対して異なるテストフローを実行することで、従来のテスタを改善する。プリミティブ内の各ＤＵＴは、ＳＴＩＬファイルに定義された複数のテストフローのうち１つを実行することができる。同じプリミティブに接続された全てのＤＵＴが同じプロトコルを実行し、且つ同じユーザの管理下にあってよいが、本発明の実施形態は、各プリミティブのＤＵＴが異なるテストフローを実行することを可能にする。
【０１２２】
上述の説明は、説明を目的に、特定の実施形態を参照して説明されている。しかしながら、上記の実例となる説明は、包括的であることも、本発明を開示されたまさにその形態に限定することも意図していない。上記の教示を考慮すると、多くの修正及び変形があり得る。本発明の原理及びその現実的な応用を最も適切に説明し、それによって、本発明及び企図される特定の使用に適しているかもしれない様々な修正を伴った様々な実施形態を当業者が最も適切に利用することを可能にするために、これらの実施形態が選択され、説明された。
【図１Ａ】
2018189645.tif 000003
【図１Ｂ】
2018189645.tif 000004
【図２】
2018189645.tif 000005
【図３】
2018189645.tif 000006
【図４Ａ】
2018189645.tif 000007
【図４Ｂ】
2018189645.tif 000008
【図５】
2018189645.tif 000009
【図６】
2018189645.tif 000010
【図７】
2018189645.tif 000011
【図８】
2018189645.tif 000012
【図９】
2018189645.tif 000013
【外国語明細書】
2018189645000001.pdf