CN102144221B - 用于自动化测试的紧凑架构 - Google Patents
用于自动化测试的紧凑架构 Download PDFInfo
- Publication number
- CN102144221B CN102144221B CN200980134475.7A CN200980134475A CN102144221B CN 102144221 B CN102144221 B CN 102144221B CN 200980134475 A CN200980134475 A CN 200980134475A CN 102144221 B CN102144221 B CN 102144221B
- Authority
- CN
- China
- Prior art keywords
- test
- user
- execution
- stream
- module
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
提供了一种使用紧凑架构的用于自动化测试的系统和方法(“效用”)。该效用包括多个功能,所述多个功能包括测试模块的开发、测试流的开发和测试流的执行。可以通过该紧凑架构来对这些功能中的每一个进行分离,使得可以将自动化测试功能划分为各个职责。该各个职责可以包括测试开发者、测试流设计者和测试流执行者。该效用还可以包括认证器,该认证器可操作为(例如,使用GUI来)确定用户的各个职责,并且提供与这个职责对应的功能。该效用可以提供用于提供实时数据反馈的一个或多个显示。此外,该效用能够操作为生成定做的测试结果报告,该测试结果报告使得用户能够分析一个或多个受测装置的性能。
Description
背景技术
在电子装置的设计和制造中,需要验证设计并确保装置提供所期望的功能和特征。作为结果,已经开发了自动化测试,由此可以测试并校验电子装置的功能和特征。由于被测试的装置在复杂性上已经增长,所以也已经开发了更加复杂的自动化测试系统。
装置的准确和可靠测试对于该装置的成功开发和生产可能是关键的。自动化测试过程中的瑕疵可能错误地反映在该装置的性能上,由此导致了开发中的延迟和生产中的不必要损耗。照这样,装置的准确和可靠测试对于有效且高效地开发或制造产品是关键的。
在其中自动化测试用于在研发期间对产品进行评定的情形下,准确和有效自动化测试的要求增强。尽管在生产中用于装置的自动化测试可能不会频繁地改变,但是在研发期间使用的自动化测试可能需要提供用于快速修改测试并以短测试开发时间而生成新测试的能力,以便满足与该研发处理相关联的改变的测试需求。
已经使用操作为控制测试装置并采集关于这个装置的数据的程序来进行自动化测试。传统上,这已经要求来自不同人员的各种贡献,以确保恰当的测试开发。例如,计算机程序员可以产生通过其来进行自动化测试的源代码。然而,可能的是,用于对自动化测试进行编码的计算机程序员对于总体测试例程或测试流的要求知之甚少或根本不了解。用于对该测试程序进行开发的该计算机程序员或其他同样的人可能不知道需要对新装置的什么特征或组件进行测试,他或她可能也不知道用于该装置完全评定所必需的顺序、测试的总数、或测试的种类。照这样,可能要求领域专业人员(例如,测试工程师)在完全地捕获需要被测试的装置的各小方面上来协助计算机程序员。这给用于开发该测试程序的人和领域专业人员两者都造成了负担,这导致测试程序的开发的成本和复杂性上增加。
此外,第三人可能进行所述测试的执行。在此情况下,可能要求该第三人在测试程序的开发和设计上与计算机程序员和测试工程师一样精通,以便恰当地执行该测试。在这点上,测试处理的开发必然涉及横跨多种来源的复杂协作和交流,或者涉及熟悉整个测试程序开发、设计、和执行的单一、经过高度培训的人。在任一实例中,添加的成本和复杂性导致用于创建自动化测试系统(尤其是,在研发中针对产品设计的一个自动化测试系统)的不期望的条件。
另外,恰当地进行测试程序的开发、设计、和执行所必需的辅助系统(诸如,图形用户界面、计算机硬件、通信装置等)的控制经常不得不与所创建的每个相继测试程序一起进行重新开发。这导致了要求更多时间和金钱来有效地开发、设计、和执行测试程序的增加的复杂性。对测试进行的改变经常要求全新的程序,这需要针对每个新程序来彻底从头开发测试程序。这可能导致在开发和执行测试程序时的长交付时间。
针对此背景技术,已经开发了用于自动化测试的紧凑架构(compactframework)。
发明内容
结合意欲为示范性和说明性的、并且不在范围上进行限制的系统、工具、和方法来描述并说明以下实施例及其各方面。在各个实施例中,已经减少或消除了一个或多个上述问题,同时其他实施例针对其他改善。
根据第一方面,提供了一种使用紧凑架构的用于自动化测试的系统,该系统包括:多个功能,所述多个功能包括测试模块的开发、测试流的开发和测试流的执行。另外,该系统包括认证器,该认证器确定用户的特性,使得通过该特性来定义向用户提供的功能。此外,该系统包括图形用户界面,该图形用户界面对应于所述多个功能。
此方面的进一步改进可以包括操作为执行该紧凑架构的自动化测试设备,并且还可以包括用于可操作地将该自动化测试设备连接到受测装置或单元的测试硬件。而且,一个实施例可以包括数据显示器,该数据显示器可操作为显示关于测试流的执行的实时数据。此数据也可以以图形形式显示。此外,一个实施例可以包括结果处理器,用于对在测试流的执行期间采集的数据进行格式化。该测试模块的开发和执行可以包括:提供和执行源代码、和/或指定一个或多个外部过程调用。在根据新的测试要求(例如,用于新技术或产品的测试)来对所述测试模块和关联功能进行开发之后,该紧凑架构可以加载所开发的组件并在该系统中执行它们。
根据另一方面,提供了一种使用紧凑架构的自动化测试的方法,使得执行该紧凑架构,并且该紧凑架构确定第一用户的特性。另外,该方法包括定义包括测试模块的开发、测试流的开发和测试流的执行的一个或多个功能。该方法还包括取决于所述用户特性来向所述第一用户提供这些功能中的至少一个。
在此方面的一个实施例中,通过多个测试模块来定义该测试流。另外,当前方面的一个实施例可以包括显示用于描述该紧凑架构的执行的实时数据。该方法的实施例还可以包括:使第一用户的功能中止,并且向第二用户提供不同的功能。此外,可以将在执行测试模块时采集的数据格式化为由该用户确定的报告格式。
该方法还可以包括以下实施例,其中可以通过暂停当前运行的线程、在完成当前运行的测试模块时进行暂停、或两者来暂停测试流的执行。
根据另一方面,提供了一种用于自动化测试的紧凑架构,该紧凑架构包括:测试模块开发模块,操作为对测试模块进行开发和定义。该紧凑架构还包括多个测试模块,所述多个测试模块具有参数和结果数据,所述参数和结果数据描述了该测试模块的配置和结果处理器,使得可以利用不同的参数和结果数据来执行每个测试模块。该紧凑架构还包括配置模块和执行模块,该配置模块操作为定义测试流,该测试流包括所述测试模块中的至少一个,并且该执行模块操作为执行该测试流。另外,测试开发模块、配置模块和执行模块是基于用户的特性。此方面的紧凑架构还可以包括以下实施例,其中通过该紧凑架构来生成可以响应于用户的要求而格式化的报告结果。
除了上述的示范方面和实施例之外,参考附图并通过研究以下描述,进一步的方面和实施例将变得明显。
附图说明
图1是自动化测试系统的一个实施例的示意图。
图2是描绘了示范的紧凑架构的执行的流程图。
图3是描绘了用于开发测试模块的功能的流程图。
图4是描绘了用于设计测试流的功能的流程图。
图5是描绘了用于执行测试模块的功能的流程图。
图6是描绘了用于开发测试模块的替换功能的流程图。
图7是描绘了测试流结果的处理的流程图。
图8是描绘了用于在执行期间暂停测试流的两种方法的流程图。
图9是示出了测试流的执行的详细流程图。
图10是示出了测试流和测试模块的组织的示意图示。
具体实施方式
现在,将对附图做出参考,所述附图至少协助图示了本发明的各种相关特征。在这点上,为了说明和描述的目的而呈现了以下描述,并且该以下描述不意欲将本发明限于在这里所公开的形式。结果,与以下教导以及相关技术领域的技术和知识相称的变形和修改都处于本发明的范围内。在这里所描述的实施例还意欲使得本领域技术人员能够按照这样的或其他实施例、并且与本发明的具体(多个)应用或(多个)使用所要求的各种修改一起来利用本发明。
转到图1,示出了本发明的自动化测试系统100的一个实施例。该系统100包括自动化测试设备(ATE)110,其与受测单元(UUT)120处于操作的通信中。UUT 120可以是任何类型的硬件、软件或者其组合。可以经由测试硬件130来完成ATE 110和UUT 120之间的通信。测试硬件130可以是任何线缆、线缆族、物理硬件接口、软件实现的通信/控制接口、(多个)连接器、或允许进行UUT 120和ATE 110之间的操作通信的任何其他联结器。另外,测试硬件130可以提供其他测试仪器、传感器、致动器、或执行如下面进一步描述的测试所必需的其他装置。图形用户界面(GUI)140操作为接收来自用户的输入和命令,以控制ATE 110。ATE 110可以是具有微处理器、存储器、和诸如显示器、键盘、和鼠标等之类的其他相关硬件的计算机。本实施例的ATE 110可以操作为执行紧凑架构。
在本实施例中,紧凑架构是用于控制ATE 110以对UUT 120执行测试功能的计算机程序。本实施例中的UUT 120可以是以下装置,即在生产该装置以前、处于研发阶段的装置。更具体地,UUT 120可以是蜂窝电话、PDA、计算机、或任何其他电子装置。
紧凑架构通过执行用于验证UUT 120的功能的一个或多个测试序列,来对UUT 120进行测试。在该紧凑架构中,将所述测试序列定义为测试模块,可以将所述测试模块编译为定义要在单一测试流中执行的测试流、或测试模块族。测试模块向ATE 110提供指令,以对UUT 120执行测试。这可以包括向UUT 120提供输入、或响应于某些测试条件而监视UUT 120的参数等。可以将测试模块开发并修改为测试UUT 120、或UUT组件等的特定功能。
可以响应于由ATE 110执行的测试来采集数据。在自动化测试系统100的本实施例中,可以以用于在紧凑架构中直接表示所记录数据的原始形式来采集数据。然后,可以将所采集的原始数据转换为人类可读的并且可以由工程师、和设计者等用于评估UUT 120的结果报告。同样,可以在数据库或其他存储介质中存储原始或格式化的数据,以用于稍后的回顾或将来的结果处理。由于UUT 120可能是具有许多组件和功能的复杂装置,所以可能需要采用许多测试子例程或测试模块来完全地评定UUT 120的性能。照这样,可以将多个测试模块添加到测试流,以便在单一测试流期间执行不同的测试子例程。即,测试流可以是要依次执行以测试UUT 120的测试模块族。
可以开发需要使用上面形态来测试的许多不同产品。此外,对现有产品进行的改变可能引起对于变更、修改、或创建新测试的需求。由于导致了在作为整体的装置和由所述装置提供的功能两者上的改变的开发的快速步调,所以当产品处于研发中时、用于修改或创建新测试的此需求增强。当正在连续地对新产品进行开发时,紧凑框架适于对各种装置和组件进行测试,并且提供用于快速修改测试过程、以适应变化的所需测试条件的能力。
相应地,在本实施例中,测试模块开发、测试流设计、和测试流执行全部都构成由紧凑架构提供的独特功能。向负责与每个功能相关联的每个任务的用户提供这些功能。这样,由该紧凑架构提供的每个功能可以适合于特定的用户职责,以消除复杂性和困难。这可以包括为每个功能提供功能专门GUI140。照这样,可以向具有职责专门任务的每个用户呈现与完成这个任务相关联的紧凑架构的特定功能。可以向每个功能提供专门GUI 140。然而,由于在单一紧凑架构内执行每个功能,所以也可以规定功能集合之间的任何重叠。即,测试模块开发者可以不需要具有关于测试流设计的任何知识,并且测试流设计者可以不需要具有关于测试流模块开发的任何知识。尽管使用该紧凑架构来完成全部两个任务,但是将所述功能彼此分离,可以相对隔离地完成每个任务。
例如,考虑以下情形,其中新特征被添加到装置,并因此需要用于评定此特征的新测试。假设没有能够测试该新功能的现有测试模块,于是测试模块开发者将不得不生成用于封装测试子例程、以验证该新特征的有效性的新测试模块。然后,测试模块开发者将能够开发模块,而无需其中将使用该模块的测试流情境的任何知识。类似地,不知道如何开发该测试模块的测试流设计者将能够通过设计合并了该新测试模块的测试流,而采用新开发的测试模块来测试该新功能。由于两个用户执行这些任务、并且该两个用户不需要理解由另一用户执行的任务,所以可以通过使功能适合于正执行每个功能的用户的类型、来为特定任务简化并优化每个需要采用的功能。
现在转到图2,示出了用于描绘紧凑架构的操作的流程图200。紧凑架构的操作在步骤210中起动,在该步骤210中,ATE 110(参见图1)发起紧凑架构的执行。然后,该紧凑架构在步骤220中例如使用图形用户界面来获取关于用户的信息。此用户信息可以包括用户登陆标识和密码、或者用于区分用户的标识符的任何其他项。一旦被标识,则可以预先在该紧凑架构内将用户定义为具有某些特性。这可以是向用户给定的单一特性,或者可以是多个特性。再进一步,可以将用户与所有特性相关联。在步骤220中获取的此用户信息用于在步骤230、240和250中确定用户可以访问什么功能。本发明的一个实施例包括三个特性,所述三个特性包括测试模块开发者230、测试流设计者240、和测试流执行者250。这些特性分别对应于包括以下各项的功能:测试模块的开发232、测试流的设计242、和执行测试流252。下面,进一步描述这些功能的执行。
在图2中,在步骤230中,该紧凑架构确定所获取的用户角色信息是否对应于测试模块开发者的用户角色信息。如果对应,则该紧凑架构在步骤231中显示对应于测试模块开发者的功能专门GUI 140。于是,该用户在步骤232中访问用于开发测试模块的紧凑架构功能。在步骤240中,将从步骤220中获取的用户特性信息评估为确定该用户是否具有与测试流设计者相关联的特性。再次,如果是这样,则该紧凑架构在步骤241中显示与测试流设计相关联的专门GUI 140,该专门GUI 140用于在步骤242中提供对于测试流设计功能的访问。类似地,在步骤250中,该紧凑架构确定该用户是否具有测试流执行者特性。如果是这样,则该紧凑架构在步骤251中显示测试执行专门GUI 140,该测试执行专门GUI 140用于在步骤252中使用户访问与测试流执行相关联的架构功能。
应该理解,用户可以拥有两个用户特性,并因此,有权执行两个相关联的功能。作为示例,用户可以具有用于测试模块开发者230和测试流执行者250两者的特性。在此情况下,用户将有权访问用于开发测试模块232和执行测试模块252的功能。还应该理解,用户可以具有所有特性,并且有权执行所有功能232、242和252。此外,尽管当前实施例包括与三个功能对应的三个特性,但是可以设想具有不同数目的特性和对应功能的其他系统。
在图3所示的流程图300中更加详细地描绘了用于开发测试模块232的功能。测试模块一般为用于控制用以提供特定测试功能的ATE 110的指令集合。在这点上,当对UUT 120进行开发时,可能要求新的或修改后的测试。相应地,可以开发新的且不同的测试模块,以满足此要求。为了促进测试模块的快速开发和修改,在步骤310中,紧凑架构响应于用户具有以下(多个)特性的确定,来提供在该架构内发起的测试模块开发功能,所述(多个)特性使得这个用户能够访问用于对测试模块进行开发的功能。在步骤320中,开发者可以经由功能专门GUI 140(参见图1)来输入命令。功能专门GUI 140向用户提供与测试模块的开发232相关联的功能的控制,使得该用户可以访问并执行这个功能。
测试模块开发者230可以具有对测试模块进行开发或修改的至少两种潜在方式。在步骤330中,测试模块开发者可以直接通过功能专门GUI 140来键入源代码。此源代码表示ATE 110可以用于对UUT 120执行一个或多个测试的控制指令。该架构可以对在步骤330中生成的源代码进行编译和加载,以便生成该测试模块。
另外或替换地,测试模块开发者可以在步骤340中开发外部库。此外部库可以包括动态链接库或该架构用于执行所期望的测试模块的功能的其他外部数据。一旦开发者已经在步骤330中键入了源代码或者在步骤340和350中开发并指定了适当的外部库,则该开发者可以在步骤360中将该测试模块分配到类别。如下面进一步解释的,可以通过类别来组织测试模块,以便当测试流设计者在选择要对UUT执行的测试时协助他们。另外,每个测试模块可能在步骤370中要求要由开发者定义的参数定义、结果极限和默认值。该参数定义包括执行测试模块的测试子例程所需的参数值。尽管如下面进一步解释的、这些参数也可以由测试执行者来键入,但是该测试模块开发者可以定义参数的功能,并且建立出对于进行由该测试模块执行的测试而言什么参数是必须的。该测试模块开发者还在步骤370中定义结果极限和默认值。在步骤370中由测试开发者定义的每个参数、结果极限和默认值可以与该测试模块一起存储在存储器中。在这点上,该测试模块可以用作可以在各种测试流中进行利用、以对一个或多个装置进行测试的预定义的测试子例程。而且,由于测试模块开发和测试流设计的功能是独特的功能,所以测试模块开发者不需要具有关于测试流设计的任何知识,这是由于运行每个测试模块所要求的数据是独特的,并且与该测试模块一起进行存储。
现在参考图10,示出了用于示出测试模块和测试流的组织的示意图。如图3所示,测试模块开发者在步骤360中定义用于每个测试模块的类别(例如,类别(Category)1、类别2、类别n)。应该理解,尽管在图10中示出了三个类别,但是没有对类别的数目进行限制。为了解释,类别1包含三个测试模块1040(标记为1、2和3)。因此,要理解,在测试模块1、2和3的测试模块开发中,测试模块开发者已经定义了这些测试模块中的每一个将与类别1相关联。类似地,将测试模块4、5和6定义为属于类别2,并且将测试模块7、8和9定义为属于类别n。如每个类别的顶部测试模块(即,测试模块3、6和9)所示,每个测试模块已经定义了对于每个测试模块唯一的参数数据和结果处理数据。
现在转到图4,流程图400描绘了使得用户能够设计测试流的功能。一旦紧凑架构已经在步骤240中确定出用户具有测试流设计者的特性(参见图2),则该紧凑架构在步骤410中发起测试流设计功能。该测试流设计者然后可以在步骤450中创建新的测试流。可选步骤460在于对现有测试流的全部或部分进行复制,以在步骤450中创建新的测试流。在已经创建了新测试流之后,设计者可以选择要修改的测试流。替换地,测试流设计者可以通过在步骤420中选择要修改的现有测试流来开始。然后,该设计者在步骤430中选定要在该测试流中包括的测试模块的列表。如先前所提及的,可以根据类别来组织测试模块,使得测试流设计者可以更加容易地访问所期望的测试模块。在这点上,测试流设计者可以在步骤440中从类别列表中挑选测试模块,即选定与所需测试子例程功能对应的适当的测试模块。再者,当可能需要在单一测试流中测试UUT 120的许多组件和功能时,该测试设计者可以对各种测试模块进行编译,以便完成所期望的测试例程。一旦测试流设计者已经在步骤430中完成了该测试模块列表的编译,则该测试流设计者可以在步骤470中对该测试流进行配置。这可以包括向现有参数提供参数的初始输入或调整,该测试模块的开发者使得所述现有参数可用于进行调整。
返回参考图10,描述了与要执行的不同测试例程对应的多个测试流(例如,测试流(Test Flow)1、测试流2和测试流n)。如可以领会的,每个测试流具有在该测试流内定义的各种测试模块1040。例如,示出了包括测试模块1、3、6、4和5的测试流1。要理解,可以将任何数目的测试模块1040与测试流相关联,以便完成所期望的测试例程。另外,执行测试模块1040的顺序可以处于由测试流设计者指定的任何顺序中。另外,测试流设计者可以创建任何数目的测试流。
图5图示了用于表示用以执行测试流的功能(参见图2的步骤252)的流程图500。一旦紧凑架构已经正确地确定出用户具有测试流执行者的特性(例如,图2的步骤250),则该紧凑架构在步骤510中发起测试流设计功能。接下来,该执行者可以在步骤520中选择要执行的所期望的测试流。然后,可以对该测试流进行加载,并且在步骤530中可以向执行者呈现与功能专门GUI 140对应的配置面板,使得该执行者可以向该测试流的配置做出必要的调整。可选地,在步骤540中,该测试流执行者可以对用于每个测试模块的参数设置和结果极限(limit)进行配置。步骤540是可选的,这是因为每个测试模块可以具有如由测试模块开发者所提供的与其相关联的默认参数设置和默认结果极限。最终,在步骤550中,该测试流执行者执行测试流,使得该紧凑架构执行在所指定的测试流中包括的每个测试模块。
在图6所示的流程图600中描绘了执行测试流的替换实施例。在步骤610中,测试流执行者可以发起该测试流的执行。在步骤620中,紧凑架构可以执行其中测试流设计者编译为测试流的每个测试模块。连续地,在此处理期间,在步骤640中从该测试流的执行中采集即时数据反馈,并且实时进行显示,使得该测试流执行者可以实时地监视该测试执行的进度。此即时数据反馈还可以以图形形式来提供数据,以用于该数据的简化阐释。另外,测试模块开发者可以在对测试模块进行开发时使用此即时数据反馈,以对该测试模块在被实时执行时的性能和进度进行评估。在步骤630中,可以将与每个测试模块的执行相关联的原始数据编译为一个或多个报告。
在图7中示出了用于描绘用以对原始结果数据进行格式化的相关联结果处理的流程图700。测试流执行者在步骤701中通过选择所期望的原始报告数据来开始。紧凑架构还可以包括报告处理器,该报告处理器操作为将在测试模块执行600期间收集的原始数据变换为人类可读的测试报告。该测试流执行者可以在步骤702中选择适当的测试报告处理器。在步骤703中,702中所选择的报告处理器操作为对在步骤701中选择的被选原始测试数据进行变换,以生成测试报告。此测试报告可以包括关于UUT 120在测试流期间的性能和与其性能相关联的报告值的数据,或者可以包括用于各种测试模块或组件的“通过(pass)”或“未通过(fail)”标志。
在测试流的执行期间,测试执行者可以控制测试流的操作,如图8的流程图800所示。在步骤820中,测试流处于运行状态中,使得测试流600的执行正在进行中。该测试流执行者可以给出“停止(stop)”命令821,使得该测试流从运行状态802直接进入停止条件860。此命令使该测试流的执行中断。替换地,该测试流执行者可以键入“挂起(suspend)”命令823。这将该测试流置于挂起状态830中,使得紧凑架构在以下线程处停止该测试流的执行,该线程运行于正在该测试流中执行的当前测试模块中。然后,该测试流可以前进到暂停状态850。
替换地,当该测试流正在运行时,该测试流执行者可以键入“按照模块暂停(paused by module)”命令824。这指令该紧凑架构在完成当前执行的测试模块时暂停该测试流的执行。然后,该紧凑架构可以将该测试流置于按照模块暂停状态840中。当完成当前运行的模块时,该测试流前进到暂停状态850。在处于暂停状态中的时候,该测试流执行者可以键入“停止”命令821,以将该测试流置于停止状态860中。该测试流执行者还可以键入“重新开始(resume)”命令822,以将该测试流返回到运行状态820。该“重新开始”命令822可以指令该测试流立即返回到运行状态820,或者在已满足条件(例如,已经过预定的时间段、或该装置处于某一温度等)之后返回到运行状态。
图9图示了用于执行测试流的方法的详细流程图900。该测试流的执行在步骤901中开始。初始地,在步骤902中将该测试流的状况设置为“运行”。然后,紧凑架构在步骤903中发起用于执行与该测试流相关联的每个测试模块的处理。步骤904确定测试流执行者是否已经键入了模块暂停命令824。如果已经键入了模块暂停命令824,则该处理前进到步骤922,并且将测试流状况设置为“暂停(pause)”。基于在步骤923中的重新开始命令,将该测试流设置回“运行”,并且该测试流继续。如果该执行者没有键入模块暂停命令824,则该测试流直接前进到步骤905。在步骤905中,加载测试模块程序,从而可以执行该程序。
在步骤906中,该测试模块通过执行子例程1(924)来开始运行。然后,该测试流前进到步骤912,其中针对该测试流来对该测试模块进行初始化。这涉及对由测试模块开发者、测试流设计者或测试流执行者定义的测试参数进行加载。测试模块实例在步骤913中开始执行。该测试模块实例是指当在步骤912中已经进行参数化之后的测试模块,使得针对具体的测试模块来运行特定的测试模块实例。然后,该测试流在步骤914中前进到预执行检查,然后前进到执行和结果采集步骤915,并最终在步骤916中前进到结果预处理。然后,在步骤917中检索结果。
然后,该测试流前进到步骤907,其中通过执行子例程2(925)来记录所述结果。在步骤918中,该紧凑架构首先确定是否已经在该测试模块的执行期间对所述结果的状况进行了评估。在所述结果处理已经定义在该测试模块的结果处理数据中的实例中,根据此定义来处理所述结果,并且该处理继续到步骤908。如果尚未这样定义所述结果处理,则在步骤919中将所述结果与输入结果极限结盟(align)。在步骤920中,对所述结果进行评估920并且进行记录921。在步骤908中,然后向测试流执行者报告所述结果和结果状况。然后,该紧凑架构检查该测试流,以确定是否存在要执行的另一测试模块,即步骤909。如果存在,则该处理循环回到步骤904。如果不存在,则该处理前进到步骤910,并且在步骤910中将该测试流的状况设置为“停止”。然后,该测试流在步骤911中终止。
如可以领会的,各个测试流可以不存储每个测试模块的单独实例。例如,在步骤912中,当在该测试流内执行每个测试模块时,对测试模块实例进行初始化。虽然此测试模块实例由该测试流来访问,但是该测试模块仍可以维持在单一存储器位置中。照这样,当测试模块开发者对测试模块进行修改时,不需要更新采用这个测试模块的所有测试流。即,采用这个测试模块的每个测试流将执行修改后的测试模块。这防止了测试流将继续采用过期或废弃的测试模块的可能性。这还防止了测试设计者不得不连续地更新测试流,以在所述测试流中反映每个测试模块的最新版本。当针对每个测试流来对测试模块进行初始化时,将对最当前版本的测试模块进行初始化。类似地,多个测试流可以这样地利用单一测试模块。例如,如图10所示,测试模块4包括在测试流1、测试流2和测试流n中。在此情况下,每个测试流将在执行期间访问测试模块4的实例。
尽管已经在附图和在前描述中详细地图示并描述了本发明,但是这种图示和描述要被认为是示范性的并且本质上不是约束性的。例如,在上文中描述的某些实施例可与其他所描述的实施例进行组合和/或以其他方式来进行安排(例如,可以以其他次序来执行处理元件)。相应地,应该理解,仅仅已经示出并描述了本发明的优选实施例及其变形,并且期望保护进入本发明的精神内的所有改变和修改。
Claims (18)
1.一种用于自动化测试的紧凑架构装置,包括:
测试模块开发组件,操作为对测试模块进行开发和定义;
多个测试模块,其中所述测试模块中的每一个包括参数数据和结果处理数据,并且其中所述多个测试模块中的每一个操作为对受测单元执行测试;
配置模块,操作为定义测试流,该测试流包括所述多个测试模块中的至少一个;以及
执行模块,操作为执行所述测试流;
其中一个或多个用户取决于所述一个或多个用户的特性来执行所述测试模块、所述配置模块和所述执行模块。
2.根据权利要求1的用于自动化测试的紧凑架构装置,还包括:
结果报告,包括由所述执行模块生成的、响应于所述一个或多个用户的输入而格式化的原始数据。
3.一种使用如权利要求1或2所述的紧凑架构装置的用于自动化测试的方法,包括以下步骤:
使用与所述紧凑架构装置关联的图形用户界面接收关于第一用户和第二用户的信息;以及
使用一个或多个计算机处理器:
执行所述紧凑架构装置;
分析关于所述第一用户的所述信息,以确定所述第一用户的特性;
定义包括测试模块的开发、测试流的开发和测试流的执行的一个或多个功能;
取决于所述第一用户的所述特性来向所述第一用户提供所述一个或多个功能中的至少一个;
使所述提供步骤中止;
分析关于所述第二用户的所述信息,以确定所述第二用户的特性;
取决于所述第二用户的所述特性来向所述第二用户提供所述一个或多个功能中的至少一个,其中所述一个或多个功能中的所述至少一个针对所述第二用户和所述第一用户不同。
4.根据权利要求3的方法,其中所述测试流包括多个测试模块。
5.根据权利要求3的方法,还包括:
显示与所述紧凑架构装置的所述执行相关的实时数据。
6.根据权利要求3的方法,还包括:
执行测试模块;
根据测试模块的所述执行来生成原始结果数据;以及
使用被格式化为用户定义的报告格式的所述原始结果数据来生成报告。
7.根据权利要求3的方法,还包括:
执行测试模块;
执行包括所述测试模块的测试流;
接收命令;以及
响应于所述命令,暂停所述测试流的执行,使得所述测试流挂起所述测试模块的执行。
8.根据权利要求7的方法,还包括:
重新开始所述测试流的执行。
9.根据权利要求3的方法,还包括:
执行测试模块;
执行包括所述测试模块的测试流;
接收命令;以及
响应于所述命令,在完成所述测试模块的执行之后暂停所述测试流的执行。
10.根据权利要求9的方法,还包括:
重新开始所述测试流的执行。
11.一种使用如权利要求1或2所述的紧凑架构装置的用于自动化测试的系统,包括:
用于使用与所述紧凑架构装置关联的图形用户界面接收关于第一用户和第二用户的信息的单元;以及
用于使用一个或多个计算机处理器的单元,包括:
用于执行所述紧凑架构装置的单元;
用于分析关于所述第一用户的所述信息,以确定所述第一用户的特性的单元;
用于定义包括测试模块的开发、测试流的开发和测试流的执行的一个或多个功能的单元;
用于取决于所述第一用户的所述特性来向所述第一用户提供所述一个或多个功能中的至少一个的单元;
用于使所述提供步骤中止的单元;
用于分析关于所述第二用户的所述信息,以确定所述第二用户的特性的单元;
用于取决于所述第二用户的所述特性来向所述第二用户提供所述一个或多个功能中的至少一个的单元,其中所述一个或多个功能中的所述至少一个针对所述第二用户和所述第一用户不同。
12.根据权利要求11的系统,其中所述测试流包括多个测试模块。
13.根据权利要求11的系统,还包括:
用于显示与所述紧凑架构装置的所述执行相关的实时数据的单元。
14.根据权利要求11的系统,还包括:
用于执行测试模块的单元;
用于根据测试模块的所述执行来生成原始结果数据的单元;以及
用于使用被格式化为用户定义的报告格式的所述原始结果数据来生成报告的单元。
15.根据权利要求11的系统,还包括:
用于执行测试模块的单元;
用于执行包括所述测试模块的测试流的单元;
用于接收命令的单元;以及
用于响应于所述命令,暂停所述测试流的执行,使得所述测试流挂起所述测试模块的执行的单元。
16.根据权利要求16的系统,还包括:
用于重新开始所述测试流的执行的单元。
17.根据权利要求11的系统,还包括:
用于执行测试模块的单元;
用于执行包括所述测试模块的测试流的单元;
用于接收命令的单元;以及
用于响应于所述命令,在完成所述测试模块的执行之后暂停所述测试流的执行的单元。
18.根据权利要求17的系统,还包括:
用于重新开始所述测试流的执行的单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/204,541 | 2008-09-04 | ||
US12/204,541 US8005639B2 (en) | 2008-09-04 | 2008-09-04 | Compact framework for automated testing |
PCT/US2009/055917 WO2010028168A2 (en) | 2008-09-04 | 2009-09-03 | Compact framework for automated testing |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102144221A CN102144221A (zh) | 2011-08-03 |
CN102144221B true CN102144221B (zh) | 2014-03-12 |
Family
ID=41726621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980134475.7A Expired - Fee Related CN102144221B (zh) | 2008-09-04 | 2009-09-03 | 用于自动化测试的紧凑架构 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8005639B2 (zh) |
CN (1) | CN102144221B (zh) |
WO (1) | WO2010028168A2 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9322872B2 (en) * | 2010-06-01 | 2016-04-26 | The United States Of America As Represented By The Secretary Of The Navy | Correlated testing system |
US9965464B2 (en) | 2014-12-05 | 2018-05-08 | Microsoft Technology Licensing, Llc | Automatic process guidance |
US11068827B1 (en) * | 2015-06-22 | 2021-07-20 | Wells Fargo Bank, N.A. | Master performance indicator |
US9749064B2 (en) * | 2015-08-28 | 2017-08-29 | FedEx Supply Chain Logistics & Electronics, Inc. | Automated radio frequency testing management system |
CN107608659A (zh) * | 2017-08-25 | 2018-01-19 | 北京智行鸿远汽车有限公司 | 应用于响应多任务的LabVIEW的软件架构的设计方法 |
CN115061920A (zh) * | 2022-06-24 | 2022-09-16 | 西安羚控电子科技有限公司 | 一种流程图式自动化试验方法及其系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797356A (zh) * | 2004-12-29 | 2006-07-05 | 佛山市顺德区顺达电脑厂有限公司 | 使用于电脑装置的自动化测试装置及其处理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040225459A1 (en) * | 2003-02-14 | 2004-11-11 | Advantest Corporation | Method and structure to develop a test program for semiconductor integrated circuits |
US7496904B2 (en) | 2003-06-26 | 2009-02-24 | Microsoft Corporation | Mining dependencies for testing and risk management |
US8914679B2 (en) | 2006-02-28 | 2014-12-16 | International Business Machines Corporation | Software testing automation framework |
US7620856B2 (en) | 2006-12-28 | 2009-11-17 | Sap Portals Israel Ltd. | Framework for automated testing of enterprise computer systems |
-
2008
- 2008-09-04 US US12/204,541 patent/US8005639B2/en not_active Expired - Fee Related
-
2009
- 2009-09-03 WO PCT/US2009/055917 patent/WO2010028168A2/en active Application Filing
- 2009-09-03 CN CN200980134475.7A patent/CN102144221B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797356A (zh) * | 2004-12-29 | 2006-07-05 | 佛山市顺德区顺达电脑厂有限公司 | 使用于电脑装置的自动化测试装置及其处理方法 |
Also Published As
Publication number | Publication date |
---|---|
US20100057395A1 (en) | 2010-03-04 |
WO2010028168A3 (en) | 2010-06-10 |
US8005639B2 (en) | 2011-08-23 |
WO2010028168A2 (en) | 2010-03-11 |
CN102144221A (zh) | 2011-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7895565B1 (en) | Integrated system and method for validating the functionality and performance of software applications | |
Kazman et al. | Toward a discipline of scenario‐based architectural engineering | |
US20030070120A1 (en) | Method and system for managing software testing | |
US20030159089A1 (en) | System for creating, storing, and using customizable software test procedures | |
CN102144221B (zh) | 用于自动化测试的紧凑架构 | |
CN104077140A (zh) | 用于持续集成的自动化编译方法和编译装置 | |
JP2007535723A (ja) | 複合ソフトウエアシステムを実施して検証するための自動多次元追跡可能性行列を含む試験ツール | |
CN112270149A (zh) | 验证平台自动化集成方法、系统及电子设备和存储介质 | |
Maciel et al. | From Requirements to Automated Acceptance Tests of Interactive Apps: An Integrated Model-based Testing Approach. | |
US11922229B2 (en) | System for determining data center application program interface readiness | |
CN110188036A (zh) | 一种软件测试方法及装置 | |
CN113742215A (zh) | 一种自动配置和调用测试工具进行测试分析的方法及系统 | |
US9612870B2 (en) | Inversion of control for executable extensions in a run-time environment | |
Nezhad et al. | Behavior-driven development for real-time embedded systems | |
Heger | An Approach for Guiding Developers to Performance and Scalability Solutions | |
CN109669868A (zh) | 软件测试的方法及系统 | |
Eide | Quantification and traceability of requirements | |
Stapp et al. | Chapter 2 Testing Throughout the Software Development Life Cycle | |
Qi | Evaluation of the maintenance required by web application test suites | |
US20080066005A1 (en) | Systems and Methods of Interfacing with Enterprise Resource Planning Systems | |
Husseini | Testing front-end architecture | |
Kettunen | Improvement of Test Automation Process | |
Fhang et al. | Why a good process fail? Experience in building a sustainable and effective process for software development | |
Ben Hafaiedh et al. | A formal model-based approach to design failure-aware Internet of Things architectures | |
Carvalho | Structural Clustering of Web Pages for Usage Pattern Mining |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140312 Termination date: 20170903 |
|
CF01 | Termination of patent right due to non-payment of annual fee |