CN108845557B - 用软件应用编程接口对自动化测试特征进行用户控制 - Google Patents

用软件应用编程接口对自动化测试特征进行用户控制 Download PDF

Info

Publication number
CN108845557B
CN108845557B CN201810400227.3A CN201810400227A CN108845557B CN 108845557 B CN108845557 B CN 108845557B CN 201810400227 A CN201810400227 A CN 201810400227A CN 108845557 B CN108845557 B CN 108845557B
Authority
CN
China
Prior art keywords
user
test
api
specific
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810400227.3A
Other languages
English (en)
Other versions
CN108845557A (zh
Inventor
罗特姆·纳胡姆
帕德马贾·奈鲁利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advantest Corp
Original Assignee
Advantest Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advantest Corp filed Critical Advantest Corp
Publication of CN108845557A publication Critical patent/CN108845557A/zh
Application granted granted Critical
Publication of CN108845557B publication Critical patent/CN108845557B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318307Generation of test inputs, e.g. test vectors, patterns or sequences computer-aided, e.g. automatic test program generator [ATPG], program translations, test program debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0208Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
    • G05B23/0213Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2832Specific tests of electronic circuits not provided for elsewhere
    • G01R31/2834Automated test systems [ATE]; using microprocessors or computers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318314Tools, e.g. program interfaces, test suite, test bench, simulation hardware, test compiler, test program languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C29/56016Apparatus features
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24065Real time diagnostics
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/56External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
    • G11C2029/5602Interface to device under test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Automation & Control Theory (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Stored Programmes (AREA)

Abstract

本公开涉及用软件应用编程接口对自动化测试特征进行用户控制。公开了一种用于执行自动化测试的系统。方法包括对应用编程接口(API)进行编程以控制测试器上的默认生产流程,其中生产流程包括与对连接到测试器的被测设备(DUT)执行测试相关联的多个测试序列。方法还包括配置API以修改默认生产流程从而根据特定于用户的API来定制多个测试序列,其中特定于用户的API包括根据用户的测试要求对生产流程的修改。最后,方法包括将特定于用户的API与API集成以定制针对用户的API。

Description

用软件应用编程接口对自动化测试特征进行用户控制
相关申请的交叉引用
本申请涉及于2017年4月28日提交的、序列号为15/582,285、题为“支持使用不同应用的多个用户的测试系统(TEST SYSTEM SUPPORTING MULTIPLE USERS USINGDIFFERENT APPLICATIONS)”的美国专利申请(发明人为Rotem Nahum、Rebecca Toy、Padmaja Nalluri和Leon Chen,并且代理人案号为ATSY-0052-01.01US)。该美国专利申请出于所有目的通过引用以其整体合并于此。
技术领域
本公开一般地涉及自动化测试设备领域,并且更具体地涉及控制这类设备的技术。
背景技术
自动测试设备(ATE)可以是对半导体晶圆或芯片、集成电路(IC)、电路板、或封装设备(例如,固态驱动器)执行测试的任意测试装备。ATE装备可以被用来执行自动化测试,该自动化测试快速执行测量并且生成可以随后进行分析的测试结果。ATE装备可以是从耦合到仪表的计算机系统到复杂的自动化测试装备(可以包括定制的专用计算机控制系统和能够自动地测试电子部件和/或半导体晶圆测试(例如,片上系统(SOC)测试或集成电路测试)的许多不同测试器器件)的任意装备。ATE系统减少了测试设备以确保设备按设计运行所花费的时间,并且作为诊断工具以在给定设备到达消费者之前确定该给定设备是否存在有故障的组件。
在典型的ATE系统测试设备(通常称为被测设备或DUT)时,ATE系统将激励(例如,电信号)应用到设备并且检查设备的响应(例如,电流和电压)。通常,如果设备成功提供预先建立的容忍度内的某些预期响应,则测试的最终结果为“通过”,或如果设备没有提供预先建立的容忍度内的预期响应,则测试的最终结果为“失败”。更复杂的ATE系统能够评估故障设备,从而潜在地确定故障的一个或多个原因。
ATE系统通常包括引导ATE系统的操作的计算机。通常,计算机运行一个或多个专用软件程序以提供(i)测试开发环境和(ii)设备测试环境。在测试开发环境中,用户通常创建测试程序,例如,控制ATE系统的各个部分的一个或多个文件的基于软件的构造。在设备测试环境中,用户通常向ATE系统提供一个或多个设备以用于进行测试,并且引导ATE系统根据测试程序来测试每个设备。用户可以通过以下方式来测试附加设备:简单地将附加设备提供给ATE系统,并且引导ATE系统根据测试程序来测试附加设备。因此,ATE系统使得用户能够基于测试程序以一致并且自动化的方式来测试多个设备。
在典型的现有技术测试环境中,测试开发环境可以包括控制测试器的许多高级功能和特征的应用编程接口(API)。API与控制服务器相接口以用于引导测试平台的高级功能和特征。这种API的一个典型问题是,为了定制针对给定应用或给定客户的测试系统,API必须被手动更改并且重新编程。这可能是涉及训练有素的和专业化的专业人员的困难的、长期的、昂贵的、复杂的和容易出错的过程。提供更简单的、更快速的、更自动的和更流线型的方式来定制针对特定客户的需求的API的功能和特征将是有利的。
发明内容
因此,存在对能够容易地适用于测试系统的不同用户的测试开发环境的需要。此外,需要的是,具有应用编程接口的测试开发环境,该应用编程接口可以容易地被定制以适应ATE系统的不同客户的要求。使用所描述的系统的有益方面,没有它们各自的限制,本发明的实施例提供了解决这些问题的新颖解决方案。
本文公开的发明利用多个基元(primitive)(或测试器切片)和相关联的DUT接口板(DIB)来测试DUT。每个基元都是模块化的,意味着它可以独立于其他基元进行操作。因此,设置在机架中的多个基元可以各自在不同的测试计划下操作。基元与控制服务器进行通信以获取指令、控制、管理等。控制服务器能够托管针对其支持的各种基元的多个应用程序或测试计划。基元可以通过标准IP网络与服务器进行通信。可以位于远程的各种计算机系统可以通过标准IP网络连接访问服务器。
因此,在该测试平台下,由于:1)基元模块化;和2)使用标准IP网络,多个基元可以根据一个用户在给定测试计划下测试多个DUT,而相同机架的第二多个基元执行由第二用户引导的完全不同的应用,依此类推。因此,消除了现有技术中与空闲测试电路相关的问题。
应用编程接口(API)控制测试器系统的高级功能和特征,并且通过服务器与基元进行通信。称为定制集成制造进程(CIM)的API可以针对以下各项控制测试系统的许多高级功能和特性:1)使用哪些测试计划,2)用户界面通过用户站查看和操作测试器的方式,3)在插入新DUT以用于测试和控制后续过程时的处理,4)收集和存储测试的测试结果的方式等。
根据本发明的各方面,用户可以存储用户代码并且使用与测试器系统相关的库内的API。用户代码可以根据由CIM开发人员提供的信息和语法进行客户开发,并且然后加载到库中。CIM然后集成用户代码和用户API,使得集成的CIM自动地根据特定客户的需求进行定制,并且根据用户库的内容采用特定功能和特征。以这种方式,本发明的实施例有效地提供了用于定制CIM的自动机制,这避免了针对每个客户的需求手动重写和重新设计CIM的需要。这增加了用于开发新CIM的周转时间,并且还降低了由CIM修改产生的整体软件成本和错误。
在一个实施例中,提出了一种用于使用自动测试设备(ATE)执行测试的方法。方法包括对应用编程接口(API)进行编程以控制测试器上的默认生产流程,其中生产流程包括与在连接到测试器的被测设备(DUT)上执行测试相关联的多个测试序列。方法还包括配置API以修改默认生产流程从而根据特定于用户的API来定制多个测试序列,其中特定于用户的API包括根据用户的测试要求对生产流程的修改。最后,方法包括将特定于用户的API与API集成以定制针对用户的API。
在另一实施例中,公开了一种在其中嵌入有计算机可读程序代码的非暂态计算机可读介质,该计算机可读程序代码用于使得计算机系统执行用于使用自动化测试设备(ATE)执行测试的方法。方法包括对应用编程接口(API)进行编程以控制测试器上的默认生产流程,其中生产流程包括与在连接到测试器的被测设备(DUT)上执行测试相关联的多个测试序列。方法还包括配置API以修改默认生产流程从而根据特定于用户的API来定制多个测试序列,其中特定于用户的API包括根据用户的测试要求对生产流程的修改。最后,方法包括将特定于用户的API与API集成以定制针对用户的API。
在不同的实施例中,公开了一种用于使用自动化测试设备(ATE)执行测试的系统。系统包括服务器,通信地耦合到多个基元,其中多个基元中的每个基元包括多个DUT。系统还包括第一计算设备,运行图形用户界面(GUI),其中该计算设备通信地耦合到服务器,并且其中图形用户界面允许用户访问多个基元;和第二计算设备,与服务器和第一计算设备通信地耦合。第二计算设备被配置为:(a)对应用编程接口(API)进行编程以控制默认生产流程,其中生产流程包括与对连接到服务器的DUT执行测试相关联的多个测试序列;(b)配置API以修改默认生产流程从而根据特定于用户的API来定制多个测试序列,其中特定于用户的API包括根据用户的测试要求对生产流程的修改;(c)将特定于用户的API与API集成以定制针对用户的API。
以下详细描述连同附图将提供对本发明的性质和优点的更好理解。
附图说明
本发明的实施例在附图中以示例而非限制的方式示出,并且其中相同的附图标记指代相似的元件。
图1A是根据本发明的一个实施例的可以在其上实现本发明的自动测试系统的实施例的计算机系统。
图1B是根据本发明的实施例的其中客户端系统和服务器可以耦合到网络的网络架构的示例的框图。
图2A示出了根据本发明的实施例的与DUT接口板(DIB)相接口的基元。
图2B示出了包括维持在机架中的多个基元的工作单元。
图3是示出根据本发明的实施例的CIM在其中操作的示例性系统环境的框图。
图4示出了根据本发明的实施例的CIM在其中操作的示例性测试环境的另一高级架构概述。
图5示出了根据本发明的实施例已经修改了CIM的默认生产流程的客户的示例性工作命令序列。
图6是示出根据本发明的实施例的客户可以修改CIM的默认生产流程的方式的示例性状态图。
图7示出了根据本发明的实施例的用于修改用于控制测试器的应用编程接口(API)的示例性计算机实现的过程的流程图。
在附图中,具有相同名称的元件具有相同或相似的功能。
具体实施方式
现在将详细参考本公开的各种实施例,其示例在附图中示出。虽然结合这些实施例进行了描述,但是将理解的是,它们并非意图将本公开限制于这些实施例。相反,本公开旨在覆盖可以被包括在由所附权利要求限定的本公开的精神和范围内的替代、修改和等同物。此外,在本公开的以下详细描述中,阐述了许多具体细节以提供对本公开的透彻理解。然而,将理解的是,可以在没有这些具体细节的情况下实践本公开。在其他情况下,没有详细描述公知的方法、过程、组件和电路,以免不必要地模糊本公开的各方面。
以下的详细描述的一些部分是根据过程、逻辑块、处理以及计算机存储器内的数据位上的操作的其他符号表示来呈现的。这些描述和表示是数据处理领域的技术人员用来将其工作的实质最有效地传达给本领域其他技术人员的手段。在本申请中,过程、逻辑块、处理等被认为是产生期望结果的步骤或指令的自洽序列。这些步骤是利用对物理量的物理操纵的步骤。通常,虽然不一定,但是这些量采取能够在计算机系统中存储、传输、组合、比较、和以其他方式操纵的电信号或磁信号的形式。主要出于常用的原因,有时将这些信号称为事务、比特、值、元素、符号、字符、样本、像素等被证明是方便的。
但是应当记住,所有这些和类似的术语都与适当的物理量有关,并且仅仅是应用于这些量的便利标签。除非特别声明,否则从以下讨论中显而易见的是,应当理解,在整个本公开中,利用诸如“配置”、“编程”、“集成”、“提供”、“执行”之类的术语的讨论是指计算机系统或类似的电子计算设备或处理器(例如,图1A的系统110)的动作和过程(例如,图7的流程图700)。计算机系统或类似的电子计算设备在计算机系统存储器、寄存器、或其他这类信息存储、传输或显示设备内操纵和变换表示为物理(电子)量的数据。
本文描述的实施例可以在驻留在某种形式的计算机可读存储介质上的计算机可执行指令(例如,由一个或多个计算机或其他设备执行的程序模块)的一般上下文中讨论。通过示例的方式并且是非限制性的,计算机可读存储介质可以包括非暂态计算机可读存储介质和通信介质;非暂态计算机可读介质包括除瞬态、传播信号之外的所有计算机可读介质。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。程序模块的功能可以根据需要在各种实施例中组合或分配。
计算机存储介质包括以任意方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据之类的信息的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于,随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、闪存或其他存储器技术、光盘ROM(CD-ROM)、数字多功能盘(DVD)或其他光存储器、盒式磁带、磁带、磁盘存储器或其他磁存储设备、或可以用于存储所需信息并且可以被访问以获取该信息的任何其他介质。
通信介质可以体现计算机可执行指令、数据结构和程序模块,并且包括任意信息传递介质。通过示例的方式并且是非限制性的,通信介质包括有线介质(例如,有线网络或直接有线连接)和无线介质(例如,声学、射频(RF)、红外、和其他无线介质)。以上任意的组合也可以被包括在计算机可读介质的范围内。
图1A是根据本发明的实施例的可操作用于由可定制以服务于客户端的测试要求的应用程序编程接口(API)控制的测试器控制系统110的示例的框图。例如,API控制系统110可以被定制为在测试期间从被测设备(DUT)读取特定数据,该特定数据在默认API中没有被读取。测试器控制系统110广义地表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或系统。控制系统110的示例包括但不限于,工作站、膝上型计算机、客户端终端、服务器、分布式计算系统、手持设备、或任何其他计算系统或设备。在其最基本的配置中,控制系统110可以包括至少一个处理器114和系统存储器116。
处理器114通常表示能够处理数据、或解释并执行指令的任何类型或形式的处理单元。在某些实施例中,处理器114可以从软件应用或模块接收指令。这些指令可以使得处理器114执行本文描述和/或示出的一个或多个示例实施例中的功能。
系统存储器116通常表示能够存储数据和/或其它计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。系统存储器116的示例包括但不限于,RAM、ROM、闪存、或任何其它合适的存储设备。虽然不是必需的,但是在某些实施例中,控制系统110可以包括易失性存储器单元(例如,系统存储器116)和非易失性存储设备(例如,主存储设备132)两者。
测试器控制系统110还可以包括除处理器114和系统存储器116之外的一个或多个组件或元件。例如,在图2A的实施例中,控制系统110包括存储器控制器118、输入/输出(I/O)控制器120、和通信接口122,它们各自可以经由通信基础设施112互连。通信基础设施112通常表示能够促进计算设备的一个或多个组件之间的通信的任何类型或形式的基础设施。通信基础设施112的示例包括但不限于,通信总线(例如,工业标准架构(ISA)、外围组件互连(PCI)、高速PCI(PCIe)、或类似总线)和网络。
存储器控制器118通常表示能够处理存储器或数据、或控制控制系统110的一个或多个组件之间的通信的任何类型或形式的设备。例如,存储器控制器118可以控制处理器114、系统存储器116、和I/O控制器120之间经由通信基础设施112的通信。
I/O控制器120通常表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的模块。例如,I/O控制器120可以控制或促进控制系统110的一个或多个元件(例如,处理器114、系统存储器116、通信接口122、显示适配器126、输入接口130、和存储接口134)之间的数据传送。
通信接口122广泛地表示能够促进示例控制系统110与一个或多个附加设备之间的通信的任何类型或形式的通信设备或适配器。例如,通信接口122可以促进控制系统110与包括附加控制系统的私有或公共网络之间的通信。通信接口122的示例包括但不限于,有线网络接口(例如,网络接口卡)、无线网络接口(例如,无线网络接口卡)、调制解调器、和任何其他合适的接口。在一个实施例中,通信接口122经由到网络(例如,因特网)的直接链接提供到远程服务器的直接连接。通信接口122还可以通过任何其他合适的连接来间接提供这样的连接。
通信接口122还可以表示主机适配器,该主机适配器被配置为促进控制系统110与一个或多个附加网络或存储设备之间经由外部总线或通信信道的通信。主机适配器的示例包括但不限于,小型计算机系统接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、IEEE(电气和电子工程师协会)1394主机适配器、串行高级技术附件(SATA)和外部SATA(eSATA)主机适配器、高级技术附件(ATA)和并行ATA(PATA)主机适配器、光纤通道接口适配器、以太网适配器等。通信接口122还可以允许控制系统110参与分布式或远程计算。例如,通信接口122可以接收来自远程设备的指令或将指令发送到远程设备以供执行。
如图1A所示,控制系统110还可以包括经由显示适配器126耦合到通信基础设施112的至少一个显示设备124。显示设备124通常表示能够可视地显示由显示适配器126转发的信息的任何类型或形式的设备。类似地,显示适配器126通常表示被配置为转发图形、文本和其他数据以供在显示设备124上显示的任何类型或形式的设备。
如图1A所示,控制系统110还可以包括经由输入接口130耦合到通信基础设施112的至少一个输入设备128。输入设备128通常表示能够向控制系统110提供(计算机生成的或人为生成的)输入的任何类型或形式的输入设备。输入设备128的示例包括但不限于,键盘、点选设备、语音识别设备、或任何其他输入设备。
如图1A所示,控制系统110还可以包括经由存储接口134耦合到通信基础设施112的主存储设备132和备份存储设备133。存储设备132和133通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备132和133可以是磁盘驱动器(例如,所谓的硬盘驱动器)、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口134通常表示用于在存储设备132和133与控制系统110的其他组件之间传送数据的任何类型或形式的接口或设备。
在一个示例中,数据库140可以被存储在主存储设备132中。数据库140可以表示单个数据库或计算设备的部分,或其可以表示多个数据库或计算设备。例如,数据库140可以表示(被存储在)控制系统110的一部分和/或(下面)图2中的示例网络体系结构200的部分。替代地,数据库140可以表示(被存储在)能够由计算设备(例如,控制系统110和/或网络架构200的部分)访问的一个或多个物理上分离的设备。
继续参考图1A,存储设备132和133可以被配置为从可移除存储单元读取和/或写入可移除存储单元,该可移除存储单元被配置为存储计算机软件、数据或其他计算机可读信息。合适的可移除存储单元的示例包括但不限于,软盘、磁带、光盘、闪存设备等。存储设备132和133还可以包括用于允许将计算机软件、数据或其他计算机可读指令加载到控制系统110中的其他类似结构或设备。例如,存储设备132和133可以被配置为读取和写入软件、数据或其他计算机可读信息。存储设备132和133也可以是控制系统110的一部分,或可以是通过其他接口系统可访问的独立设备。
许多其他设备或子系统可以连接到控制系统110。相反,不需要图1A中示出的所有组件和设备以实践本文描述的实施例。以上引用的设备和子系统也可以以不同于图1A中示出的方式互连。控制系统110还可以使用任何数量的软件、固件和/或硬件配置。例如,本文公开的示例实施例可以编码为计算机可读介质上的计算机程序(也称为计算机软件、软件应用、计算机可读指令、或计算机控制逻辑)。
包括计算机程序的计算机可读介质可以被加载到控制系统110中。存储在计算机可读介质上的计算机程序的全部或一部分然后可以被存储在系统存储器116和/或存储设备132和133的各个部分中。在由处理器114执行时,加载到控制系统110中的计算机程序可以使得处理器114执行本文描述和/或示出的示例实施例的功能,和/或成为用于执行本文描述和/或示出的示例实施例的功能的装置。另外地或可选地,本文描述和/或示出的示例实施例可以以固件和/或硬件来实现。
图1B是网络架构100的示例的框图,其中客户端系统151、152和153以及服务器141和145可以耦合到网络150。客户端系统151、152和153通常表示任何类型或形式的计算设备或系统,例如,图1A的测试器控制系统110。
类似地,服务器141和145通常表示被配置为提供各种数据库服务和/或运行某些软件应用的计算设备或系统,例如,应用服务器或数据库服务器。网络150通常表示包括例如内联网、广域网(WAN)、局域网(LAN)、个域网(PAN)、或互联网的任何电信或计算机网络。
参考图1B的控制系统100,通信接口(例如,通信接口122)可以被用来提供每个客户端系统151、152和153与网络150之间的连接。客户端系统151、152和153可以使用例如Web浏览器或其他客户端软件来访问服务器141或145上的信息。这类软件可以允许客户端系统151、152和153访问由服务器140、服务器145、存储设备160(1)-(L)、存储设备170(1)-(N)、存储设备190(1)-(M)、或智能存储阵列195托管的数据。虽然图1B描述了使用网络(例如,互联网)来交换数据,但是本文描述的实施例不限于互联网或任何特定的基于网络的环境。
在一个实施例中,本文公开的一个或多个示例实施例的全部或一部分被编码为计算机程序,并且被加载到服务器141、服务器145、存储设备160(1)-(L)、存储设备170(1)-(N)、存储设备190(1)-(M)、智能存储阵列195、或其任何组合从而被执行。本文公开的一个或多个示例实施例的全部或一部分还可以被编码为计算机程序,存储在服务器141中,由服务器145运行,并且通过网络150分发到客户端系统151、152和153。
用软件应用编程接口(API)对自动化测试特征进行用户控制
在传统测试环境中,测试开发环境可以包括控制测试器的许多高级功能和特征的应用编程接口(API)。API与控制服务器相接口以用于引导测试平台的高级功能和特征。这种API的一个典型问题是,为了定制针对给定应用或给定客户的测试系统,API必须被手动更改并且重新编程。这可能是涉及训练有素的和专业化的专业人员的困难的、长期的、昂贵的、复杂的和容易出错的过程。
本发明的实施例有利地提供了更简单的、更快速的、更自动的和更流线型的方式来定制针对特定客户的需求的API的功能和特征。
在一个实施例中,测试开发环境包括耦合到多个基元的控制服务器。基元包括将测试计划应用于多个DUT所需的测试器电路。由给定基元测试的DUT使用包括DUT的DIB耦合到基元。API与控制服务器相接口以用于引导测试平台的高级功能和特征(包括接收从测试器输出的测试结果,并且将数据存储到可以将数据存档在用户数据库内以用于将来参考的现场控制模块(floor control module)中,以及其他特征)。
在实施例中,本发明包括可定制的API,例如,以提供默认行为但是也接受用户代码和存储在特殊用户库中的用户API的方式开发的定制集成制造过程(CIM)。用户代码和用户API用以下方式编写:用户代码和用户API可以在CIM中自动地集成,由此改变CIM的操作、功能和特征,从而根据客户的特定制造过程、GUI显示要求、和DUT来定制CIM。因为CIM以能够由客户提供的用户代码和用户API自动地更改的方式被开发,所以CIM更容易定制,修改时不易出错,并且可以用更少的时间和成本进行定制。这增加了客户的测试吞吐量,同时降低了测试软件成本。
图2A示出了根据本发明的实施例的与DUT接口板(DIB)400连接的基元410。图2A所示的基元是一种离散测试模块,该离散测试模块可以被插入到测试头中并且包括测试电路,该测试电路根据测试计划对DUT执行测试。基元包括外壳450,在该外壳450内容纳所有各种电子设备,例如,现场模块、电源等。DIB 400可以包括多个DUT 420,该多个DUT420使用针对DUT 420设定尺寸的定制连接器。DIB 400还可以包括外壳470。DIB 400通过负载板(未示出)与基元410的通用背板(未示出)相接口。基元410包括用于在DUT 420上执行测试计划的测试电路。基元410可以独立于任何其它基元进行操作,并且连接到控制服务器。
图2B示出了包括维持在机架中的多个基元491的工作单元。本发明的实施例利用多个基元(类似于图2A中示出的基元)和相关联的DIB来测试DUT。每个基元都是模块化的,意味着其能够独立于其他基元进行操作。因此,设置在机架中的多个基元(如图2B所示)可以各自在不同的测试计划下进行操作。基元与控制服务器进行通信以获取指令、控制、管理等。控制服务器能够托管针对其支持的各种基元的多个应用程序或测试计划。基元可以通过标准IP网络与服务器进行通信。可以位于远程的各种计算机系统可以通过标准IP网络连接访问服务器。
因此,在该测试平台下,由于:1)基元模块化;和2)使用标准IP网络连接,多个基元可以根据一个用户在给定测试计划下测试多个DUT,而相同机架的第二多个基元执行由第二用户引导的完全不同的应用(或不同的测试计划)等等。例如,在包括6个基元的测试头中,可以有2个基元专用于工程部门以用于调试SATA类型的设备,而4个基元可以专用于制造部门对SSD驱动器的容量测试。
图3是示出根据本发明的实施例的CIM在其中操作的示例性系统环境的框图。系统300包括耦合到多个用户站10和20的控制服务器30。用户站通过标准IP通信网络连接到控制服务器30。在该示例中,一个用户站10是执行工程测试的工程工具,并且用户站20是控制DUT测试的制造工具。用户站10通过服务器30控制基元40a,并且基元40a被示出为在DUT50a上运行测试计划TP1。用户站20通过服务器30控制基元40b,并且基元40b被示出为在DUT50b上运行测试计划TP2。
两个基元40a和40b可以位于单个机架内(如图2B所示)。基元40a被示出为使用测试计划“TP1”(通过DIB)测试多个DUT 50a。基元40b被示出为使用被称为测试计划“TP2”的单独应用(通过DIB)测试多个DUT 50b。通过两个不同的标准IP网络连接,第一用户计算机10和第二用户计算机20都连接到控制服务器30。
例如,第一用户计算机可以专用于客户的工程部门,而第二用户计算机可专用于制造部门,如图3所示。在一个示例中,这些用户计算机可以彼此远离,并且可以远离服务器30。可以理解的是,更多的基元可以与服务器30进行通信,并且出于说明的目的仅示出两个。此外,其它测试设备(例如,条形码扫描仪)也可以连接到服务器30,并且可以使用制造工具20和CIM 60进行访问。
在图3中示出的示例中,第二用户计算机20通过基元40b的执行来控制多个DUT50b上的制造测试计划。该制造测试计划可以被加载到控制服务器30,然后被下载到基元40b以用于在DUT 50b上执行。测试结果可以在相反的方向被传送。在该示例中,用户计算机20可以在DUT 50b的批量制造测试期间处于生产专家的控制下。
以这种方式,本发明的实施例可以使用相同的测试器支持完全不同的功能。例如,在制造测试期间,测试器可以使用测试器内的基元子集来运行固定的工作流程。举例来说,制造工作流程可以包括给SSD驱动器印上条形码、测试它们、并且将它们标记为“通过”或“失败”。同时,工程团队的成员可以执行完全不同的功能,例如,使用测试头内的不同基元集合来调试SATA驱动器的失败结果。
与上述测试一致的是,第一用户计算机10可以通过基元40a来控制应用于多个DUT50a的工程测试计划。工程测试计划可以是正在开发的尚未最终确定的测试计划。或者,工程测试计划可以仅仅是用于使用不同协议来测试不同DUT(例如,DUT类型x与DUT类型y)的不同类型的制造测试计划。该工程测试计划可以被加载到控制服务器30,然后被下载到基元40a以用于在DUT 50a上执行。测试结果可以在相反的方向被传送。在该示例中,用户计算机10可以处于开发测试计划测试(该测试计划当前处于原型以供将来使用)的工程师的控制下。
在一个实施例中,用户计算机10和20可以是运行测试软件(例如,AdvantestSLATETM或Advantest StylusTM)的系统控制器。在不同的实施例中,用户计算机10和20可以是通过通信网络(例如,IP网络)连接到服务器30的用户终端,其中服务器30是运行测试软件(例如,Advantest StylusTM)的系统控制器。
在一个实施例中,服务器30是控制器,该控制器监视针对所有连接的基元的测试,并且还向用户提供GUI。在其他实施例中,用户通过如图3所示的IP连接来连接到服务器,其中连接到服务器的每个用户计算机向相关联的用户提供单独的GUI以控制相关联的基元集合。
在一个实施例中,服务器30可以执行在用户之间分配资源的分配方案。例如,服务器可以根据用户的应用向用户分配基元。在一个实施例中,服务器可以针对不同的用户动态地分配和管理不同的基元以用于不同的目的。服务器还允许每个用户计算机与连接到服务器30的各种基元(和它们相关联的DUT)之间的双向通信。服务器还可以管理在各种连接的基元上同时执行的工作流程,并且跟踪连接的基元和/或测试器切片上的各种工作流程。
重要的是,CIM 60控制系统100的高级功能和特征。例如,CIM 60控制测试计划到服务器30的加载。CIM 60可以在测试期间在新DUT被插入到基元中时注册该新DUT,并且可以基于与DUT相关联的标识信息来识别DUT。CIM 60例如从服务器30接收关于新DUT的加载的信息,服务器30从连接的基元接收信息。CIM向用户站和/或控制服务器30提供各种DUT参数。这使得CIM能够可选地向控制服务器30提供特殊DUT测试参数。
CIM还可以向制造工具20提供定制的GUI显示信息。CIM可以发起测试计划执行,并且还接收来自在各种DUT上执行测试计划的结果。CIM可以针对测试结果执行分箱和记录功能。CIM可以将测试结果数据与相关的DUT相关联,并且将该信息报告给客户或特定于过程的现场控制模块70,该现场控制模块70可以逐个DUT地将数据存档到数据库(例如,客户数据库80)以用于稍后参考。CIM还控制测试信息是否被加密,以及用于特定客户的测试的加密类型。CIM还可以控制在与用户站10和20上相关联的测试期间显示在站上的图形用户界面。
在一个实施例中,CIM是可以在服务器30上运行的API。在另一实施例中,CIM可以在不同的控制器(或计算机)上运行。
简而言之,CIM 60可以针对以下各项控制测试系统的许多高级功能和特性:1)使用哪些测试计划,2)用户界面通过用户站查看并且操作测试器的方式,3)在插入新DUT以用于测试和控制后续过程时的处理,4)收集和存储测试的测试结果的方式等。为了与基元或DUT进行通信,CIM必须通过服务器30。例如,为了运行测试或读取DUT状态,CIM将不得不使用服务器30作为中介。
根据本发明的各方面,用户可以存储用户代码,并且使用与系统100相关联的库90内的API。用户代码可以根据由CIM开发人员(例如,Advantest公司)提供的信息和语法进行客户开发,并且然后加载到库90中。CIM 60然后集成用户代码和用户API,使得其自动地根据特定客户的需求进行定制,并且根据用户库90的内容采用特定功能和特征。以这种方式,本发明有效地提供了用于定制CIM 60的自动机制,这避免了针对每个客户的需求手动重写和重新设计CIM 60的需要。这增加了开发新CIM的周转时间,并且还降低了由CIM修改产生的整体软件成本和错误。
本发明的实施例的优点包括用于根据特定客户的测试需求和所需特征来定制CIM的更流线型的、更自动的和更简单的机制。这产生更快的测试吞吐量,和针对DUT的容量测试的降低的成本和复杂性。其他优点包括不需要训练有素的编程专家和设计师来定制CIM。
在传统测试器系统中,如上所述,控制测试器的许多高级功能和特征的API需要针对每个客户的需求手动重写和重新设计。本发明的实施例的API(例如,CIM)通过针对每个客户提供标准化的生产流程来避免了对手动重写和重新设计的需要,客户可以用轻微或显著的方式进行定制以适应他们自己的目的。例如,大多数客户针对生产流程内的各种参数(例如,测试程序需要如何加载以及在何处加载、测试程序在何处开始、出错时输出的警告种类、发光以向用户显示在何处插入DUT的指示器的类型等)具有相似要求。然而,某些客户可能希望对生产流程的默认行为做出轻微或显著的改变。
本发明的实施例通过提供可以被定制以适应个体客户的需求的标准化接口(例如,CIM)来利用针对大多数客户的相似过程要求。这取代了针对每个客户根据他们的需求来开发特殊API的费力和艰辛的过程。这允许每个用户具有默认生产流程的专有配置,而无需花费资源开发针对专有生产流程的新API或代码。
CIM针对所有客户提供默认行为,但是有利地还接受存储在特殊用户库中的用户API和用户代码。换句话说,默认生产流程访问其自己的预编程用户库的集合。然而,CIM的默认生产流程可以由个体用户定制,以访问特殊的用户提供的库,这些特殊的用户提供的库可以将生产流程配置为与默认行为不同。因此,CIM提供了允许由用户进行一些例程定制并且还允许完全由用户定义的功能的框架。
由CIM提供的默认框架包括可以应用于所有客户的默认生产流程。然而,任何有特殊要求的客户都可以定制默认生产流程,从而添加、编辑或删除专属于他们自己的生产流程的步骤。
如上所述,用户代码和用户API用以下方式编写:用户代码和用户API可以在CIM中自动地集成,由此改变CIM的操作、功能和特征,从而根据客户的特定制造过程、GUI显示要求、和DUT来定制CIM。因为CIM以能够由客户提供的用户代码和用户API自动地更改的方式被开发,所以CIM更容易定制,修改时不易出错,并且可以用更少的时间和成本进行定制。
例如,用户站20(其是制造工具)处的客户可以使用API(例如,CIM)来配置在他们的生产流程中进行测试的方式。在用户将DUT插入到基元中时,CIM中的默认生产流程可以被配置为显示测试系统上的红色LED。如果客户想要定制CIM以将其改变为闪烁灯光,则客户可以简单地使用改变CIM转而显示闪烁灯光的API或用户代码来定制CIM。这使得新客户可以更简单地将他们的生产流程与默认CIM集成。因此,本发明的实施例有利地绕开了新客户需要开发他们自己的用户代码和API以处理他们的生产流程的艰辛过程。
在一个示例中,客户可能需要控制基元40a或40b中的风扇的行为。在服务器30启动时,风扇通常将被设置为默认速度和默认温度控制。本发明的实施例允许用户将默认风扇速度和温度控制例程(其可以是生产流程的默认行为的一部分)改变为不同的速度。例如,用户能够使用制造工具20上的GUI(使用将在下面进一步讨论的SLATETM接口)来改变风扇速度。用户能够定制CIM,并且将新风扇速度和温度控制集成到定制的CIM中。例如,用户能够使得风扇速度取决于事件,例如,风扇速度可以在测试开始时变高,并且在测试结束时变低。
在另一示例中,新客户可以想要使用作为CIM的一部分的默认生产流程,然而,他们可能需要针对他们可能不希望在默认CIM级别暴露的机密数据采用某些安全措施。如上所述,CIM还控制测试信息是否被加密,以及用于特定客户的测试的加密类型。新客户能够定制CIM以使用特定于客户的特定类型的加密。换句话说,新客户能够改变CIM的默认行为以访问用特定于客户的加密方案代替默认加密行为的用户指定的库(存储在库90中)。因此,本发明的实施例允许客户定制CIM,使得他们的测试数据使用用户指定的加密技术保持加密。
在不同的示例中,新客户可能想要改变在设置期间在制造工具20与基元40b之间交换的默认信息。例如,客户在设置期间可能需要关于基元40b的一些附加信息,这不是原始生产流程的一部分。本发明的实施例有利地允许客户利用用户指定的库(存储在库90内)来改变默认生产流程以从基元40b获得附加信息。CIM 60集成存储在库90中的用户API和用户代码,使得其自动地根据特定客户的需求进行定制,并且根据用户库90的内容采用特定功能和特征。
如前所述,CIM还可以将测试结果数据与相关的DUT相关联,并且将该信息报告给客户或特定于过程的现场控制模块70,该现场控制模块70可以逐个DUT地将数据存档到客户数据库80以用于稍后参考。举例来说,客户可以具有作为现场控制模块70的一部分的专有信息或过程。客户可能希望改变默认生产流程以在DUT正在被测试时从DUT获取更多信息。客户将使用制造工具20(其允许访问CIM库60)来修改默认生产流程以更密切地管理数据在DUT 50b与现场控制模块70之间的交换。此外,客户能够管理个体DUT处理,从而允许客户更多地控制对每个DUT的测试和处理。例如,客户可以修改CIM以在DUT上运行特定测试程序,并且在测试程序内,他们可能想要在DUT上执行特定测试流程并且将测试结果提供回现场控制模块70。客户对默认生产流程的修改还可以包括基于测试过程的结果做出决定。CIM还允许客户将做出决定步骤编程到他们对默认生产流程的修改中。
在插入新DUT以用于测试和任何后续处理时,CIM还可以允许更多地控制所发生的处理。此外,CIM可以允许修改收集和存储测试的测试结果的方式。客户还可以选择加密该数据以保护作为现场控制模块70的一部分的专有信息。
制造工具20通常将包括针对MPT3000HVM产品的默认服务提供商软件,例如,SLATETM接口(Advantest StylusTM软件包的一部分),其针对大容量生产环境中的异步单DUT测试进行了优化。制造工具20还将包括已经由客户配置的并且对客户专有的辅助特定于客户的API或过程。CIM提供了包括默认生产流程的服务提供商软件与也在制造工具20上运行的特定于客户的API和过程之间的桥梁。换句话说,CIM允许运行默认生产流程的软件与制造工具20上的特定于客户的定制进行集成。
CIM还可以向制造工具20提供定制的GUI显示信息。换句话说,客户可以定制CIM以改变默认服务提供商的GUI(例如,SLATETM接口软件)呈现的方式。客户能够用他们特定的生产流程以及针对特定于客户的用户的任何相关消息或命令来定制GUI。换句话说,CIM允许修改用户界面通过用户站20查看并且操作测试器的方式。由于CIM允许特定于用户的定制与默认服务提供商软件进行集成,GUI的定制也可能的。
图4示出了根据本发明的实施例的CIM在其中操作的示例性测试环境的另一高级架构概述。
如图4所示,用户与测试器软件(例如,SLATETM)的GUI 420交互。例如,图3的制造工具20可以用GUI 420运行测试器软件。制造工具20使用测试器软件(例如,SLATETM)向客户提供定制,并且还能够通过服务器430(对应于图3的服务器30)访问基本测试器资源和过程。用户可以从GUI 420输入命令来注册、运行或停止CIM 469。如上所述,CIM469可以使用工作流程指令向GUI 420提供定制的GUI显示信息。
此外,使用GUI的制造工具20可以将UI命令发送到服务器430。制造工具20能够使用服务器430访问基本测试器资源(例如,基元)和过程。
客户可以将图4中示出的CIM修改为客户CIM动态链接库(DLL)470。客户生成的代码或API可以根据由CIM开发人员提供的信息和语法进行客户开发,并且然后加载到库中90(如图3所示)。CIM 469然后集成用户代码和用户API,使得其自动地根据特定客户的需求进行定制,并且根据用户库90的内容采用特定功能和特征。客户修改生成经由生产服务器473验证的验证DLL 472。在实施例中,库90对应于DLL 472。
如上所述,CIM 469控制测试计划到服务器430的加载。CIM 469可以在测试期间在新DUT被插入到基元中时注册该新DUT,并且可以基于与DUT相关联的标识信息来识别DUT。CIM 469例如从服务器430接收关于新DUT的加载的信息,服务器430从连接的基元接收信息。CIM向用户站和/或控制服务器430提供各种DUT参数。这使得CIM能够可选地向控制服务器430提供特殊DUT测试参数。CIM还可以向服务器30发送命令以选择特定基元或运行特定DUT。DUT上的测试流程可以从GUI 420或CIM 469开始,但是总是使用服务器430将信息流编译到基元。
客户可以对默认生产流程做出修改以使用特定于客户的代码来定制这些特征中的任何特征,并且使用客户CIM DLL 470将它们集成到CIM 469中。虽然服务器430提供了一些功能来访问和利用测试器资源(例如,基元),但是CIM允许进行以下定制,这些定制可以以不同方式使用服务器430的默认功能,或在默认生产流程以外或代替默认生产流程执行不同的测试流程。
图5示出了根据本发明的实施例已经修改了CIM的默认生产流程的客户的示例性工作命令序列。图5的工作命令序列示出了客户可以对CIM569做出以适应他们的专属测试过程的需要的一些示例性修改。例如,客户可以用按钮来修改制造工具520(包括SLATETM软件)处的GUI,该按钮开始由序列“开始工作命令”580示出的特定工作命令。在客户通过按下GUI中的适当按钮来发起特定工作命令时,CIM得到警报,CIM又将工作命令的开始报告给客户接口(例如,图3中的现场控制模块70)。这在图5中示出为“初始化”序列581。
在图5的示例中,客户可以修改CIM以扫描包括DUT的生产现场上的每个进入箱的序列号和条形码数据。这可以提醒客户关于工作命令是否与单个或多个条形码号码相关联。该示例中的条形码扫描器可以连接到服务器530。修改后的CIM与服务器530通信以在序列582期间获得条形码数据,并且随后,CIM还被修改以在序列583期间将条形码数据报告回GUI。
类似地,序列584是客户设置工作命令信息的修改。客户可以被允许通过在序列583和584之间修改GUI来输入关于工作命令的一些信息。工作命令信息在序列584期间被设置和验证。CIM然后在序列585期间获得针对验证的工作命令的测试计划数据。(同样,利用序列585,在用户选择使用热控制DLL时,用户也可以指定热算法和热设置点)。CIM可以让客户通过例如现场控制模块70(如图3所示)来输入测试计划。工作命令在序列586期间被设置并且被报告给GUI。要测试的DUT在序列587期间由CIM验证,并且要在DUT上运行的测试流程名称从现场控制模块70被获得。
类似地,图5中示出的每个序列是客户针对CIM的默认生产流程所创建的修改的示例。例如,序列572包括CIM 469与服务器430进行通信以设置测试计划数据,序列573包括CIM 469与服务器430进行通信以建立与DUT的连接,并且序列574包括CIM 469将事件报告给GUI。
图6是示出根据本发明的实施例的客户可以修改CIM的默认生产流程的方式的示例性状态图。图6示出了客户的默认生产流程,其中客户被允许在某些状态下对生产流程进行某些定制。例如,将在下面进一步讨论的,状态622(定制工作命令)和状态623(定制DUT)向客户提供了集成点,其中对CIM的修改使得能够对由默认CIM提供的标准生产流程进行定制。换句话说,状态622和623是客户进入生产工作流程并且根据他们的特定需求来定制生产工作流程的入口点状态。
因此,在任何其他状态处做出的任何客户修改将需要经过状态622或623。例如,如果用户想要修改与状态603处的下载测试计划有关的某个过程,则定制集成过程会将用户链接回状态622。类似地,如果用户想要修改与选择测试站点(例如,选择基元)有关的某个过程,则用户将需要链接回状态623。
在准备和处理工作命令之后,不再存在与工作命令相关的事件,相反,CIM开始处理与特定DUT相关的事件。因此,状态622处理与工作命令处理相关的任何修改,并且状态623处理与DUT处理有关的任何修改。状态622和623是客户修改CIM的主要集成点,其中分别执行工作命令处理和DUT处理。然而,其他状态也提供拦截点,其允许用户返回到定制集成状态(例如,622和623)以执行附加配置。
在状态601中,针对工作命令扫描数据,例如,条形码、DUT的序列号等,并且准备工作命令。(状态601可以大致对应于图5中的序列580-584)。例如,工作命令可以包括扫描和测试与一批SATA磁盘驱动器相关联的部件号。扫描的数据被传递到下一个状态,定制工作命令622。如上所述,状态622(定制工作命令)允许与客户的工作命令处理相关的修改。在定制之后,在状态602处,选择(或加载)包括要测试的DUT的基元。此时,如果客户需要对基元设置做出一些修改,则CIM允许客户在拦截点返回到状态622以执行该定制。
在状态603处,在状态622期间由用户指示的测试程序被下载到基元。类似于状态602,在这里也向客户提供拦截点以进行任何修改。在状态604处,DUT条码被扫描,并且用户可以选择通过返回到状态622来对该过程进行定制。在设置和处理工作命令的每个阶段,用户可以通过返回到状态622来进行定制。
一旦工作命令被处理,则在状态604之后(在DUT条形码被扫描之后),开始个体DUT测试定制。如果在状态604处成功地扫描DUT条形码,则生产流程进行到状态623,否则,如果不正确的设备被扫描或扫描失败,则生产流程返回到状态604。例如,用户可以扫描以下设备,该设备可能不是初始工作命令的一部分并且可能已经被错误地放置在应该作为工作命令的一部分被测试的设备的托盘中。换句话说,设备可以具有与在状态601期间被扫描的那批设备的部件号不相关的序列号。在这种情况下,将在GUI上向用户显示错误消息,并且生产流程将会返回到状态604。
在状态623中,用户可以进行与DUT处理相关的定制。在状态605处,进行测试站点的选择,例如,基元选择。测试站点选择可以向客户提供定制测试站点选择的机会,例如,在测试器准备好加载DUT时,客户可能想要显示某种颜色的光。同样,为了执行定制,状态605提供回到状态623的拦截点。
在状态606处,检测到DUT。客户可能需要进行与DUT检测相关的某些定制,例如,客户可能想要GUI消息来警告用户已经检测到DUT。同样,为了执行定制,状态606提供回到状态623的拦截点。一旦检测到DUT,DUT数据被发送到服务器430和GUI 420,并且在GUI处根据DUT数据改变站点显示。最后,在状态607处,可以测试DUT。
图7示出了根据本发明的实施例的用于修改用于控制测试器的应用编程接口(API)的示例性计算机实现的过程的流程图。
在步骤702处,应用编程接口(例如,CIM)被编程为在测试器上执行生产流程。简而言之,CIM 60可以控制测试系统100的许多高级功能和特征:1)使用哪些测试计划;2)用户界面如何通过用户站查看并且操作测试器;3)在插入新DUT以用于测试和控制后续过程时的处理,4)如何收集和存储测试的测试结果等。
如前所述,CIM 60控制系统300的高级功能和特征。例如,在一个实施例中,CIM 60控制测试计划到服务器30的加载。在另一实施例中,CIM 60可以在测试期间感知新DUT何时被插入到基元中,并且可以基于与DUT相关联的标识信息来识别DUT。在又一实施例中,CIM向用户站和/或控制服务器30提供各种DUT参数。这使得CIM能够可选地向控制服务器30提供特殊DUT测试参数。
在一个实施例中,CIM还可以向制造工具20提供定制的GUI显示信息。此外,在实施例中,CIM可以发起测试计划执行,并且还接收来自在各种DUT上执行测试计划的结果。另外,在实施例中,CIM可以针对测试结果执行分箱和记录功能。在不同的实施例中,CIM可以将测试结果数据与相关的DUT相关联,并且将该信息报告给客户或特定于过程的现场控制模块70,该现场控制模块70可以逐个DUT地将数据存档到客户数据库80以用于稍后参考。
在步骤704处,CIM可以被配置为修改生产流程以执行特定于用户的过程。根据本发明的各方面,用户可以存储用户代码,并且使用与系统100相关联的库90内的API。用户代码可以根据由CIM开发人员提供的信息和语法进行客户开发,并且然后加载到库90中。
最后,在步骤706处,修改与CIM集成以提供针对特定用户定制的API。CIM 60集成了用户代码和用户API,使得其自动地根据特定客户的需求进行定制,并且根据用户库90的内容采用特定功能和特征。以这种方式,本发明的实施例有效地提供了用于定制CIM 60的自动机制,这避免了针对每个客户的需求手动重写和重新设计CIM 60的需要。
出于解释的目的,前述描述已经参考具体实施例进行描述。然而,以上的说明性讨论并非旨在穷举或将本发明限制于所公开的确切形式。鉴于上述教导,许多修改和变化是可能的。选择和描述实施例是为了最好地解释本发明的原理及其实际应用,从而使本领域的其他技术人员能够最好地利用本发明和具有各种修改的各种实施例,这些修改可以适用于预期的特定用途。

