• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 18
    • 下载费用:30 金币  

    重庆时时彩五星直选1胆: 嵌入式软件的测试装置和测试方法以及测试场景组合方法.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201310516324.6

    申请日:

    2013.10.28

    公开号:

    CN103793324A

    公开日:

    2014.05.14

    当前法律状态:

    授权

    有效性:

    有权

    法律详情: 授权|||实质审查的生效IPC(主分类):G06F 11/36申请日:20131028|||公开
    IPC分类号: G06F11/36 主分类号: G06F11/36
    申请人: 三星电子株式会社
    发明人: 李秉厚
    地址: 韩国京畿道
    优先权: 2012.10.26 KR 10-2012-0119586
    专利代理机构: 北京市柳沈律师事务所 11105 代理人: 邵亚丽
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201310516324.6

    授权公告号:

    ||||||

    法律状态公告日:

    2018.08.07|||2015.11.18|||2014.05.14

    法律状态类型:

    授权|||实质审查的生效|||公开

    摘要

    本发明公开了用于嵌入式软件的自动测试装置、其自动测试方法、以及测试场景组合方法。它们可以用来检测在用户的条件下可能发生的不可预知的问题以及可预知的问题,并且再现各种事件。自动测试装置可以包括:关键字组合器,其从通过运行嵌入式软件输出的状态信息中提取关键字,并使用所提取的关键字组合关键字列表;输出分析器,其基于所组合的关键字列表分析来自嵌入式软件的运行的输出;控制命令生成器,其根据分析结果加载至少一个预先存储的场景,并生成对应于预定事件状态的指令列表;以及测试处理器,其基于所生成的指令列表处理嵌入式软件以再现事件状态。

    权利要求书

    权利要求书
    1.  一种嵌入式软件的自动测试装置,该自动测试装置包括:
    关键字组合器,从通过运行嵌入式软件输出的状态信息中提取关键字,并使用所提取的关键字组合关键字列表;
    输出分析器,基于所组合的关键字列表分析来自嵌入式软件的运行的输出;
    控制命令生成器,根据分析结果加载至少一个预先存储的场景,并生成对应于预定事件状态的指令列表;以及
    测试处理器,基于所生成的指令列表处理嵌入式软件以再现事件状态。

    2.  如权利要求1所述的自动测试装置,其中,所述控制命令生成器使用指令列表组合对应于事件状态的场景。

    3.  如权利要求2所述的自动测试装置,其中,所组合的场景包括预定形式的编程语言,在所述预定形式的编程语言中包括在指令列表中的至少一个指令被用作用于运行嵌入式软件的指令。

    4.  如权利要求1所述的自动测试装置,其中,所述控制命令生成器基于包括在关键字列表中的关键字和所加载的场景中的至少一个,生成包括对应于可能的事件状态的指令的指令列表。

    5.  如权利要求1所述的自动测试装置,其中,所述控制命令生成器根据再现结果确定是否发生错误。

    6.  如权利要求5所述的自动测试装置,其中,所述控制命令生成器通过根据是否发生错误分支到对应于新的事件状态的指令来更新指令列表。

    7.  如权利要求1至6之一所述的自动测试装置,其中,所述测试处理器被提供在装载了嵌入式软件的数字设备中,并且
    关键字组合器、输出分析器、和控制命令生成器被提供在连接到数字设备的主机装置中。

    8.  如权利要求1至6之一所述的自动测试装置,其中,所述关键字组合器、输出分析器、控制命令生成器、和测试处理器被提供在装载了嵌入式软件的数字设备中。

    9.  一种用于嵌入式软件的自动测试方法,包括:
    从通过运行嵌入式软件输出的状态信息中提取关键字,并使用所提取的 关键字组合关键字列表;
    基于所组合的关键字列表分析来自嵌入式软件的运行的输出;
    根据分析结果加载至少一个预先存储的场景,并生成对应于预定事件状态的指令列表;以及
    基于所生成的指令列表处理嵌入式软件以再现事件状态。

    10.  如权利要求9所述的自动测试方法,还包括使用指令列表组合对应于事件状态的场景。

    11.  如权利要求10所述的自动测试方法,其中,所组合的场景包括预定形式的编程语言,在预定形式的编程语言中包括在指令列表中的至少一个指令被用作用于运行嵌入式软件的指令。

    12.  如权利要求9所述的自动测试方法,其中,所述生成指令列表包括基于包括在关键字列表中的关键字和所加载的场景中的至少一个,生成包括对应于可能的事件状态的指令的指令列表。

    13.  如权利要求9所述的自动测试方法,其中,所述生成指令列表包括以预先设定的次序或随机地加载多个预先存储的场景。

    14.  如权利要求9所述的自动测试方法,还包括根据再现结果确定是否发生错误。

    15.  如权利要求14所述的自动测试方法,还包括通过根据是否发生错误分支到对应于新的事件状态的指令来更新指令列表。

    说明书

    说明书嵌入式软件的测试装置和测试方法以及测试场景组合方法
    技术领域
    关于这里所公开的示范性实施例的装置和方法涉及用于嵌入式软件的自动测试装置、其自动测试方法以及测试场景(scenario)组合方法,并且更具体地,涉及用于自动化对于安装在数字设备中的嵌入式软件的操作测试的装置和方法。 
    背景技术
    随着电视机(TV)、移动电话等等各种数字设备的出现,安装在这样的设备中的嵌入式软件已经变得无处不在和多种多样。各种各样的设备为安装在各自设备中的嵌入式软件提供各种各样的运行环境,并且可能导致错误的情况或情形。因此,考虑到在运行嵌入式软件时可能出现的错误情况或状况,必须预先测试嵌入式软件。 
    在主机环境下,在端口连接到对应于真实条件的目标之前,根据基于许多情况的各种用户场景对嵌入式软件进行测试。在主机环境下展开的场景可以在目标环境下被再现。 
    由于嵌入式软件必须被端口连接到具有各种硬件特性和软件环境的目标并且在其中操作,因此需要重复的测试程序来保证在新环境中的稳定性。 
    在这样的测试方法之中,存在使用商业化自动测试工具的传统测试方法,所述商业化自动测试工具用于单行传输命令到嵌入式软件。使用自动测试工具的方法只有在嵌入式软件预先相对于预测的状态而定义时才能够执行分析。因此,这样的方法对于可能在真实使用条件下展开的各种各样的测试场景来说是不灵活的,并且对于保证对应于各种各样的情况的场景来说代价太大。因此,其浪费地消耗了时间和人力,并且很难执行准确的测试。 
    发明内容
    另外的方面和/或优点将在以下描述中部分地被阐述,并且部分地,将从 该描述中清楚看出,或者可以通过对本发明的实践而习得。 
    一个或多个示范性实施例可以提供嵌入式软件的自动测试装置,该自动测试装置包括:关键字组合器,从通过运行嵌入式软件输出的状态信息中提取关键字,并使用所提取的关键字组合关键字列表;输出分析器,基于所组合的关键字列表分析来自嵌入式软件的运行的输出;控制命令生成器,根据分析结果加载至少一个预先存储的场景,并生成对应于预定事件状态的指令列表;以及测试处理器,基于所生成的指令列表处理嵌入式软件以再现事件状态。 
    控制命令生成器可以使用指令列表组合对应于事件状态的场景。 
    所组合的场景可以包括预定形式的编程语言,在预定形式的编程语言中包括在指令列表中的至少一个指令被用作用于运行嵌入式软件的指令。 
    编程语言可以支持多个选择语句、重复语句、以及比较语句中的至少一个。 
    自动测试装置还可以包括用于存储所组合的场景的存储单元。 
    所述控制命令生成器可以基于包括在关键字列表中的关键字和所加载的场景中的至少一个,生成包括对应于可能的事件状态的指令的指令列表。 
    控制命令生成器可以以预先设定的次序或随机地加载多个预先存储的场景。 
    所述控制命令生成器可以根据再现结果确定是否发生错误。 
    所述控制命令生成器可以通过根据是否发生错误分支到对应于新的事件状态的指令来更新指令列表。 
    状态信息可以在嵌入式软件被运行时由关键字组合器收集,并且可以为日志文件的形式。输出分析器可以使用来自关键字列表的一个或多个关键字作为输出条件,而控制命令生成器可以基于输出条件加载场景。 
    测试处理器可以被提供在装载了嵌入式软件的数字设备中,而关键字组合器、输出分析器和控制命令生成器可以被提供在与数字设备相连接的主机装置中。 
    关键字组合器、输出分析器、控制命令生成器和测试处理器可以被提供在装载了嵌入式软件的数字设备中。 
    一个或多个示范性实施例可以提供一种用于嵌入式软件的自动测试方法,包括:从通过运行嵌入式软件输出的状态信息中提取关键字,并使用所 提取的关键字组合关键字列表;基于所组合的关键字列表分析来自嵌入式软件的运行的输出;根据分析结果加载至少一个预先存储的场景,并生成对应于预定事件状态的指令列表;以及基于所生成的指令列表处理嵌入式软件以再现事件状态。 
    自动测试方法还可以包括使用指令列表组合对应于事件状态的场景。 
    所组合的场景可以包括预定形式的编程语言,在预定形式的编程语言中包括在指令列表中的至少一个指令被用作用于运行嵌入式软件的指令。 
    编程语言可以支持多个选择语句、重复语句、以及比较语句中的至少一个。 
    自动测试方法还可以包括存储所组合的场景。 
    生成指令列表可以包括基于包括在关键字列表中的关键字和所加载的场景中的至少一个,生成包括对应于可能的事件状态的指令的指令列表。 
    生成指令列表可以包括以预先设定的次序或随机地加载多个预先存储的场景。 
    自动测试方法还可以包括根据再现结果确定是否发生错误。 
    自动测试方法还可以包括通过根据是否发生错误分支到对应于新的事件状态的指令来更新指令列表。 
    一个或多个示范性实施例可以提供一种用于嵌入式软件的测试场景组合方法,该方法包括:从通过运行嵌入式软件输出的状态信息中提取关键字,并使用所提取的关键字组合关键字列表;基于所组合的关键字列表分析来自嵌入式软件的运行的输出;根据分析结果加载至少一个预先存储的场景,并生成对应于预定事件状态的指令列表;以及基于所生成的指令列表组合用于测试嵌入式软件的场景。 
    所组合的场景可以包括预定形式的编程语言,在预定形式的编程语言中包括在指令列表中的至少一个指令被用作用于运行嵌入式软件的指令。 
    编程语言可以支持多个选择语句、重复语句、以及比较语句中的至少一个。 
    一个或多个示范性实施例可以提供一种用于嵌入式软件的自动测试方法,该方法包括:加载预先存储的第一场景以测试嵌入式软件;生成包括第一指令的指令列表;使用所生成的指令列表实施再现第一预定事件状态的测试;以及基于第一指令自动组合第二场景,以便测试对应于第二预定事件状 态的嵌入式软件。 
    附图说明
    上述和/或其它方面将从以下结合附图的示范性实施例的描述中变得清楚和更加容易理解,其中: 
    图1是示出根据示范性实施例的自动测试装置的配置的框图; 
    图2示出了根据示范性实施例组合的场景的示例; 
    图3是示出根据另一个示范性实施例的自动测试装置的配置的框图; 
    图4是示出根据示范性实施例的嵌入式软件的自动测试方法的流程图; 
    图5是示出根据示范性实施例的嵌入式软件的测试场景组合方法的流程图。 
    具体实施方式
    以下,示范性实施例将参考附图被详细地描述,从而由具有本领域普通知识的人员容易地实现。示范性实施例可以以各种形式来具体体现,而不限于这里所阐述的示范性实施例。为了清楚而省略了对于熟知部分的描述,并且相同的参考标号始终指代相同的元素。 
    图1是示出根据示范性实施例的自动测试装置的配置的框图。 
    如图1中所示,根据示范性实施例的自动测试装置可以包括测试导控器140和测试代理220。 
    测试代理220可以构建在将要测试的数字设备200上,而测试导控器140可以构建在控制整个测试过程的主机装置100上。主机装置100可以由个人计算机(PC)来实现或具体体现。例如,如果测试构建在诸如电视机(TV)的图像处理装置上的嵌入式软件,TV可以连接到PC以便执行测试。在这样的场景下,TV可以对应于数字设备200,而PC可以对应于主机装置100。而且,数字设备200成为(或者可以对应于)作为其中嵌入式软件被最后安装和运行的真实环境的目标。 
    数字设备200可以不只包括图像处理装置,而且还可以包括各种设备,如音频播放器、移动电话等,这样的设备能够处理和输出从外部接收的或存储在内部的音频信号。如果数字设备200可以由图像处理装置呈现或由图像处理装置具体体现,其可以包括用于在预先设定的成像过程下处理从外部图 像提供源接收的图像信号的图像处理器。 
    同时,如图1中所示,主机装置100还可以包括:存储单元150,用于存储非限制的数据/信息;和用户输入单元160,用于允许用户输入他/她的命令。 
    存储单元150可以由非易失性存储介质呈现或具体体现,如闪存、硬盘驱动器等,并且可以提供在主机装置100的内部或外部。如果存储单元150提供在外部(外部地),则可以提供连接器(未示出)以便与存储单元150进行连接。存储单元150由测试导控器140访问,并且将包括读取、记录、修改、删除、和/或更新等等的操作应用到数据。在示例实施例中,存储单元150存储和读取关键字列表151、指令列表152和多个场景153。 
    用户输入单元160可以由键盘、鼠标、图形用户界面(GUI)、以及它们的组合呈现或具体体现。用户输入单元160还可以由触摸屏和/或可以接收语音命令的语音控制单元来具体体现。然而,上述设备仅仅是代表性的设备,其可以独立地使用或彼此组合使用,并且本公开不限于此。在示例的实施例中,测试导控器140可以基于通过用户输入单元160输入的用户命令测试嵌入式软件210。 
    存储单元150和用户输入单元160可以包括在根据示范性实施例的自动测试装置中。 
    在示例的实施例中,主机装置100和数字设备200通过输入/输出接口(I/O接口)130、230彼此执行数据通信,并且自动地测试嵌入式软件。这里,I/O接口130、230可以包括串联、以太网、USB等标准的I/O接口。一般,主机装置100和数字设备200可以通过有线或无线网络、或者它们的组合执行通信。 
    提供在数字设备200中的测试代理220给出或提供用于在数字设备200中实施测试的环境。例如,安装在数字设备200中的嵌入式软件210可以在每个测试场景下由测试代理220实施。这里,测试代理220可以由控制处理单元(CPU)、微控制单元(MCU)等呈现或具体体现,由此控制数字设备200的功能或提供用户接口(UI)。 
    在示例的实施例中,测试代理220可以包括测试处理器221,其用于基于由测试导控器140生成的指令列表152来处理嵌入式软件210以便再现预定的事件状态。 
    测试导控器140可以参考测试管理引擎以控制测试代理220来执行测试,从而嵌入式软件210能够再现预定的事件。测试导控器140给出(提供或传送给)测试代理220关于测试的命令。例如,测试导控器140可以命令测试代理220开始、停止、和/或完成测试,或者其它类似的命令。因此,测试代理220响应于所接收的命令通过再现相应的事件状态来执行每个测试。 
    在示例的实施例中测试导控器140可以由CPU、MCU等呈现或具体体现,并且控制主机装置100的操作。例如,测试导控器140通过I/O接口130控制数据通信,并且执行对应于通过用户输入单元160输入的用户命令的操作。 
    向测试导控器140报告来自测试代理220的关于测试运行状态或测试运行结果,并且测试导控器140对其进行监控。也就是说,测试导控器140可以从测试代理220接收关于测试运行状态或测试运行结果的报告,并且测试导控器140可以监控测试。这里,所述监控可以包括一般地管理测试状态和进行报告,或者如果测试没有顺利进行则控制测试。也就是说,测试导控器140可以管理测试状态,可以请求关于测试状态的报告,并且可以通过监控测试来控制该测试。例如,测试代理220可以每当每个事件再现被完成时,将运行结果报告给测试导控器140。如果没有在预先设定的时间内向测试导控器140报告关于事件再现(例如,不接收报告),则测试导控器140确定发生了错误,并且命令测试代理220做出关于至今运行结果的报告或者恢复相应的事件。 
    在示例的实施例中的测试导控器140将测试代理220和嵌入式软件210一起构建,并将它们端口连接到数字设备100。为了运行测试,测试导控器140可以通过I/O接口130和230传送单个的指令列表,从而嵌入式软件210能够再现各种事件状态。 
    以下,将参考图1描述测试导控器140和测试代理220的详细的测试操作。 
    如图1中所示,测试导控器140可以包括关键字组合器141、输出分析器142和控制命令生成器143。 
    关键字组合器141收集在嵌入式软件210运行时输出的状态信息,从所收集的状态信息中提取关键字,并且基于所提取的关键字组合关键字列表151。所组合的关键字列表151可以存储在存储单元150中。这里,嵌入式软 件210可以在测试代理220的控制下运行,而状态信息可以用作日志文件。 
    状态信息成为其中记录了嵌入式软件210的运行历史的日志文件。而且,所收集的状态信息可以包括根据由嵌入式软件210基于稍后将描述的指令列表152再现的事件而输出的状态信息。 
    输出分析器142基于组合的关键字列表151分析来自嵌入式软件210的运行的输出(例如,标准输出)。这里,关键字列表151可以用来实时分析嵌入式软件210的状态。 
    控制命令生成器143根据输出分析器142的分析结果加载至少一个预先存储的场景,并且生成对应于预定事件状态的指令列表152。输出分析器142可以通过使用关键字列表151作为状态条件(即,查询)来确定结果或条件的真/假,并且加载满足对应条件的场景。 
    例如,如果数字设备200为音频播放器,并且“开机”和“播放”被顺序地提取为关键字,关键字组合器141组合包括“播放(关键字A)”的关键字列表151,并且输出分析器142将关键字列表151作为针对播放音频文件的输出来使用和分析??刂泼钌善?43可以加载作为播放条件下的场景之一的、播放存储在音频播放器内部的存储介质(例如,硬盘驱动器(HDD))中的音频文件的场景(为了方便,称为场景A)。这里,控制命令生成器143可以以预先设定的次序或随机地加载多个与音频文件的播放相关的预先存储的场景(场景A、B、......N)。 
    控制命令生成器143使用所加载的场景生成对应于预定事件状态的指令列表152。也就是说,控制命令生成器143基于所加载的场景和包括在关键字列表151中的关键字中的至少一个,生成包括对应于可能发生的事件状态的指令的指令列表。也就是说,控制命令生成器143可以使用所加载的场景和/或包括在关键字列表151中的关键字,生成包括对应于事件状态的指令的指令列表。例如,如果场景A被加载,则控制命令生成器143可以生成包括对应于其中嵌入式软件210再现存储在内部存储介质中的音频文件的事件的指令A的指令列表152。 
    所生成的指令列表152可以通过I/O接口130、230传送到装载在数字设备200中的测试代理220的测试处理器221,而测试处理器221可以基于所接收的指令列表152控制嵌入式软件210执行用于再现对应的事件状态(例如,播放存储在内部存储介质中的音频文件)的测试。 
    来自再现结果的状态信息可以以日志文件的形式通过I/O接口230、130传送到主机装置100。 
    如上所述,关键字组合器141基于再现结果收集状态信息并组合关键字列表151,并且输出分析器142分析对应于事件再现的输出??刂泼钌善?43基于输出分析器142的分析结果确定在事件再现的结果中是否存在错误。而且,控制命令生成器143可以通过根据是否发生错误分支(branching)到对应于新的事件状态的指令来更新指令列表152。 
    例如,如果作为再现存储在内部存储介质中的音频文件的结果不存在错误,则加载在关键字A(播放)的条件下的另一个场景(例如,播放存储在紧密盘(CD)中的音频文件的场景(为了方便,称为场景B)),并且可以使用所加载的场景B生成包括对应于播放存储在CD中的音频文件的事件的指令的更新的指令列表。 
    指令列表152可以经由I/O接口130、230传送到数字设备200,而测试处理器221可以基于所接收的指令列表152控制嵌入式软件210执行用于再现对应的事件状态(播放存储在CD中的音频文件)的测试。 
    同时,如果输出分析器142的分析结果显示出事件再现中的错误,则控制命令生成器143可以终止嵌入式软件210的测试。这里,开发者可以通过用户输入单元160选择是否终止测试。 
    如果选择终止测试,则开发者可以执行用于解决在运行嵌入式软件210时发生的错误的分析。 
    另一方面,如果选择不终止测试,则测试导控器140可以继续基于通过I/O接口130接收的状态信息收集和提取关键字。 
    因此,根据示范性实施例的自动测试装置根据嵌入式软件210的状态信息顺序地或随机地运行各种事件,并且预先检测在各种用户条件下可能出现的可预知的或不可预知的各种问题,由此再现它们。也就是说,自动测试装置再现各种场景,以便检测和/或解决在用户使用设备时可能出现的错误条件。 
    而且,各种事件根据确定了关于所提取的关键字的状态条件是真还是假来分支,由此执行重复的测试。 
    同时,控制命令生成器143可以组合或生成场景153,该场景153使用所生成的指令列表152来测试对应于预定事件状态的嵌入式软件210。这里, 该场景可以包括关键字列表151中所包括的至少一个关键字、所加载的场景、以及包括在所生成的指令列表152中的至少一个指令。所生成的场景153被存储在存储单元150中。 
    如图2中所示,根据示范性实施例的场景包括指令列表152中所包括的至少一个命令(使用(<控制A>、<控制B>、<控制C>)作为用于运行嵌入式软件110的指令的预定形式的编程语言(以下,称为“场景语言”))。编程语言可以使用嵌入式软件210的状态信息(<关键字A>、<关键字B>)作为条件,并且支持多个选择语句(case<关键字C>call<场景C>、case<关键字D>call<场景D>、case<关键字E>call<场景E>)、重复语句(repeat<重复次数>)、以及比较语句(if状态确定成功:失败)中的至少一个。 
    在示例的实施例中,可以组合场景(场景A、B、......N),从而嵌入式软件210能够通过参考对应于在基于嵌入式软件210的状态信息的关键字列表151的条件下可能在嵌入式软件210中出现的每种情况的控制命令列表152,来执行自动测试,如图2中所示。 
    当场景153可以根据各种条件分支时,新的场景可以被连续地组合,直到开发者发出停止组合场景的命令(或终止测试的命令)为止。 
    在示例的实施例中测试代理220可以向测试导控器140报告事件运行状态或结果。测试导控器140可以从测试代理220被报告关于测试操作状态或结果,或者从测试代理220接收关于测试操作状态或结果的报告,并且做出关于管理一般测试状态的报告或测试未顺利进行的报告。也就是说,测试导控器可以基于从测试代理220接收的报告,向用户报告一般测试状态或在测试期间已经遇到错误??⒄卟橹けǜ娌⑷啡瞎赜谇度胧饺砑?10的自动测试结果。 
    根据另一个示范性实施例的自动测试装置,如图3中所示,与图1中所示的不同之处在于,测试导控器240被装载在数字设备200中,并且数字设备200包括存储单元250和用户输入单元260。因此,嵌入式软件210、存储单元250和用户输入单元260的详细描述与上面相同,因此将被省略以避免重复描述。 
    如图3中所示,在示例的实施例中自动测试装置包括测试导控器240,其被装载在真实环境目标,即,其中安装并操作嵌入式软件210的数字设备200中,并且测试导控器240测试嵌入式软件210。因此,不需要I/O接口, 并且测试导控器240可以包括测试处理器221。也就是说,数字设备200可以包括I/O接口,但是,I/O接口并不是测试导控器240和数字设备200之间的通信所必需的。 
    在图3中所示的示范性实施例中,测试导控器240包括测试处理器221,但不限于此??商婊坏?,单独的测试代理可以提供在数字设备200中,从而测试代理能够在测试导控器240的控制下再现每个事件状态,并执行相应的测试。 
    在这个示范性实施例中的自动测试装置还可以包括存储关键字列表251、指令列表252、以及场景253的存储单元250,以及接收用户命令的用户输入单元260。 
    如图3中所示,测试导控器240可以包括关键字组合器241、输出分析器242、控制命令生成器243、以及测试处理器221。 
    关键字组合器241收集在嵌入式软件210运行时输出的状态信息,从所收集的状态信息中提取关键字,并且基于所提取的关键字组合关键字列表251。 
    输出分析器242基于组合的关键字列表251分析嵌入式软件210被运行时的输出(例如,标准输出)。 
    控制命令生成器243根据输出分析器242的分析结果加载至少一个预先存储的场景,并且生成对应于预定事件状态的指令列表252。输出分析器242可以使用关键字列表251作为状态条件,确定结果或条件的真/假,并且加载满足对应条件的场景。 
    控制命令生成器243使用所加载的场景生成对应于预定的可能事件状态的指令列表252。 
    测试处理器221基于所生成的指令列表252控制嵌入式软件210执行用于再现相应的事件状态(例如,再现存储在内部存储介质中的音频文件)的测试。 
    关键字组合器241通过从再现事件的结果中收集状态信息来组合关键字列表251,并且输出分析器242分析对应于事件再现的输出??刂泼钌善?43基于输出分析器242的分析结果确定在再现事件的结果中是否存在错误。而且,控制命令生成器243可以通过根据是否发生错误分支到对应于新的事件状态的指令来更新指令列表252。而且,测试处理器221基于更新的 指令列表252控制嵌入式软件210执行用于再现下一个事件状态(例如,再现存储在CD中的音频文件)的测试。 
    同时,如果输出分析器242分析出在再现事件的结果中发生了错误,则控制命令生成器243可以终止嵌入式软件210的测试。这里,开发者可以使用用户输入单元260来选择是否终止测试。 
    如果选择终止测试,则开发者使用用于进行分析的报告来解决在运行嵌入式软件210时发生的错误。如果选择不终止测试,则测试导控器240继续基于状态信息收集和提取关键字。 
    同时,控制命令生成器243可以如图3中所示通过所生成的指令列表252组合或生成场景253。这里,该场景可以包括关键字列表251中所包括的至少一个关键字、所加载的场景、以及包括在所生成的指令列表252中的至少一个指令。同时,场景可以包括使用包括在指令列表252中的至少一个指令作为用于运行嵌入式软件210的指令的预定形式的编程语言(即,场景语言)。编程语言可以使用嵌入式软件210的状态信息作为条件,并且可以支持多个选择语句、重复语句、以及比较语句中的至少一个。 
    当场景253可以根据各种条件分支时,新的场景可以被连续地组合,直到开发者发出停止组合场景的命令(或终止测试的命令)为止。 
    在示例的实施例中的测试导控器240可以通过根据测试运行状态或结果一般地管理测试状态来做出或发出报告,并且如果测试未顺利地进行则可以做出或发出报告。也就是说,如果输出分析器确定错误已经发生,测试导控器240可以基于从输出分析器242接收的报告,向用户报告一般测试状态或在测试期间已经遇到错误??⒄卟橹けǜ娌⑷啡瞎赜谇度胧饺砑?10的自动测试结果。 
    上述对应于图3的示例的示范性实施例中的自动测试装置可以不使用单独的主机装置,而只将测试导控器240装载到数字设备200,由此能够使嵌入式软件210对于每个事件状态进行自动测试。 
    以下,将参考图4和图5描述对于这里所公开的示例实施例的嵌入式软件的场景组合方法和自动测试方法。 
    图4是示出根据示范性实施例的嵌入式软件的自动测试方法的流程图。 
    如图4中所示,关键字组合器141、241从通过运行嵌入式软件210输出的状态信息中提取关键字,并组合关键字列表151、251(S302)。 
    输出分析器142、242基于在操作S302组合的关键字列表151、251,分析来自嵌入式软件210的运行的输出(S304)。 
    根据操作S304中的分析结果,控制命令生成器143、243通过使用关键字列表151、251作为状态条件(即,查询)确定结果或条件的真/假(是/否)(S306)。 
    如果在操作S306确定关键字列表151、251的关键字满足状态条件,则控制命令生成器143、243加载至少一个预先存储的场景(S308)。 
    而且,控制命令生成器143、243使用在操作S308加载的场景并生成对应于预定事件状态的指令列表152、252(S310)。 
    在操作S310生成的指令列表152、252被传送到测试处理器221,并且测试处理器221基于指令列表152、252,控制嵌入式软件210来实施再现预定事件状态的测试(S312)。这里,例如,测试处理器可以如图1中所示与测试代理220放置在一起,或者如图3中所示与测试导控器240放置在一起。 
    对应于操作S312中的事件再现的状态信息由关键字组合器141、241收集,并因此组合到关键字列表151、251中。输出分析器142、242基于分析结果确定在事件再现中是否发生错误(S314)。 
    如果在操作S314确定发生错误,则开发者可以选择是否终止测试(S316)。 
    如果在操作S314确定没有发生错误,以及在操作S316选择不终止测试,则重复操作S302到操作S312,由此分支到对应于新的事件状态的指令并且更新指令列表152、252。以这种方式,通过再现各种事件自动地测试嵌入式软件。 
    图5是示出根据示范性实施例的嵌入式软件的测试场景组合方法的流程图。 
    如图5中所示,关键字组合器141、241通过从通过运行嵌入式软件210输出的状态信息中提取关键字来组合关键字列表151、251(S402)。 
    输出分析器142、242基于在操作S402组合的关键字列表151、251,分析来自嵌入式软件210的运行的输出(S404)。 
    根据操作S404中的分析结果,控制命令生成器143、243通过使用关键字列表151作为状态条件(即,查询),确定结果或条件的真/假(是/否),并且在关键字列表151、251满足该状态条件的情况下加载至少一个预先存储的 场景(S406)。 
    而且,控制命令生成器143、243使用在操作S406加载的场景并生成对应于预定事件状态的指令列表152、252(S408)。 
    而且,控制命令生成器143、243使用在操作S408生成的指令列表152、252,并根据预定事件状态组合用来测试嵌入式软件210的新的场景(S410)。组合的场景包括使用包括在指令列表152、252中的至少一个指令作为用于运行嵌入式软件的指令的预定形式的编程语言(即,场景语言),并且编程语言可以支持多个选择语句、重复语句、以及比较语句中的至少一个。 
    例如,数字设备200可以对应于音频播放器??刂泼钌善?43、243可以加载作为播放条件下的场景之一的、播放存储在放置在音频播放器当中或音频播放器外部的硬盘驱动器(HDD)中的音频文件的场景A。如果作为再现存储在HDD中的音频文件的结果没有错误,则可以加载在关键字条件下的另一个场景。也就是说,可以自动地加载第二场景。例如,控制命令生成器143、243可以加载播放存储在紧密盘(CD)中的音频文件的场景B,并且可以生成更新的指令列表,其包括对应于使用所加载的场景B播放存储在CD中的音频文件的事件的指令。 
    在操作S410组合的场景可以存储在存储单元150、250中(S412)。 
    开发者可以选择控制命令生成器143、243是否继续组合场景(S414)。根据操作S414中的选择结果,场景153、253依照条件而被分支,并因此新的场景可以被连续地组合,由此组合场景直到开发者发出停止组合场景的命令(或者终止测试的命令)为止。 
    因此,根据示范性实施例,自动测试装置使用通过运行嵌入式软件输出的所有状态信息作为查询,并且顺序地或随机地运行各种事件,由此预先检测在用户的条件下可能发生的不可预知的问题以及可预知的问题,并且再现各种事件。也就是说,自动测试装置再现各种场景以便检测和/或解决在用户使用设备再现内容(例如,音频、视频、和/或其它介质内容)时可能出现的错误条件。 
    而且,各种事件被根据关于与所提取的关键字有关的状态条件的真/假结果或条件进行分支,从而嵌入式软件可以重复地体验自动测试。 
    而且,测试场景可以根据条件被连续地分支到新的场景,直到开发者发出命令停止组合场景为止,从而能够保证各种各样的测试场景。 
    根据上述示例实施例的装置和方法可以使用一个或多个处理器,其可以包括微处理器、中央处理单元(CPU)、数字信号处理器(DSP)、或专用集成电路(ASIC),以及这些以及其它处理器件的部分或组合。 
    如这里所使用的术语“??椤焙汀暗ピ笨梢灾复幌抻谌砑蛴布榧蛏璞?,如执行一定任务的现场可编程门阵列(FPGA)或专用集成电路(ASIC)。??榛虻ピ梢员慌渲梦ち粼诳裳爸反娲⒔橹噬?,并且被配置为一个或多个处理器上运行。因此,??榛虻ピ梢园?,例如,组件(诸如,软件组件、面向对象的软件组件、类别组件、以及任务组件)、过程、功能、属性、程序、子程序、程序代码段、驱动器、固件、微代码、电路、数据、数据库、数据结构、表格、阵列、以及变量。提供在组件和???单元中的功能可以组合到更少的组件和???单元中,或者被分到附加的组件和??橹?。 
    流程图例示的每个块可以代表一个单元、???、分段、或代码部分,其包括用于实施指定逻辑功能的一个或多个可运行的指令?;褂Φ弊⒁?,在一些替换的实施方式中,在各块中注明的功能可以不按所述次序出现。例如,连续示出的两个块实际上可能被基本同时运行,或者所述块有时可能被以相反的次序来运行,这取决于所涉及的功能。 
    根据上述实施例的装置和方法可以记录在包括用于实施由计算机所具体体现的各种操作的程序指令的非瞬时计算机可读介质中。所述介质还可以包括,独立的或与程序指令组合的数据文件、数据结构,等等。非瞬时计算机可读介质的示例包括:磁介质,如硬盘、软盘、和磁带;光学介质,如CD ROM盘和DVD;磁光介质,如光盘;以及专门被配置为用于存储和执行程序指令的硬件设备,如只读存储器(ROM)、随机存取存储器(RAM)、闪存、USB存储器,等等。程序指令的示例包括全部机器代码和文件两者,机器代码如由编译器产生,文件包含可以由计算机使用解释器运行的更高级代码。所描述的硬件设备可以被配置为用作一个或多个软件???,以便执行上述实施例的操作,反之亦然。此外,非瞬时计算机可读存储介质可以分布在通过网络连接的计算机系统中,并且计算机可读代码或程序指令可以分散化的方式存储并运行。此外,计算机可读存储介质还可以具体体现为至少一个专用集成电路(ASIC)或现场可编程门阵列(FPGA)。 
    虽然已经示出和描述了一些示范性实施例,本领域技术人员将理解,可 能对这些示范性实施例做出改变,而不脱离本发明的原理和精神,本发明的范围定义在所附权利要求及其等效物中。 

    关 键 词:
    嵌入式 软件 测试 装置 方法 以及 场景 组合
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:嵌入式软件的测试装置和测试方法以及测试场景组合方法.pdf
    链接地址://www.4mum.com.cn/p-6156582.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03