CN101512359A - 用于在测试系统中实施处理之系统及方法 - Google Patents
用于在测试系统中实施处理之系统及方法 Download PDFInfo
- Publication number
- CN101512359A CN101512359A CNA2007800335817A CN200780033581A CN101512359A CN 101512359 A CN101512359 A CN 101512359A CN A2007800335817 A CNA2007800335817 A CN A2007800335817A CN 200780033581 A CN200780033581 A CN 200780033581A CN 101512359 A CN101512359 A CN 101512359A
- Authority
- CN
- China
- Prior art keywords
- function
- instrument
- module
- interface
- entity
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2832—Specific tests of electronic circuits not provided for elsewhere
- G01R31/2834—Automated test systems [ATE]; using microprocessors or computers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明提供一种用于在测试系统中实施处理的系统及方法。提供一种弹性的平台来开发用于实施自动化测试的测试程序。在此平台中,测试器及其仪器与测试器操作系统隔离,从而容许使用任何测试器操作系统。在另一示意性实施例中,该平台的使用者层与架构的实体层隔离,从而容许与硬件无关的测试程序可在具有不同测试硬件及软件的不同测试器之中建立且使用该测试程序。在又一实施例中,测试程序的执行与测试器平台操作系统隔离,从而容许测试程序与测试器平台独立运作。在另一实施例中,在该平台上实施功能性,以致于仅添加函数且不破坏至函数的现有链接,从确保在添加新软件、硬件及/或特征至该平台时的连续的测试系统操作。该测试系统可包括非确定性计算机系统。在一个示意性测试系统中,系统迫使由该非确定性计算机系统实施之对一个或多个计算机指令的执行在恒定执行时间内进行。确定性引擎(若必要)等待可变量的时间以确保在恒定执行时间内实施对计算机指令之执行。因为执行时间系恒定的,所以执行是确定性的且因此可用于需要确定性行为的应用中。举例而言,该确定性引擎可用于自动化测试设备(ATE)应用中。
Description
技术领域
本发明大体而言是涉及测试系统,且更具体言之,是关于自动测试设备(ATE)领域中的测试系统。
背景技术
现今,ATE领域中之大多数测试设备关于一个或多个计算机系统。实施测试步骤的计算机系统须为可靠的且须以确定性方式产生测试步骤。亦即,计算机系统须能够产生一致结果。该计算机的问题为成本——适合用来进行测试的完整计算系统(例如,产生一致结果的计算系统)的设计不仅需要昂贵硬件设计及维护而且需要关于操作系统、使用者接口、驱动器、工具等之昂贵软件设计。更具体的是,可使用测试器内的昂贵计算硬件及软件及/或分布式硬件(诸如仪器或其它测试资源内的个别控制处理器)来达成确定性执行。结果,适合于ATE之计算机系统非常昂贵而使大多数公司无法购买及维护。
自动化测试设备(ATE)系计算机控制设备,其测试电子装置的功能性及效能。ATE装置亦以极少的人力互动来进行应力测试。典型ATE测试器包括控制硬件、传感器及收集且分析测试结果之软件。该ATE测试器依靠特别测试仪器来实施测试且传回结果至控制软件。普遍认为传统的ATE测试器及方法仅对于大量测试为成本有效的。
上述广泛持有的看法部分地源于传统的ATE测试器的设计及操作。按照现在情况,制造者可建立新的装置或系统。设计及建构任何新的装置或系统的关键元素为测试该装置或系统的品质、功能性及可服务性的能力。测试新装置的第一步骤为,确定是否有人已使可涵盖新装置的测试器得以设计且工作。若不存在,则唯一的选择是使合适的测试器得以建置。当前市场花费长时间来确定是否应建置新测试器,更不用说开始该测试器之实际建构。确定涵盖新装置之新测试器是否将具有广泛需求或是否完全超出单一用途最终确定了是否将制造该新测试器。若否,则其经常结束得到新测试器的可能性。若是,则仍须设计并制造新测试器。用于完成该过程之平均时间大约为数年。举例而言,花费两年或两年以上(的时间)来生产新测试器是常见的。在彼时段内,大多数制造者已指望测试更新的装置,因此该测试器可能甚至在其发行之前便已作废。
发明内容
根据本发明的一个方面,已体认该等ATE系统归因于(除其它原因以外)其系具有有限应用之特别开发的系统的事实而为昂贵的。因为该等ATE系统为高度特殊化的,所以其并不适合于大量生产或包括大量生产之硬件及软件组件。在本发明的一个方面中,人们认识到使用较为便宜的、较为通用的组件来生产ATE系统将是有益的。
另外,根据本发明的一个方面,人们已经了解,ATE系统的总成本主要归因于软件与硬件之间的紧密耦合而变得昂贵的。更具体言之,ATE系统的组件(诸如操作系统、测试平台、其相关联之应用程序,及基本测试硬件)彼此相依,且当上述组件的其中之一改变时,ATE系统可能无法以在改变之前以相同方式运作。在诸如ATE系统的确定性系统中,该改变可能致使测试程序以不同方式实施,从而产生非确定性测试结果。
实际上,在生产测试环境中,此会导致使用者(例如,测试工程师)不愿在现存的生产测试系统中实施新特征。举例而言,若使新的基于软件的测试功能在现存测试系统中可用,则新软件的引入可能会打断当前软件的操作。举例而言,若以较近版本之驱动器更换一软件驱动器,则测试系统可能无法以相同方式运作,且测试结果可能受影响。同样地,若添加改良的硬件(例如,测试仪器)至现存ATE系统,则该现存系统的硬件及/或软件可能无法以相同方式运作或根本不运作。结果,测试工程师通常不会扰乱现存测试系统来实施新功能性,而是宁愿购买新硬件及软件来实施新测试功能。这将导致对测试资源的低效率使用及对测试平台的有限再使用。另外,测试硬件及软件生产者须严格地测试组件的所有可能排列以阻止在实际应用中出现问题,从而增加生产成本及测试设的总成本。
另外,测试工程师可开发出其自己的测试程序,测试程序使用ATE之硬件及软件。因为其程序使用紧密耦合的硬件及软件,所以其程序亦高度依赖于此紧密耦合的系统,且基本系统中的任何改变可能致使其测试程序以不同于预期的方式操作。由于此原因,测试工程师通常不愿意考虑对现存生产测试环境之新软件及/或硬件改变。该测试设备可(例如)用来制造电子装置,且该设备之失效可能会影响制造排程。
根据本发明的一个方面,提供一种平台,其容许在不影响其它组件的操作的情况下改变组件(例如,硬件、软件)。举例而言,在测试环境中,测试开发平台可包括测试系统软件、用以与各种测试仪器通信的软件驱动器,及操作系统软件。根据一个方面,提供一种架构,其隔离该等组件之功能以减少组件之间的耦合量。以此方式,改变组件不会影响其它组件的操作。
举例而言,当添加组件时,添加该组件不会扰乱其它组件的功能。在一个特定的实例中,测试硬件的一部分(例如,测试仪器)失效,需要将其更换。然而,唯有该测试硬件的新版本系可用的。此新版本具有不同于已失效测试硬件之接口,且由此得出结论:软件及存取该新硬件的应用程序需经改变以适应于新界面。不幸的是,此改变会导致测试系统的维护成本增加,这是由于当硬件与软件之间的通信被打断时,将需要改变并重新测试使用旧硬件之所有测试程序及应用程序。然而,在一些状况下,使用者没有选择,这是由于设备制造者常常改变硬件及软件,从而致使整个系统不工作。
根据本发明的一个方面,人们认识到,测试应用程序及其相关联的软件(例如,平台OS、驱动器)与硬件紧密耦合。在一实施例中,提供一种抽象化层,其将测试应用程序与硬件解耦合。根据一实施例,提供一种虚拟仪器,其向使用者呈现共同接口。根据一实施例,该接口在基本硬件改变时不会改变,从而减小在作出改变时应用程序不工作的可能性。另外,由此得出结论:使用该虚拟仪器开发出的应用程序可用于具有不同硬件类型及/或版本的系统之中,这是因为根据一实施例,硬件特定实施例得以从该应用程序进行抽象化。
在一实施例中,提供一种模块化、通过接口链接的系统架构。在一实施例中,模块通过唯一添加接口予以链接,其中功能性仅可被添加至特别接口,以确保不会“打断”现存代码及测试程序。在另一实施例中,将所述接口抽象化成仅特定必要的功能。
另外,根据本发明之另一个方面,人们已认识到,将新的自动化测试解决方案更快地引入市场有显著益处。详言之,减少了建立新测试器所花费时间的自动化测试设备平台将是有益的。另外,人们已了解到,具有生产测试器而在制造之前无需广泛适用性的能力将是有益的。此外,可并入有新功能性而无需设计新测试器的测试器将是有益的。
可在较短时间内制造、成本有效且可适应于涵盖新装置的弹性测试器将满足市场的需要。尽管已有设计该等测试器的尝试,但已知架构仍会导致硬件特定代码与系统代码一起被并入,从而使其依赖于特定硬件且使其仅在狭窄范围的应用中有用。功能与软件的相互依赖性及混合限制了已知ATE测试器。在已知方法下,任何改变(添加或删减硬件,且在一些状况下为更换相同部件)均可能导致无法适当运作的测试器。将已改变的ATE测试器复原至适当功能需要额外费用且增加了使待测试的装置在市场上销售的时间。
已知的ATE测试器的无弹性增加了与开发及维护测试器相关联的成本。使用已知方法,新测试器的开发通常需要从零开始建构且未能利用已为适当者。本发明的一个方面所描述的一种仪器开发者平台,其限定架构标准集合,该标准能使对可测试实际上无限范围的装置的新ATE测试器的及时开发。此架构亦允许修改现存测试器以使其包括新仪表而无需改变现存测试功能性及其相关软件。此测试系统架构能够将新仪表并入到现存测试器中,且因此利用适当者。此系经由抽象化ATE测试器中之功能性集合得以实现。
在本发明之一的实施例中,将并入特别测试器中的仪器抽象化成功能模块。此抽象化的模块管理特别仪器的功能,同时保持独立于其余ATE测试器。详言之,在平台阶层上限定的接口允许测试平台自身的独立性。当采用仪器的功能性来测试特别装置时,由其它独立抽象化层调用该模块。该模块独立于调用其抽象化层而管理仪器的功能,且该模块传回结果至抽象化层。在此实例中,测试器仅经由其它独立抽象化层与模块互动,容许模块及其相关仪器被“插入”至采用相同架构的任何测试器。举例而言,可自测试器移除模块及相关仪器,且通过在另一测试器(具有相同架构)上安装同一模块及仪器,可增强第二测试器的功能性而不会影响第二测试器的现存功能。此外,在此实例中,第一测试器(已自其取出模块及仪器)将继续以其可用的剩余仪器运作。遵守该架构标准能现存测试器的弹性、成本效率及完成新测试器的较大速度。
在本发明的另一个方面中,抽象化ATE测试器之每一功能性阶层,从而使功能集合及功能性集合能够在涵盖ATE测试器之功能的不同层中分离。在一实施例中,使用者与测试程序互动,该等测试程序捆绑来自在特别装置上实施或待实施的测试的观测及图形显示结果及选项。举例而言,使用者可采用单一测试程序或多个程序来测试任何一个或多个特别装置。在本发明的实施例中,对(一个或多个)测试程序所提供的功能及功能性的抽象化形成ATE测试器架构的最高层。
此外,根据本发明的一个方面,提供一种系统,其中可建立且管理虚拟仪器。在一实施例中,正在模型化的虚拟仪器包括基于使用者所要的功能性而非硬件特定实施所要的功能性的行为。举例而言,若未在一软件驱动器中本体地实施特别功能,则可在与虚拟仪器相关联的软件中实施另一功能性。以此方式,测试硬件及其相关联驱动器的能力可以标准方式得以扩展。另外,根据另一实施例,因为依照使用者观点而建立虚拟仪器,所以更易于建立应用程序。
而且,因为测试器并不受其硬件束缚,所以可更迅速地建立测试器及其应用程序。同样地,因为软件并不如此刚性地受硬件束缚,所以可更易于改良与测试器相关联的硬件,且因此,可添加/改变硬件而不会影响软件(软件将更易于与硬件一起工作)。人们已了解,用于建立且维护软件及硬件的弹性平台对软件的开发者及维护者是有益的,且用于建立且维护测试程序之成本及努力的量得以减少。
根据本发明的另一个方面,提供一种用于提供软件功能之方法,该方法容许对不同的软件及硬件版本之兼容性。根据本发明的一个方面,虚拟仪器之功能(是指硬件功能)在不同版本之间不变。更特定言之,在将功能添加至虚拟仪器时,旧功能得以维护,且将功能性添加至预定内存结构。在不改变对内存中预先存在之函数的引用的情况下添加软件模块之功能性。因为函数引用不变,所以额外功能性在添加至内存结构时不会“打断”现存连接。因此,当建立一测试程序时,因为该测试程序所存取之函数保持不变地前进,所以该程序之功能性被及时冻结,除非使用者决定改变该测试程序。以此方式,用于建立且维护测试程序之开发及维护成本得以显著减少。
根据本发明之一实施例,对于虚拟仪器维护虚拟函数表(例如,在C++程序设计语言中,熟知的虚拟方法表(“vtable”))。在一实施例中,在该虚拟仪器vtable之一版本中,包括基础功能性集合,其在vtable中具有已限定的位置。在虚拟仪器表之一后续版本中,添加额外函数至vtable,同时对于该基础功能性集合维护在vtable中的相同位置。以此方式,当添加额外函数时,函数及其至其它软件的连接得以维护而不会打断现存程序。
根据本发明之另一实施例,提供在本文中被称作虚拟多位点仪器者,其有助于管理多个测试位点。在传统测试环境中,人们已经了解,将位点作为单一实体来管理,此是因为,若组态特别测试位点,则对于对所使用的特别测试硬件特定的特别位点开发测试程序。若需要多个位点来实施额外测试(例如,以满足增加的测试容量),则购买额外的测试硬件组态,且允许测试程序进入额外位点。根据本发明的一个方面,由于经由抽象化层(例如,虚拟仪器层)而自测试程序抽象化基本硬件之细节,故可独立于测试硬件而管理测试程序,且该抽象化层可能够管理测试程序经由抽象化层向多个位点之监督。在一实施例中,虚拟仪器可具有映像至多个仪器位点之能力。以此方式,维护测试程序且向多个位点监督测试程序所需的时间得以减少。
根据本发明的另一个方面,人们已经了解,测试程序软件由不同类型之使用者使用——一些使用者开发测试应用程序,且其它使用者将已开发之应用程序用于测试过程之监督及管理。然而,这些单独类型之使用者可能需要视所实施之功能而定使用特定使用者界面(UI)。人们已经了解,多种类型的测试器具有不同使用者接口,从而迫使使用者理解对使设备运作而言必要之特定类型之接口。又,人们已经了解,在ATE业界,应用程序与驱动器紧密地耦合,且使用者接口受系统软件束缚。根据本发明的一个方面,一标准使用者接口可用以存取多种测试器类型,从而减少对于使用者必要的训练量。为进一步减少所需的训练量,提供一种使用者特定接口,其允许使用者实施与其角色有关的测试功能。
另外,根据本发明的另一个方面,提供一种测试架构,其容许使用者自任何位置实施测试功能。在一特定实施例中,经由浏览器程序存取使用者接口,且使用者可自经由通信网路耦合至测试系统的任何位置实施测试功能。在传统环境中,UI通常受机器束缚,然而,若使UI在网络上可用,则使用者可自另一位置实施测试。
以下参看随附的附图详细描述本发明的其它特征及优点以及本发明之各种实施例的结构及操作。在附图中,相同参考数字指示相同组件或功能上类似之组件。此外,参考数字之最左一或两个数字识别首先出现了该参考数字之附图。
根据本发明的一个方面,系统包含:测试程序;平台,其经调适以响应于来自该测试程序之请求而产生多个函数调用;抽象化层,其经调适以将该多个函数调用映像至待在测试硬件上执行之指令中。根据本发明的实施例,该抽象化层进一步包含至平台之虚拟仪器(“VI”)接口。根据本发明之另一实施例,该抽象化层进一步包含至平台之虚拟多位点(“VMI”)界面。根据本发明之另一实施例,抽象化层进一步包含至平台的系统实体仪器(“系统PI”)接口。根据本发明之另一实施例,抽象化层进一步包含至平台之实体仪器(“PI”)接口。根据本发明之另一实施例,抽象化层进一步包括至实体仪器(“PI”)接口的虚拟仪器(“VI”)。
根据本发明之一实施例,抽象化层进一步包括至虚拟仪器(“VI”)接口的系统实体仪器(“系统PI”)。根据本发明之另一实施例,抽象化层进一步包括至实体仪器(“PI”)接口的系统实体仪器(“系统PI”)。根据本发明之另一实施例,抽象化层进一步包括至虚拟仪器(“VI”)接口的测试程序。根据本发明之另一实施例,抽象化层进一步包括至实体仪器(“PI”)接口的测试程序。根据本发明之另一实施例,抽象化层进一步包括至虚拟仪器(“VI”)接口之平台。根据本发明之另一实施例,抽象化层进一步包括至实体仪器(“PI”)接口之平台。根据本发明之另一实施例,抽象化层进一步包括至虚拟多位点仪器(“VMI”)接口之平台。
根据本发明之一实施例,抽象化层进一步包含接口产生引擎。根据本发明之另一实施例,接口产生引擎包括图形使用者接口,该图形使用者接口经调适以在接口之产生中引导使用者。根据本发明之另一实施例,接口产生引擎产生接口以管理系统之组件之间的通信。根据本发明之另一实施例,接口产生引擎产生接口以管理抽象化层的组件之间的通信。根据本发明之另一实施例,接口产生引擎产生接口以管理平台与抽象化层之间的通信。根据本发明之另一实施例,管理平台与抽象化层之间的通信包括将多个函数调用映像至待在测试硬件上执行之指令。根据本发明之另一实施例,映像多个函数调用包括将多个函数调用映像至虚拟仪器(“VI”)模块。根据本发明之另一实施例,映像多个函数调用包括将多个函数调用映像至系统实体仪器(“系统PI”)模块。根据本发明之另一实施例,映像多个函数调用包括将多个函数调用映像至实体仪器(“PI”)模块。
根据本发明之一实施例,映像多个函数调用包括将基础实体仪器函数调用类别映像至实体仪器(“PI”)模块。根据本发明之另一实施例,映像多个函数调用包括将基础实体仪器函数调用类别映像至实体仪器(“PI”)模块。根据本发明之另一实施例,抽象化层进一步包含规则检查引擎。根据本发明之另一实施例,规则检查引擎经调适以验证函数调用至测试硬件上之指令之映像。根据本发明之另一实施例,规则检查引擎通过仿真对函数调用之请求来验证映射。根据本发明之另一实施例,规则检查引擎通过作为呈预期格式之仿真函数调用之结果而接受响应来验证映射。根据本发明之另一实施例,规则检查引擎传回代码至操作平台,其指示函数调用得以适当地映射。根据本发明之另一实施例,规则检查引擎通过响应于并非呈预期格式之仿真函数调用而接受返回代码来识别不适当映射。根据本发明之另一实施例,系统进一步包含在测试程序与平台之间的接口。
根据本发明之一实施例,测试程序向使用者提供图形使用者接口。根据本发明之另一实施例,测试程序使使用者能够限定待在装置上执行的测试。根据本发明之另一实施例,测试程序使使用者能够将待在装置上执行的测试限定为在任何时间发生。根据本发明之另一实施例,抽象化层进一步包含表示测试系统之硬件资源之功能性的实体仪器抽象化层。根据本发明之另一实施例,实体仪器抽象化层包括实体仪器模块,该实体仪器模块映像至硬件资源。根据本发明之另一实施例,PI模块引起指令响应于请求而在硬件资源上之执行。根据本发明之另一实施例,硬件资源包括在测试硬件上可用之至少函数。根据本发明之另一实施例,硬件资源经调适以引起同步信号之产生。根据本发明之另一实施例,硬件资源经调适以引起装置状态查询。
根据本发明之一实施例,PI模块包括将致使装置依赖于装置开始状态而电力开启及/或初始化的函数调用。根据本发明之另一实施例,实体仪器模块包括基础PI函数调用类别。根据本发明之另一实施例,该基础PI函数调用类别包括电力开启及/或初始化函数。根据本发明之另一实施例,抽象化层进一步包含虚拟仪器抽象化层,该虚拟仪器抽象化层表示可在测试系统上实施之硬件功能之虚拟化。根据本发明之另一实施例,虚拟仪器抽象化层包括虚拟仪器(“VI”)模块,至少一硬件资源被映像至该虚拟仪器(“VI”)模块。根据本发明之另一实施例,VI模块经调适以引起指令响应于请求而在一硬件资源上之执行。根据本发明之另一实施例,至至少一资源之映射系对于该至少一硬件资源中之每一个经由至少一PI模块得以映像。根据本发明之另一实施例,VI模块经映像至多个PI模块以再现用以测试特别装置之预限定硬件资源集合之虚拟表示。
根据本发明之一实施例,VI模块经调适以得以修改而包括额外PI模块,其经由VI模块而扩展可用于测试装置之硬件资源集合。根据本发明之另一实施例,VI模块经调适以包括基础函数类别,其映像至对任何ATE测试器必要的测试硬件资源。根据本发明之另一实施例,抽象化层进一步包含经调适以管理对硬件资源之请求的系统抽象化层。根据本发明之另一实施例,系统抽象化层进一步经调适以映像来自实体仪器层之请求,以使得硬件资源响应于请求而实施其功能。根据本发明之另一实施例,系统抽象化层进一步经调适以限定可用于抽象化层之其它组件的基础系统函数调用集合。根据本发明之另一实施例,系统层进一步包含系统PI模块,该系统PI模块经调适以限定一致使由抽象化层之任何其它组件实施操作的基础系统函数调用集合。根据本发明之另一实施例,系统抽象化层进一步经调适以对抽象化层的组件实施查询。
根据本发明之一实施例,系统抽象化层包括系统实体仪器模块。根据本发明之另一实施例,平台层包括“现成”操作系统。根据本发明之另一实施例,该“现成”操作系统经增强以确定性地实施。根据本发明之另一实施例,“现成”操作系统为WindowsXP,且使用Tenasys INtime操作系统将其增强以确定性地操作。
根据本发明的一个方面,提供一种自动化测试设备系统。该系统包含:平台抽象化层,其经调适以管理自动化测试设备系统之抽象化层之操作;实体仪器(“PI”)抽象化层,其经调适以将PI函数调用映像至硬件,以使得硬件响应于PI函数调用而实施功能;虚拟仪器(“VI”)抽象化层,其经调适以映射至该PI抽象化层以使得该VI抽象化层表示可实施之硬件功能之虚拟化;系统抽象化层,其经调适以映像系统函数调用以使硬件能够响应于PI函数调用而实施功能;及测试程序抽象化层,其经调适以与虚拟仪器层互动从而起始在硬件上实施之功能。根据本发明之一实施例,系统抽象化层进一步经抽象化成系统实体仪器(“系统PI”)模块,该模块自PI抽象化层接收请求且致使硬件作为响应而实施其功能。根据本发明之另一实施例,系统PI模块进一步经调适以聚集由自动化测试设备系统之其它抽象化层报告之信息。根据本发明之另一实施例,所聚集之信息包括在自动化测试设备系统之其它抽象化层中进行之函数调用之成功或失败。根据本发明之另一实施例,所聚集之信息包括由自动化测试设备系统之其它抽象化层中之操作进行之报告。根据本发明之另一实施例,系统PI模块进一步经调适以接受对所聚集之信息之查询。
根据本发明之一实施例,系统PI模块进一步经调适以对所聚集之信息进行报告。根据本发明之另一实施例,测试程序抽象化层包括经调适以向使用者呈现图形使用者接口的测试程序。根据本发明之另一实施例,测试程序层进一步经调适容许使用者与虚拟仪器层互动。根据本发明之另一实施例,测试程序层进一步经调适以容许使用者限定待在一装置上实施的测试。根据本发明之另一实施例,测试程序进一步经调适以图形地再现所实施的测试之结果。根据本发明之另一实施例,测试程序层进一步经调适以容许使用者限定待在装置上实施的测试,其中待实施的测试在已排程之时间发生。根据本发明之另一实施例,待实施的测试可按照任何使用者限定之排程发生。根据本发明之另一实施例,虚拟仪器抽象化层包括VI模块,其中该VI模块包括至至少一个硬件资源之映像。
根据本发明之一实施例,VI模块经调适以致使该至少一硬件资源响应于请求而实施其功能。根据本发明之另一实施例,VI模块致使至少一个硬件资源响应于来自测试程序抽象化层的请求而实施其功能。根据本发明之另一实施例,至至少一个硬件资源之映像是经由PI仪器层予以映像。根据本发明之另一实施例,至至少一个硬件资源之映像是经由一PI模块予以映像。根据本发明之另一实施例,VI模块经映像至多个PI模块以使得VI模块再现用以测试装置的多个硬件资源之虚拟表示。根据本发明之另一实施例,VI模块与PI模块之间的映像由接口管理。根据本发明之另一实施例,该接口为图形使用者接口。根据本发明之另一实施例,该接口管理VI模块与PI模块之间呈预定格式的通信。根据本发明之另一实施例,VI模块经调适以得以修改而包括至额外PI模块之映像。根据本发明之另一实施例,VI模块经调适以包括一映射至对任何ATE测试器必要的测试硬件资源的基础函数类别。根据本发明之另一实施例,实体仪器抽象化层包括含有硬件资源之实施细节的PI模块。
根据本发明之一实施例,实体仪器抽象化层包括含有每一硬件资源之实施细节的PI模块。根据本发明之另一实施例,实体仪器抽象化层经调适以并入有新硬件资源之实施细节。根据本发明之另一实施例,该新硬件资源是通过新PI模块得以映像。根据本发明之另一实施例,PI模块引起硬件资源之功能性响应于请求之执行。根据本发明之另一实施例,请求来自VI模块。根据本发明之另一实施例,硬件资源之功能性包括同步信号。根据本发明之另一实施例,实体仪器模块包括将致使硬件资源电力开启及/或初始化之函数调用。根据本发明之另一实施例,该函数调用包括PowerOnInitialize函数。根据本发明之另一实施例,PI抽象化层包括基础PI函数调用类别。根据本发明之另一实施例,该基础PI函数调用类别包括经调适以致使硬件资源电力开启及/或初始化之函数调用。
根据本发明之一实施例,经调适以致使硬件资源电力开启及/或初始化之函数调用包括PowerOnInitialize函数。根据本发明之另一实施例,平台抽象化层包括“现成”操作系统。根据本发明之另一实施例,“现成”操作系统经增强以确定性地实施。根据本发明之另一实施例,“现成”操作系统为Windows XP。根据本发明之另一实施例,操作系统经使用实时扩展得以增强以确定性地实施。根据本发明之另一实施例,经由“Tenasys INtime”操作系统提供实时扩展。根据本发明之另一实施例,平台抽象化层确定性地操作。
根据本发明之另一实施例,系统进一步包含经调适以管理抽象化层之间的通信之接口抽象化层。根据本发明之另一实施例,接口抽象化层进一步经调适以确保抽象化层之间的标准化通信。根据本发明之另一实施例,接口抽象化层包括在平台抽象化层与VI抽象化层之间的接口。根据本发明之另一实施例,接口抽象化层包括在平台抽象化层与系统抽象化层之间的接口。
根据本发明之一实施例,接口抽象化层包括在平台抽象化层与实体仪器抽象化层之间的接口。根据本发明之另一实施例,接口抽象化层包括在VI模块与PI模块之间的接口。根据本发明之另一实施例,接口抽象化层包括在系统PI模块与VI模块之间的接口。根据本发明之另一实施例,接口抽象化层包括在系统PI模块与PI模块之间的接口。根据本发明之另一实施例,接口抽象化层包括在平台抽象化层与VI抽象化层之间的接口。根据本发明之另一实施例,系统进一步包含模块产生引擎,其经调适以在PI模块及VI模块中之一者的建立中引导使用者,以使得自动化测试系统能够并入有新测试硬件资源。根据本发明之另一实施例,系统进一步包含接口产生引擎,其经调适以在接口之建立中引导使用者,其中该接口将通过在不考虑自动化测试系统上所采用之硬件、软件或平台的情况下使通信格式标准化来管理模块之间的通信。
根据本发明之一实施例,系统进一步包含规则检查引擎,其经调适以验证已产生之模块及其已产生之接口的测试功能性。根据本发明之另一实施例,系统进一步包含安装模块,其经调适以容许使用者安装该已产生之模块,以使得测试程序可将请求导向至已产生之模块且使测试功能得以实施。根据本发明之另一实施例,系统进一步包含安装模块,其经调适以容许使用者安装已产生之接口,以使得测试程序可将请求导向至已产生之模块所映像至的测试硬件资源且使测试功能得以实施。根据本发明的一个方面,提供一种用于实施一测试过程的系统。该系统包含:测试程序,其在被执行时在一个或多个测试仪器上实施一程序,一个或多个测试仪器具有个别的一个或多个驱动器程序;及虚拟仪器实体,其经调适以在一个或多个测试仪器上执行该程序,其中该虚拟仪器实体经由个别的一个或多个驱动器程序而存取一个或多个测试仪器。根据本发明之另一实施例,虚拟仪器实体包括一个或多个函数。根据本发明之另一实施例,测试程序经调适以通过存取虚拟仪器之一个或多个函数来存取一个或多个测试仪器。根据本发明之另一实施例,测试程序经程序设计以仅经由虚拟仪器而存取一个或多个仪器。根据本发明之另一实施例,测试程序经程序设计以存取系统实体接口以获得对测试器资源之存取。根据本发明之另一实施例,虚拟仪器实体使测试程序与对一个或多个测试硬件特定之程序设计接口隔离。根据本发明之另一实施例,虚拟仪器包括虚拟仪器程序设计接口。根据本发明之另一实施例,一个或多个测试仪器中之改变并不产生该虚拟仪器程序设计接口中之对应改变。
根据本发明之一实施例,虚拟仪器实体中之改变并不产生一个或多个函数中之对应改变。根据本发明之另一实施例,实体测试器资源中之改变并不产生一个或多个函数中之对应改变。根据本发明之另一实施例,测试开发平台中之改变不需要测试平台中之改变。根据本发明之另一实施例,一个或多个函数被加载计算机系统之内存结构中。根据本发明之另一实施例,虚拟仪器实体中之改变并不产生计算机系统之内存结构中之对应改变。根据本发明之另一实施例,一个或多个函数位于计算机系统之内存结构中之第一位置中。根据本发明之另一实施例,虚拟仪器实体中之改变包括添加一个或多个额外函数。根据本发明之另一实施例,虚拟仪器实体中之改变包括修改一个或多个函数中之至少其中之一。根据本发明之另一实施例,一个或多个额外函数被添加于计算机系统之内存结构中之在该第一位置之后的第二位置中。根据本发明之另一实施例,一个或多个额外函数之添加并不改变一个或多个函数在计算机系统之内存结构中之第一位置中的位置。根据本发明之另一实施例,计算机系统之内存结构进一步包含vtable。根据本发明之另一实施例,一个或多个额外函数之添加并不改变一个或多个函数在该vtable中的位置。根据本发明之另一实施例,虚拟仪器实体中之改变包括添加至少一个经修改函数。
根据本发明之一实施例,该至少一个经修改函数系自一个或多个函数中之该至少其中之一修改所得。根据本发明之另一实施例,至少一个经修改函数被添加于计算机系统之内存结构中之在第一位置之后的第二位置中。根据本发明之另一实施例,至少一个经修改函数之添加并不改变一个或多个函数在计算机系统之内存结构中之第一位置中的位置。根据本发明之另一实施例,计算机系统之内存结构进一步包含vtable。根据本发明之另一实施例,至少一个经修改函数之添加并不改变一个或多个函数在该vtable中的位置。
根据本发明之另一实施例,一个或多个函数包括于基础程序设计函数类别中,且基础程序设计类别是从包括一个或多个额外函数之扩展函数类别继承而来。根据本发明之另一实施例,一个或多个函数包括于基础程序设计函数类别中,且该基础程序设计类别是从包括该至少一个经修改函数之扩展函数类别继承而来。根据本发明之另一实施例,计算机系统包括通用计算机系统。根据本发明之另一实施例,一个或多个测试仪器是耦合至一个或多个被测试装置。根据本发明之另一实施例,一个或多个测试仪器中之至少其中之一由测试程序予以程序设计以将一测试信号施加至一个或多个被测试装置中的至少其中之一。
根据本发明的一个方面,提供一种用于实施一测试过程的系统。该系统包含:一个或多个测试仪器,每一测试仪器具有个别的一个或多个驱动器程序,且其中该等驱动器程序中之至少其中之一包括一个或多个函数;测试程序,其在被执行时在一个或多个测试仪器上实施一程序,该测试程序经由一个或多个驱动器程序而存取一个或多个测试仪器;及一内存结构,其中驱动器程序中之该至少其中之一的一个或多个函数是含于该内存结构内之一固定位置内。根据本发明之一实施例,内存结构包括于一计算机系统之一内存中,且其中一个或多个函数是加载于该计算机系统之该内存中。根据本发明之另一实施例,驱动器程序中之至少其中之一的改变不会产生内存结构之对应改变。根据本发明之另一实施例,一个或多个函数位于内存结构中之第一位置中。根据本发明之另一实施例,驱动器程序中之至少其中之一的改变包括添加一个或多个额外函数。根据本发明之另一实施例,驱动器程序中之至少其中之一之改变包括修改一个或多个函数中之至少其中之一。
根据本发明之一实施例,一个或多个额外函数被添加于内存结构中之在该第一位置之后的第二位置中。根据本发明之另一实施例,一个或多个额外函数之添加并不改变一个或多个函数在内存结构中之第一位置中的位置。根据本发明之另一实施例,内存结构进一步包含vtable。根据本发明之另一实施例,一个或多个额外函数之添加并不改变一个或多个函数在该vtable中的位置。根据本发明之另一实施例,虚拟仪器实体中之改变包括添加至少一个经修改函数。根据本发明之另一实施例,平台实体中之改变包括添加至少一个经修改函数。根据本发明之另一实施例,实体仪器驱动器中之改变包括添加至少一个经修改函数。根据本发明之另一实施例,该至少一个经修改函数是自一个或多个函数中的至少其中之一修改所得。
根据本发明之一实施例,该至少一个经修改函数被添加于内存结构中之在第一位置之后的第二位置中。根据本发明之另一实施例,添加至少一个经修改函数不会改变一个或多个函数在内存结构中之第一位置中的位置。根据本发明之另一实施例,内存结构进一步包含vtable。根据本发明之另一实施例,至少一个经修改函数之添加并不改变一个或多个函数在该vtable中的位置。根据本发明之另一实施例,一个或多个函数包括于基础程序设计函数类别中,且该基础程序设计类别是从包括一个或多个额外函数之扩展函数类别继承而来。根据本发明之另一实施例,一个或多个函数是包括于基础程序设计函数类别中,且该基础程序设计类别是从包括该至少一个经修改函数之扩展函数类别继承而来。根据本发明之另一实施例,计算机系统包括通用计算机系统。根据本发明之另一实施例,一个或多个测试仪器是耦合至一个或多个被测试装置。根据本发明之另一实施例,一个或多个测试仪器中之至少其中之一由测试程序予以程序设计以将测试信号施加至一个或多个被测试装置中的至少其中之一。
根据本发明之一实施例,该系统为自动化测试系统之部分。根据本发明之另一实施例,该系统进一步包含虚拟仪器实体,其经调适以在一个或多个测试仪器上执行程序,其中该虚拟仪器实体经由个别的一个或多个驱动器程序而存取一个或多个测试仪器。根据本发明之另一实施例,虚拟仪器实体包括一个或多个函数。根据本发明之另一实施例,测试程序经调适以通过存取虚拟仪器之一个或多个函数来存取一个或多个测试仪器。根据本发明之另一实施例,测试程序经程序设计以仅经由虚拟仪器而存取一个或多个仪器。根据本发明之另一实施例,虚拟仪器实体使测试程序与对一个或多个测试硬件特定之程序设计接口隔离。根据本发明之另一实施例,虚拟仪器包括虚拟仪器程序设计接口。根据本发明之另一实施例,一个或多个测试仪器中之改变并不产生该虚拟仪器程序设计接口中之对应改变。根据本发明之另一实施例,虚拟仪器实体中之改变并不产生一个或多个函数中之对应改变。根据本发明之另一实施例,一个或多个函数被加载计算机系统的内存结构中。
根据本发明之一实施例,虚拟仪器实体中之改变并不产生该计算机系统之该内存结构中之对应改变。根据本发明之另一实施例,一个或多个函数位于计算机系统之内存结构中的第一位置中。根据本发明之另一实施例,虚拟仪器实体中之改变包括添加一个或多个额外函数。根据本发明之另一实施例,虚拟仪器实体中之改变包括修改一个或多个函数中之至少其中之一。根据本发明之另一实施例,一个或多个额外函数被添加于计算机系统的内存结构中的在该第一位置之后的第二位置中。根据本发明之另一实施例,一个或多个额外函数之添加并不改变一个或多个函数在计算机系统之内存结构中之第一位置中的位置。根据本发明之另一实施例,计算机系统之内存结构进一步包含vtable。根据本发明之另一实施例,一个或多个额外函数之添加并不改变一个或多个函数在该vtable中的位置。根据本发明之另一实施例,虚拟仪器实体中之改变包括添加至少一个经修改函数。根据本发明之另一实施例,该至少一个经修改函数是自一个或多个函数中的至少其中之一修改所得。根据本发明之另一实施例,至少一个经修改函数被添加于计算机系统之内存结构中之在第一位置之后的第二位置中。
根据本发明之一实施例,至少一个经修改函数之添加并不改变一个或多个函数在计算机系统之内存结构中之第一位置中的位置。根据本发明之另一实施例,计算机系统之内存结构进一步包含vtable。根据本发明之另一实施例,至少一个经修改函数之添加并不改变一个或多个函数在该vtable中的位置。根据本发明之另一实施例,虚拟仪器实体中之改变包括添加一个或多个额外函数。根据本发明之另一实施例,一个或多个函数系包括于基础程序设计函数类别中,且该基础程序设计类别是从包括一个或多个额外函数之扩展函数类别继承而来。根据本发明之另一实施例,一个或多个函数是包括于基础程序设计函数类别中,且该基础程序设计类别是从包括该至少一个经修改函数之扩展函数类别继承而来。根据本发明之另一实施例,计算机系统包括通用计算机系统。
根据本发明的一个方面,提供一种用于实施测试过程的系统。该系统包含:测试程序,其在被执行时在多个测试仪器上实施程序,一个或多个测试仪器具有个别的一个或多个驱动器程序;及虚拟多位点仪器实体,其经调适以在该多个测试仪器上执行该程序,其中虚拟仪器实体经由个别的一个或多个驱动器程序而存取多个测试仪器,其中该虚拟多位点仪器实体经调适以对于该测试程序透明地在多个测试仪器上执行程序。根据本发明之一实施例,虚拟多位点仪器包括控制多个仪器位点之功能性。根据本发明之另一实施例,虚拟多位点仪器实体包括一个或多个函数。根据本发明之另一实施例,测试程序经调适以通过存取虚拟仪器之一个或多个函数来存取多个仪器。根据本发明之另一实施例,测试程序经程序设计以仅经由虚拟仪器而存取多个仪器。根据本发明之另一实施例,虚拟多位点仪器使测试程序与对多个仪器特定之程序设计接口隔离。根据本发明之另一实施例,虚拟多位点仪器包括虚拟多位点仪器程序设计接口。
根据本发明之一实施例,多个测试仪器中的至少其中之一之改变不会产生该虚拟多位点仪器程序设计接口之对应改变。根据本发明之另一实施例,虚拟多位点仪器实体中之改变不会产生一个或多个函数之对应改变。根据本发明之另一实施例,一个或多个函数被加载计算机系统的内存结构中。根据本发明之另一实施例,虚拟多位点仪器实体中之改变不会产生该计算机系统之该内存结构之对应改变。根据本发明之另一实施例,虚拟多位点仪器实体经调适以大体上并行地在多个测试仪器上执行程序。
根据本发明的一个方面,提供一种用于实施测试过程的系统。该系统包括测试系统及通过通信网路而耦合至该测试系统的至少一个客户端计算机,其中操作该客户端计算机之使用者能够在测试系统上执行多个测试功能。根据本发明之一实施例,系统进一步包含测试程序,其在被执行时在一个或多个测试仪器上实施程序,一个或多个测试仪器具有个别的一个或多个驱动器程序。根据本发明之另一实施例,系统进一步包含经由该通信网路自客户端计算机接收一个或多个请求之过程。根据本发明之另一实施例,至少一个客户端计算机包括用于存取测试系统之使用者接口组件。根据本发明之另一实施例,使用一在至少一个客户端计算机上执行之浏览器程序来操作使用者接口组件。根据本发明之另一实施例,测试系统进一步包含虚拟多位点仪器实体,其经调适以在多个测试仪器上执行程序,其中虚拟仪器实体经由个别的一个或多个驱动器程序而存取该多个测试仪器,其中该虚拟多位点仪器实体经调适以对于测试程序透明地在多个测试仪器上执行程序。
根据本发明之一实施例,测试系统进一步包含虚拟仪器实体,其经调适以在一个或多个测试仪器上执行程序,其中该虚拟仪器实体经由个别的一个或多个驱动器程序而存取一个或多个测试仪器。根据本发明之另一实施例,使用者接口组件系基于操作客户端计算机之使用者予以组态。根据本发明之另一实施例,测试系统经调适以储存多个使用者接口且经调适以基于与使用者相关联之使用者接口组态而向使用者提供至少一个使用者接口。根据本发明之另一实施例,虚拟仪器实体包括一个或多个函数。根据本发明之另一实施例,测试程序经调适以通过存取虚拟仪器之一个或多个函数来存取一个或多个测试仪器。根据本发明之另一实施例,测试程序经程序设计以仅经由虚拟仪器而存取一个或多个仪器。根据本发明之另一实施例,虚拟仪器实体使测试程序与对一个或多个测试硬件特定之程序设计接口隔离。根据本发明之另一实施例,虚拟仪器包括虚拟仪器程序设计接口。
附图说明
图1展示已知测试系统架构实施例的方块图;
图2展示另一已知测试系统架构实施例的方块图;
图3展示根据本发明的实施例的测试系统架构的方块图;
图4为根据本发明的实施例的测试系统架构的方块图;
图5为根据本发明的另一实施例的测试系统架构的方块图;
图6A为根据本发明的另一实施例的测试系统架构的方块图;
图6B为根据本发明的另一实施例的测试系统架构的方块图;
图6C为根据本发明的另一实施例的测试系统架构的方块图;
图6D为根据本发明的另一实施例的测试系统架构的方块图;
图7为根据本发明的实施例的测试系统平台的方块图;
图8为可用以实施本发明之态样的内存结构的方块图;
图9A为根据本发明的实施例的测试系统架构的方块图;
图9B为根据本发明的实施例的内存结构的方块图;
图9C为根据本发明的另一实施例的内存结构的方块图;
图10为根据本发明的之另一实施例的内存结构的方块图;
图11为根据本发明的另一实施例的测试系统架构的方块图;
图12为根据本发明的各种方面来实施的通用计算机系统的方块图;
图13为根据本发明的另一实施例的测试系统架构的方块图;
图14为根据本发明的实施例的示意性测试系统过程图;
图15为根据本发明的实施例的示意性警报处理函数的方块图;及
图16为根据本发明的实施例的示意性电力初始化函数的流程图。
具体实施方式
本发明在其应用中并不限于在下列描述中所陈述或在附图中所说明之构造之细节及组件之配置。本发明能够有其它实施例且能够被实施或能够以各种方式被执行。又,本文中所使用之措词及术语是出于描述之目的且不应被看作限制性的。本文中对“包括”、“包含”或“具有”、“含有”、“关于”及其变体的使用意欲涵盖其后列出之项目及其均等物以及额外项目。
提供用于在诸如ATE系统的测试系统中实施处理的系统及方法。根据本发明的一个方面,人们已经了解,已知ATE系统主要归因于软件与硬件之间的紧密耦合而为昂贵的。根据本发明的一个方面,提供用于在ATE系统中实施处理的改良之方法,其降低软件之总成本。举例而言,在ATE系统中,实施通用计算机系统、处理器及/或软件来降低拥有及维护该等系统之成本可是有用的。在一实例中,可使用现成的硬件及软件(例如,通用计算机系统、商品操作系统(例如,Windows NT)等)来具体化本发明之各种态样。因此,开发ATE系统之成本可为使用特定开发之硬件及软件的特别设计的系统之成本的小部分。因此,任何降低开发此系统之总成本的方法均为有益的。
图1展示示意性已知测试系统架构之方块图。举例而言,已知测试系统100通常包括测试系统软件101之一个或多个部分连同任何对应的测试系统硬件102。测试系统软件可包括(例如)一通常为特殊用途操作系统之操作系统、一个或多个测试系统软件驱动器(例如,104A至104B)及经开发用于测试一个或多个被测试装置106A至106B的任何测试应用程序。在自动化测试系统100之状况下,测试系统软件101包括软件驱动器(例如,104A),其对驱动器所通信至之仪器(例如,仪器105A)是实施特定的。由此得出结论:与一个或多个软件驱动器通信的测试系统软件101经特定程序设计以经由该等驱动器(例如,驱动器104A至104B)与测试系统硬件102通信。
根据本发明的一个方面,人们已经了解,每当驱动器或其对应仪器改变时,须存在对该驱动器及/或仪器之对应改变。因为测试系统软件101(诸如操作系统、测试应用程序或其它软件实体)经特定地写入以经由该等驱动器进行通信,所以驱动器或硬件之对应改变迫使测试系统软件101中发生改变。由于此耦合,测试系统软件101须经重新认证以便与已被改变或添加至测试系统100之软件驱动器及/或仪器一起工作。另外,写入测试程序以在测试系统100上工作之使用者103须实施额外努力以确保其测试程序与已改变之环境一起工作。
图2展示另一示意性已知测试系统架构之方块图,其更详细地描述已知测试程序设计环境中之一些问题。举例而言,测试系统100可包括测试系统软件101,该测试系统软件101包含一个或多个测试应用程序201A至201Z,测试应用程序201A至201Z中的每一个可具有不同的版本,这些版本具有与一种或多种类型之软件及硬件一起工作的变化的能力。同样地,在特别测试系统上可存在一个或多个驱动器(例如,驱动器A202A及驱动器B203A),一个或多个驱动器中之每一个可具有与其相关联之一个或多个版本(例如,驱动器A版本202A至202Z及驱动器B版本203A至203Z)。另外的复杂化包括测试系统操作系统,其自身可具有一个或多个版本204A至204Z,且其可经组态以与任何数目个其它软件实体(包括驱动器、应用程序或其它实体)一起工作。
同样地,测试系统硬件102可包括一个或多个测试硬件实体(例如,测试硬件A205A、测试硬件B206A),一个或多个测试硬件实体可包括可具有各种接口及特征之一个或多个版本(例如,测试硬件A版本205A至205Z、测试硬件B版本206A至206Z)。根据本发明的一个方面,这些实体中之任一者中之修改可能会导致通信或功能以不同方式实施且致使总测试系统100失效。在需要以确定性方式实施测试程序之ATE环境中,此非确定性操作将是不当的。
根据本发明的一个方面,提供虚拟仪器,其使软件应用程序与基本驱动器及硬件(例如,测试仪器)隔离,以致驱动器或仪器之改变不会影响较高层软件(诸如操作系统、测试应用程序或其它软件实体)之功能。
图3展示根据本发明之一实施例的测试系统架构的方块图,此测试系统架构在测试系统之数个实体之间提供隔离。提供架构300,其中通过虚拟仪器302使可包括(例如)测试系统应用程序、操作系统或任何其它类型之软件实体的软件应用程序301与实体仪器驱动器303及实体仪器304之细节隔离。
虚拟仪器302可变为(例如)抽象化层,其使软件应用程序301与实体仪器驱动器303层隔离。虚拟仪器302可包括(例如)代码,此代码实施抽象虚拟仪器接口(未图标)与存在于实体仪器驱动器303内之函数及数据之间的映像。
根据本发明之一实施例,虚拟仪器所呈现之接口系与基本硬件无关之标准仪器接口。在一示意性系统中,依照使用者通常想要实施之功能性(例如,对于被测试装置(DUT)产生一波形)的观点而写入虚拟仪器接口。一般而言,使用者并不关心硬件之具体情况,且其仅关心提供可预测之刺激及接收可预测之结果。因此,提供接口,其向使用者呈现与硬件无关之功能接口,使用者的测试程序可以一标准方式存取该等接口。由于虚拟仪器之该标准化,可添加或替代基本实体仪器驱动器及其对应仪器而不会影响上层软件应用程序301之操作。
系统平台架构
本发明之各种态样可经实施为整个系统架构的一部分,此架构容许开发者、设备制造者、测试设备公司及其它类型之使用者程序设计用于测试各种被测试装置(DUT)的测试程序。
在如图4中所示的特定架构400中,一个或多个测试程序405A至405Z由一个或多个使用者开发以对平台软件401进行操作。详言之,测试程序405A至405Z可经程序设计以经由虚拟多位点仪器层404A至404Z而存取测试硬件。以下更详细地论述该等虚拟多位点仪器,但该等虚拟多位点仪器一般而言在功能上类似于以上虚拟仪器,类似之处在于,其提供虚拟接口至一个或多个硬件装置。根据一实施例,该等接口可能够呈现一用于在ATE系统中实施测试功能之与硬件无关之接口。
在一实施例中,至实体硬件块之软件接口经实施至在本文中被称作“实体仪器”(PI)模块者。每一仪表硬件块伴随有相关联之PI模块,此PI模块实施硬件所提供之基本功能性。根据一实施例,使用者的测试程序(TP)并不直接与PI层(403A至403Z)实体(例如,PI模块)互动。实情为,依照使用者测试程序之观点,经由以下进一步论述的在本文中被称作“虚拟多位点仪器”(VMI)者来进行与测试仪表之互动。在一实施例中,VMI通过使用一个或多个PI来实施其功能性,一个或多个PI又存取一个或多个仪器。
根据本发明之另一实施例,提供在本文中被称作虚拟多位点仪器(VMI)者,其有助于管理多个测试位点。在传统测试环境中,人们已经了解,将一位点作为一单实体进行管理,这是由于,若组态一特别测试位点,则为了对所使用之特别测试硬件特定的特别位点开发测试程序。若需要多个位点来实施额外测试(例如,以满足增加的测试容量),则购买额外的测试硬件组态,且允许测试程序进入额外位点。
根据本发明的一个方面,由于经由抽象化层(例如,虚拟仪器层)而自测试程序抽象化基本硬件之细节,故可独立于测试硬件而管理测试程序,且该抽象化层能够管理测试程序经由抽象化层向多个位点之监督。在一实施例中,虚拟仪器可具有映像至多个仪器位点之能力。以此方式,维护测试程序且向多个位点监督测试程序所需的时间得以减少。
在一实例中,PI可经由在本文中被称作“系统PI”之特别限定之PI而存取测试系统资源。根据一实施例,系统PI层(例如,层402A至402Z)提供一允许其它PI使用测试系统资源(诸如系统内存、系统触发器及其它资源)的接口。在另一实施例中,系统PI可提供通信接口至测试系统中之其它仪器。
实际上,(例如)在通用计算机系统中可将PI实施为软件链接库函数(例如,如Windows NT操作系统中熟知之动态链接链接库(DLL))。视存在于测试系统中之硬件而定,可按照需要加载适当之PI模块。
在一实施例中,由唯一识别符唯一地识别每一PI。在一实例中,唯一识别符在测试系统中可为唯一的以便唯一地识别一特别PI实施。该识别可(例如)可用于通过测试系统内之其它实体来与PI通信。
根据一实施例,系统层(例如,如由系统驱动器实施的系统层)建立接口,其允许VMI及PI建置于系统层上。在另一实施例中,VMI层自硬件提供抽象化层,其通过PI及系统驱动器软件予以封装。在另一实施例中,系统层亦可将函数暴露于用于系统特定资源(例如,校准仪)的测试程序。
在另一实施例中,测试程序将任何VMI函数暴露于使用者--测试程序以获得使用者所希望的测试解决方案特征的方式提供这些函数作为虚拟仪器。接口由以下规则引导:唯添加、现存函数在执行功能性或效能方面不改变。又,在一实施例中,每一模块对正与之进行互动之模块实施版本检查,以使得模块之间的充分效能得以确保。
该等规则可允许(例如)模块之完全正向-反向兼容性。亦即,可独立地对每一模块进行版本更新且所有版本可互换地工作。此容许(例如)VMI之给定版本所设计的测试程序可使用等于或大于在建立及编译该测试程序时所使用之版本的任何PI及系统驱动器(具有相同类型)版本。
根据另一实施例,架构400可包括平台软件401。在一实施例中,已知计算机操作系统所提供之功能性经抽象化而成为平台软件层之部分。根据一实施例,平台层经抽象化以使得几乎任何操作系统均可与ATE测试器一起使用,诸如如以下进一步论述之通用操作系统。在一实施例中,平台软件层401提供ATE测试器之所有各种组件进行操作及通信所需之基本功能性。在一实施例中,Windows XP或Windows Vista操作系统可用作基础操作系统,其可管制各种ATE测试器组件所需之基本功能。然而,应了解,可使用其它操作系统。
图5展示根据本发明的实施例的测试系统架构400之更详细实例。如所论述,架构500可包括一实施测试系统平台之基本功能的平台软件实体501,且可受诸如Windows XP或WindowsVista操作系统之通用操作系统的支持。在本发明的实施例中,特别测试仪器之虚拟表示经抽象化以使得任何虚拟仪器之功能及功能性与测试系统之其它抽象化层隔离。通过如以上所论述以良好限定之程序设计接口来隔离诸层,维护PI、VMI等之版本之间的接口及其函数在内存中的位置,即使修改了平台的组件,在平台上开发的测试程序仍继续运作。
根据本发明之另一实施例,提供在本文中被称作虚拟多位点仪器(VMI)者,其有助于管理多个测试位点。在传统测试环境中,人们已经了解,将一位点作为单实体进行管理,这是由于,若组态一特别测试位点,则为了对所使用之特别测试硬件特定的特别位点开发测试程序。若需要多个位点来实施额外测试(例如,以满足增加的测试容量),则购买额外测试硬件组态,且允许测试程序进入额外位点。根据本发明的一个方面,由于经由抽象化层(例如,虚拟仪器层)而自测试程序抽象化基本硬件之细节,故可独立于测试硬件而管理测试程序,且该抽象化层可能够管理测试程序经由抽象化层向多个位点之监督。在一实施例中,虚拟仪器可具有映像至多个仪器位点之能力。以此方式,维护测试程序且向多个位点监督测试程序所需的时间得以减少。
在架构500中,可限定一个或多个虚拟多位点仪器(504A、504B),且资源(例如,一个或多个仪器或位点(505A至505C))可被映像至虚拟多位点仪器(VMI)。类似于虚拟仪器,虚拟多位点仪器经由一个或多个实体仪器驱动器程序(例如,PI503A至PI503C)而与仪器505A至505C通信。类似于虚拟仪器,虚拟多位点仪器并非硬件实施特定的,而实情为,功能性经抽象化且得以映像至用于特别硬件之功能。
根据一实施例,应了解在虚拟仪器504A上执行测试程序,例如,可在多个仪器位点(仪器505A及505C)处执行该测试程序。根据一实施例,作为多个位点被抽象化成单实体的结果,测试程序之修改致使在多个位点处更新该测试程序。由于此能力,对多个位点上的测试程序之管理得以简化。
根据本发明的一个方面,ATE测试器之功能性如图4中所示在一系列抽象化层中得以抽象化。根据一方法,测试程序层表示由ATE测试器用来与使用者进行互动(通常经由测试程序)之功能及功能性的抽象化。在本发明的另一个方面中,实体仪器层表示与ATE测试器上之实体硬件仪器通信所必要之硬件实施细节的抽象化。在本发明之另一实施例中,ATE测试器之功能分解成:虚拟仪器层,其表示用以将来自测试程序层的测试请求映像至实体仪器层之功能性的抽象化;系统层,其表示由实体仪器层用来与其所表示之实体硬件通信之功能性的抽象化;及平台层,其表示用以提供平台之功能及功能性的抽象化,其它抽象化层可在该平台上操作。在图4中没有显示另一实施例中,ATE测试器之功能进一步经抽象化成接口层,其表示用以管理且标准化各种抽象化层之间的通信之功能性之抽象化。将在以下更详细地论述图4中所示之层。
在典型实施例中,参看表示ATE测试器之功能的抽象化层来描述该ATE测试器。在一实施例中,抽象化层形成系统架构之基础。在一实例中,测试程序形成测试程序层之一部分。在另一实施例中,使用者经由测试程序层与所实施测试之结果互动。在另一实例中,使用者可经由测试程序层对待在ATE测试器之特定仪器上实施的测试请求进行排程。熟习此项技术者应很好地理解,多个测试程序可易于并入测试程序层中。
平台抽象化层
在另一实施例中,已知计算机操作系统所提供之功能性经抽象化而成为平台层之部分。在一实例中,平台层经抽象化以使得可采用几乎任何操作系统以供ATE测试器使用。根据本发明的一个方面,平台层提供由该ATE测试器的各种组件采用以便进行操作及通信之基本功能性。在图4所示之实例中,平台层形成架构之基础。在另一实施例中,Windows XP用作形成平台层之一部分的操作系统。在此情况下,操作系统管理各种ATE测试器组件所采用之基本功能。
在另一实施例中,C++类别及C例程之链接库向ATE测试器之各种组件提供操作系统服务。根据一实施例,C++类别及C例程之链接库为平台层之部分,其允许使用几乎任何基础操作系统作为平台层之部分。在另一实施例中,Windows XP及INtime操作系统提供ATE测试器所采用之基本功能性,但应了解,可使用任何实时操作系统或具有实时扩展之通用操作系统。又,熟习此项技术者应了解,可采用许多程序设计语言及许多类别之链接库来为ATE测试器之各种组件提供系统服务,且平台层并不限于C++类别及C例程之链接库以提供操作系统服务。
在一实例中,平台层具有提供确定性功能之能力。在本发明的实施例中,通过采用经增强而成为确定性操作系统之“现成”操作系统来提供确定性功能。举例而言,Windows XP用作现成操作系统,且通过采用实时扩展而使其为确定性操作系统。在另一实施例中,INtime操作系统提供使操作为确定性操作之实时扩展,然而,应了解,可使用任何其它的实时扩展。
在典型实施例中,平台层管理ATE测试器之其它抽象化层之操作。
虚拟仪器抽象化层
在本发明的实施例中,特别测试仪器之功能经抽象化成虚拟表示,以使得其功能与测试系统之其它抽象化层隔离。举例而言,一仪器之功能可表示于虚拟层中,从而允许其它抽象化层经由虚拟化而存取仪器功能性。根据本发明之方面,可使与该虚拟化之通信标准化而无需受任何特别硬件实施细节的束缚。在典型实施例中,虚拟仪器层进一步经抽象化成虚拟仪器模块(“VI模块”),其用以表示用以测试装置的一群仪器之虚拟化。根据本发明的一个方面,虚拟仪器模块可表示任何数目个实体硬件块。在一实施例中,VI模块表示由ATE测试器之实体硬件使其可用之功能性。在另一实施例中,使用者经由测试程序而与VI模块建立接口,且该VI模块管理致使任何数目个实体硬件块实施其个别测试功能的函数及函数调用。
根据本发明的一个方面,虚拟仪器层并不含有任何硬件特定实施细节。实情为,在一实例中,虚拟仪器层含有用以调用确实含有特定硬件实施细节之另抽象化层的功能性。在此实例中所述之分离允许将额外仪器容易地并入VI模块中。在另一实施例中,当添加新硬件至测试器时,添加新函数调用(其映像至含有特定硬件实施细节之抽象化层)使测试器能够采用新功能性。在本发明的另一个方面中,可通过建立新虚拟仪器模块而添加新功能性。应认识到,通过建立新虚拟仪器模块,添加新功能性对ATE测试器之现存功能并无影响。在一实施例中,虚拟模块可表示软件之各种版本,从而允许在ATE测试器上发生软件版本更新同时保证较旧的版本及功能性不受影响。在一实施例中,将虚拟仪器模块实施为动态链接链接库。在又一实施例中,可将虚拟仪器模块实施为运作时间系统链接库。
实体仪器抽象化层
在一实施例中,实体仪器层表示ATE测试系统之硬件特定实施细节之抽象化。在另一实施例中,实体仪器层进一步经抽象化成实体仪器模块(“PI模块”)。在一实例中,每一实际硬件块伴随有实施硬件块的基本功能性的PI模块。由特别硬件块使其可用之功能性经常被称作资源。在一符合本发明之原理之实施例中,将PI模块实施为动态链接链接库。或者,可将PI模块实施为RSL。
根据本发明的一个方面,虚拟仪器层调用实体仪器层以存取安装于ATE测试器中之硬件的特定硬件实施细节。在一实施例中,此由VI模块而实现,该VI模块调用PI模块以存取该PI模块所表示之硬件特定细节。在一实例中,PI模块表示能够提供时脉同步信号至ATE测试器之实体硬件块的特定硬件实施细节。在一实施例中,VI模块管理对PI模块之致使实体硬件块产生时脉同步信号之函数调用。
参看示意性图6A及6B,可更详细地看出各种抽象化层之间的互动。如此等说明所示,测试程序层(使用者应用程序/测试应用程序)将请求导向至虚拟仪器层之VI模块(虚拟仪器/VI),其又将请求导向至实体仪器层之PI模块(实体仪器/PI)。
图6A另一示意性架构,其展示根据本发明的实施例之示意性测试系统架构。使用者应用程序601存取一个或多个虚拟仪器(例如,虚拟仪器602A至602N)。如所论述,虚拟仪器可包括任何数目个实体仪器(例如,实体仪器603A至603N)。此容许(例如)测试系统实施在其它情况下将分散于个别实体仪器中之功能。
在一实施例中,VMI对任何实际硬件实施没有特定认识。此认识可与“实体仪器模块”(PI,例如,实体仪器603A至603N)一起存在。根据一示意性实施例,每一实际硬件块伴随有一实施彼硬件之所有基本功能性的PI模块。VMI使用一个或多个PI所提供之功能性来实施将向使用者呈现之功能性。在其它实施例中,视测试系统开发者及/或应用程序之要求而定,VMI可具有一些认识。
根据一实施例,PI模块自身并不直接通信至硬件而是经由“系统PI”实体(例如,系统PI604)而通信。系统PI604实施允许PI与驻留于测试系统硬件的测试头上之仪器通信的功能性。在另一实施例中,VMI可经由系统PI直接通信至硬件。在此实施例中,VMI亦可将通信通知给PI,以使得PI按照需要匹配硬件状态。
应了解,作为说明且并非限制来呈现图6A至6B。图6A亦并入有以下将进一步论述的在实体仪器层与系统层之间的示意性互动。
在一实施例中,如自图6A至6B可看出,VI模块可并入有众多PI模块,且甚至共享PI模块。根据本发明的一个方面,通过将硬件资源模块化成PI模块,本发明为基于此模型之任何测试器提供弹性及适应性。根据本发明的另一个方面,可易于响应于额外测试需要而程序设计新PI模块,且可在新测试器之设计及制造中利用旧PI模块。在一实施例中,提供基础函数调用类别,其表示通常用于测试任何装置之功能性。在一实施例中,可将这些基础函数调用并入PI模块中且使其可用于经由VI模块由测试程序使用。
系统抽象化层
根据本发明的一个方面,实体仪器层并不直接通信至其所描述之实体硬件块。在一实施例中,PI模块传递请求、函数调用及/或数据至系统层。根据本发明的一个方面,系统层表示允许PI层与安装于ATE测试器中之实体硬件块(亦即,仪器)通信的功能及功能性之抽象化。
如自图6C中之实例可看出,实体仪器层之PI模块(展示为PI)通信至系统层(展示为系统PI),系统层将调用映像至ATE测试器之实体硬件。在一实施例中,系统层包括系统PI模块。根据本发明的另一个方面,系统层表示用以自其它抽象化层请求信息并通信信息以便向平台层报告的功能性之抽象化。
界面
根据本发明的另一个方面,管理在抽象化层之间对函数调用、请求及数据传送之传递的功能性亦在抽象化于接口层中。在本发明的实施例中,接口层包括用以管理各种其它抽象化层之间及之中之通信的功能性之抽象化。在一实施例中,接口层管理函数调用之通信、数据之传送及每抽象化层内所含有之模块之间的任何其它通信。根据本发明的一个方面,接口层确保ATE测试器之各种模块之间的通信以预期格式发生。应了解,通过确保通信以预期格式发生,各种模块将不管实施于任何特别测试器上之硬件而以相同方式通信。
虚拟机器
根据本发明的一个方面,人们已经了解,在一个或多个虚拟机器上实施测试器系统之各种组件有益处。如此项技术中已知,可将该等虚拟机器实施为由一个或多个计算机系统支持的虚拟机器之部分。许多不同类型之平台支持虚拟化及虚拟机器,且本发明并不限于任何特别平台。一实施虚拟化之该类型的系统架构作为实例展示于图6C中。
根据本发明的一个方面,人们已经了解,通过使使用者层(例如,测试器接口)之功能性与实体层(例如,VMI及PI实施)分离,更一般化之硬件及软件可用于使用者层组件或不需要特殊化硬件及软件之任何其它类型的组件。因为可以此方式对系统进行架构,所以可显著降低生产该测试器之成本,此系由于可使用现成的硬件(例如,PC)及软件(例如,OS)来代替特殊化组件。
另外,人们已经了解,通过使使用者层组件(包括,例如,测试程序)分离,可修改测试器平台OS及相关联的测试器组件而不会影响使用者层组件。亦即,若维护向使用者层呈现的测试器接口,则测试程序及其它使用者层组件在遇到改变时一致地运作。以此方式,可更容易地在具有不同系统组件(诸如软件及硬件)的测试系统之中转移使用者层组件(诸如测试程序)。另外,在该等系统上开发的测试程序随时间流逝更为有用,这是由于,在需要改变关于测试系统之基本硬件及软件时,不需要重新程序设计及测试这些测试程序。为此目的,可提供一个以上虚拟机器,至少其中之一用于使用者阶层组件且另一者执行测试器平台之至少一个组件。如先前所论述,在正常ATE实施中,作为单实体来开发且维护测试系统、测试程序及相关联的组件,从需要在发生最轻微改变时进行重新测试及认证。结果,人们已经了解,正常ATE实施的弹性较小,需要较大努力来维护且因此较不有用。
版本更新
图7展示一根据本发明的实施例的测试系统平台的方块图,其说明实体仪器版本之改变。举例而言,使用者可开发测试应用程序701,其适合于与示意性实体仪器版本1.0(项目702A)一起工作。在稍后某时,可使一不同于较早版本之实体仪器版本可用。举例而言,实体仪器可具有已添加于硬件之较近版本中之额外能力。同样地,可提供实体仪器驱动器,其包括至实体仪器之新版本之不同的接口。
在一实例中,实体仪器版本1.0(702A)可通过预设而向被测试装置产生5伏特之输出电压。在实体仪器版本Z(项目702Z)中,输出电压之默认值可为不同的(例如,64伏特)。由于此改变,测试应用程序701可能不以所指示之方式工作。因此,根据本发明的实施例,提供虚拟仪器实体,其与实体仪器版本无关,然而,其却经设计以在较近的硬件及驱动器软件变得可用时支持额外功能性。
同样地,若软件平台之新版本变得可用,则与特别实体仪器之一个或多个版本一起使用该新版本可为有用的。实际上,在一些测试组态中,可能需要混合未经组态成一起工作的实体仪器之多个版本与测试应用程序。根据本发明的实施例,提供虚拟仪器,其使测试硬件自其相关联之软件应用程序301解耦合。
维护函数引用
根据本发明的一个方面,提供一用于提供软件功能之方法,该方法容许对不同软件及硬件版本之兼容性。在一实施例中,提供虚拟仪器之功能,其在版本之间保持不变。更特定言之,在添加函数至该虚拟仪器时,旧函数得以维护,且添加功能性至预定内存结构。向软件模块添加功能性而不会改变对内存中预先存在之函数的引用。由于函数引用不变,故额外功能性在添加至内存结构时不会打断现存连接。
根据本发明的实施例,对于虚拟仪器维护虚拟函数表(例如,在C++程序设计语言中,为熟知之虚拟方法表(“vtable”))。在一实施例中,在该虚拟仪器vtable的版本中,包括一在vtable中具有已限定的位置的基础功能性集合。在虚拟仪器表的后续版本中,将额外函数添加至vtable,同时为该基础功能性集合维护vtable之相同位置。以此方式,当添加额外函数时,函数及其至其它软件实体的连接得以维护而不会打断现存程序。举例而言,基础vtable之后可为一包括额外功能性之导出vtable。尽管如以下所论述可使用vtable来维护函数引用,但应了解,可使用其它方法来确保不会打断函数引用(例如,函数仲裁或追踪函数)。
图8展示一可用以实施本发明之各种方面的vtable内存结构之方块图。如图所示,vtable 800包括对应于与特别仪器驱动器相关联之功能的一或多种方法801A至801E。在特别功能(例如,方法E(801E))被修改的已知情况下,该方法之行为改变,且因此使用该功能进行通信之任何硬件或软件并不以在较早版本中最初所计划之方式实施。举例而言,若不正确地调用方法E(包括不同默认值或以不同格式传回数据),则调用函数将不同于预期地实施。根据本发明的一个方面,提供一内存结构,其容许添加软件特征而不会打断现存连接。
示意性版本更新架构
图9展示一根据本发明的实施例的架构900。详言之,应用程序901可使用一个或多个虚拟仪器,一个或多个虚拟仪器中之每一个可具有变化之特征集合,其有助于测试系统之软件模块之中的软件兼容性。举例而言,可提供虚拟仪器V.1.0(项目902A),其被映像至一个或多个实体仪器(PI)驱动器。亦即,可容许特别虚拟仪器存取实体仪器驱动器之一个或多个版本。
已知地,当添加一仪器至系统时,与彼新仪器相关联之驱动器更换仪器驱动器之先前版本。根据本发明的一个方面,提供一方法,其中不同版本之仪器可用于同测试系统内且可经由单虚拟仪器对其进行存取。
在一实例中,虚拟仪器v.1.0(项目902A)可经组态以经由具有一函数元素集合[a,b,c,d,e]之实体仪器驱动器v.1.0(项目903A)而通信至仪器v.1.0(项目904A)。另外,虚拟仪器v.1.0(项目902A)可能够使用实体仪器驱动器v.y(项目903Z)来通信至具有函数集合[a,b,c,d,e′,f,g]之仪器v.y(项目904Z)。因此,应用程序901可能够视应用而定可使用一仪器之任何版本及其相关联之驱动器而不会有冲突。
图9B展示一根据本发明的实施例的内存结构之方块图。如根据本发明的一个方面所论述,引入额外硬件(其可包括与先前函数相比经修改之一个或多个经修改函数)或利用新近引入之硬件及软件中之额外功能性可系有益的。如图9B中所示,与实体仪器版本v.1.0相关联之vtable911包括一个或多个函数[a,b,c,d,e]。在一稍后时间点,使实体仪器之较近版本可用,其具有包括函数集合[a,b,c,d,e′,f,g]之对应vtable 912。
根据本发明的一个方面,与实体仪器相关联之vtable之另一版本包括维护来自先前版本之相同函数引用,以确保调用特别函数之软件可将相同函数定位于相同位置中。因此,例如,将函数A(项目913A)映像至vtable之下一版本之函数A,且将其定位于相同内存位置中。另外,在特别函数在较近版本中被修改之另一实例中,将现存函数(例如,函数E(项目914A))维护于vtable之较近版本之相同内存位置中。以此方式,可将实体仪器之较新版本添加至系统而不会影响现存软件及存取该较近版本之应用程序。
根据本发明的一个方面,经修改及/或经添加功能性系被添加至vtable之后续部分以使得旧应用程序与实体仪器之较新版本之间的连接得以维护。根据一实施例,这些经修改或经添加函数系被添加于先前版本功能性之后。举例而言,如图9B中所示,经修改函数915e′系被添加于原始函数914Be之后。另外,如图9B中所示,额外函数f及g为可添加于基础函数a至e之后的经添加函数916。以此方式,功能性(不管是经改变还是添加之功能性)不会扰乱vtable内之现存引用。因此,不会打断旧应用程序与实体仪器之新版本之间的现存连接。
另外,应了解,PI vtable的较近版本可用以通过遵守以上所论述之惯例来存取特别仪器硬件之相同或先前版本。
图10展示一根据本发明之另一实施例的内存结构之方块图,其展示使用如以上所述之程序及惯例如何维护反向兼容性。详言之,PI vtable之版本2.0(项目1001)包括众多方法,该等方法包括集合[a,b,c,d,e,e′,f,g]。由于vtable之较近版本包括来自PI之先前版本之所有功能性,且其在PI vtable内的位置得以维护,故较近版本之PI能够与仪器硬件之当前版本及较早版本通信。举例而言,仪器版本1.0(项目1002)及仪器版本2.0(项目1003)所使用之方法a系相同的,且版本2.0之PI(项目1001)与仪器之先前版本之间的反向兼容性得以维护。
根据一实施例,在新方法被添加于仪器之较近版本(例如,仪器版本2.0(项目1003))的状况下,彼额外功能性系被添加至vtable之新版本的末端。因此,在如图10中所示之实例中,先前限定之方法e映像至仪器版本(项目1002)而不会打断PIvtable之新版本之间的通信,同时仍支持用于与仪器之版本2.0(项目1003)通信的经修改方法e′。只要VMI知道调用何物(例如,调用PI之何版本(例如,在抽象类别中所识别之版本号)),组件之间的连接便不会被打断。
可(例如)通过提供一由包括经修改或经添加之功能性之较近类别继承的抽象类别而实施该反向兼容性。以此方式,vtable得以建构以致基础数据结构及相关联之方法包括相同之vtable函数位置。
因此,总而言之,对于软件之每一连续修订本,可使用维护先前版本vtable之结构的标准vtable结构。由于维护了该结构,使用标准vtable结构之应用程序或其它程序可存取较新及较旧方法以及硬件之较新或较旧版本。然而,应了解,其它方法可用于维护函数引用,且不需使用vtable。
同样地,若虚拟仪器经修订以利用较新函数,则相同程序设计规则可用以确保软件(及因此,硬件)之较旧版本可与虚拟仪器版本通信。举例而言,若引入虚拟仪器版本X(项目902Z),则虚拟仪器版本X将维护与先前版本相同之vtable结构,且另外,可在虚拟仪器内包括额外功能性。因此,提供于虚拟仪器之各种版本中的特定函数可在实体接口驱动器之不同版本之间具有正向及反向兼容性。
如图9C中所特别展示,VI版本1.0之vtable(项目921)可能够存取由实体接口驱动器之各种版本提供之特定函数。一建立于VI中之特别函数可调用PI中之实施VI之较高层函数的一个或多个函数。如所示,函数A至E(项目925A至925E)使用PI版本1.0(项目922)或PI版本2.0(项目924)中之函数a至e。以此方式,由于在vtable结构内维护函数引用,故可更换与虚拟仪器方法兼容之实体仪器驱动器。尽管展示VI之函数与PI之函数之间的一对一映射,但应了解,可在函数之间可能有其它调用样式,且提供所示映像以说明本发明之各种方面且仅对于实例提供所示映像。
可展示,与虚拟仪器相关联之vtable之较近版本与实体仪器驱动器之较早版本以及实体仪器驱动器之较近版本两者兼容。举例而言,如图9C中所示,经修改方法E′(项目926A)被添加至虚拟仪器vtable,该方法对应于实体仪器驱动器之版本2.0(项目924)之e′函数。举例而言,可提供VI之新版本,其利用实体仪器驱动器之较近版本中之额外功能性。
另外,以与对实体仪器驱动器作出之改变大致相同的方式,可将经修改功能性及/或额外功能性添加至vtable结构之末端以致不会修改原始功能性。因此,实体仪器驱动器之较旧版本(例如,PI版本1.0)能够与VI之较近版本(例如,版本2.0)一起工作。亦即,VI之较近版本可与PI之较早版本通信。以此方式,维护ATE系统内之软件实体之间的正向与反向兼容性。
程序设计实例
根据本发明的实施例,仪器独立性是测试系统架构之重要特征。此特征允许对每一仪器之独立改良或修改而无需协调之同时升级。为了维护此独立性,测试系统经由系统PI提供系统驱动器函数以管理同步及触发子系统。在此机制中,系统PI充当仪器之间的介体。系统PI管理信号线之使用及可用性,设定触发连接及模式,且保存延迟信息并执行其它内务处理功能。
由使用者程序或应用程序(例如,901)开始,使用者程序调用虚拟多位点仪器(VMI)之函数,虚拟多位点仪器又调用仪器实体驱动器(或PI)之函数。当PI得以建立时,为其提供对系统PI之存取用于系统阶层函数、系统资源(例如,内存、触发子系统等)之校准及使用。以下论述经由图10中所示的测试架构来存取硬件的使用者程序的实际实例。
考虑被映像至VMI所调用之“Control”的数字仪器资源,在运作一样式时“Control”产生脉冲。该数字仪器连接至被映像至VMI所调用之“Vcc”的V/I资源,“Vcc”使用仪器作为量测选通以量测在该样式中彼点处之Idd电流。测试代码可能看起来有点类似于:
.
.
.
Control→ConnectTrigger(9,′Iddmeas′);
Vcc→SetModeIMeasure(100ma);
Vcc→ConnectMeasStrobe(′Iddmeas′);
Control→RunPattern(′mypat′);
Wait(100ms);
Vcc→GetMeas(&Idd);
.
.
.
在第一行(Control->ConnectTrigger(9,′Iddmeas′);)中,VMI首先对映射至其之资源(PI中之资源)进行调用,且Pi为名为“Iddmeas[site]”之每一位点请求一特定触发线至一信号线的连接。若其并非如此且充足的信号线系可用的,则保留信号线(通过名称)且将连接计数器设定为1,若信号线已存在,则使连接计数器加1。在不足的信号线可用的情况下,可产生警报。在成功保留了信号线后,VMI接着指示仪器PI为每一位点将样式位9连接至信号“Iddmeas[site]”。
每一PI检查可用之触发线且使连接开始。PI接着请求系统PI进行其所选之触发线至名为“Iddmeas[site]”之信号的连接。仪器PI通过将关于其位置、选定之触发线及连接之方向(在此状况下为异步俯冲)及待连接至之信号的信息发送至系统PI来进行此连接。系统PI设定交叉点函数中之适当连接且设定选定之触发线之模式。现使样式位9驱动名为“Iddmeas[site]”之信号线。
在第二行中,将VMI所调用之Vcc设定为在100ma范围内之电流量测模式。在第三行中,指示VMI所调用之Vcc将量测选通设定为触发模式且将选通连接至处于接收模式的名为“Iddmeas”之信号。此可(例如)通过使Vcc VMI对系统PI进行调用以保留信号线而得以实现,但由于已保留了信号线,故可简单地使连接计数器加1。接着Vcc VMI调用个别仪器PI以进行连接。
VMI仪器使至一可用之触发线的连接开始且请求系统PI将选定之触发线连接至处于异步接收模式之“Iddmeas”。
接下来,运作该样式且将量测结果储存于机上。此后可为延迟且接着撷取量测结果。连接持续且可用于后续测试中,因此在再次需要连接时不必对连接进行重新程序设计。可能会出现不再有足够的信号线可用于后续测试中的情形。在此状况下,可使用断开函数来释放不再需要之信号线。系统PI可维护连接之计数,且在此计数为零时将兑现来自VMI之任何断开函数调用。在此实例中,为了释放“Iddmeas”,可添加下列行:
Control→DisconnectTrigger(9,′Iddmeas′);
Vcc→DisconnectMeasStrobe(′Iddmeas′);
在以上第一行中,数字VMI“control”可指示仪器PI断开,PI请求自系统PI断开,接着控制VMI请求名为“Iddmeas”之信号断开。系统PI使连接计数器减1,但并不释放信号线,此系由于连接仍存在。在以上第二行中,Vcc VMI同样地指示仪器PI断开,接着请求自系统PI断开。在此情况下,系统PI使连接计数器减至零且将信号线解除配置以供稍后使用。
根据一实施例,系统PI以稳固方式管理资源(信号线)。举例而言,在程序加载时且在测试开始时,可将所有信号线解除配置。又,由于工具可能够控制连接状态且使用者可在断点处退出等,不应错误地封锁信号线。
通过使用此实例,在两个仪器之间实施基本连接机制。如可看出,仪器功能决不取决于其正连接至之仪器中的功能之实施。此机制之缺点为,需要两行使用者代码来进行连接。然而,此架构提供使多个仪器连接至单一源之能力。
图11展示可用以实施本发明之各种方面的测试系统架构之另一实例。确定性操作系在测试应用中达成高水平重复性的一基本要求。通过减少在测试应用中与个别测试之执行时间相关联的抖动,对多个装置进行之量测将一致且准确得多。ATE工业已通过使用运作实时操作系统之专用处理器执行个别测试来解决此问题。此方法之缺点为,达成确定性操作之成本非常高。
此会对低成本测试系统产生问题,在低成本测试系统中通常仅有单一处理器可用于控制关于测试环境(例如,使用者接口、数据登入、测试执行等)之所有任务。使事情更进一步复杂的是,实时操作系统(RTOS)对于低成本平台之可用性相对小,且这些操作系统并不适合于向使用者提供友善且“好看”之使用者接口。通常,这些RTOS所提供之接口系基于文字的且一般系基于对层使用者而言非常隐秘之命令。
图11展示一包括实时组件与非实时组件之示意性架构。举例而言,该架构可包括图形使用者接口1101,使用者使用该图形使用者接口1101来实施且维护测试程序。另外,该架构可包括一资料登入处理1102,其储存自被测试装置(DUT)撷取到的测试结果。另外,系统可包括一非实时功能1103,其实施关于所执行的测试程序之流程控制。另外,该架构可实施关于测试之任何数目个非实时任务1104,诸如报告、警报或其它任务。
在本发明的实施例中,可在单独虚拟机器上实施实时组件及非实时组件。可(例如)在如此项技术中已知之相同或不同的处理器上执行这些单独虚拟机器。虚拟机器可实施虚拟机器间通信以实施各种分布式功能性。根据一方面,通过在一单独系统实体(例如,单独虚拟机器)上实施非实时组件,可降低该系统之成本,此系由于可使用现成的硬件及软件来实施该等非实时组件。
另外,该架构提供实时处理以实施关于测试一个或多个DUT之功能。举例而言,可提供测试执行控制组件1106,其管制测试功能在一个或多个DUT上之执行。系统可已限定一个或多个虚拟多位点仪器(例如,VMI1108A至1108C),一个或多个虚拟多位点仪器可用以实施使用者所提供之一个或多个测试程序。又,该架构可包括经实施以支持测试程序之其它辅助实时任务1107。该等任务可包括(例如)信号传输或其它时间相依任务。
为有助于实时处理与非实时处理之间的通信,可提供一OS间通信区1105(或在使用单独虚拟机器之状况下的虚拟机器间通信区),其允许实时任务与非实时域中之资源通信且存取该等资源。
尽管Windows XP操作系统具有熟知之图形使用者接口,但Windows XP操作系统并非实时操作系统。此基本上意谓,Windows XP操作系统不能保证将在特别量的时间内服务特别操作系统,或保证在该操作系统下运作之任务在预定时段内执行。根据一实施例,Windows XP操作系统可经修改以允许操作系统(或任何其它操作系统)提供实时能力。
根据本发明的实施例,可使用Tenasys实时扩展(INtime扩展产品),但应了解,可使用其它类型之扩展或任何其它实时操作系统(RTOS)。Tenasys提供一解决方案,该解决方案提供在单一处理器中运作两个完全不同之操作系统同时允许该两个OS之间的通信之能力。Tenasys技术允许两个操作系统在x86平台上运作而无干扰。此技术亦保证一环境中之失效(甚至灾难性失效)不会对其他环境引起任何副作用。此允许非常高之可靠性程度。
INtime产品提供实时环境,在此环境中Windows NT操作系统自身为低优先级任务。因此,所有实时任务优先于Windows NT操作系统,因此,不管Windows环境中有任何活动,均有可能保证一致的执行时间。根据一实施例,测试系统架构依赖于执行所有时间关键任务之实时环境及将执行优先级相对低之任务的非实时环境。这些操作环境将共享单一处理器系统且必要时彼此通信。
根据本发明之一实施例,测试架构可经调适以实施确定性处理,如2005年9月2日申请的题为“SYSTEM AND METHOD FORPERFORMING DETERMINISTIC PROCES SING”之美国专利申请案第11/218,915号中所论述,该案之内容以引用的方式并入本文中。然而,应了解,可使用具有实时能力之其它操作系统,且本发明并不限于任何特别类型之操作系统。
通用计算机系统
可在一个或多个计算机系统上实施根据本发明之各种实施例。这些计算机系统可为(例如)诸如基于Intel PENTIUM型处理器、Motorola PowerPC、AMD Athlon或Turion、SunUltraSPARC、Hewlett-Packard PA-RISC处理器或任何其它类型之处理器的通用计算机。应了解,任何类型之计算机系统中之一或多者可用以根据本发明之各种实施例而实施处理。另外,系统可位于单一计算机上或可分散于一通信网路所附接之多个计算机之中。
根据本发明的实施例之通用计算机系统经组态以实施所述功能中之任一者,包括(但不限于)实施与测试程序相关联之处理。应了解,系统可实施其它功能,且本发明并不限于具有任何特别功能或功能集合。
图12展示一可实施本发明之各种方面的通用计算机及网络系统之方块图。举例而言,本发明之各种方面可经实施为在一个或多个计算机系统(包括图12中所示之通用计算机系统1201)中执行的特殊化软件。计算机系统1201可包括一处理器1204,其连接至一个或多个内存装置1205(诸如磁盘驱动器、内存或用于储存数据之其它装置)。内存1205通常用于在计算机系统1201之操作期间储存程序及数据。计算机系统1201的组件可通过诸如网络1210之互连机构予以耦合,互连机构可包括一个或多个总线(例如,在整合于同一机器内的组件之间)及/或一网络(例如,在存在于单独的离散机器上的组件之间)。互连机构使通信(例如,数据、指令)能够在系统1201的系统组件之间得以交换。
计算机系统1201亦包括一个或多个输入/输出(I/O)装置1206,例如,键盘、鼠标、轨迹球、麦克风、触控屏幕、印表装置、显示屏幕、扬声器等。另外,计算机系统1201可含有一个或多个接口(例如,网络通信装置1208),其将计算机系统1201连接至通信网路(除网络1210之外,或作为对网络1210的替代)。
储存系统1209通常包括一计算机可读及可写非挥发性记录媒体,其中储存有信号,该等信号限定一待由处理器执行之程序或储存于媒体上或媒体中的待由该程序处理之信息。媒体可(例如)为磁盘或闪存。通常,在操作中,处理器致使自非挥发性记录媒体将数据读取至另一内存中,另一内存与该媒体相比允许处理器对信息进行较快的存取。此内存通常为挥发性、随机存取内存,诸如动态随机存取内存(DRAM)或静态内存(SRAM)。内存可位于储存系统1209中(如所示),或位于内存系统105中。处理器104通常操纵集成电路内存104内之数据,且接着在完成处理之后将资料复制至与储存器1209相关联之媒体。已知多种机构可用于管理媒体与集成电路内存组件之间的数据移动且本发明并不限于此。本发明并不限于特别内存系统或储存系统。
计算机系统可包括经特别程序设计之特殊用途硬件,例如,特定应用集成电路(ASIC)。可在软件、硬件或韧体或其任何组合中实施本发明之方面。另外,该等方法、动作、系统、系统组件及其组件可经实施为以上所述之计算机系统之部分或经实施为独立组件。
尽管作为实例将计算机系统1201展示为可于其上实施本发明之各种方面的一种类型之计算机系统,但应了解,本发明之方面并不限于实施于如图12中所示之计算机系统上。可在具有不同于图12中所示之架构或组件的架构或组件之一个或多个计算机上实施本发明之各种方面。
计算机系统1201可为通用计算机系统,可使用高阶计算机程序设计语言对其进行程序设计。亦可使用经特别程序设计之特殊用途硬件来实施计算机系统1201。在计算机系统1201中,处理器1204通常为市售之处理器,诸如可购自Intel公司之熟知的Pentium级处理器。许多其它处理器系可用的。
该处理器通常执行一操作系统,举例而言,该操作系统可为可购自Microsoft公司之基于Windows之操作系统(例如,Windows NT、Windows 2000(Windows ME)、Windows XP、Windows Vista操作系统)、可购自Apple Computer之MAC OSSystem X操作系统、可购自Sun Microsystems之Solaris操作系统、可购自各种来源之UNIX操作系统、如以上所提及之INtime及Tenasys。可使用许多其它操作系统,且本发明并不限于任何特别的操作系统或操作系统扩展来根据各种实施例实施任何实时或非实时功能。
处理器及操作系统共同限定一计算机平台,为其写入高阶程序设计语言之应用程序。应理解,本发明并不限于特别的计算机系统平台、处理器、操作系统或网络,除非一个或多个请求项有所规定。又,对熟习此项技术者而言应显而易见,本发明并不限于特定的程序设计语言或计算机系统。另外,应了解,亦可使用其它适当之程序设计语言及其它适当之计算机系统。
计算机系统之一个或多个部分可分散于耦合至一通信网路之一个或多个计算机系统上。这些计算机系统亦可为通用计算机系统。举例而言,本发明之各种方面可分散于一个或多个计算机系统之中,一个或多个计算机系统经组态以向一个或多个客户端计算机提供服务或经组态以作为分布式系统之部分而实施总任务。举例而言,可在客户端服务器或多层系统上实施本发明之各种方面,其包括分散于根据本发明之各种实施例而实施各种功能的一个或多个服务器系统之中的组件。这些组件可为可执行代码、中间(例如,IL)代码或解译(例如,Java)代码,其使用通信协议(例如,TCP/IP)在通信网路(例如,因特网)上通信。
应了解,本发明并不限于在任何特别的系统或系统群上执行。又,应了解,本发明并不限于任何特别的分布式架构、网络或通信协议。
可使用对象导向式程序设计语言(诸如SmallTalk、Java、C++、Ada或C#(C-Sharp))来程序设计本发明之各种实施例。亦可使用其它对象导向式程序设计语言。或者,可使用函数式语言、脚本式语言、汇编语言及/或逻辑程序设计语言。可在非程序设计环境(例如,以HTML、XML或其它格式建立之文件,当在浏览器程序之窗口中观看该等文件时,其再现图形使用者接口(GUI)之方面或实施其它功能)中实施本发明之各种方面。本发明之各种方面可经实施为已程序设计或非程序设计组件或其任何组合。
此系统之各种方面可由系统100内之一个或多个系统予以实施。举例而言,系统可为单一或多处理器系统。在一实例中,系统包括在诸如个人计算机(PC)的系统上执行的软件处理。该系统(例如)可容许使用者在测试被测试装置(DUT)的测试系统中实施一个或多个功能。该等系统可包括(例如)测试系统、控制系统。
示意性客户端服务器架构
根据本发明的另一个方面,人们已经了解,测试程序软件由不同类型之使用者使用— —一些使用者开发测试应用程序,且其它使用者将已开发之应用程序用于测试过程之监督及管理。然而,这些单独类型之使用者可需视实施何功能而定使用特定使用者界面(UI)。人们已经了解,多种类型的测试器具有不同的使用者接口,从而迫使使用者理解对使设备运作而言必要之特定类型之接口。又,人们已经了解,在ATE工业中,应用程序与驱动器紧密地耦合,且使用者接口受系统软件的束缚。根据本发明的一个方面,标准使用者接口可用以存取多种测试器类型,从而减少对于使用者必要的训练量。为进一步减少所需的训练量,提供使用者特定接口,其允许使用者实施关于其角色的测试功能。
另外,根据本发明的另一个方面,提供测试架构,其容许使用者自任何位置实施测试功能。在一特定实施例中,经由浏览器程序而存取使用者接口,且使用者可自经由通信网路耦合至测试系统的任何位置实施测试功能。在传统环境中,UI通常受机器的束缚,然而,若使UI在网络上可用,则使用者可自另一位置实施测试。
图13展示根据本发明的实施例的示意性系统1300之架构图,该示意性系统1300包括一执行测试功能之服务器及再现用以实施测试功能之使用者接口的一个或多个客户端系统。应了解,图13仅用于说明目的,且其它架构可用以有助于本发明之一个或多个态样。
如图13中所示,计算机系统200(例如,如以上参看图12所述之通用计算机系统)可用以实施测试系统。计算机系统1301可包括一个或多个软件处理1305,其如以下所论述实施测试系统功能、数据库功能及接口功能。根据本发明的实施例,系统1301可为如以上参看图12所论述之通用计算机系统。为此目的,系统1301可包括一操作系统、一个或多个处理器及一个或多个I/O组件。
根据一实施例,系统1301容许一个或多个客户端系统(例如,系统1307A至1307D)及其相关联之使用者(例如,使用者1308A至1308D)存取测试功能。根据一实施例,测试系统1301与其相关联之硬件及软件系经由一个或多个通信网路1304而通信。网络1304可包括(例如)因特网、公司企业网络或其它通信网路类型。值得注意的是,使用者可经由通信网路1304在完全不同的位置处存取测试系统功能。
在一实施例中,测试系统使用者接口系基于网络之接口,其能够经通信网路被下载及观看。在一实施例中,客户端(例如,客户端1307D)包括浏览器程序(例如,Microsoft Internet Explorer浏览器程序)。使用者可登入至测试系统1301中,且系统1301可提供可由客户端使用来存取测试系统功能的一个或多个软件程序或组件1303。根据一实施例,使用可购自Microsoft公司之熟知之Windows形式接口来实施测试系统功能,且测试系统功能可经由浏览器程序(例如,1309)而被存取。实际上,客户端可下载且储存任何应用程序1310软件及/或数据库组件(例如,储存于数据库1311中的组件)以再现所论述之使用者接口。然而,尽管可使用Windows形式,但应了解,可使用任何类型之软件及/或通信方法(例如,CGI、Perl、XML等),且本发明并不限于任何特别方法。
值得注意的是,使用者可自任何网络允用客户端实施测试功能。使用者可使用(例如)网络服务自任何位置控制任何测试器,只要使用者具有至测试系统1301的连接即可。已知地,使用者接口受测试硬件的束缚且对测试硬件特定,且因此对于测试设备局部地执行使用者接口。根据本发明的实施例,使用者经由通信网路(例如,因特网)登入至测试系统1301中。
另外,根据本发明之另一实施例,向每使用者呈现其自己的GUI集合以控制测试。在使用者实施不同功能(程序设计、维护等)的状况下,测试系统1301可储存不同UI(例如,作为数据库1302中的项1306),且视登入之使用者而定,可向彼使用者呈现不同的UI。UI可包括具有一个或多个局部储存的组件的一个或多个程序(例如,应用程序1310)。另外,UI可包括一个或多个数据库,其中将储存UI组态数据。因此,使用者可在具有网络连接性之任何位置处观看定制UI,且定制UI经特制以适合使用者之特别角色。
ATE测试器中之过程
在本发明的实施例中,如图14中所示之电力轮询过程1400说明抽象化层架构内之一些模块之间的互动。以下为可(例如)使用关于图15所描述之处理流程1400而实施的示意性过程。应了解,仅作为实例且并非限制而进行以下所论述之过程。
通常在平台层中由定时器之到期在1402处使电力轮询过程1400起始。视情况,电力轮询过程亦可检查是否已发生一时间结束(EOT)事件或一程序是否已到达断点。若电力轮询定时器尚未到期(1404(假)),则主线绪执行在1406处继续。若电力轮询定时器已到期(1404(真)),则平台层向系统层传递一调用,其包括两个平台状态变量“System PowerState”及“SystemPower Interrupted)”。作为响应,系统层在1408处经由系统PI模块调用Update SystemPowerStatus函数。在一实施例中,在整个数据流已完成之后,系统PI将传回2位之数据至平台层;位1:反映电力中断,及位0:反映电力状态。通过此抽象化,平台不需知道实际上如何检查电力(例如,确定电力开关之状态、确定电压之存在等),而实情为,系统PI实施此检查功能。
处理流程视情况通过确定平台状态变量是否处于“ProgramAtBreakPoint”(未图示)而继续,若不是,则调度器控制组件在步骤1410处读取信箱且将其清空。调度器控制组件在步骤1410处取得最近组态(若存在)且比较彼组态与当前组态。在确定不同组态存在时(1412(真)),进行检查以在1414处确定PI模块是否被删除,若未删除PI模块(1414(假)),则在1420处加载新PI模块,若删除PI模块(1414(真)),则在1416处对所有已删除之PI模块调用PowerOnInit函数(在实体仪器层内)且在1418处卸载已删除之PI模块。在步骤1420处载入新PI。或者,在步骤1408之对系统PI更新之调用之后,过程可直接进行至1410以确定调度器是否接收了新组态。
过程之替代叉路1412(真)及1412(假)再次相遇,且过程在1422处确定在PI模块所表示之硬件处电力是否可用。若电力关闭(1422(假)),则在1428处调用PowerOnInit函数,若电力可用(1422(真)),则系统在1424处检查电力是否关闭或中断。若电力关闭或中断(1424(真)),则在1428处调用PowerOnInit函数。若电力未关闭或中断(1424(假)),则过程继续在1426处检查组态是否不同。先前叉路在组态测试处再次相遇。若组态并非不同(1426(假)),则过程在1438处返回至主线绪执行。若组态不同(1426(真)),则系统将视情况重新限定且更新平台状态变量“StateRecipeQualified”(未图标)。或者,回应于对不同组态之识别(1426(真)),在步骤1430处实施一确定是否加载了程序之检查。若未加载程序(1430(假)),则主线绪执行将在1438处继续。若加载了程序(1430(真)),则在1432处对所有VMI进行函数调用映像是否正常。若映像对于所有VMI为正常(1434(真)),则主线绪执行在1438处继续。若映像并非对于所有VMI为正常(1434(假)),则在1436处更新状态变量程序无效。
总之,示意性的过程确定系统是否处于电力开启状态。又,若处于电力开启状态,则测试程序及VMI可成功地满足在电力循环或重组态后存在之其对硬件的测试要求。VMI有责任进行此检查,提供对责任自平台且经提供至模块的另抽象化。
在确定系统之电力状态后,下一检查为验证该系统之实际组态。作为此过程之结果,具有遗漏或不正确硬件之已组态PI模块将其自身置入禁用状态中且将其资源公开为“PoweredOff”。若侦测到不对应于已组态PI模块之额外硬件,则验证组态过程(未图示)将公开一警告讯息。可将该警告讯息传回至平台使用者讯息传递窗口或传回至平台组态器以便在可用时显示智能型显示名称或在不可用时显示“未知硬件”讯息。
警报处理
可关于图15用对一实施例之警报处理处置的说明来进一步描述各种层之间的互动。作为说明且并非作为限制而呈现图15。
如在图15中所示之实施例中可见,各种抽象化层已进一步抽象化成其个别模块。另外,此实例展示,在每一个别模块之边界处有经设计以管理模块之间的通信之至少一个接口(1534至1552)。举例而言,系统PI 1504模块与平台层接口1532具有接口1538(经展示为平台软件w/调度器),其管理关于CheckAlarms函数调用之双向通信。在此实例中,系统PI模块1504亦与PI模块之接口1542具有一用于管理通信及函数之接口1540。
在本发明的另一个方面中,平台层表示用以登入一处理流程之结果的功能性之抽象化。如参看图15可看出,在一实施例中,作为处理流程之部分所实施之各种函数调用向平台层报告其结果。在一实施例中,平台层表示用以登入来自其它抽象化层之各种函数调用之已报告结果的功能性之抽象化。
参看示意性的警报过程1500来描述各种函数调用及功能性。作为说明且并非通过限制而呈现示意性的过程1500。警报过程1500在1502处由对系统PI之CheckAlarms()调用开始。在一实施例中,系统PI 1504对测试器之组态具有充分认识且持有所有被占用位置之清单(位置为平台概念且可由充当清单之指数的32位数字表示)。平台/调度器1508预期到已被警报的位置清单自系统PI 1504的传回。在1506处,系统PI传回一含有可能已向平台/调度器1508警报的位置的清单。在一实施例中,此清单可由系统PI 1504过滤。在一实例中,基于系统PI 1504之确定PI1512是否在其范围内的能力而进行过滤。在另一实例中,系统经组态以自动地传回不在系统PI 1504之范围内的PI 1512。为了进行说明,Ceres本体仪器在Ceres系统PI之范围内。
此处的关键概念为,并非测试器本来所有之仪器可易于整合至一总测试解决方案中--平台与PI模块之接口并不预期硬件实施。因此,在一特定实例中,可将基于GPIB或PCIExpress之解决方案完全整合为允许与硬件无关之解决方案的本体建置式解决方案。
在1510处,对在对系统PI之CheckAlarms()调用中传回的每一位置进行ServiceAlarms()调用(1502及1506)。接收ServiceAlarms(),且PI 1512(或替代地,系统PI1504(未图标))存取其硬件以确定实际警报状态是否存在。在一实施例中,通过系统PI对警报之过滤帮助执行时间,辅助维护测试平台之确定性的性质。在另一实施例中,系统经组态成不产生与量测之准确度无关或不指示硬件处于无效状态的警报。PI 1512(或者系统PI 1504(未图标))在1514处读回硬件之警报状态。步骤1514亦可包括将局域警报高速缓存清空,且可包括将硬件置于安全状态中。
在读回警报状态时,PI 1512(或者系统PI 1504(未图标))通过资源快取警报以及全位点警报(全域警报)。在一实施例中,维护快取直至进行下ServiceAlarms()调用。快取使警报能够可用于工具显示。
在1516处,对每实体化VMI 1518进行ReportAlarms()调用。在一实施例中,独立于在1502及1506处对系统PI 1504之CheckAlarms()调用中是否传回任何位置而进行此调用。根据一实例,对ReportAlarms()之独立调用系有益的,此系由于其说明了被PI(例如,1512)视为持续的且在硬件可能不指示对系统PI 1504之警报(此可发生于系统PI基于在其范围内之PI而过滤警报的实施例中)时的警报,或由于软件阶层警报可能已出现于VMI中或与VMI之映射资源一起出现。在1520处VMI 1518查询其资源中之每一个(例如,PI 1512)以确定警报是否存在。应理解,VMI 1518可具有与其互动之一个或多个PI,且图不应被解释为将VMI限于任何数目个PI互动及其相关联之资源。
回应于VMI查询,在1522处PI 1512以所请求之警报信息作出响应且将警报标记为已报告的。PI 1512可基于设计或基于PI 1512之组态而过滤掉所报告回之警报。另外,VMI 1518亦可基于设计或基于VMI 1518之组态而过滤已报告之警报。在1524处VMI 1518以ms_bool提供关于其资源之回应。在一实施例中,以一为多位点深之布尔(bool)实施回应。亦即,可建立多位点对象(例如,ms_bool、ms_float等),由程序经开发以支持之位点之数目定其大小。VMI 1518可通过位点编译警报,此系由于VMI对象可以对位点之理解而设计。在1530处向数据登入服务1554报告来自ReportAlarms之响应。或者,来自ReportAlarms之响应可与其它信息结合且向数据登入服务1554报告。
在1526处对每一实体化PI 1512(展示了一个PI,然而,许多PI系可能的)及系统PI 1054进行GetUnreportedAlarms()调用。可独立于在CheckAlarms()调用中是否传回任何位置(1502及1506)而进行GetUnreportedAlarms()调用,且或者对系统PI 1504(未图标)进行GetUnreportedAlarms()调用。在一实施例中,仅对系统PI及PI进行GetUnReportedAlarms()调用。GetUnReportedAlarms()调用允许报告由未被映射至VMI之资源进行的警报——对VMI之ReportAlarms()调用可经调适以处置对于映像至VMI之资源的所有警报(不管其是持续还是非持续的)。通过以下事实来处置持续警报或软件警报:即使系统PI传回空的位置清单至CheckAlarms()调用--仍执行ReportAlarms及GetUnreportedAlarms。
在一实施例中,在1526处PI 1512作为响应而传回2位数字,其中MSB指示全位点警报且LSB指示未报告之资源警报。在1532处向数据登入服务1554报告来自GetUnreportedAlarms()之回应。或者,响应可与其它信息结合且向数据登入服务1554报告,例如,来自ReportAlarms及GetUnreportedAlarms之响应可经结合且一起发送至数据登入服务1554。
PowerOnInitialize(POI)函数
在本发明的实施例中,作为轮询系统之电力状态的系统过程之部分,实体仪器层调用PowerOnInitialize函数。在本发明的实施例中,PowerOnInitialize函数系包括于实体仪器基础方法类别中。根据本发明的一个方面,PowerOnInitialize函数经设计以将PI模块及其硬件置于已知初始电力状态中。根据本发明的另一个方面,重要的是测试硬件通电至已知安全状态中,此系由于对平台层正在运作或PI模块经组态且加载没有保证。在一实施例中,PowerOnInitialize函数系在实体仪器抽象化层中所限定之基础函数类别中的成员。
图16展示一实施例之对PowerOnInitialize函数之实施的示意性说明1600。图16描述示意性的数据流,且不应被理解为将本发明限于所说明之唯一函数或此特别数据流。
在1602处进行PowerOnInitialization()调用。在1604处确定PI/硬件装置是否依赖于其系统电力状态以便实施其测试功能。若并非如此(1604(假)),则在1612处将PI局域高速缓存设定为初始化之状态且在1614处更新已公开资源之状态。若PI/硬件装置依赖于系统电力状态(1604(真)),则在1606处实施对于系统之电力状态检查。在一实施例中,进行GetPlatformStateInformation()调用以获得系统电力状态。在另一实施例中,GetPlatformStateInformation()调用系PI基础函数类别之部分。若系统电力并不开启((1608(假)),则在1612处将PI局域高速缓存设定为初始化之状态且在1614处更新已公开资源之状态。若系统电力开启(1608(真)),则重设PI/硬件装置。在一实施例中,实施重设以保证PI/硬件装置处于用于测试之已知状态。在重设PI/硬件装置后,在1612处将PI局域高速缓存设定为初始化之状态且在1614处更新已公开资源之状态。在一实施例中,PI资源具有电力开启或电力关闭之状态以识别其电力状态。
在另一实施例中,虚拟仪器层包括限定用以实施其功能之基本功能性的基础函数类别。在一实例中,VI模块调用GetPlaformInformation函数以得到平台状态信息。在一实施例中,虚拟仪器层包括用于报告对其资源之警报之清单的函数。在另一实施例中,警报报告函数系包括于基础函数类别中。
根据本发明的另一个方面,系统层包括限定用以实施其功能之基本功能性的基础函数类别。在一实例中,作为图14中所示之电力轮询过程之部分,平台调用UpdateSystemPowerStatus函数。在实施例中,UpdateSystemPowerStatus函数系包括于系统层基础函数类别中。在另一实例中,基础函数类别包括CheckAlarm函数,其经调适以检查位置是否具有传回警报之清单之警报。
软件精灵及规则检查引擎
根据本发明的一个方面,功能性之抽象化包括抽象化用以操作软件精灵的功能性,软件精灵经调适以产生各种抽象化层之间的接口。在一实施例中,功能性之抽象化包括接口产生引擎,其经调适以产生管理各种抽象化层之间的通信之接口。在一实施例中,接口产生引擎表示用以限定系统层中之模块与实体仪器层中之模块之间的接口之功能性之抽象化。在一实施例中,接口产生引擎表示用以限定虚拟仪器层中之模块与实体仪器层中之模块之间的接口之功能性之抽象化。在一实施例中,接口产生引擎表示用以限定虚拟仪器层中之模块与系统层中之模块之间的接口之功能性之抽象化。在另一实施例中,接口产生引擎表示用以限定系统PI模块、PI模块、VI模块与平台层之间的接口之功能性之抽象化。
在另一实施例中,功能性之抽象化包括用以操作软件精灵之功能性之抽象化,软件精灵经调适以产生各种抽象化层之模块。在一实施例中,功能性之抽象化包括模块产生引擎,其经调适以限定抽象化层中之一者中的模块。在一实施例中,模块产生引擎表示用以限定VI模块之功能性之抽象化。在另一实施例中,模块产生引擎表示用以限定PI模块之功能性之抽象化。在另一实施例中,模块产生引擎表示用以限定系统PI模块之功能性之抽象化。在另一实施例中,模块产生引擎表示用以限定平台模块之功能性之抽象化。
根据本发明的一个方面,需要验证已产生之模块以确保各种抽象化层之间的适当映射。根据本发明的另一个方面,须验证已产生之模块以确保适当功能性。在一实施例中,规则检查引擎表示用以验证已产生之模块之适当映像且确保适当功能性的功能性之抽象化。举例而言,在一实施例中,系统PI及PI实施规则检查以验证系统PI及PI可彼此一起工作而无不利互动。VMI可实施规则检查以验证资源至其之映像维护所需规则而正确地运作。
应了解,本发明并不限于以上列出且在本文中所述之实施例中之每一个,而实情为,本发明之各种实施例可单独地或与其它实施例结合而实施。
在如此描述本发明之至少一个实施例之若干方面后,应了解,熟习此项技术的普通技术人员将易于想到各种变更、修改及改良。该等变更、修改及改良意欲为本揭示案之一部分,且意欲在本发明之精神及范畴内。因此,前述描述及附图系仅作为实例。
Claims (224)
1.一种系统,该系统包含:
测试程序;
平台,该平台经调适以响应于来自测试程序的请求而产生多个函数调用;
抽象化层,该抽象化层经调适以将多个函数调用映像至将要在测试硬件上执行的指令中。
2.如权利要求1的系统,其中抽象化层进一步包含至平台的虚拟仪器(“VI”)接口。
3.如权利要求2的系统,其中抽象化层进一步包含至平台的虚拟多位点(“VMI”)接口。
4.如权利要求1的系统,其中抽象化层进一步包含至平台的系统实体仪器(“系统PI”)接口。
5.如权利要求1的系统,其中抽象化层进一步包含至平台的实体仪器(“PI”)接口。
6.如权利要求1的系统,其中抽象化层进一步包括至实体仪器(“PI”)接口的虚拟仪器(“VI”)。
7.如权利要求1的系统,其中抽象化层进一步包括至虚拟仪器(“VI”)接口的系统实体仪器(“系统PI”)。
8.如权利要求1的系统,其中抽象化层进一步包括至实体仪器(“PI”)接口的系统实体仪器(“系统PI”)。
9.如权利要求1的系统,其中抽象化层进一步包括至虚拟仪器(“VI”)接口的测试程序。
10.如权利要求1的系统,其中抽象化层进一步包括至实体仪器(“PI”)接口的测试程序。
11.如权利要求1的系统,其中抽象化层进一步包括至虚拟仪器(“VI”)接口的平台。
12.如权利要求1的系统,其中抽象化层进一步包括至实体仪器(“PI”)接口的平台。
13.如权利要求1的系统,其中抽象化层进一步包括至虚拟多位点仪器(“VMI”)接口的平台。
14.如权利要求1的系统,其中抽象化层进一步包含接口产生引擎。
15.如权利要求1的系统,其中接口产生引擎包括图形使用者接口,该图形使用者接口经调适以引导使用者通过接口的产生。
16.如权利要求14的系统,其中接口产生引擎产生接口以管理该系统的组件之间的通信。
17.如权利要求14的系统,其中接口产生引擎产生接口以管理抽象化层的组件之间的通信。
18.如权利要求17的系统,其中接口产生引擎产生接口以管理平台与抽象化层之间的通信。
19.如权利要求18的系统,其中平台与抽象化层之间的管理通信包括将多个函数调用映像至将要在测试硬件上执行的指令上。
20.如权利要求19的系统,其中映像多个函数调用包括将多个函数调用映像至虚拟仪器(“VI”)模块上。
21.如权利要求19的系统,其中映像多个函数调用包括将多个函数调用映像至系统实体仪器(“系统PI”)模块上。
22.如权利要求19的系统,其中映像多个函数调用包括将多个函数调用映像至实体仪器(“PI”)模块上。
23.如权利要求22的系统,其中映像多个函数调用包括将基础实体仪器函数调用类别映像至实体仪器(“PI”)模块上。
24.如权利要求22的系统,其中映像多个函数调用包括将基础实体仪器函数调用类别映像至实体仪器(“PI”)模块上。
25.如权利要求14的系统,其中抽象化层进一步包含规则检查引擎。
26.如权利要求25的系统,其中规则检查引擎经调适以验证至测试硬件上的指令的函数调用的映像。
27.如权利要求26的系统,其中规则检查引擎通过仿真对该函数调用的请求来验证该映射。
28.如权利要求27的系统,其中规则检查引擎通过接受响应来验证该映射,该响应作为以预期格式表现的仿真函数调用的结果。
29.如权利要求28的系统,其中规则检查引擎传回代码至操作平台,其指示该函数调用得以适当地映射。
30.如权利要求29的系统,其中规则检查引擎通过接受返回代码来识别不适当映射,该返回代码响应于并非以预期格式表现的仿真函数调用。
31.如权利要求1的系统,进一步包含在测试程序与平台之间的接口。
32.如权利要求1的系统,其中测试程序向使用者提供图形使用者接口。
33.如权利要求32的系统,其中测试程序使一使用者能够限定待在一装置上执行的测试。
34.如权利要求32的系统,其中测试程序使使用者能够将待在装置上执行的测试限定在任何时间发生。
35.如权利要求1的系统,其中抽象化层进一步包含一表示该测试系统之硬件资源之功能性的实体仪器抽象化层。
36.如权利要求35的系统,其中实体仪器抽象化层包括映像至硬件资源的实体仪器模块。
37.如权利要求35的系统,其中PI模块引起指令响应于请求而在硬件资源上的执行。
38.如权利要求35的系统,其中硬件资源包括在测试硬件上可用的至少一个函数。
39.如权利要求38的系统,其中硬件资源经调适以引起同步信号的产生。
40.如权利要求38的系统,其中硬件资源经调适以引起装置状态查询。
41.如权利要求35的系统,其中PI模块包括将致使装置依赖于装置开始状态而电力开启及/或初始化的函数调用。
42.如权利要求35的系统,其中实体仪器模块包括基础PI函数调用类别。
43.如权利要求42的系统,其中基础PI函数调用类别包括电力开启及/或初始化函数。
44.如权利要求1的系统,其中抽象化层进一步包含虚拟仪器抽象化层,该虚拟仪器抽象化层表示可在该测试系统上实施的硬件功能的虚拟化。
45.如权利要求44的系统,其中虚拟仪器抽象化层包括虚拟仪器(“VI”)模块,至少一个硬件资源被映像至虚拟仪器(“VI”)模块。
46.如权利要求45的系统,其中VI模块经调适以引起指令响应于请求而在硬件资源上执行。
47.如权利要求45的系统,其中到至少一个资源的映射是通过用于至少一个硬件资源中的每一个的至少一个PI模块得以映像的。
48.如权利要求47的系统,其中VI模块经映像至多个PI模块以再现用以测试特别装置的预限定硬件资源集的虚拟表示。
49.如权利要求47的系统,其中VI模块经调适以被修改而包括额外PI模块,其经由VI模块而扩展可用于测试装置的硬件资源集。
50.如权利要求46的系统,其中VI模块经调适以包括基础函数类别,基础函数类别映像至对于任何ATE测试器必要的测试硬件资源。
51.如权利要求1的系统,其中抽象化层进一步包含经调适以管理对硬件资源的请求的系统抽象化层。
52.如权利要求1的系统,其中系统抽象化层进一步经调适以映像来自实体仪器层的请求以使得硬件资源响应于请求而实施其功能。
53.如权利要求1的系统,其中系统抽象化层进一步经调适以限定可用于该抽象化层的其它组件的基础系统函数调用集合。
54.如权利要求1的系统,其中系统层进一步包含系统PI模块,该系统PI模块经调适以限定使操作由该抽象化层的任何其它组件实施的基础系统函数调用集合。
55.如权利要求53的系统,其中系统抽象化层进一步经调适以对抽象化层的组件实施查询。
56.如权利要求51的系统,其中系统抽象化层包括系统实体仪器模块。
57.如权利要求1的系统,其中平台层包括“现成”的操作系统。
58.如权利要求57的系统,其中“现成”的操作系统经增强以确定性地实施。
59.如权利要求58的系统,其中“现成”的操作系统为WindowsXP,且使用Tenasys INtime操作系统将其增强以确定性地操作。
60.一种自动化测试设备系统,该系统包含:
平台抽象化层,其经调适以管理该自动化测试设备系统的抽象化层的操作;
实体仪器(“PI”)抽象化层,其经调适以将PI函数调用映像至硬件以使得该硬件响应于PI函数调用而实施功能;
虚拟仪器(“VI”)抽象化层,其经调适以映射至该PI抽象化层以使得该VI抽象化层表示可实施之硬件功能的虚拟化;
系统抽象化层,其经调适以映像系统函数调从而使该硬件能够响应于PI函数调用而实施功能;及
测试程序抽象化层,其经调适以与该虚拟仪器层互动从而启动在硬件上实施的功能。
61.如权利要求60的自动化测试设备系统,其中该系统抽象化层进一步经抽象化为系统实体仪器(“系统PI”)模块,该模块从PI抽象化层接收请求且致使硬件作为响应而实施其功能。
62.如权利要求61的自动化测试设备系统,其中该系统PI模块进一步经调适以聚集由该自动化测试设备系统的其它抽象化层报告的信息。
63.如权利要求62的自动化测试设备系统,其中所聚集的信息包括在该自动化测试设备系统的其它抽象化层中进行的函数调用的成功或失败。
64.如权利要求62的自动化测试设备系统,其中所聚集的信息包括由自动化测试设备系统的其它抽象化层中的操作进行的报告。
65.如权利要求62的自动化测试设备系统,其中系统PI模块进一步经调适以接受对所聚集的该信息的查询。
66.如权利要求62的自动化测试设备系统,其中系统PI模块进一步经调适以对所聚集的该信息进行报告。
67.如权利要求60的自动化测试设备系统,其中测试程序抽象化层包括经调适以向使用者呈现图形使用者接口的测试程序。
68.如权利要求67的自动化测试设备系统,其中该测试程序层进一步经调适以容许使用者与虚拟仪器层互动。
69.如权利要求68的自动化测试设备系统,其中测试程序层进一步经调适以容许使用者限定待在装置上实施的测试。
70.如权利要求69的自动化测试设备系统,其中测试程序进一步经调适以图形地再现所实施的测试之结果。
71.如权利要求69的自动化测试设备系统,其中测试程序层进一步经调适以容许使用者限定待在装置上实施的测试,其中待实施之该等测试在已排程的时间内发生。
72.如权利要求71的自动化测试设备系统,其中待实施地测试可按照任何使用者限定的排程发生。
73.如权利要求60的自动化测试设备系统,其中虚拟仪器抽象化层包括VI模块,其中该VI模块包括至至少一个硬件资源的映像。
74.如权利要求73的自动化测试设备系统,其中VI模块经调适以致使该至少一个硬件资源响应于请求而实施其功能。
75.如权利要求74的自动化测试设备系统,其中VI模块致使至少一个硬件资源响应于来自该测试程序抽象化层的请求而实施其功能。
76.如权利要求73的自动化测试设备系统,其中至所述至少一个硬件资源的映像是经由该PI仪器层得以映像。
77.如权利要求73的自动化测试设备系统,其中至该至少一个硬件资源的映像是经由PI模块得以映像。
78.如权利要求73的自动化测试设备系统,其中该VI模块经映像至多个PI模块以致VI模块再现用以测试装置的多个硬件资源的虚拟表示。
79.如权利要求77的自动化测试设备系统,其中该VI模块与该PI模块之间的该映像是通过接口予以管理。
80.如权利要求79的自动化测试设备系统,其中该接口是图形使用者接口。
81.如权利要求79的自动化测试设备系统,其中该接口管理该VI模块与该PI模块之间呈预定格式的通信。
82.如权利要求73的自动化测试设备系统,其中该VI模块经调适以被修改而包括至额外PI模块的映像。
83.如权利要求73的自动化测试设备系统,其中该VI模块经调适以包括基础函数类别,其映像至对于任何ATE测试器必要的测试硬件资源。
84.如权利要求60的自动化测试设备系统,其中该实体仪器抽象化层包括含有硬件资源的实施细节的PI模块。
85.如权利要求84的自动化测试设备系统,其中该实体仪器抽象化层包括含有每一硬件资源的实施细节的PI模块。
86.如权利要求84的自动化测试设备系统,其中该实体仪器抽象化层经调适以并入具有新硬件资源的实施细节。
87.如权利要求86的自动化测试设备系统,其由新PI模块映像至该新硬件资源。
88.如权利要求84的自动化测试设备系统,其中该PI模块引起该硬件资源的功能性响应于请求之执行。
89.如权利要求88的自动化测试设备系统,其中该请求来自VI模块。
90.如权利要求88的自动化测试设备系统,其中该硬件资源之功能性包括同步信号。
91.如权利要求84的自动化测试设备系统,其中该实体仪器模块包括将致使硬件资源电力开启及/或初始化的函数调用。
92.如权利要求91的自动化测试设备系统,其中该函数调用包括PowerOnInitialize函数。
93.如权利要求60的自动化测试设备系统,其中该PI抽象化层包括基础PI函数调用类别。
94.如权利要求93的自动化测试设备系统,其中该基础PI函数调用类别包括经调适以致使硬件资源电力开启及/或初始化的函数调用。
95.如权利要求94的自动化测试设备系统,其中经调适以致使硬件资源电力开启及/或初始化的函数调用包括该PowerOnInitialize函数。
96.如权利要求60的自动化测试设备系统,其中该平台抽象化层包括“现成”操作系统。
97.如权利要求96的自动化测试设备系统,其中该“现成”的操作系统经增强以确定性地实施。
98.如权利要求96的自动化测试设备系统,其中该“现成”的操作系统为Windows XP。
99.如权利要求98的自动化测试设备系统,其中该“现成”的操作系统系使用实时扩展而得以增强以确定性地实施。
100.如权利要求99的自动化测试设备系统,其中该等实时扩展系经由“Tenasys INtime”操作系统而提供。
101.如权利要求60的自动化测试设备系统,其中该平台抽象化层确定性地操作。
102.如权利要求60的自动化测试设备系统,其进一步包含经调适以管理该等抽象化层之间的通信的接口抽象化层。
103.如权利要求60的自动化测试设备系统,其中该接口抽象化层进一步经调适以确保该等抽象化层之间的标准化通信。
104.如权利要求103的自动化测试设备系统,其中该接口抽象化层包括在该平台抽象化层与该VI抽象化层之间的接口。
105.如权利要求103的自动化测试设备系统,其中该接口抽象化层包括在该平台抽象化层与该系统抽象化层之间的接口。
106.如权利要求103的自动化测试设备系统,其中该接口抽象化层包括在该平台抽象化层与该实体仪器抽象化层之间的接口。
107.如权利要求103的自动化测试设备系统,其中该接口抽象化层包括在VI模块与PI模块之间的接口。
108.如权利要求103的自动化测试设备系统,其中该接口抽象化层包括在系统PI模块与VI模块之间的接口。
109.如权利要求103的自动化测试设备系统,其中该接口抽象化层包括在一统PI模块与PI模块之间的接口。
110.如权利要求103的自动化测试设备系统,其中该接口抽象化层包括在该平台抽象化层与该VI抽象化层之间的接口。
111.如权利要求60的自动化测试系统,其进一步包含:
模块产生引擎,其经调适以在PI模块及VI模块的其中之一的建立中引导使用者,以使得该自动化测试系统能够并入有新测试硬件资源。
112.如权利要求60的自动化测试系统,其进一步包含接口产生引擎,该接口产生引擎经调适以在接口的建立中引导使用者,其中该接口将通过在不考虑在该自动化测试系统上所采用的硬件、软件或平台的情况下使通信的格式标准化来管理模块之间的通信。
113.如权利要求112的自动化测试系统,其进一步包含规则检查引擎,该规则检查引擎经调适以验证已产生之模块及其已产生之接口的测试功能性。
114.如权利要求113的自动化测试系统,其进一步包含安装模块,该安装模块经调适以容许使用者安装该已产生的模块以致该测试程序可将请求导向至该已产生的模块且使测试功能得以实施。
115.如权利要求114的自动化测试系统,其进一步包含安装模块,该安装模块经调适以容许使用者安装该已产生的接口以致该测试程序可将请求导向至该已产生的模块所映像到测试硬件资源且使测试功能得以实施。
116.一种用于实施测试过程的系统,该系统包含:
测试程序,当在一个或多个测试仪器上被执行实施程序,一个或多个测试仪器具有各自的一个或多个驱动器程序;及
虚拟仪器实体,其经调适以在一个或多个测试仪器上执行该程序,其中该虚拟仪器实体经由个别的一个或多个驱动器程序而存取一个或多个测试仪器。
117.如权利要求116的系统,其中该虚拟仪器实体包括一个或多个函数。
118.如权利要求117的系统,其中该测试程序经调适以通过存取该虚拟仪器之一个或多个函数来存取一个或多个测试仪器。
119.如权利要求118的系统,其中该测试程序经程序设计以仅经由该虚拟仪器而存取一个或多个仪器。
120.如权利要求118的系统,其中该测试程序经程序设计以存取系统实体接口从而获得对测试器资源的存取。
121.如权利要求116的系统,其中该虚拟仪器实体使该测试程序与对一个或多个测试硬件特定程序设计接口隔离。
122.如权利要求116的系统,其中该虚拟仪器包括虚拟仪器程序设计接口。
123.如权利要求122的系统,其中一个或多个测试仪器的改变并不产生该虚拟仪器程序设计接口的对应改变。
124.如权利要求117的系统,其中该虚拟仪器实体中的改变并不产生一个或多个函数中的对应改变。
125.如权利要求117的系统,其中实体测试器资源的改变不会产生一个或多个函数中的对应改变。
126.如权利要求116的系统,其中测试开发平台的改变不需要测试平台的改变。
127.如权利要求124的系统,其中一个或多个函数被加载到计算机系统的内存结构中。
128.如权利要求127的系统,其中该虚拟仪器实体中的改变不会产生该计算机系统的内存结构的对应改变。
129.如权利要求128的系统,其中一个或多个函数位于该计算机系统的内存结构的第一位置中。
130.如权利要求129的系统,其中该虚拟仪器实体的改变包括添加一个或多个额外函数。
131.如权利要求129的系统,其中该虚拟仪器实体的改变包括修改至少一个或多个函数的其中一个函数。
132.如权利要求130的系统,其中一个或多个额外函数被添加到计算机系统的内存结构中的在该第一位置之后的第二位置中。
133.如权利要求132的系统,其中一个或多个额外函数的添加并不改变一个或多个函数在该计算机系统的内存结构中的第一位置中的位置。
134.如权利要求133的系统,其中计算机系统的内存结构进一步包含vtable。
135.如权利要求134的系统,其中一个或多个额外函数的添加并不改变一个或多个函数在该vtable中的位置。
136.如权利要求131的系统,其中该虚拟仪器实体的改变包括添加至少一个经修改函数。
137.如权利要求136的系统,其中该至少一个经修改函数是从至少一个或多个函数的其中之一修改所得。
138.如权利要求137的系统,其中该至少一个经修改函数是添加到计算机系统的内存结构中在第一位置之后的第二位置中。
139.如权利要求138的系统,其中该至少一个经修改函数的添加并不改变一个或多个函数在该计算机系统的内存结构中的第一位置中的位置。
140.如权利要求139的系统,其中该计算机系统的内存结构进一步包含vtable。
141.如权利要求140的系统,其中该至少一个经修改函数的添加并不改变一个或多个函数在vtable中的位置。
142.如权利要求130的系统,其中一个或多个函数包括在基础程序设计函数类别中,且该基础程序设计类别是从包括一个或多个额外函数的扩展函数类别继承而来。
143.如权利要求136的系统,其中一个或多个函数包括在基础程序设计函数类别中,且该基础程序设计类别是从包括该至少一个经修改函数的扩展函数类别继承而来。
144.如权利要求127的系统,其中该计算机系统包括通用计算机系统。
145.如权利要求116的系统,其中一个或多个测试仪器耦合至一个或多个被测试装置上。
146.如权利要求145的系统,其中一个或多个测试仪器中的至少一个是通过将测试信号施加至一个或多个被测试装置中的测试程序来编程的。
147.如权利要求116的系统,其中该系统是自动化测试系统的部分。
148.一种用于实施测试过程的系统,该系统包含:
一个或多个测试仪器,每一测试仪器具有个别的一个或多个驱动器程序,且其中驱动器程序中的至少一个包括一个或多个函数;
测试程序,其在被执行时在一个或多个测试仪器上实施程序,该测试程序经由一个或多个驱动器程序而存取一个或多个测试仪器;及
内存结构,其中一个或多个驱动器程序中的至少一个或多个函数是含于该内存结构内的固定位置内。
149.如权利要求148的系统,其中内存结构包括在计算机系统的内存中,且其中一个或多个函数被加载到计算机系统的内存中。
150.如权利要求148的系统,其中驱动器程序中的至少其中之一的改变不会产生该内存结构中的对应改变。
151.如权利要求150的系统,其中一个或多个函数位于该内存结构中的第一位置中。
152.如权利要求151的系统,其中驱动器程序中的至少其中之一的改变包括添加一个或多个额外函数。
153.如权利要求151的系统,其中驱动器程序中的至少其中之一的改变包括修改一个或多个函数中的至少其中之一。
154.如权利要求151的系统,其中一个或多个额外函数是添加到内存结构中在第一位置之后的第二位置中。
155.如权利要求154的系统,其中一个或多个额外函数的添加并不改变一个或多个函数在该内存结构中的第一位置中的位置。
156.如权利要求155的系统,其中该内存结构进一步包含vtable。
157.如权利要求156的系统,其中一个或多个额外函数的添加并不改变一个或多个函数在该vtable中的位置。
158.如权利要求153的系统,其中虚拟仪器实体的改变包括添加至少一个经修改函数。
159.如权利要求158的系统,其中平台实体的改变包括添加至少一个经修改函数。
160.如权利要求158的系统,其中实体仪器驱动器的改变包括添加至少一个经修改函数。
161.如权利要求158的系统,其中至少一个经修改函数是从一个或多个函数中的至少其中之一修改所得。
162.如权利要求161的系统,其中至少一个经修改函数被添加于盗内存结构在第一位置之后的第二位置中。
163.如权利要求162的系统,其中至少一个经修改函数的添加并不改变一个或多个函数在该内存结构中的第一位置中的位置。
164.如权利要求163的系统,其中该内存结构进一步包含vtable。
165.如权利要求164的系统,其中该至少一个经修改函数的添加并不改变一个或多个函数在vtable中的位置。
166.如权利要求152的系统,其中一个或多个函数包括于基础程序设计函数类别中,且该基础程序设计类别是从包括一个或多个额外函数的扩展函数类别继承而来。
167.如权利要求160的系统,其中一个或多个函数包括于基础程序设计函数类别中,且该基础程序设计类别是从包括该至少一个经修改函数的扩展函数类别继承而来。
168.如权利要求149的系统,其中该计算机系统包括通用计算机系统。
169.如权利要求148的系统,其中一个或多个测试仪器耦合至一个或多个被测试装置。
170.如权利要求169的系统,其中一个或多个测试仪器中的至少其中之一是由该测试程序予以程序设计以将测试信号施加至一个或多个被测试装置中的至少其中之一上。
171.如权利要求148的系统,其中该系统是自动化测试系统的部分。
172.如权利要求148的系统,其进一步包含虚拟仪器实体,该虚拟仪器实体经调适以在一个或多个测试仪器上执行该程序,其中该虚拟仪器实体经由个别的一个或多个驱动器程序而存取一个或多个测试仪器。
173.如权利要求172的系统,其中该虚拟仪器实体包括一个或多个函数。
174.如权利要求173的系统,其中该测试程序经调适以通过存取该虚拟仪器之一个或多个函数来存取一个或多个测试仪器。
175.如权利要求174的系统,其中该测试程序经程序设计以仅经由该虚拟仪器而存取一个或多个仪器。
176.如权利要求172的系统,其中该虚拟仪器实体使该测试程序与对一个或多个测试硬件特定的程序设计接口隔离。
177.如权利要求172的系统,其中该虚拟仪器包括虚拟仪器程序设计接口。
178.如权利要求177的系统,其中一个或多个测试仪器中的改变并不产生该虚拟仪器程序设计接口中的对应改变。
179.如权利要求173的系统,其中该虚拟仪器实体中的改变并不产生一个或多个函数中的对应改变。
180.如权利要求179的系统,其中一个或多个函数被加载到计算机系统的内存结构中。
181.如权利要求180的系统,其中该虚拟仪器实体中的改变并不产生该计算机系统的内存结构中的对应改变。
182.如权利要求181的系统,其中一个或多个函数位于该计算机系统的内存结构中的第一位置中。
183.如权利要求182的系统,其中该虚拟仪器实体中的改变包括添加一个或多个额外函数。
184.如权利要求182的系统,其中该虚拟仪器实体中的改变包括修改一个或多个函数的至少其中之一。
185.如权利要求183的系统,其中一个或多个额外函数被添加于该计算机系统的内存结构中在第一位置之后的第二位置中。
186.如权利要求185的系统,其中一个或多个额外函数的添加并不改变一个或多个函数在该计算机系统的内存结构中的第一位置中的位置。
187.如权利要求186的系统,其中计算机系统的内存结构进一步包含vtable。
188.如权利要求187的系统,其中一个或多个额外函数的添加并不改变一个或多个函数在该vtable中的位置。
189.如权利要求184的系统,其中该虚拟仪器实体中的改变包括添加至少一个经修改函数。
190.如权利要求189的系统,其中该至少一个经修改函数是从一个或多个函数中的至少其中之一修改所得。
191.如权利要求190的系统,其中该至少一个经修改函数被添加于该计算机系统的内存结构中在该第一位置之后的第二位置中。
192.如权利要求191的系统,其中该至少一个经修改函数的添加并不改变一个或多个函数在该计算机系统的内存结构中的第一位置中的位置。
193.如权利要求192的系统,其中该计算机系统的内存结构进一步包含vtable。
194.如权利要求193的系统,其中该至少一个经修改函数的该添加并不改变一个或多个函数在该vtable中的位置。
195.如权利要求182的系统,其中该虚拟仪器实体中的改变包括添加一个或多个额外函数。
196.如权利要求183的系统,其中一个或多个函数包括于基础程序设计函数类别中,且该基础程序设计类别是从包括一个或多个额外函数的扩展函数类别继承而来。
197.如权利要求189的系统,其中一个或多个函数包括于基础程序设计函数类别中,且该基础程序设计类别是从包括该至少一个经修改函数的扩展函数类别继承而来。
198.如权利要求180的系统,其中该计算机系统包括通用计算机系统。
199.一种用于实施测试过程之系统,该系统包含:
测试程序,其在被执行时在多个测试仪器上实施程序,一个或多个测试仪器具有个别的一个或多个驱动器程序;及
虚拟多位点仪器实体,其经调适以在该多个测试仪器上执行该程序,其中该虚拟仪器实体经由个别的一个或多个驱动器程序而存取该多个测试仪器,其中该虚拟多位点仪器实体经调适以对于该测试程序透明地在该多个测试仪器上执行该程序。
200.如权利要求199的系统,其中该虚拟多位点仪器包括控制多个仪器位点的功能性。
201.如权利要求199的系统,其中该虚拟多位点仪器实体包括一个或多个函数。
202.如权利要求201的系统,其中该测试程序经调适以通过存取该虚拟仪器之一个或多个函数来存取该多个仪器。
203.如权利要求202的系统,其中该测试程序经程序设计以仅经由该虚拟仪器而存取该多个仪器。
204.如权利要求199的系统,其中该虚拟多位点仪器使该测试程序与对该多个仪器特的程序设计接口隔离。
205.如权利要求199的系统,其中该虚拟多位点仪器包括虚拟多位点仪器程序设计接口。
206.如权利要求205的系统,其中该多个测试仪器中的至少其中之一的改变并不产生该虚拟多位点仪器程序设计接口中的对应改变。
207.如权利要求201的系统,其中该虚拟多位点仪器实体的改变并不产生一个或多个函数中的对应改变。
208.如权利要求207的系统,其中一个或多个函数被加载到计算机系统的内存结构中。
209.如权利要求208的系统,其中该虚拟多位点仪器实体的改变并不产生该计算机系统的内存结构中的对应改变。
210.如权利要求199的系统,其中该虚拟多位点仪器实体经调适以大体上并行地在该多个测试仪器上执行该程序。
211.一种用于实施测试过程之系统,该系统包含:
测试系统;及
至少一台客户端计算机,其通过通信网路而耦合至该测试系统,其中操作该客户端计算机的使用者能够在该测试系统上执行多个测试功能。
212.如权利要求211的系统,其进一步包含测试程序,该测试程序在被执行时在一个或多个测试仪器上实施程序,一个或多个测试仪器具有个别的一个或多个驱动器程序。
213.如权利要求211的系统,其进一步包含经由该通信网路自客户端计算机接收一个或多个请求的过程。
214.如权利要求211的系统,其中至少一台客户端计算机包括一用于存取该测试系统的使用者接口组件。
215.如权利要求214的系统,其中该使用者接口组件使用在该至少一台客户端计算机上执行的浏览器程序而被操作。
216.如权利要求212的系统,其中该测试系统进一步包含虚拟多位点仪器实体,该虚拟多位点仪器实体经调适以在该多个测试仪器上执行该程序,其中该虚拟仪器实体经由个别的一个或多个驱动器程序而存取该多个测试仪器,其中该虚拟多位点仪器实体经调适以对于该测试程序透明地在该多个测试仪器上执行该程序。
217.如权利要求212的系统,其中该测试系统进一步包含虚拟仪器实体,该虚拟仪器实体经调适以在一个或多个测试仪器上执行该程序,其中该虚拟仪器实体经由个别的一个或多个驱动器程序而存取一个或多个测试仪器。
218.如权利要求214的系统,其中使用者接口组件是基于操作该客户端计算机的使用者而得以组态。
219.如权利要求218的系统,其中该测试系统经调适以储存多个使用者接口且经调适以基于与该使用者相关联的使用者接口组态而向该使用者提供至少一个使用者接口。
220.如权利要求217的系统,其中该虚拟仪器实体包括个或多个函数。
221.如权利要求220的系统,其中该测试程序经调适以通过存取该虚拟仪器的一个或多个函数来存取一个或多个测试仪器。
222.如权利要求221的系统,其中该测试程序经程序设计以仅经由该虚拟仪器而存取一个或多个仪器。
223.如权利要求217的系统,其中该虚拟仪器实体使该测试程序与对一个或多个测试硬件特定的程序设计接口隔离。
224.如权利要求217的系统,其中该虚拟仪器包括虚拟仪器程序设计接口。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US81976206P | 2006-07-10 | 2006-07-10 | |
US81961006P | 2006-07-10 | 2006-07-10 | |
US60/819,762 | 2006-07-10 | ||
US60/819,610 | 2006-07-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101512359A true CN101512359A (zh) | 2009-08-19 |
Family
ID=38923557
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007800335817A Pending CN101512359A (zh) | 2006-07-10 | 2007-07-10 | 用于在测试系统中实施处理之系统及方法 |
Country Status (6)
Country | Link |
---|---|
US (7) | US20080033682A1 (zh) |
JP (1) | JP2009544012A (zh) |
KR (1) | KR20090082341A (zh) |
CN (1) | CN101512359A (zh) |
TW (1) | TW200817931A (zh) |
WO (1) | WO2008008773A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103109275A (zh) * | 2010-09-07 | 2013-05-15 | 爱德万测试(新加坡)私人有限公司 | 在半导体测试环境中使用虚拟仪器的系统、方法和设备 |
CN105759790A (zh) * | 2016-04-21 | 2016-07-13 | 合肥通用机械研究院 | 电子冷却装置控制系统的组态测试系统及其测试方法 |
CN107710215A (zh) * | 2015-10-30 | 2018-02-16 | 谷歌有限责任公司 | 在测试设施中的移动计算装置安全的方法和设备 |
TWI637177B (zh) * | 2016-12-23 | 2018-10-01 | 台灣福雷電子股份有限公司 | 用於測試半導體元件之系統及方法 |
CN105143895B (zh) * | 2013-04-30 | 2018-11-13 | 爱德万测试公司 | 从交互式图形用户界面中自动生成测试类预编译头 |
CN109483552A (zh) * | 2018-12-27 | 2019-03-19 | 合肥欣奕华智能机器有限公司 | 一种基板搬送机器人系统软硬件调试方法及设备 |
CN109885435A (zh) * | 2019-02-18 | 2019-06-14 | 国家计算机网络与信息安全管理中心 | 通用容器化计算集群的测试系统及方法 |
CN110214314A (zh) * | 2017-05-17 | 2019-09-06 | 谷歌有限责任公司 | 操作系统验证 |
CN111917513A (zh) * | 2020-07-29 | 2020-11-10 | 上海海洋大学 | 一种移动端与服务器端数据交互方法 |
CN112074747A (zh) * | 2018-05-10 | 2020-12-11 | 泰瑞达公司 | 总线同步系统 |
US11120037B2 (en) | 2019-06-21 | 2021-09-14 | Wistron Corporation | Test data integration system and method thereof |
CN113495162A (zh) * | 2020-03-20 | 2021-10-12 | 竑腾科技股份有限公司 | 自动光学检测设备的控制系统 |
CN116501447A (zh) * | 2023-06-20 | 2023-07-28 | 麒麟软件有限公司 | 基于Xen的硬实时实现系统 |
Families Citing this family (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7842948B2 (en) * | 2004-02-27 | 2010-11-30 | Nvidia Corporation | Flip chip semiconductor die internal signal access system and method |
US7279887B1 (en) * | 2004-08-06 | 2007-10-09 | Nvidia Corporation | In-process system level test before surface mount |
DE102004041822A1 (de) * | 2004-08-27 | 2006-03-02 | Robert Bosch Gmbh | Funktionseinheit zur Ausführung von logischen Testfällen auf einem an eine zu prüfende Einheit angekoppelten Testsystem und entsprechendes Verfahren |
US20080033682A1 (en) * | 2006-07-10 | 2008-02-07 | Blancha Barry E | System and method for performing processing in a testing system |
US8131387B2 (en) * | 2007-08-09 | 2012-03-06 | Teradyne, Inc. | Integrated high-efficiency microwave sourcing control process |
US8271252B2 (en) * | 2007-11-08 | 2012-09-18 | Nvidia Corporation | Automatic verification of device models |
US8510616B2 (en) * | 2008-02-14 | 2013-08-13 | Nvidia Corporation | Scalable scan-based test architecture with reduced test time and test power |
US8745200B2 (en) * | 2008-05-06 | 2014-06-03 | Nvidia Corporation | Testing operation of processors setup to operate in different modes |
WO2010004557A1 (en) | 2008-07-07 | 2010-01-14 | Quali Systems Ltd | System and method for automatic hardware and software sequencing of computer-aided design (cad) functionality testing |
US8943457B2 (en) * | 2008-11-24 | 2015-01-27 | Nvidia Corporation | Simulating scan tests with reduced resources |
TWI405969B (zh) * | 2009-05-08 | 2013-08-21 | Accton Wireless Broadband Corp | 管線式元件測試系統及其方法 |
US8413117B1 (en) * | 2009-08-07 | 2013-04-02 | Symantec Corporation | Systems and methods for focusing product testing based on areas of change within the product between product builds |
EP2375335A1 (en) * | 2010-04-09 | 2011-10-12 | Eurocopter Deutschland GmbH | Method for automated testing of a system and automated testing system for such a method |
US8850396B2 (en) | 2010-05-27 | 2014-09-30 | Red Hat Israel, Ltd. | Performing software testing based on grouping of tests using test list entity |
US9009668B2 (en) | 2010-05-27 | 2015-04-14 | Red Hat Israel, Ltd. | Software testing using test entity |
US8683440B2 (en) * | 2010-05-27 | 2014-03-25 | Red Hat Israel, Ltd. | Performing dynamic software testing based on test result information retrieved in runtime using test result entity |
EP2583225A4 (en) * | 2010-06-21 | 2014-03-05 | Hewlett Packard Development Co | SYSTEM FOR TESTING AND CERTIFYING A VIRTUAL DEVICE ON A CLIENT COMPUTER SYSTEM |
US8489929B2 (en) * | 2010-09-30 | 2013-07-16 | Salesforce.Com, Inc. | Facilitating large-scale testing using virtualization technology in a multi-tenant database environment |
US8479172B2 (en) * | 2010-11-23 | 2013-07-02 | International Business Machines Corporation | Virtual machine testing |
EP2645255B1 (en) * | 2010-11-26 | 2019-10-02 | Mitsubishi Electric Corporation | Program generating device, program generating program, and program generating method |
US8607203B1 (en) * | 2010-12-17 | 2013-12-10 | Amazon Technologies, Inc. | Test automation framework using dependency injection |
US8782117B2 (en) | 2011-08-24 | 2014-07-15 | Microsoft Corporation | Calling functions within a deterministic calling convention |
US10776233B2 (en) * | 2011-10-28 | 2020-09-15 | Teradyne, Inc. | Programmable test instrument |
US9759772B2 (en) | 2011-10-28 | 2017-09-12 | Teradyne, Inc. | Programmable test instrument |
US9910086B2 (en) | 2012-01-17 | 2018-03-06 | Allen Czamara | Test IP-based A.T.E. instrument architecture |
CN102749544A (zh) * | 2012-07-20 | 2012-10-24 | 广州供电局有限公司 | 基于虚拟仪器技术的电力设备测试系统 |
US9110731B1 (en) | 2012-08-15 | 2015-08-18 | Xiotech Corporation | Hard allocation of resources partitioning |
CN102788935A (zh) * | 2012-08-23 | 2012-11-21 | 广州供电局有限公司 | 电桥法电缆故障定位仿真方法 |
US9959186B2 (en) * | 2012-11-19 | 2018-05-01 | Teradyne, Inc. | Debugging in a semiconductor device test environment |
US20140157238A1 (en) * | 2012-11-30 | 2014-06-05 | Microsoft Corporation | Systems and methods of assessing software quality for hardware devices |
US9747786B2 (en) | 2012-12-17 | 2017-08-29 | Itron, Inc. | Virtual cluster meter (VCM) |
US9082291B2 (en) * | 2012-12-17 | 2015-07-14 | Itron, Inc. | Virtual metering with partitioned metrology |
US9677907B2 (en) | 2013-03-14 | 2017-06-13 | Itron Inc | Intelligent receptacle |
US20160179658A1 (en) * | 2013-11-27 | 2016-06-23 | Ca, Inc. | User interface testing abstraction |
WO2015179603A1 (en) | 2014-05-22 | 2015-11-26 | Citrix Systems, Inc. | Providing testing environments using virtualization |
US10235868B2 (en) * | 2014-09-29 | 2019-03-19 | National Instruments Corporation | Embedded shared logical instrument |
CN105893234B (zh) * | 2014-12-30 | 2019-05-07 | 伊姆西公司 | 用于软件测试的方法和计算设备 |
US10429437B2 (en) * | 2015-05-28 | 2019-10-01 | Keysight Technologies, Inc. | Automatically generated test diagram |
US9983981B1 (en) * | 2015-06-23 | 2018-05-29 | Amdocs Development Limited | System, method, and computer program for implementing optimal regression test strategies |
CN105630679B (zh) * | 2015-12-23 | 2019-04-23 | 北京奇虎科技有限公司 | 代码测试的方法及装置 |
KR101956779B1 (ko) * | 2017-01-17 | 2019-03-11 | 한국항공우주산업 주식회사 | 모듈화를 통한 자동시험장비의 운용 시스템 |
US10789550B2 (en) * | 2017-04-13 | 2020-09-29 | Battelle Memorial Institute | System and method for generating test vectors |
US10451668B2 (en) | 2017-04-28 | 2019-10-22 | Advantest Corporation | Test program flow control |
EP3871082A4 (en) * | 2018-10-23 | 2022-07-27 | Enosix, Inc. | MICROCOMPONENTS FOR DATA INTEGRATION AND ASSOCIATED PROCESSES |
CN110045260A (zh) * | 2019-04-03 | 2019-07-23 | 南京邮电大学 | 半导体器件虚拟测试平台及半导体器件虚拟测试方法 |
US11314628B2 (en) | 2019-12-02 | 2022-04-26 | Bank Of America Corporation | System for intelligent unit performance testing of computer applications |
US11449407B2 (en) | 2020-05-28 | 2022-09-20 | Bank Of America Corporation | System and method for monitoring computing platform parameters and dynamically generating and deploying monitoring packages |
CN112306784A (zh) * | 2020-10-29 | 2021-02-02 | 深圳宝新创科技股份有限公司 | 一种测试方法、装置、电子设备和测试系统 |
TWI811663B (zh) * | 2021-04-14 | 2023-08-11 | 國立臺灣大學 | 軟體測試報告產生方法及裝置 |
WO2022262993A1 (de) * | 2021-06-18 | 2022-12-22 | Siemens Aktiengesellschaft | Verfahren und vorrichtung zur kopplung der funktionalen steuerung in einem verteilten automatisierungssystem |
CA3229641A1 (en) | 2021-08-31 | 2023-03-09 | Nutcracker Therapeutics, Inc. | State machine based script applications and systems |
CN115550336A (zh) * | 2022-09-16 | 2022-12-30 | 宁夏隆基宁光仪表股份有限公司 | 一种基于Web的NB-IoT表计测试通讯方法、系统和测试设备 |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0143623A3 (en) * | 1983-11-25 | 1987-09-23 | Mars Incorporated | Automatic test equipment |
US5717614A (en) * | 1994-05-04 | 1998-02-10 | National Instruments Corporation | System and method for handling events in an instrumentation system |
US5974241A (en) * | 1997-06-17 | 1999-10-26 | Lsi Logic Corporation | Test bench interface generator for tester compatible simulations |
US6085156A (en) * | 1998-03-20 | 2000-07-04 | National Instruments Corporation | Instrumentation system and method having instrument interchangeability |
US5963726A (en) * | 1998-03-20 | 1999-10-05 | National Instruments Corporation | Instrumentation system and method including an improved driver software architecture |
US6405145B1 (en) * | 1998-03-20 | 2002-06-11 | National Instruments Corporation | Instrumentation system and method which performs instrument interchangeability checking |
US6381735B1 (en) * | 1998-10-02 | 2002-04-30 | Microsoft Corporation | Dynamic classification of sections of software |
US6499137B1 (en) * | 1998-10-02 | 2002-12-24 | Microsoft Corporation | Reversible load-time dynamic linking |
US6631344B1 (en) * | 1999-03-26 | 2003-10-07 | Synopsys, Inc. | Method and system for performing deterministic analysis and speculative analysis for more efficient automatic test pattern generation |
US6587671B1 (en) | 1999-05-28 | 2003-07-01 | Agilent Technologies, Inc. | RF test set with concurrent measurement architecture |
GB0001585D0 (en) | 2000-01-24 | 2000-03-15 | Radioscape Ltd | Method of designing,modelling or fabricating a communications baseband stack |
US6512988B1 (en) * | 2000-05-25 | 2003-01-28 | Agilent Technologies, Inc. | Fast test application switching method and system |
US6594612B2 (en) | 2000-12-11 | 2003-07-15 | National Instruments Corporation | Measurement system having an improved scan list configuration |
US7913170B2 (en) | 2000-12-20 | 2011-03-22 | National Instruments Corporation | System and method for performing type checking for hardware device nodes in a graphical program |
FI20010592A (fi) | 2001-03-22 | 2002-09-23 | Ssh Comm Security Ltd | Menetelmä ohjelman hallintakaavion kääntämiseksi |
US6563301B2 (en) * | 2001-04-30 | 2003-05-13 | Nokia Mobile Phones Ltd. | Advanced production test method and apparatus for testing electronic devices |
US8473922B2 (en) * | 2001-09-19 | 2013-06-25 | Hewlett-Packard Development Company, L.P. | Runtime monitoring in component-based systems |
US20040088448A1 (en) * | 2001-10-16 | 2004-05-06 | Userspace Corporation | Embedded system and method for controlling, monitoring of instruments or devices and processing their data via control and data protocols that can be combined or interchanged |
AU2002357040A1 (en) * | 2001-11-28 | 2003-06-10 | Evolution Robotics, Inc. | Sensor and actuator abstraction and aggregation in a hardware abstraction layer for a robot |
US7272828B2 (en) * | 2002-11-27 | 2007-09-18 | Intel Corporation | Software object type identification |
US7437261B2 (en) * | 2003-02-14 | 2008-10-14 | Advantest Corporation | Method and apparatus for testing integrated circuits |
CN100456043C (zh) | 2003-02-14 | 2009-01-28 | 爱德万测试株式会社 | 检测集成电路的方法和装置 |
US7366993B2 (en) * | 2003-08-15 | 2008-04-29 | National Instruments Corporation | Automatic graph display |
US8775997B2 (en) | 2003-09-15 | 2014-07-08 | Nvidia Corporation | System and method for testing and configuring semiconductor functional circuits |
US20050097515A1 (en) | 2003-10-31 | 2005-05-05 | Honeywell International, Inc. | Data empowered laborsaving test architecture |
US20050097548A1 (en) * | 2003-10-31 | 2005-05-05 | Dillenburg Brian J. | Systems and methods for developing and distributing software components |
US7673197B2 (en) | 2003-11-20 | 2010-03-02 | Practical Engineering Inc. | Polymorphic automatic test systems and methods |
US7149943B2 (en) * | 2004-01-12 | 2006-12-12 | Lucent Technologies Inc. | System for flexible embedded Boundary Scan testing |
US7222340B2 (en) * | 2004-01-27 | 2007-05-22 | Research In Motion Limited | Software-delivered dynamic persistent data |
US8418162B2 (en) * | 2004-01-27 | 2013-04-09 | Research In Motion Limited | Network delivered dynamic persistent data |
US7107173B2 (en) * | 2004-02-03 | 2006-09-12 | Credence Systems Corporation | Automatic test equipment operating architecture |
US7552024B2 (en) | 2004-03-08 | 2009-06-23 | Kelbon Richard G | Circuit board diagnostic operating center |
US7210087B2 (en) * | 2004-05-22 | 2007-04-24 | Advantest America R&D Center, Inc. | Method and system for simulating a modular test system |
GB2422204A (en) * | 2005-01-12 | 2006-07-19 | Advanced Testing Technologies | Obsolescence mitigation in automatic test equipment |
US20060195744A1 (en) | 2005-02-11 | 2006-08-31 | Broadcom Corporation | Method and apparatus to simulate automatic test equipment |
US8214800B2 (en) * | 2005-03-02 | 2012-07-03 | Advantest Corporation | Compact representation of vendor hardware module revisions in an open architecture test system |
US7418317B2 (en) | 2005-03-10 | 2008-08-26 | Aai Corporation | System and method for controlling and communicating with a vehicle |
US7958488B2 (en) * | 2005-08-16 | 2011-06-07 | National Instruments Corporation | Virtual testing in a development environment |
EP1783604A3 (en) * | 2005-11-07 | 2007-10-03 | Slawomir Adam Janczewski | Object-oriented, parallel language, method of programming and multi-processor computer |
US20070294580A1 (en) | 2006-05-31 | 2007-12-20 | Ziyang Lu | Virtual tester architecture |
US20080033682A1 (en) | 2006-07-10 | 2008-02-07 | Blancha Barry E | System and method for performing processing in a testing system |
JP4822346B2 (ja) * | 2006-10-31 | 2011-11-24 | アジレント・テクノロジーズ・インク | 誘導結合プラズマ質量分析装置のための診断及び較正システム |
US8356282B1 (en) * | 2011-09-13 | 2013-01-15 | Advanced Testing Technologies, Inc. | Integrated development environment for the development of electronic signal testing strategies |
-
2007
- 2007-07-10 US US11/827,094 patent/US20080033682A1/en not_active Abandoned
- 2007-07-10 US US11/827,090 patent/US7869986B2/en active Active
- 2007-07-10 US US11/827,083 patent/US9032384B2/en active Active
- 2007-07-10 US US11/827,136 patent/US7844412B2/en active Active
- 2007-07-10 KR KR1020097001934A patent/KR20090082341A/ko not_active Application Discontinuation
- 2007-07-10 JP JP2009519634A patent/JP2009544012A/ja not_active Withdrawn
- 2007-07-10 TW TW096125210A patent/TW200817931A/zh unknown
- 2007-07-10 WO PCT/US2007/073145 patent/WO2008008773A1/en active Application Filing
- 2007-07-10 CN CNA2007800335817A patent/CN101512359A/zh active Pending
- 2007-07-10 US US11/827,105 patent/US8442795B2/en active Active
- 2007-07-10 US US11/827,134 patent/US8065663B2/en active Active
-
2015
- 2015-05-11 US US14/708,566 patent/US20160003892A1/en not_active Abandoned
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103109275B (zh) * | 2010-09-07 | 2016-02-03 | 爱德万测试公司 | 在半导体测试环境中使用虚拟仪器的系统、方法和设备 |
CN103109275A (zh) * | 2010-09-07 | 2013-05-15 | 爱德万测试(新加坡)私人有限公司 | 在半导体测试环境中使用虚拟仪器的系统、方法和设备 |
CN105143895B (zh) * | 2013-04-30 | 2018-11-13 | 爱德万测试公司 | 从交互式图形用户界面中自动生成测试类预编译头 |
CN107710215A (zh) * | 2015-10-30 | 2018-02-16 | 谷歌有限责任公司 | 在测试设施中的移动计算装置安全的方法和设备 |
CN105759790A (zh) * | 2016-04-21 | 2016-07-13 | 合肥通用机械研究院 | 电子冷却装置控制系统的组态测试系统及其测试方法 |
CN105759790B (zh) * | 2016-04-21 | 2018-06-29 | 合肥通用机械研究院有限公司 | 电子冷却装置控制系统的组态测试系统及其测试方法 |
TWI637177B (zh) * | 2016-12-23 | 2018-10-01 | 台灣福雷電子股份有限公司 | 用於測試半導體元件之系統及方法 |
CN110214314A (zh) * | 2017-05-17 | 2019-09-06 | 谷歌有限责任公司 | 操作系统验证 |
CN110214314B (zh) * | 2017-05-17 | 2023-04-04 | 谷歌有限责任公司 | 操作系统验证 |
CN112074747A (zh) * | 2018-05-10 | 2020-12-11 | 泰瑞达公司 | 总线同步系统 |
CN109483552A (zh) * | 2018-12-27 | 2019-03-19 | 合肥欣奕华智能机器有限公司 | 一种基板搬送机器人系统软硬件调试方法及设备 |
CN109885435A (zh) * | 2019-02-18 | 2019-06-14 | 国家计算机网络与信息安全管理中心 | 通用容器化计算集群的测试系统及方法 |
US11120037B2 (en) | 2019-06-21 | 2021-09-14 | Wistron Corporation | Test data integration system and method thereof |
TWI743508B (zh) * | 2019-06-21 | 2021-10-21 | 緯創資通股份有限公司 | 測試資料彙總系統與其方法 |
CN113495162A (zh) * | 2020-03-20 | 2021-10-12 | 竑腾科技股份有限公司 | 自动光学检测设备的控制系统 |
CN111917513B (zh) * | 2020-07-29 | 2022-11-22 | 上海海洋大学 | 一种移动端与服务器端数据交互方法 |
CN111917513A (zh) * | 2020-07-29 | 2020-11-10 | 上海海洋大学 | 一种移动端与服务器端数据交互方法 |
CN116501447A (zh) * | 2023-06-20 | 2023-07-28 | 麒麟软件有限公司 | 基于Xen的硬实时实现系统 |
CN116501447B (zh) * | 2023-06-20 | 2023-09-26 | 麒麟软件有限公司 | 基于Xen的硬实时实现系统 |
Also Published As
Publication number | Publication date |
---|---|
US20080021669A1 (en) | 2008-01-24 |
US9032384B2 (en) | 2015-05-12 |
TW200817931A (en) | 2008-04-16 |
US20080040709A1 (en) | 2008-02-14 |
US20160003892A1 (en) | 2016-01-07 |
KR20090082341A (ko) | 2009-07-30 |
US20080040641A1 (en) | 2008-02-14 |
US7869986B2 (en) | 2011-01-11 |
US20080040706A1 (en) | 2008-02-14 |
JP2009544012A (ja) | 2009-12-10 |
US8442795B2 (en) | 2013-05-14 |
US20080040708A1 (en) | 2008-02-14 |
US7844412B2 (en) | 2010-11-30 |
US20080033682A1 (en) | 2008-02-07 |
US8065663B2 (en) | 2011-11-22 |
WO2008008773A1 (en) | 2008-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101512359A (zh) | 用于在测试系统中实施处理之系统及方法 | |
US6868508B2 (en) | System and method enabling hierarchical execution of a test executive subsequence | |
US20080320071A1 (en) | Method, apparatus and program product for creating a test framework for testing operating system components in a cluster system | |
Ahamed | Studying the feasibility and importance of software testing: An Analysis | |
US20090064111A1 (en) | Formal Verification of Graphical Programs | |
Ramler et al. | Automated testing of industrial automation software: practical receipts and lessons learned | |
Denil et al. | DEVS for AUTOSAR-based system deployment modeling and simulation | |
US7194658B2 (en) | Various methods and apparatuses for interfacing of a protocol monitor to protocol checkers and functional checkers | |
Bierbaum et al. | Automated testing of virtual reality application interfaces | |
CN114579470A (zh) | 一种单元测试方法、装置、电子设备及存储介质 | |
Scott et al. | Testing existing software for safety-related applications. Revision 7.1 | |
Huhn et al. | 8 UML for Software Safety and Certification: Model-Based Development of Safety-Critical Software-Intensive Systems | |
Sinnig et al. | Consistency between task models and use cases | |
Chen et al. | Do no harm: Model checking ehome applications | |
Melin et al. | Applying AUTOSAR in Practice: Available Development Tools and Migration Paths | |
Fischer et al. | Modelling of systems for real | |
Nair et al. | Analysis and comparison of 3 code generation tools | |
Zheng et al. | Test Automation for Automotive Embedded Systems | |
Paiva et al. | Automated Specification-based Testing of Interactive Components with AsmL. | |
Walton | Refactoring, redesign and implementation of an alarm network event processing system | |
Kujala | HW/SW testing framework | |
Hägglund | Automated testing of the vehicle information system in combat vehicle 90 | |
Masticola et al. | Test Framework Architectures for Model-Based Embedded System Testing. | |
Suliman et al. | Testing Mobile Component Based Systems | |
Eakman | A systems approach to automated object-oriented integration testing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090819 |