測試程式是在 ATE(自動測試設備)上執行、完整定義半導體晶片測試步驟與合格判定標準的軟體。其中描述了對哪支接腳以何種電壓與時序施加訊號、以什麼順序執行哪些測試、量測值在什麼範圍算合格,以及不合格時歸入哪個 bin。即使是同一台測試設備,只要更換測試程式就能測試不同的產品。
測試程式主要由以下要素構成。(1)接腳設定:電源電壓、輸入訊號的電壓準位、判定輸出的臨界值。(2)時序設定:施加訊號的時間點與比較輸出的時間點(strobe)。(3)測試圖樣(測試向量):輸入與期望值的序列。(4)測試流程:開路/短路測試、參數測試、功能測試等的執行順序與分支。(5)規格界限與 bin 定義:合格範圍,以及依結果進行分 bin 的規則。
測試程式的撰寫環境因測試機廠商而異。愛德萬測試(Advantest)的 V93000 使用 SmarTest,泰瑞達(Teradyne)的 UltraFLEX 使用 IG-XL 開發環境,即使是同一產品,換了測試機就必須重新撰寫程式。因此,測試工程師需要熟悉特定測試機的環境,測試程式開發也成為後段製程中專業性很高的工作之一。
測試程式的品質直接影響測試成本與品質。測試項目刪減過多,不良品外流(test escape)就會增加;項目過多,測試時間拉長、成本上升。因此在量產開始後,仍會持續改良測試程式,例如縮短測試時間、最佳化晶圓測試與最終測試的項目分配、導入以統計判定標準為基礎的適應性測試(adaptive test)等。由於變更會直接影響品質,版本管理與核准流程都嚴格執行。