在用于编译自动化半导体器件测试的测试计划的开发环境内实施编辑并更新功能性的制作方法

文档序号:9457552阅读:262来源:国知局
在用于编译自动化半导体器件测试的测试计划的开发环境内实施编辑并更新功能性的制作方法
【技术领域】
[0001]本发明的实施例总体上涉及自动化器件测试,并且更具体地涉及用户友好且有效率的用于调试自动化器件测试的测试程序的方法和系统。
【背景技术】
[0002]自动化测试设备(ATE)可以是对器件、半导体薄片或模具等进行测试的任何测试组件。ATE组件可以用于执行自动化测试,自动化测试快速进行测量并且生成测试结果,然后测试结果可以被分析。ATE组件可以是从联接至计量器的计算机系统到复杂自动化测试组件的任何事物,可以包括定制的专用计算机控制系统和许多能够自动测试电子设备零件和/或半导体的不同测试仪器。自动测设设备(ATE)常用于电芯片制造领域。ATE系统既减少了花费在测试器件以确保器件按照设计的那样发挥功能上的时间量,又用作诊断工具以在给定器件到达消费者手中之前确定其内存在故障部件。
[0003]在测试器件或产品时,例如,在生产之后,除其他事项以外,实现产品高质量、对器件或产品性能的估计、关于制造工艺的反馈和最终客户高满意度是至关重要的。通常进行多项测试以便保证器件或产品正确功能。因为测试过程费用高昂,除了确保器件的性能之夕卜,最大化测试速度和生产率同样是重要的。
[0004]测试计划或测试程序包括所有对ATE系统进行半导体器件测试所必要的用户自定义数据和控制流程。更确切地说,测试计划是一种程序,其中满足器件规格、测试条件和测试算法的组合以及测试流程的测试条件用测试仪软件语言进行描述。测试程序中的主控制流程被称为测试程序流程,其指定待应用于DUT的单项测试的顺序、以及测试将被应用的顺序(其取决于单项测试的结果)。
[0005]当为DUT写入测试程序时,通常该程序的主要部分是用于器件测试的“数据”,其余的是程序代码,其自身实现了测试方法。该数据与DUT相关(例如,电源条件、信号电压条件、计时条件等)。该测试代码可以由将指定的器件条件加载到测试仪硬件的方法、还有实现用户指定的目标(如数据记录等)所需要的方法组成。ATE框架还可以提供独立于硬件的测试和允许用户执行DUT测试编程任务的测试仪对象模型。
[0006]由于测试方法在器件测试质量和测试仪生产率中是重要的组成部分,所以其通常对最终用户保密。这种分离使得系统运行更安全。进一步地,为了增加测试代码的可重用性,这种代码应独立于任何器件特定数据(例如,引脚名、激励数据等)或器件测试特定数据(例如,DC单元条件、测量引脚、目标引脚数量、图形文件名、图形程序地址等)。如果用于测试的代码用这些类型的数据编译,则测试代码的可重用性会降低。因此,应使得任何器件特定数据或器件测试特定数据在外部作为代码执行期间的输入来可供用于测试代码。
[0007]在常规ATE测试仪软件中,“测试类”实现了具体测试类型的测试数据和代码的分离(并且因此实现了代码的可重用性)。这种测试类可以被认为是用于单独测试实例的“模板”,这些实例仅基于器件特定数据和/或器件测试特定数据彼此不同。测试类通常在测试计划文件中进行指定。每个测试类通常实施特定类型的器件测试或器件测试的设置。例如,测试仪软件可以提供简单测试类以实施功能测试、AC参数测试以及DC参数测试。相应地,测试类是测试的模板。在测试类本身中并未描述与器件相关的测试条件。仅描述了用于使用该测试系统执行测试的算法。
[0008]测试类允许用户通过提供用于为该项测试的具体实例指定选项的参数来配置类行为。例如,用于实施功能测试的测试类可以提供用于指定在正被测试的DUT上执行的测试模式的参数。其还可以提供用来为测试指定等级和定时条件的参数。为这些参数指定不同的值允许用户创建功能测试的不同实例。在一实施例中,测试类用常规编程语言(如C++)开发。
[0009]测试仪软件系统(如爱德万测试株式会社(Advantest Corporat1n)的T2000系统软件)通常包括编译器,该编译器对用测试仪系统的编程语言(例如,0PENSTAR测试编程语言(“0TPL”)编写的测试计划进行编译。OTPL可以用于描述测试执行顺序和所用的相应测试条件。虽然OTPL可以描述测试计划,但通常不描述任何测试算法。例如,系统中的测试算法(如T2000)可以使用如以上所讨论的测试类中的C++语言来描述。
[0010]ATE的大多数用户使用开发环境(例如,微软开发人员工作室(“MDS”))来制备他们的测试类。通常,测试仪软件系统开发人员会提供插件给用户,从而用户可以在同样的环境中编辑和创建测试计划。因此,用户能够写出测试类和测试计划,并且从他们选择的开发环境内执行调试。开发环境(如MDS)通常可以为调试项目提供“编辑并继续”功能。“编辑并继续”是个省时的功能,可以使用户能够在程序处于中断模式时对源代码进行更改。当通过选择执行命令(如“继续”或“步骤”)来恢复程序执行时,“编辑并继续”操作自动应用存在某些局限性的代码变更。这允许用户在调试会话过程中对代码做出变更,而不是必须停止、重新编译整个程序、并且重启该调试会话。
[0011]然而在典型的开发环境中,可用的“编辑并继续”功能(例如,MDS)具有若干局限性,这些局限性限制了用户充分利用该功能的能力。首先,无法结合所有类型的代码来使用。例如,在调试64位代码时无法用于调试环境。结果,出于性能原因开发64位测试类和测试计划的测试仪软件的很多用户无法利用此项功能。
[0012]更重要地,常规“编辑并继续(Edit and Continure) ”功能对所允许的代码变化类型具有各种各样的限制。例如,一个缺陷是常规开发环境在使用这一功能时仅允许做出相对较小的代码变化。通常,改变后的代码段被重新编译,对应于改变后的代码的执行内存的一小部分被换出并且被使用新代码生成的新内存块替代。之后,相应地设置适当的指令指针。
[0013]如常规系统中所设计的特征不能够处理需要比在代码中做出仅会改变相对较小部分的加载内存的微小变化(例如,句法变化)更复杂的事物的任何复杂代码变更。其结果是,其对于ATE的测试类开发者而言不是很有用。如果用户在制备测试类时出现任何实质性错误或者当测试计划正在执行时由于任何其他原因而需要替换测试类,则他们通常必须停止测试计划并且首先将测试计划卸载。随后,开发者需要编辑、重新编译和重新链接测试类。接着,他们需要重新加载测试计划并且在返回到代码的原点之前从开始处重新启动该测试计划。这种工作流程是费时的并且容易出错。

【发明内容】

[0014]因此,需要一种允许用户在测试计划执行过程中对测试类做出改变而不需要手动执行调试过程中目前当对测试类做出改变时需要的所有步骤(如卸载和重新加载整个测试计划)的自动化方法和系统。这允许开发者以比使用常规系统所允许他们的方式显著更高效且不易出错的方式来制备和调试测试类。
[0015]为了达到这一目的,本发明的实施例在测试仪软件系统内提供了编辑并更新(Edit and Update)功能。当调试时,用户可以在测试类源代码中设置引起系统停止的断点。用户可以编辑源代码,由此发起编辑并更新会话。然后,存储状态信息并且卸载编辑后的测试类。随后,编辑并更新程序将重新编译编辑后版本的测试类并用新编译的版本替换原始版本。然后,编辑后的测试类被重新执行并自动后退到与用户中断调试的地方相同的断点,并且之前存储的状态信息被恢复。然后,测试计划可以用新编辑的代码继续进行。
[0016]本文公开了一种用于调试自动化器件测试的测试程序的方法。该方法包括接收对在第一调试会话期间修改的至少一个经修改的测试程序进行更新的命令并且保存测试计划的状态信息,其中该状态信息包括关于断点进入位置的信息,并且其中经修改的测试程序在测试计划内被调用。该方法随后包括暂停执行测试计划并且卸载经修改的测试程序。该方法还包括编译经修改的测试程序以产生编译文件,然后使用编译文件将测试程序重新加载到测试计划中。最后,该方法包括在第二调试会话中重新开始执行经修改的测试程序并且在第二调试会话期间,在与断点进入位置相对应的断点处中断执行,由此恢复早前所保存的状态信息。
[0017]在另一个实施例中,公开了一种计算机可读存储介质。该计算机可读存储介质在其上存储有计算机可执行指令,当被计算机系统执行时,该计算机可执行指令致使计算机系统执行一种调试自动化器件测试的测试程序的方法。该方法包括接收对在第一调试会话期间修改的至少一个经修改的测试程序进行更新的命令并且保存测试计划的状态信息,其中该状态信息包括关于断点进入位置的信息,并且其中经修改的测试程序在测试计划内被调用。该方法随后包括暂停执行测试计划并且卸载经修改的测试程序。该方法还包括编译经修改的测试程序以产生编译文件,然后使用编译文件将测试程序重新加载到测试计划中。最后,该方法包括在第二调试会话中重新开始执行经修改的测试程序并且在第二调试会话期间,在与断点进入位置相对应的断点处中断执行,由此恢复早前所保存的状态信息。
[0018]在另一个实施例中,公开了一种用于调试自动化器件测试的测试程序的系统。该系统包括内存,该内存包括在其中存储的开发环境,其中该开发环境可操作用于调试测试程序,并且其中该开发环境包括调试器。该系统还包括处理器,该处理器被耦合至内存,该处理器被配置为根据开发环境进行操作以:(a)保存测试计划的状态信息,其中该状态信息包括关于断点进入位置的信息,并且其中经修改的测试程序在测试计划内被调用;(b)暂停执行测试计划;(c)从测试计划中卸载经修改的测试程序;(d)编译经修改的测试程序,其中该编译生成与经修改的测试程序相关联的编译文件;(e)使用编译文件将经修改的测试程序重新加载到测试计划中;(f)在调试会话中重新开始执行经修改的测试程序;以及(g)在调试会话期间,在与断点进入位置相对应的断点处中断执行。早前保存的状态信息随后被恢复。
[0019]以下详细说明与附图一起将提供对本发明的性质和优点的更好理解。
【附图说明】
[0020]通过举例而非通过限制方式在附图的这些图中展示了本发明的实施例,并且在附图中,相似的标号指代相似的元件。
[0021]图1是根据本发明的一个的实施例,可在其上实施本发明的自动化测试系统的实施例的示例性计算机系统。
[0022]图2A是根据本发明的一个的实施例,可在其上实施本发明的实施例的示例性自动化测试设备装置的示意性框图。
[0023]图2B是图2A的自动化测试设备装置的一个实施例的更详细的示意性框图。
[0024]图3展示了关于不同测试实例可以从单个测试类创建的方式的图。
[0025]图4是展示了测试计划内的测试类的验证和执行示例性软件过程的框图。
[0026]图5是根据本发明的一个实施例,展示了编辑并更新功能的实施方式的示例性软件过程的框图。
[0027]图6展示了根据本发明的一个实施例的屏幕上图形用户界面配置对话框,从而让用户设立编辑并更新功能的各种设置。
[0028]图7是展示了根据本发明的一个实施例的编辑并更新会话的生命周期的框图。
[0029]图8是展示了在作为并发流程项内的支流的一部分的流程项内的编辑并更新程序的调用的流程图。
[0030]图9根据本发明的一个实施例,描绘了用于实施编辑并更新功能的示例性计算机控制过程的流程图。
【具体实施方式】
[0031]现在将详细参考本公开的各种实施例,在附图中展示了这些实施例的实例。虽然结合这些实施例进行描述,但是
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1