一种基于事件和动作的脚本文件生成方法及其装置制造方法及图纸

技术编号:10344645 阅读:163 留言:0更新日期:2014-08-21 16:43
本发明专利技术涉及计算机领域,公开了一种基于事件和动作的脚本文件生成方法及其装置,能够自动生成代码进行测试。该方法包含:根据事件和动作组织测试流程;根据所述测试流程自动生成脚本文件,所述脚本文件包括数据信息脚本文件、动作脚本文件、事件脚本文件及测试流程脚本文件;根据所述脚本文件对被测系统进行测试。该方法将繁琐的测试任务实现自动化,不需要测试人员手工编写脚本文件,大大减轻了测试人员的工作量,能够调动测试人员的工作积极性,同时可以提高测试的准确性和测试效率。

【技术实现步骤摘要】
一种基于事件和动作的脚本文件生成方法及其装置
本专利技术涉及计算机领域,特别涉及一种基于事件和动作的脚本文件生成方法及其装置。
技术介绍
在嵌入式软件黑盒测试领域,传统的软件测试方法是:测试人员首先按照测试流程的测试步骤说明手工编写对应的测试脚本文件,然后根据编写好的测试脚本文件进行测试。这种测试方法对测试人员提出了很高的要求,既要求测试人员会编写测试脚本,又要求测试人员会进行测试,加大了测试人员的工作量。此外,由于一个测试流程往往是由多个测试步骤组成,每个测试步骤可以是一个测试用例、或给被测对象发送一个信号,也可以是一个条件判断或结束标志等,此情况下测试人员自己编写的测试脚本文件往往比较复杂而且通用性差,所以,测试人员要不断的编写测试脚本文件,因此测试效率比较低。
技术实现思路
本专利技术的目的在于提供一种基于事件和动作的脚本文件生成方法及其装置,能够将繁琐的测试任务实现自动化,大大减轻了测试人员的工作量,能够调动测试人员的工作积极性,同时可以提高测试的准确性和测试效率。为解决上述技术问题,本专利技术的实施方式提供了一种基于事件和动作的脚本文件生成方法,包含:根据事件和动作组织测试流程;根据所述测试流程自动生成脚本文件,所述脚本文件包括数据信息脚本文件、动作脚本文件、事件脚本文件及测试流程脚本文件;根据所述脚本文件对被测系统进行测试。本专利技术的实施方式还提供了一种基于事件和动作的脚本文件生成装置,包含:组织模块,用于根据事件和动作组织测试流程;处理模块,用于根据所述测试流程自动生成脚本文件,所述脚本文件包括数据信息脚本文件、动作脚本文件、事件脚本文件及测试流程脚本文件;测试模块,用于根据所述脚本文件对被测系统进行测试。本专利技术实施方式相对于现有技术而言,可以根据测试流程中的基本元素,即事件和动作自动组织测试流程,然后再自动根据测试流程,对应的生成数据信息、动作、事件及测试流程的脚本文件,最后根据该脚本文件对被测系统进行测试。将繁琐的测试任务实现自动化,不需要测试人员手工编写脚本文件,大大减轻了测试人员的工作量,能够调动测试人员的工作积极性,同时可以提高测试的准确性和测试效率。方便了程序的回归性测试,可以运行更多更繁琐的测试。可以执行一些手工测试困难或不可能进行的测试。比如,对于大量用户的测试,不可能同时让足够多的测试人员同时进行测试,但是却可以通过自动化测试模拟同时有许多用户,从而达到测试的目的。此外,更好地利用资源,将繁琐的任务自动化,可以提高准确性和测试人员的积极性,将测试人员解脱出来投入更多精力设计更好的测试用例。优选的,在所述根据事件和动作组织测试流程之前,所述方法还包含:将所述事件和动作存储到数据库中。将事件和动作存储到数据库中,使得本方法在一个测试项目中具有通用性,同一个测试项目中的多个测试流程能够共享相同的事件和动作。优选的,所述根据所述测试流程自动生成脚本文件包含以下子步骤:根据输入信号及输出信号生成数据信息脚本文件;根据动作生成动作脚本文件;根据事件生成事件脚本文件;根据所述数据信息脚本文件、所述动作脚本文件及所述事件脚本文件生成测试流程脚本文件。依次生成数据信息脚本文件、动作脚本文件、事件脚本文件及测试流程脚本文件,完成了测试所需的脚本文件,满足了测试的需要。优选的,当所述被测系统的接口与所述基于事件和动作的脚本文件生成方法的接口不匹配时,在所述测试流程中增加以下动作:发送所述被测系统的接口消息。通过发送被测系统的接口消息就可以将该测试软件与被测系统连接起来,无需对该测试软件做较大的改动,使得该方法具有了广泛适用性。【附图说明】图1是本专利技术第一实施方式的基于事件和动作的脚本文件生成方法流程示意图;图2是本专利技术第一实施方式中的测试流程的组织结构示意图;图3是本专利技术第一实施方式中事件的C++类设计示意图;图4是本专利技术第一实施方式中动作的C++类设计示意图;图5是本专利技术第一实施方式中测试系统TCP通讯方式对应的测试需求流程示意图;图6是根据图5生成的测试流程示意图;图7是本专利技术第一实施方式中根据测试流程自动生成脚本文件的方法流程示意图;图8是本专利技术第一实施方式中根据测试系统TCP通讯方式的测试流程生成的数据信息脚本文件;图9是本专利技术第一实施方式中根据测试系统TCP通讯方式的测试流程生成的动作脚本文件;图10是本专利技术第一实施方式中根据测试系统TCP通讯方式的测试流程生成的事件脚本文件;图11是本专利技术第一实施方式中根据测试系统TCP通讯方式的测试流程生成的测试流程脚本文件;图12是本专利技术第二实施方式提供的基于事件和动作的脚本文件生成方法流程示意图;图13是本专利技术第三实施方式提供的基于事件和动作的脚本文件生成装置结构示意图;图14是本专利技术第四实施方式提供的基于事件和动作的脚本文件生成装置结构示意图。【具体实施方式】为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本专利技术各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。本专利技术第一实施方式提供一种基于事件和动作的脚本文件生成方法,如图1所示,该方法主要包含以下步骤:101、根据事件和动作组织测试流程。事件和动作为测试流程的基本元素。如图2所示,事件类型包含内部事件、外部事件、系统事件及同步事件;动作类型包含执行测试用例、动作控制、延时、发送CAN (Controller Area Network,控制器局域网络)总线消息、发送1553B总线消息、信号赋值及结束。事件和动作为现有技术中的概念,本专利技术在此不做赘述。测试流程一般包含一系列的事件和动作,测试人员可以根据实际需求选择被测系统的测试用例中合适的事件和动作组织成自己需要的测试流程,测试用例是由测试人员设计的。在设计实现上,本方法采用了 C++编程语言的面向对象思想,每种类型的事件或动作都抽象成一个类,并且从事件的基类或动作的基类继承过来,这样利于后面的自动生成脚本文件。本专利技术中各个事件的C++类的定义及关系如图3所示,本专利技术中的动作的C++类的定义及关系如图4所示。以下以一个简单的测试TCP (Transmission Control Protocol,传输控制协议)通讯方式的例子说明如何根据事件和动作组织测试流程。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本专利技术的范围及其应用。具体的,该TCP通讯方式的测试需求流程如图5所不,该测试系统的输入信号如表1所不,输出信号如表2所不。表1本文档来自技高网...
一种基于事件和动作的脚本文件生成方法及其装置