Claims (13)

1.一种用于使用自动化测试设备ATE执行测试的方法,所述方法包括:
对应用编程接口API进行编程以控制测试器上的默认生产流程,其中所述默认生产流程包括与在连接到所述测试器的被测设备DUT上执行测试相关联的多个测试序列;
配置所述API以修改所述默认生产流程从而根据特定于用户的API来定制所述多个测试序列,其中所述特定于用户的API包括根据用户的测试要求对所述默认生产流程的修改,其中,所述特定于用户的API包括特定于用户的代码,能操作以被存储在用户库中,所述用户库与所述API通信地耦合,对所述默认生产流程的修改包括在特定于所述用户的测试期间从所述DUT收集附加测试数据;以及
将所述特定于用户的API与所述API集成以定制针对特定于所述用户的测试处理的API,其中所述集成包括将所述用户库中用于所述特定于用户的API的所述特定于用户的代码集成到所述API;
其中所述多个测试序列能操作以根据所述特定于用户的API被定制从而使用与所述DUT上的测试的执行有关的特定于用户的加密方案来加密信息。
2.根据权利要求1所述的方法,其中,所述API通信地耦合到服务器和执行图形用户界面的计算设备,并且通过所述服务器和所述图形用户界面来控制所述默认生产流程。
3.根据权利要求1所述的方法,其中,所述附加测试数据在用户指定的现场控制模块处被报告给所述用户,其中所述现场控制模块包括用户的生产现场上的服务器,其中所述现场控制模块与能操作用于存档附加数据的数据库通信地耦合。
4.根据权利要求3所述的方法,其中,所述现场控制模块包括专有信息,所述专有信息与所述用户有关并且与所述DUT上的测试的执行有关。
5.根据权利要求1所述的方法,其中,所述多个测试序列能操作以根据所述特定于用户的API被定制从而执行从包括以下各项的组中选择的动作:将测试计划加载到服务器、基于与DUT相关联的标识信息来识别插入到基元的DUT、向用户站和服务器提供DUT参数、向用户提供定制的GUI显示、发起测试计划执行、接收在DUT上执行测试计划的结果、以及执行测试结果的分箱和记录。
6.一种在其中嵌入有计算机可读程序代码的非暂态计算机可读介质,所述计算机可读程序代码用于使得计算机系统执行用于使用自动化测试设备ATE执行测试的方法,所述方法包括:
对应用编程接口API进行编程以控制测试器上的默认生产流程,其中所述默认生产流程包括与在连接到所述测试器的被测设备DUT上执行测试相关联的多个测试序列;
配置所述API以修改所述默认生产流程从而根据特定于用户的API来定制所述多个测试序列,其中所述特定于用户的API包括根据用户的测试要求对所述默认生产流程的修改,其中,所述特定于用户的API包括特定于用户的代码,能操作以被存储在用户库中,所述用户库与所述API通信地耦合,对所述默认生产流程的修改包括在特定于所述用户的测试期间从所述DUT收集附加测试数据;以及
将所述特定于用户的API与所述API集成以定制针对特定于所述用户的测试处理的API,其中所述集成包括将所述用户库中用于所述特定于用户的API的所述特定于用户的代码集成到所述API;
其中所述多个测试序列能操作以根据所述特定于用户的API被定制从而使用与所述DUT上的测试的执行有关的特定于用户的加密方案来加密信息。
7.根据权利要求6所述的计算机可读介质,其中,所述API通信地耦合到服务器和执行图形用户界面的计算设备,并且通过所述服务器和所述图形用户界面来控制所述默认生产流程。
8.根据权利要求6所述的计算机可读介质,其中,所述附加测试数据在用户指定的现场控制模块处被报告给所述用户,其中所述现场控制模块包括用户的生产现场上的服务器,其中所述现场控制模块与能操作用于存档附加数据的数据库通信地耦合。
9.根据权利要求8所述的计算机可读介质,其中,所述现场控制模块包括专有用户相关信息。
10.根据权利要求6所述的计算机可读介质,其中,所述多个测试序列能操作以根据所述特定于用户的API被定制从而执行从包括以下各项的组中选择的动作:将测试计划加载到服务器、基于与DUT相关联的标识信息来识别插入到基元的DUT、向用户站和服务器提供DUT参数、向用户提供定制的GUI显示、发起测试计划执行、接收在DUT上执行测试计划的结果、以及执行测试结果的分箱和记录。
11.一种用于使用自动化测试设备ATE执行测试的系统,所述系统包括:
服务器,通信地耦合到多个基元,其中所述多个基元中的每个基元包括多个DUT;
第一计算设备,运行图形用户界面GUI,其中所述第一计算设备通信地耦合到所述服务器,并且其中所述图形用户界面允许用户访问所述多个基元;
第二计算设备,与所述服务器和所述第一计算设备通信地耦合,并且其中所述第二计算设备被配置为:
对应用编程接口API进行编程以控制默认生产流程,其中所述默认生产流程包括与对连接到所述服务器的DUT执行测试相关联的多个测试序列;
配置所述API以修改所述默认生产流程从而根据特定于用户的API来定制所述多个测试序列,其中所述特定于用户的API包括根据用户的测试要求对所述默认生产流程的修改,其中,所述特定于用户的API包括特定于用户的代码,能操作以被存储在用户库中,所述用户库与所述API通信地耦合,对所述默认生产流程的修改包括在特定于所述用户的测试期间从所述DUT收集附加测试数据;以及
将所述特定于用户的API与所述API集成以定制针对特定于所述用户的测试处理的API,其中所述集成包括将所述用户库中用于所述特定于用户的API的所述特定于用户的代码集成到所述API;
其中所述多个测试序列能操作以根据所述特定于用户的API被定制从而使用与所述DUT上的测试的执行有关的特定于用户的加密方案来加密信息。
12.根据权利要求11所述的系统,其中,所述用户使用所述GUI来配置所述API以修改所述默认生产流程。
13.根据权利要求11所述的系统,其中,所述附加测试数据在用户指定的现场控制模块处被报告给所述用户,其中所述现场控制模块包括用户的生产现场上的服务器,其中所述现场控制模块与能操作用于存档附加数据的数据库通信地耦合。
CN201810400227.3A 2017-04-28 2018-04-28 用软件应用编程接口对自动化测试特征进行用户控制 Active CN108845557B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/582,285 US10592370B2 (en) 2017-04-28 2017-04-28 User control of automated test features with software application programming interface (API)
US15/582,285 2017-04-28

