嵌入式软件的自动测试装置及其自动测试方法

文档序号:6516355阅读:247来源:国知局
嵌入式软件的自动测试装置及其自动测试方法
【专利摘要】一种嵌入式软件的自动测试装置及其自动测试方法,所述嵌入式软件的自动测试装置包括:输出检测器,根据来自分别加载有第一和第二嵌入式软件的第一和第二电子设备中的至少一个的数据发送/接收以及其间的数据交换,收集接口状态信息,并从所收集的接口状态信息中提取关键字;情景构成器,使用关于第一和第二嵌入式软件的识别信息和所提取的关键字,并且构成与预定事件状态相对应的情景;以及控制命令产生器,基于所构成的情景产生用于再现事件状态的控制命令。因此,能够预先检测在多个嵌入式软件的交互中、发送和接收数据的交互操作中等会发生的不可预见问题和可预见问题,并对其进行再现。
【专利说明】嵌入式软件的自动测试装置及其自动测试方法
【技术领域】
[0001]根据示例性实施例的装置和方法涉及一种嵌入式软件的自动测试装置及其自动测试方法,更具体地,涉及一种使安装在电子设备中的嵌入式软件的操作测试自动化的装置和方法。
【背景技术】
[0002]随着电视(TV)、移动电话或等多种电子设备(例如,数字设备)的出现,安装在这种设备中的嵌入式软件变得多种多样。多种设备为在各个设备中安装的嵌入式软件提供多种执行环境,但是会产生错误。因此,考虑到可能在执行该嵌入式软件中出现的错误,可以提前对嵌入式软件进行测试。
[0003]在与对应于真实环境的目标环境端口连接之前的主机环境下,根据基于许多情况的多种用户情景来测试嵌入式软件。在主机环境下展开的情景可以在目标环境下再现。
[0004]由于可以将嵌入式软件与具有多种硬件特性和软件环境的目标环境端口连接,并进行操作,所以在完成嵌入式软件的开发之前,嵌入式软件可能相对于多种情景经历详细且深入的测试。作为这样的测试方法中,存在一种传统的测试方法,使用商业化的自动测试工具,以便向嵌入式软件单向发送命令。
[0005]单独加载嵌入式软件的多个电子设备(例如,数字设备)在通过通信接口发送和接收数据的同时执行每个嵌入式软件。各个嵌入式软件的特性相互不同(例如,不同操作系统(OS)),因此问题可能不仅由一个嵌入式软件引起而且也由多个嵌入式软件之间的交互引起。在后者的情况下,在执行各个嵌入式软件的时间差、嵌入式软件在接口上的效果等可以引起多种不期望的问题。
[0006]因此,基于针对单个嵌入式软件的单向命令发送的传统测试难以再现特性相互不同的多个嵌入式软件之间的交互中、发送和接收数据的交互操作等中发生的多种问题。此夕卜,对在终端用户的条件下可以发生的多种交互情景而言,传统测试不是灵活的,因此确保与多种情况相对应的情景的成本较高。因此,浪费了时间和劳动力,难以精确测试。

【发明内容】