【技术保护点】
一种基于事件和动作的脚本文件生成方法,其特征在于,包含:根据事件和动作组织测试流程;根据所述测试流程自动生成脚本文件,所述脚本文件包括数据信息脚本文件、动作脚本文件、事件脚本文件及测试流程脚本文件;根据所述脚本文件对被测系统进行测试。

【技术特征摘要】
1.一种基于事件和动作的脚本文件生成方法,其特征在于,包含: 根据事件和动作组织测试流程; 根据所述测试流程自动生成脚本文件,所述脚本文件包括数据信息脚本文件、动作脚本文件、事件脚本文件及测试流程脚本文件; 根据所述脚本文件对被测系统进行测试。2.根据权利要求1所述的基于事件和动作的脚本文件生成方法,其特征在于,在所述根据事件和动作组织测试流程之前,所述方法还包含: 将所述事件和动作存储到数据库中。3.根据权利要求1所述的基于事件和动作的脚本文件生成方法,其特征在于,所述根据所述测试流程自动生成脚本文件包含以下子步骤: 根据输入信号及输出信号生成数据信息脚本文件; 根据动作生成动作脚本文件; 根据事件生成事件脚本文件; 根据所述数据信息脚本文件、所述动作脚本文件及所述事件脚本文件生成测试流程脚本文件。4.根据权利要求3所述的基于事件和动作的脚本文件生成方法,其特征在于,所述根据输入信号及输出信号生成数据信息脚本文件包含以下子步骤: 根据所述输入信号的名称及其初始值生成第一全局变量; 根据所述输出信号的名称及其初始值生成第二全局变量; 生成设置输入信号的值的函数、获取输入信号的值的函数及其实现内容; 生成设置输出信号的值的函数、获取输出信号的值的函数及其实现内容。5.根据权利要求4所述的基于事件和动作的脚本文件生成方法,其特征在于,所述第一全局变量及所述第二全局变量的语言为python语言,数据类型为字典。6.根据权利要求3所述的基于事件和动作的脚本文件生成方法,其特征在于,所述根据动作生成动作脚本文件包含以下子步骤: 生成所述数据信息脚本文件,所述数据信息脚本文件中包含所有动作; 若所述动作的运行方式是以多线程方式运行,则生成线程函数; 若所述动作的运行方式不是以多线程方式运行,则不生成线程函数。7.根据权利要求3所述的基于事件和动作的脚本文件生成方法,其特征在于,所述根据事件生成事件脚本文件包含以下子步骤: 生成所述动作脚本文件,所述动作脚本文件中包含事件; 判断所述事件的信息是否满足所述事件的触发条件,若满足则返回True真,否则返回False 假。8.根据权利要求7所述的基于事件和动作的脚本文件生成方法,其特征在于,所述事件包括同步事件、系统事件、外部事件及内部事件,所述判断所述事件的信息是否满足所述事件的触发条件为: 对于所述系统事件,判断当前时间是否到达预定的时间,若到达所述预定的时间,则返回True ;否则一直等待直到所述预定的时间;或 对于所述外部事件,判断所述测试系统是否收到被测件或其它外部系统发过来的数据,若收到则返回True,否则返回False ;或 对于所述内部事件,判断所述输入信号的值或所述输出信号的值是否满足指定的条件,若满足,则返回True ;若不满足,则返回False。9.根据权利要求3所述的基于事件和动作的脚本文件生成方法,其特征在于,所述根据所述数据信息脚本文件、所述动作脚本文件及所述事件脚本文件生成测试流程脚本文件包含以下子步骤: 生成所述事件脚本文件; 遍历所述测试流程用到的所有事件,找出所述事件中的所有外部事件; 生成每一个所述外部事件触发之后要调用的实现函数; 生成工作线程函数; 生成所述测试流程的主入口函数。10.根据权利要求1所述的基于事件和动作的脚本文件生成方法,其特征在于,当所述被测系统的接口与所述基于事件和动作的脚本文件生成方法的接口不匹配时,在所述测试流程中增加以下动作: 发送所述被测系统的接口消息。11.一种基于事件和动作的脚...

【专利技术属性】
技术研发人员:李胜夏佳佳孙宇杰
申请(专利权)人:上海科梁信息工程有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1