Publications (2)

Publication Number Publication Date
CN108845557A CN108845557A (zh) 2018-11-20
CN108845557B true CN108845557B (zh) 2023-08-08

Family

ID=63917218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810400227.3A Active CN108845557B (zh) 2017-04-28 2018-04-28 用软件应用编程接口对自动化测试特征进行用户控制

Country Status (5)

Country Link
US (1) US10592370B2 (zh)
JP (1) JP6761441B2 (zh)
KR (1) KR102430283B1 (zh)
CN (1) CN108845557B (zh)
TW (1) TWI761495B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI773140B (zh) * 2020-03-05 2022-08-01 日商愛德萬測試股份有限公司 用於流量捕獲及除錯工具之圖形使用者介面
US11797432B2 (en) 2020-04-21 2023-10-24 UiPath, Inc. Test automation for robotic process automation
US20210326244A1 (en) * 2020-04-21 2021-10-21 UiPath, Inc. Test automation for robotic process automation
CN111694733A (zh) * 2020-05-22 2020-09-22 五八有限公司 一种软件开发工具包sdk的api测试方法以及测试装置
CN112819605A (zh) * 2021-01-29 2021-05-18 山东浪潮通软信息科技有限公司 资金结算业务测试方法、装置及计算机可读介质
US20230027880A1 (en) * 2021-07-22 2023-01-26 Infor (Us), Llc Techniques for automated testing of application programming interfaces
CN115187025A (zh) * 2022-06-29 2022-10-14 南京鼎华智能系统有限公司 制造软件塑模系统及其方法
CN116913361B (zh) * 2023-06-08 2024-05-07 深圳市晶存科技有限公司 硬盘自动测试方法、系统及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101247292A (zh) * 2008-02-22 2008-08-20 中兴通讯股份有限公司 基于通用测试仪表应用编程接口的测试设备及测试方法
TW200943118A (en) * 2007-12-19 2009-10-16 Formfactor Inc Method and apparatus for managing test result data generated by a semiconductor test system
CN102306122A (zh) * 2011-09-14 2012-01-04 北京星网锐捷网络技术有限公司 自动化测试方法及设备
CN102590730A (zh) * 2012-01-16 2012-07-18 中冶南方(武汉)自动化有限公司 模块化开放性pcba功能测试平台、测试系统及方法
JP2014048125A (ja) * 2012-08-30 2014-03-17 Advantest Corp テストプログラムおよび試験システム
CN105092992A (zh) * 2014-04-15 2015-11-25 爱德万测试公司 用于在ate上进行向量控制的测试的方法和设备
CN105144114A (zh) * 2013-02-21 2015-12-09 爱德万测试公司 Fpga块具有混合协议引擎的测试器
CN105378493A (zh) * 2013-02-21 2016-03-02 爱德万测试公司 用于支持协议无关器件测试系统中协议重新配置的基于云的基础设施

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5910895A (en) * 1997-06-13 1999-06-08 Teradyne, Inc. Low cost, easy to use automatic test system software
US6681351B1 (en) * 1999-10-12 2004-01-20 Teradyne, Inc. Easy to program automatic test equipment
CA2321346A1 (en) * 2000-09-28 2002-03-28 Stephen K. Sunter Method, system and program product for testing and/or diagnosing circuits using embedded test controller access data
TWI344595B (en) * 2003-02-14 2011-07-01 Advantest Corp Method and structure to develop a test program for semiconductor integrated circuits
US7519827B2 (en) * 2004-04-06 2009-04-14 Verigy (Singapore) Pte. Ltd. Provisioning and use of security tokens to enable automated test equipment
US7823128B2 (en) * 2004-04-19 2010-10-26 Verigy (Singapore) Pte. Ltd. Apparatus, system and/or method for combining multiple tests to a single test in a multiple independent port test environment
US7197416B2 (en) * 2004-05-22 2007-03-27 Advantest America R&D Center, Inc. Supporting calibration and diagnostics in an open architecture test system
US7210087B2 (en) * 2004-05-22 2007-04-24 Advantest America R&D Center, Inc. Method and system for simulating a modular test system
US7852094B2 (en) 2006-12-06 2010-12-14 Formfactor, Inc. Sharing resources in a system for testing semiconductor devices
US7640132B2 (en) * 2007-04-23 2009-12-29 Advantest Corporation Recording medium and test apparatus
JP2008299397A (ja) * 2007-05-29 2008-12-11 Yokogawa Electric Corp テストプログラム開発装置
US20090224793A1 (en) * 2008-03-07 2009-09-10 Formfactor, Inc. Method And Apparatus For Designing A Custom Test System
US8078424B2 (en) 2008-09-29 2011-12-13 Advantest Corporation Test apparatus
US8677198B2 (en) * 2009-03-04 2014-03-18 Alcatel Lucent Method and apparatus for system testing using multiple processors
US10118200B2 (en) * 2009-07-06 2018-11-06 Optimal Plus Ltd System and method for binning at final test
US9164859B2 (en) * 2009-09-25 2015-10-20 Qualcomm Incorporated Computing device for enabling concurrent testing
US8127187B2 (en) 2009-09-30 2012-02-28 Integrated Device Technology, Inc. Method and apparatus of ATE IC scan test using FPGA-based system
US20110288808A1 (en) * 2010-05-20 2011-11-24 International Business Machines Corporation Optimal test flow scheduling within automated test equipment for minimized mean time to detect failure
US9514016B2 (en) 2011-02-01 2016-12-06 Echostar Technologies L.L.C. Apparatus systems and methods for facilitating testing of a plurality of electronic devices
US9203617B2 (en) * 2011-08-17 2015-12-01 Vixs Systems, Inc. Secure provisioning of integrated circuits at various states of deployment, methods thereof
US9069719B2 (en) * 2012-02-11 2015-06-30 Samsung Electronics Co., Ltd. Method and system for providing a smart memory architecture
US10371744B2 (en) * 2012-04-11 2019-08-06 Advantest Corporation Method and apparatus for an efficient framework for testcell development
CN102929595A (zh) * 2012-09-20 2013-02-13 腾讯科技(深圳)有限公司 一种实现动作指令的方法及装置
US9053238B2 (en) * 2013-01-25 2015-06-09 International Business Machines Corporation Tool-independent automated testing of software
US10161993B2 (en) * 2013-02-21 2018-12-25 Advantest Corporation Tester with acceleration on memory and acceleration for automatic pattern generation within a FPGA block
US20140237292A1 (en) * 2013-02-21 2014-08-21 Advantest Corporation Gui implementations on central controller computer system for supporting protocol independent device testing
US9810729B2 (en) * 2013-02-28 2017-11-07 Advantest Corporation Tester with acceleration for packet building within a FPGA block
KR102030385B1 (ko) * 2013-03-07 2019-10-10 삼성전자주식회사 자동 테스트 장비 및 그 제어방법
WO2015018455A1 (en) * 2013-08-09 2015-02-12 Advantest (Singapore) Pte. Ltd. Automated test equipment, instruction provider for providing a sequence of instructions, method for providing a signal to a device under test, method for providing a sequence of instructions and test system
US10156611B2 (en) * 2013-09-12 2018-12-18 Teradyne, Inc. Executing code on a test instrument in response to an event
KR102304698B1 (ko) * 2014-01-10 2021-09-28 시암벨라 리미티드 자동 장치 프로그램 생성을 위한 방법 및 장치
DE102017117322A1 (de) * 2017-07-31 2019-01-31 Infineon Technologies Ag Verfahren zur Herstellung eines Halbleiterbauelementes mittels computergestütztem Entwurf von Testszenarien

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200943118A (en) * 2007-12-19 2009-10-16 Formfactor Inc Method and apparatus for managing test result data generated by a semiconductor test system
CN101247292A (zh) * 2008-02-22 2008-08-20 中兴通讯股份有限公司 基于通用测试仪表应用编程接口的测试设备及测试方法
CN102306122A (zh) * 2011-09-14 2012-01-04 北京星网锐捷网络技术有限公司 自动化测试方法及设备
CN102590730A (zh) * 2012-01-16 2012-07-18 中冶南方(武汉)自动化有限公司 模块化开放性pcba功能测试平台、测试系统及方法
JP2014048125A (ja) * 2012-08-30 2014-03-17 Advantest Corp テストプログラムおよび試験システム
CN105144114A (zh) * 2013-02-21 2015-12-09 爱德万测试公司 Fpga块具有混合协议引擎的测试器
CN105378493A (zh) * 2013-02-21 2016-03-02 爱德万测试公司 用于支持协议无关器件测试系统中协议重新配置的基于云的基础设施
CN105092992A (zh) * 2014-04-15 2015-11-25 爱德万测试公司 用于在ate上进行向量控制的测试的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
机载设备自动测试系统通用开发平台;孙宝江;秦红磊;李洁;沈士团;;北京航空航天大学学报(03);全文 *