[0007]其它方面和/或优点部分地将在以下描述中阐述,且部分地将通过以下描述而变得清楚明白,或者可以通过本发明的实践来获知。
[0008]一个或多个示例性实施例可以提供嵌入式软件的自动测试装置,包括:输出检测器,根据来自分别加载有第一和第二嵌入式软件的第一和第二电子设备中的至少一个的数据发送/接收及其间的数据交换,来收集接口状态信息,并从所收集的接口状态信息中提取关键字;情景构成器,使用关于第一和第二嵌入式软件的识别信息和所提取的关键字,并构成与预定事件状态相对应的情景;以及控制命令产生器,基于所构成的情景产生用于控制第一和第二嵌入式软件之一再现事件状态的控制命令。
[0009]控制命令可以包括关于第一和第二嵌入式软件之一的识别信息,并且可以被发送到加载有与该识别信息相对应的嵌入式软件的电子设备。
[0010]控制命令可以包括嵌入式软件的执行命令,以及关于执行命令的时间信息。
[0011]时间信息可以根据第一和第二电子设备的数据发送/接收,反映执行第一和第二嵌入式软件的时间差。
[0012]情景构成器可以使用关键字作为条件,并构成与满足条件的事件状态相对应的情景[0013]所构成的情景可以包括预定形式的编程语言,所述编程语言使用控制命令中包括的至少一个指令作为用于执行嵌入式软件的指令。
[0014]自动测试装置还可以包括存储所构成的情景的存储单元。
[0015]自动测试装置还可以包括:第一和第二测试处理器,在控制命令下控制第一和第二嵌入式软件分别执行再现事件状态的测试。
[0016]控制命令产生器可以将再现结果与先前构成的情景进行比较,以便确定是否发生了错误。
[0017]控制命令产生器可以产生用于按照预设顺序或随机地再现与多个先前存储的情景相对应的事件状态的控制命令。
[0018]输出检测器、情景构成器和控制命令产生器可以设置在主机装置中,所述主机装置连接到第一和第二电子设备中的至少一个。
[0019]一个或多个示例性实施例可以提供嵌入式软件的自动测试方法,包括:根据来自分别加载有第一和第二嵌入式软件的第一和第二电子设备中的至少一个的数据发送/接收以及其间的数据交换,接收接口状态信息;从所接收的接口状态信息中提取关键字;通过使用关于第一和第二嵌入式软件的识别信息和所提取的关键字,构成与预定事件状态相对应的情景;并且基于所构成的情景产生用于控制第一和第二嵌入式软件之一再现事件状态的控制命令。
[0020]控制命令可以包括关于第一和第二嵌入式软件之一的识别信息,所述方法还可以包括:向加载有与所述识别信息相对应的嵌入式软件的电子设备发送该控制命令。
[0021]控制命令可以包括嵌入式软件的执行命令和关于执行命令的时间信息。
[0022]时间信息可以根据第一和第二电子设备的数据发送/接收,反映执行第一和第二嵌入式软件的时间差。
[0023]构成情景可以包括:使用关键字作为条件并构成与满足条件的事件状态相对应的情景。
[0024]所构成的情景可以包括预定形式的编程语言,所述编程语言使用控制命令中包括的至少一个指令作为用于执行嵌入式软件的指令。
[0025]自动测试方法还可以包括:存储所构成的情景。
[0026]自动测试方法还可以包括:在控制命令下控制第一和第二嵌入式软件中的至少一个执行再现事件状态的测试。
[0027]自动测试方法还可以包括:通过将再现结果与先前构成的情景进行比较,来确定是否发生了错误。
[0028]所述产生控制命令可以包括:产生用于按照预设顺序或随机地再现与多个先前存储的情景相对应的事件状态的控制命令。【专利附图】