Also Published As

Publication number Publication date
US20180314613A1 (en) 2018-11-01
TWI761495B (zh) 2022-04-21
TW201843589A (zh) 2018-12-16
JP6761441B2 (ja) 2020-09-23
JP2018189641A (ja) 2018-11-29
CN108845557A (zh) 2018-11-20
KR102430283B1 (ko) 2022-08-05
US10592370B2 (en) 2020-03-17
KR20180121410A (ko) 2018-11-07

Similar Documents

Publication Publication Date Title
CN108845557B (zh) 用软件应用编程接口对自动化测试特征进行用户控制
US20140236527A1 (en) Cloud based infrastructure for supporting protocol reconfigurations in protocol independent device testing systems
US20140237292A1 (en) Gui implementations on central controller computer system for supporting protocol independent device testing
JP6748671B2 (ja) テストプログラムフロー制御
US10557886B2 (en) Test system supporting multiple users using different applications
CN105143895A (zh) 从交互式图形用户界面中自动生成测试类预编译头
US20150052596A1 (en) Network based firmware feature configuration and firmware image generation
US7809520B2 (en) Test equipment, method for loading test plan and program product
US10719657B1 (en) Process design kit (PDK) with design scan script
CN105209925A (zh) 在用于编译自动化半导体器件测试的测试计划的开发环境内实施编辑并更新功能性
CN106415480A (zh) 用于安装在移动设备上的用于允许对该移动设备进行远程配置的高速应用
CN114328223A (zh) 一种信息测试方法、装置、设备及存储介质
CN115629815A (zh) 可验证emmc用户接口的fpga原型验证平台
CN114721954A (zh) 应答引擎的运行管理方法、装置、电子设备及可读介质
CA2291396A1 (en) Assembly and testing tracking system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TG01 Patent term adjustment