【附图说明】
[0029]结合附图,根据以下示例性实施例的描述,以上和/或其它方面将变得清楚并且更容易理解,在附图中:
[0030]图1是示出了根据示例性实施例的自动测试装置的配置的框图;
[0031]图2是示出了根据示例性实施例的接收接口状态信息的示例的视图;
[0032]图3是示出了根据示例性实施例的嵌入式软件的自动测试方法的流程图;以及
[0033]图4是示出了根据示例性实施例的嵌入式软件的测试情景构成方法的流程图。
【具体实施方式】
[0034]现在详细参考实施例,在附图中示意了实施例的示例,其中贯穿附图,类似的附图标号用于表示类似组件。以下参照附图描述实施例,以便对本公开进行说明。
[0035]图1是示出了根据示例性实施例的自动测试装置的配置的框图。
[0036]如图1所示,根据示例性实施例的自动测试装置10包括多个测试代理130、230和测试指挥(test director) 330。
[0037]测试代理130、230分别安装在要进行测试的第一和第二电子设备100、200中,测试指挥330安装在控制整体测试处理的主机装置300中。主机装置300可以是计算设备,例如,个人计算机(PC)或服务器。
[0038]第一和第二电子设备100、200通过第一和第二代理接口 120、220执行相互之间的数据通信。数据通信可以包括有线通信和无线通信。例如,第一和第二电子设备100、200可以是PC和诸如监控器等图像处理设备、诸如TV等图像处理设备和音频基座(dock)(音频输出设备)、诸如TV等图像处理设备和遥控器、等等。第一和第二代理接口 120、220可以包括,例如串行、以太网、高清多媒体接口(HDMI)等标准输入/输出(I/O)接口,以及蓝牙、射频(RF)等无线通信接口。
[0039]例如,如果对分别安装在诸如TV等图像处理设备和音频基座中的嵌入式软件进行测试,则TV和音频基座可以连接到PC以便执行该测试。此时,TV和音频基座可以与第一和第二电子设备100、200相对应,PC可以与主机装置300相对应。此外,第一和第二电子设备100、200成为作为其中最终安装和运行嵌入式软件的真实环境的目标。
[0040]在实施例中的第一和第二电子环境100、200可以是多种电子设备,例如,移动电话、诸如MP3播放器等便携式终端。如果每个电子设备100、200都是图像处理装置,则它可以包括用于在预设图像处理下处理从外部图像供应源接收的图像信号的图像处理器。
[0041]如图1所示,主机装置300还可以包括:存储单元340,存储非限制的数据/信息;以及用户输入单元,允许用户输入他的/她的命令。
[0042]例如,存储单元340可以是非易失性存储介质,例如,闪存、硬盘驱动器等,并可以设置在主机装置300的内部或外部。如果存储单元340设置在外部,则可以提供连接器(未示出)以便与存储单元340进行连接。通过测试指挥330来访问存储单元340,并通过执行例如读取/记录/修改/删除/更新/等的作来访问存储单元340中的数据。在实施例中,存储单元340可以存储并读取关键字列表341和多个情景342。
[0043]例如,用户输入单元350可以是键盘、鼠标、图形用户界面(⑶I)、触摸屏等。在实施例中,测试指挥330可以基于通过用户输入单元350输入的用户命令来测试嵌入式软件110、210。该测试可以包括针对第一和第二电子设备100、200发送并接收数据的同时产生的事件的测试。
[0044]根据示例性实施例,存储单元340和用户输入单元350可以包括在自动测试装置中。
[0045]在实施例中,主机装置300以及第一和第二电子设备100、200相互之间执行数据通信,并自动测试第一和第二嵌入式软件110、210。数据通信可以包括有线通信和无线通信。例如,主机接口 320可以包括串行、以太网、高清多媒体接口(HDMI)等标准输入/输出(I/O)接口,以及蓝牙、射频(RF)等无线通信接口,连接到第一和第二代理接口 120、220。
[0046]设置在第一和第二电子设备100、200中的测试代理130、230提供在第一和第二电子设备100、200中实现测试的环境。例如,在每个测试场景下,安装在第一和第二电子设备100,200中的第一和第二嵌入式软件110、210可以分别由测试代理130、230实现。测试代理130、230可以是处理单元,例如,控制处理单元(CPU)、微控制单元(MCU)等,从而控制第一和第二电子设备100、200的功能,或提供用户界面(UI)。
[0047]在实施例中,测试代理130、230可以包括:测试处理器131、231,基于由测试指挥330产生的指令列表,处理嵌入式软件110、210以便再现预定事件状态。
[0048]测试指挥330是测试管理引擎,控制测试代理130、230执行测试,使得嵌入式软件110、210可以再现预定事件。测试指挥330发送例如开始、停止、完成等命令,使得测试代理130、230可以开始、停止、完成测试等,因此测试代理130、230响应于所接收的命令,通过再现对应事件状态来执行每个测试。
[0049]例如,在实施例中的测试指挥330可以是CPU、MCU等,并控制主机装置300的操作。例如,测试指挥330控制通过主机接口 320的数据通信,并执行与通过用户输入单元350输入的用户命令相对应的操作。
[0050]从测试代理130、230向测试指挥330报告测试运行状态或测试运行结果,并且测试指挥330对测试运行状态或测试运行结果进行监控。监控可以主要包括管理测试状态和产生报告,或如果没有对测试进行平滑处理,则控制测试。例如,每次完成每个事件再现时,测试代理130、230可以向测试指挥330报告运行结果。如果没有在预设时间内向测试指挥330报告事件再现,则确定发生了错误,并命令测试代理130、230产生关于迄今运行结果的报告或重新开始相应事件。
[0051]在实施例中的测试指挥330将测试代理130、230和嵌入式软件110、210构建在一起,并将其与电子设备100端口连接。为了运行测试,测试指挥330可以通过主机接口 320以及第一和第二代理接口 130、230,向第一和第二电子设备100、200发送单独的指令列表,使得嵌入软件210可以再现多种事件状态。
[0052]下文中,将参考图1来描述测试指挥330和测试代理130、230的详细测试操作。
[0053]如图1所示,测试指挥330包括输出检测器331、情景构成器332以及控制命令产生器333。
[0054]当执行第一和第二嵌入软件110、210时,输出检测器331根据在第一和第二代理接口 120、220中的数据通信,通过主机接口 320收集接口状态信息。这里,可以在测试代理130、230的控制下来执行第一和第二嵌入式软件110、210,并且接口状态信息可以保存为日志文件,在日志文件中存储当执行嵌入式软件110、210时在第一和第二代理接口 120、220之间发送和接收数据的历史。
[0055]图2示出了根据示例性实施例接收接口状态信息的示例的视图。
[0056]如图2所示,例如,第一和第二代理接口 120、220可以是HDMI接口。例如,如果第一电子设备100是PC且第二电子设备200是诸如监控器等图像处理设备,则可以通过两者间的HDMI接口发送和接收多种数据(视频/音频信号、控制/状态信息等)。
[0057]在这种情况下,通过消费电子控制(CEC)线发送和接收的数据(指令和信息)可以通过主机接口 320接收作为接口状态信息。CEC是HDMI特征,设计为允许用户通过仅使用它们远程控制之一来命令和控制多个支持CEC的设备,所述多个支持CEC的设备通过HDMI连接。
[0058]在实施例中的主机接口 320可以连接到第一和第二代理接口 120、220之一,并接收接口状态信息。也就是说,第一和第二代理接口 120、220发送并接收两者间的数据,且将所有发送的和接收的数据记录为在第一和第二代理接口 120、220之一中的输入或输出,使得一个代理接口足以收集所有发送和接收的接口状态信息。
[0059]图2的实施例示出了主机接口 320连接到第二电子设备200的第二代理接口 220并接收接口状态信息的示例,但不仅限于此。备选地,本公开可以包括将主机接口 320连接到第一电子设备100的第一代理120并接收接口状态信息,并且包括主机接口 320从第一和第二代理接口 120、220 二者接收接口状态信息。
[0060]输出检测器331从所收集的接口状态/[目息中提取关键字,并基于所提取的关键字构成关键字列表331。所构成的关键字列表331存储在存储单元340中。此外,所收集的接口状态信息包括根据基于下述控制命令由第一和第二嵌入式软件110、210再现的事件而输出的接口状态信息。
[0061]情景构成器332基于所构成的关键字列表331,根据嵌入式软件110、210的执行分析输出(标准输出)。这里,关键字列表331用于实时分析第一和第二嵌入式软件110、210的状态。
[0062]情景构成器332基于关于第一和第二嵌入式软件110、210的识别信息以及由输出检测器331根据输出分析器142的所分析结果而提取的关键字,产生与预定事件相对应的至少一个情景342。情景构成器332通过使用所提取的关键字作为条件(状态条件或询问),来确定真/假,并加载与满足相应条件的事件状态相对应的情景。
[0063]例如,如果第一电子设备100是TV且第二电子设备200是遥控器,则第一和第二代理接口 120、220可以由例如蓝牙通信模块来实现。主机接口 300可以通过串行、以太网、HDMI等连接到第二电子设备200的第二代理接口 220,并接收接口状态信息。输出检测器331收集所接收的接口状态信息,并提取关键字。具体地,例如,如果连续地提取“上电”和“播放”作为关键字,则输出检测器141构成关键字列表331,包括“播放(关键字A) ”,并使用和分析该关键字列表331作为播放音频文件的输出。情景构成器332可以加载记录所选频道的广播的情景(为了方便,称为情景A),作为与播放条件有关的事件状态之一。这里,情景构成器332可以按照预设顺序或随机地加载与该频道有关的多个情景(情景A、B、...N)。
[0064]实施例中的情景构成器332可以使用关于第一和第二嵌入式软件110、210的识别(ID)信息和关键字列表331的关键字,构成关于预定事件状态的情景。使用表示所提取关键字是发送数据还是接收数据的信息,来确定ID信息。
[0065]控制命令产生器333基于所构成的情景产生用于控制第一和第二嵌入式软件110和210之一再现预定事件状态的控制命令。也就是说,控制命令产生器333使用所构成的情景来产生指令列表,包含与相关事件状态相对应的指令。
[0066]例如,如果加载了情景A,则控制命令产生器333可以产生控制命令A,控制命令A包括与事件相对应的指令,所述事件是指第二嵌入式软件210向TV发送用于选择频道的命令并且发送用于记录所选频道的命令。此外,控制命令产生器333可以产生控制命令A’,控制命令A’包括与事件相对应的指令,所述事件是指第一嵌入式软件110从遥控器接收频道选择命令以便调谐到频道,并接收针对所调谐到的频道的记录命令以便记录相应广播。
[0067]所产生的控制命令A、A’分别包含关于第一和第二嵌入式软件110、210之一的识别信息,并发送给加载有与相关识别信息相对应的嵌入式软件的电子设备。
[0068]因此,控制命令A包含第二嵌入式软件210的识别信息(ID2),并发送给加载有第二嵌入式软件210的第二电子设备200 (例如,遥控器)。此外,控制命令A’包含第一嵌入式软件110的识别信息(IDl),并发送给加载有第一嵌入式软件110的第一电子设备100。
[0069]所产生的控制命令A、A’包括用于执行嵌入式软件110、210的命令和关于该执行命令的时间信息。在实施例中,时间信息根据第一和第二电子设备100、200的数据发送/接收,反映执行第一和第二嵌入式软件110、210的时间差。
[0070]例如,为了在控制命令A’下再现事件,在顺序地再现上电、频道和调谐记录的同时,考虑到用户使用遥控器进行输入需要花费的时间,第一嵌入式软件100可以反映时间差。在实施例中,关于从第二代理接口 220获得的发送/接收接口状态信息的信息可以用于确定每个执行命令的时间信息。
[0071]所产生的控制命令A、A’分别通过主机接口 320发送给电子设备200中加载的测试代理130、230的第一和第二测试处理器131、231。这里,控制命令A和控制命令A’相互独立地进行发送。
[0072]第一测试处理器131基于所接收的控制命令A控制第一嵌入式软件110执行再现相应事件状态的测试(调谐频道并记录所调谐到的频道)。第二测试处理器231基于所接收的控制命令A’控制第二嵌入式软件210执行再现相应事件状态的测试(选择频道、接收记录所调谐到频道并将其发送给TV的用户命令)。
[0073]通过第一和第二代理接口 120、220将来自再现结果的接口状态信息以日志文件的形式发送给主机装置300。日志文件可以保存在存储单元342中。
[0074]如上所述,输出检测器331基于再现结果收集状态信息,控制命令产生器333通过所收集的接口状态信息来分析输出,并确定在事件再现的结果中是否存在错误。控制命令产生器333可以将事件再现结果与先前构成的情景342作比较,以便确定是否有错误。
[0075]此外,控制命令产生器333可以根据是否发生了错误,通过将与新事件状态相对应的指令进行分支,来更新指令列表,并因此产生新控制命令。
[0076]例如,如果在选择频道和再现所选频道的事件A或A’的结果中没有错误,则构成在关键字A(频道)的条件下的另一情景(例如,将所选频道设为最喜爱频道的情景(为了方便,称为情景B)),所构成的情景B用于产生控制命令B、B’,控制命令B、B’与将所选频道设置为最喜爱频道的事件B、B’相对应。这里,事件B是通过遥控器接收用户输入以便设置最喜爱频道的事件,事件B’是TV根据用户输入设置并存储最喜爱频道的事件。
[0077]经由主机接口 320将所产生的控制命令B、B’发送给第一和第二电子设备100、200,第一和第二测试处理器131、231基于各自接收的控制命令B、B’,控制第一和第二嵌入式软件110、210执行再现相应事件状态(例如,事件B和事件B’ )的测试。
[0078]如果输出分析器142的分析结果示出在事件再现中的错误,则控制命令产生器333可以终止第一和第二嵌入式软件110、210的测试。这里,开发者可以通过用户输入单元350选择是否终止该测试。测试的终止也可以是自动执行的。
[0079]如果选择了终止该测试,则开发者可以执行分析,以便解决在执行第一和第二嵌入式软件110、210的同时发生的错误。
[0080]在另一方面,如果没有选择终止测试,则测试指挥330基于通过主机接口 320接收的接口状态信息继续收集和提取关键字。
[0081]因此,根据示例性实施例的自动测试装置根据嵌入式软件210的状态信息,顺序地或随机地执行多种事件,并预先检测在用户条件下会发生的可预见或不可预见的多种问题,从而对其进行再现。
[0082]此外,根据确定关于所提取关键字的状态信息是真/假,对多种事件进行分支,从而执行重复测试。
[0083]在情景构成器332中 构成的情景可以存储在存储单元250中。在实施例中的情景包括:预定形式的编程语言(下文中,称为“情景语言”),使用包括在指令列表中的至少一个指令作为执行第一和第二嵌入式软件110、120的指令。编程语言可以使用嵌入式软件110、210的接口状态信息(〈关键字A>,〈关键字B?作为条件,并支持多个选择语句(〈关键字C〉的情况下调用〈情景C〉、<关键字D>的情况下调用〈情景D>、<关键字E>的情况下调用〈情景Ε?、重复语句(重复〈重复次数 >)和比较语句(如果状态确定?成功--失败)中的至少一个。
[0084]在实施例中,构成情景(情景A、B、...、N),使得嵌入式软件110、210可以在基于第一和第二嵌入式软件110、210的接口状态信息的关键字的条件下,考虑可以在第一和第二嵌入式软件110、210中发生的每种情况来执行自动测试。
[0085]尽管根据条件对情景342进行了分支,但是连续地构成新情景直到开发者发起停止构成情景(或终止测试)的命令。
[0086]在实施例中的测试代理130、230可以向测试指挥330报告事件运行状态或结果。可以从测试代理130、230向测试指挥330报告测试操作状态或结果,且测试指挥330产生关于管理一般测试状态的报告,或没有对该测试进行平滑的报告。开发者查明该报告,并确认关于第一和第二嵌入式软件110、210的自动测试结果。
[0087]下文中,将参考图3和4来描述嵌入式软件的自动测试方法和情景构成方法。
[0088]图3是示出了根据示例性实施例的嵌入式软件的自动测试方法的流程图。
[0089]如图3所示,输出检测器331执行第一和第二嵌入式软件110、210,并接收输出接口状态信息(S402)。这里,可以从连接到主机接口 320的第一或第二代理接口 120、220中的任一个收集接口状态信息。
[0090]输出检测器331从在操作S402处接收的接口信息中提取关键字(S404)。所提取的关键字可以存储在存储单元340的关键字列表341中。[0091]情景构成器332使用第一和第二嵌入式软件110、210以及在操作S404处提取的关键字,构成与预定事件状态相对应的情景(S406)。这里,情景构成器332使用在操作S404处提取的关键字作为条件(询问),以便确定真/假(是/否),并产生满足相应条件的情

[0092]在操作S406处构成的情景342可以存储在存储单元340中(S408)。
[0093]此外,控制命令产生器333使用在操作S408中存储的情景,以便产生再现预定事件状态的控制命令(S410)。所产生的控制命令可以包括示出第一和第二嵌入式软件110、210之一的识别信息、执行嵌入式软件的指令、以及关于该指令的时间信息(例如,在执行该指令的时间差)。
[0094]将在操作S410产生的控制命令发送给加载有与所包括的识别信息相对应的嵌入式软件210或220的电子设备100或200(S412)。
[0095]第一测试处理器131或第二测试处理器231根据所接收的控制命令,控制第一或第二嵌入式软件110、210再现预定事件状态(S414)。
[0096]在输出检测器331中收集基于操作S414处处事件再现的接口状态信息,并提取关键字。控制命令产生器333使用所提取的关键字以便将再现结果与先前构成的情景342进行比较,从而基于事件再现 确定是否发生了错误(S416)。
[0097]如果在操作S416中确定发生了错误,则开发者可以选择是否终止测试(S418)。
[0098]如果在操作S416确定没有发生错误并在操作S418中没有选择终止测试,则重复执行操作S402到S414以便对与新事件状态相对应的命令进行分支并更新情景342。这样,再现多种事件,以便可以自动测试通过接口连接的多个电子设备中安装的多个嵌入式软件。
[0099]图4是示出了根据示例性实施例的嵌入软件的测试情景构成方法的流程图。
[0100]如图4所示,输出检测器331执行第一和第二嵌入式软件110、210,并接收输出的接口状态信息(S502)。这里,可以从连接到主机接口 320的第一或第二代理接口 120、220之一收集接口状态信息。
[0101]输出检测器331从操作S502处接收的接口信息中提取关键字(S504)。所提取的关键字可以存储在存储单元340的关键字列表341中。
[0102]情景构成器332使用第一和第二嵌入式软件110、210的识别信息以及操作S504处提取的关键字,构成与预定事件状态相对应的情景(S506)。这里,情景构成器332使用操作S504处提取的关键字作为条件(询问),以便确定真/假(是/否),并产生满足相应条件的情景。
[0103]操作S506处构成的情景342可以存储在存储单元340中(S508)。
[0104]可以由开发者选择情景构成器332是否继续构成情景(S510)。根据操作S510中的选择结果,根据条件对情景进行分支,并因此连续地构成新情景。这里,可以构成情景直到开发者发起停止构成情景(或终止测试)的命令。
[0105]根据示例性实施例,自动测试装置执行特性相互不同的多个嵌入式软件,并使用输出的接口状态信息作为询问,由此连续地或随机地执行多种事件。因此,能够预先检测在多个嵌入式软件的交互中、发送和接收数据的交互操作中等会发生的不可预见问题和可预见问题,并从而对其进行再现。[0106]此外,根据确定所提取关键字的状态条件的真/假,对多种事件进行分支,从而重复地执行关于多个嵌入式软件的自动测试。
[0107]此外,有条件地对测试情景进行分支,并连续地构成新情景直到开发者发起停止构成情景的命令,从而确保多种测试情景。
[0108]尽管示出并描述了一些示例性实施例,但是本领域技术人员应认识到,在不脱离本发明的原理和精神的前提下,可以进行改变,本发明的范围在所附权利要求及其等同物中限定。
【权利要求】
1.一种嵌入式软件的自动测试装置,包括: 输出检测器,根据来自分别加载有第一和第二嵌入式软件的第一和第二电子设备中的至少一个的数据发送/接收以及其间的数据交换,收集接口状态信息,并且从所收集的接口状态彳目息中提取关键字; 情景构成器,使用关于第一和第二嵌入式软件的识别信息和所提取的关键字,并且构成与预定事件状态相对应的情景;以及 控制命令产生器,基于所构成的情景产生用于控制第一和第二嵌入式软件之一再现事件状态的控制命令。
2.根据权利要求1所述的自动测试装置,其中所述控制命令包括关于第一和第二嵌入式软件之一的识别信息,并且被发送给加载有与所述识别信息相对应的嵌入式软件的电子设备。
3.根据权利要求1所述的自动测试装置,其中所述控制命令包括嵌入式软件的执行命令,以及关于所述执行命令的时间信息。
4.根据权利要求3所述的自动测试装置,其中所述时间信息根据第一和第二电子设备的数据发送/接收,反映执行第一和第二嵌入式软件的时间差。
5.根据权利要求1所述的自动测试装置,其中所述情景构成器使用关键字作为条件,并且构成与满足条件的事件状态相对应的情景,所构成的情景包括预定形式的编程语言,所述预定形式的编程语言 使用控制命令中包括的至少一个指令作为用于执行嵌入式软件的指令。
6.根据权利要求1到5之一所述的自动测试装置,还包括:第一和第二测试处理器,在控制命令下控制第一和第二嵌入式软件分别执行再现事件状态的测试。
7.根据权利要求6所述的自动测试装置,其中所述控制命令产生器将再现结果与先前构成的情景进行比较,以便确定是否发生了错误。
8.根据权利要求1到5之一所述的自动测试装置,其中所述控制命令产生器产生用于按照预设顺序或随机地再现与多个先前存储的情景相对应的事件状态的控制命令。
9.一种嵌入式软件的自动测试方法,包括: 根据来自分别加载有第一和第二嵌入式软件的第一和第二电子设备中的至少一个的数据发送/接收以及其间的数据交换,接收接口状态信息; 从所接收的接口状态信息中提取关键字; 通过使用关于第一和第二嵌入式软件的识别信息和所提取的关键字,构成与预定事件状态相对应的情景;以及 基于所构成的情景产生用于控制第一和第二嵌入式软件之一再现事件状态的控制命令。
10.根据权利要求9所述的自动测试方法,其中所述控制命令包括关于第一和第二嵌入式软件之一的识别信息, 所述方法还包括:向加载有与所述识别信息相对应的嵌入式软件的电子设备发送所述控制命令。
11.根据权利要求9所述的自动测试方法,其中所述控制命令包括嵌入式软件的执行命令和关于所述执行命令的时间信息,时间信息根据第一和第二电子设备的数据发送/接收,反映执行第一和第二嵌入式软件的时间差。
12.根据权利要求9所述的自动测试方法,其中构成情景包括:使用关键字作为条件并且构成与满足条件的事件状态相对应的情景,所构成的情景包括预定形式的编程语言,所述预定形式的编程语言使用控制命令中包括的至少一个指令作为执行嵌入式软件的指令。
13.根据权利要求9到12中之一所述的自动测试方法,还包括:在控制命令下控制第一和第二嵌入式软件中的至少一个执行再现事件状态的测试。
14.根据权利要求13所述的自动测试方法,还包括:通过将再现结果与先前构成的情景进行比较,来确定是否发生了错误。
15.根据权利要求9到12中之一所述的自动测试方法,其中产生控制命令包括:产生用于按照预设顺序或随机地再`现与多个先前存储的情景相对应的事件状态的控制命令。
【文档编号】G06F11/36GK103793323SQ201310502738
【公开日】2014年5月14日 申请日期:2013年10月23日 优先权日:2012年10月26日
【发明者】李秉厚, 姜泰龙, 金相德, 朴容喜, 李相来, 李在焄 申请人:三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1