针对VxWorks平台的应用程序测试方法和系统与流程

文档序号:11829393阅读:211来源:国知局
针对VxWorks平台的应用程序测试方法和系统与流程
本发明涉及通信
技术领域
,以及计算机
技术领域
,特别是涉及一种针对VxWorks平台的应用程序方法和系统。
背景技术
:VxWorks操作系统是于1983年设计开发的一种嵌入式实时操作系统,是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。现有的软件自动化测试技术主要有:录制/回放、脚本技术、数据驱动、关键字驱动、业务驱动。数据驱动从数据文件读取输入数据,通过变量的参数化将测试数据传入测试脚本,不同的数据文件对应不同的测试用例。在这种模式下数据和脚本分离,脚本的利用率、可维护性大大提高,但受界面变化的影响很大。关键字驱动测试是数据驱动测试的一种改进类型,它将测试逻辑按照关键字进行分解,形成数据文件,关键字对应封装的业务逻辑,主要关键字包括三类:被操作对象、操作和值。关键字驱动的主要思想是:脚本与数据分离,界面元素与测试内部对象分离,测试描述与具体实现细节分离。之前的关键字驱动同样是应对业务逻辑,但是按照操作对象来进行分类,现在大部分自动化测试软件通过录制技术使被测软件得到回放,实现自动化测试需求,虽然可以减轻测试人员的工作量。但是,由于自动化测试软件本身不具备思维能力,如果被测软件没有较多的界面或者没有界面,而是存在较多的逻辑判断,自动化测试软件无法利用录制/回放技术实现自动化测试。技术实现要素:本发明提供一种针对VxWorks平台的应用程序方法和系统,以解决现有的自动化测试软件无法利用录制/回放技术实现自动化测试的问题。为了解决上述问题,本发明公开了一种针对VxWorks平台的应用程序测试方法,所述方法应用于利用测试终端上的测试应用程序对目标终端上的被测应用程序进行测试的环境,所述目标终端采用VxWorks平台,所述测试终端采用Windows平台,所述测试终端与所述目标终端采用有线方式连接,所述方法包括:根据测试协议在所述测试终端的测试应用程序上设定测试用例的关键字信息;根据所述测试协议和所述关键字信息生成与所述关键字信息对应的逻辑判断条件;根据所述逻辑判断条件和接收到的所述目标终端上的被测应用程序发来的测试报文生成测试反馈信息,并发送至所述目标终端;接收所述目标终端上的被测应用程序发来的,根据所述测试反馈信息生成的测试结果;并对所述测试结果进行分析,完成VxWorks平台的应用程序测试。优选地,所述对所述测试结果进行分析,包括:对所述测试结果的报文字段进行解析,得到解析结果,并通过图表的方式展现所述解析结果标识的被测应用程序的各个功能模块的信息。优选地,所述对所述测试结果的报文字段进行解析,得到解析结果,并通过图表的方式展现所述解析结果标识的被测应用程序的各个功能模块的信息之后,所述方法还包括:根据所述被测应用程序的各个功能模块的信息确定不满足测试要求的功能模块;对所述不满足测试要求的功能模块进行回归测试。优选地,所述根据测试协议在所述测试终端的测试应用程序上设定测试用例的关键字信息之前,所述方法还包括:选择所述测试终端上的测试应用程序与所述目标终端上的被测应用程序之间的通信方式。优选地,所述关键字信息包括:关键字名称、关键字位置、关键字数值和反馈报文标记。相应地,本发明还公开了一种针对VxWorks平台的应用程序测试系统,所述系统应用于利用测试终端上的测试应用程序对目标终端上的被测应用程序进行测试的环境,所述目标终端采用VxWorks平台,所述测试终端采用Windows平台,所述测试终端与所述目标终端采用有线方式连接,所述系统包括:关键字信息设定模块,用于根据测试协议在所述测试终端的测试应用程序上设定测试用例的关键字信息;判断条件生成模块,用于根据所述测试协议和所述关键字信息生成与所述关键字信息对应的逻辑判断条件;反馈信息生成模块,用于根据所述逻辑判断条件和接收到的所述目标终端上的被测应用程序发来的测试报文生成测试反馈信息,并发送至所述目标终端;测试结果分析模块,用于接收所述目标终端上的被测应用程序发来的,根据所述测试反馈信息生成的测试结果;并对所述测试结果进行分析,完成VxWorks平台的应用程序测试。优选地,所述测试结果分析模块对所述测试结果的报文字段进行解析,得到解析结果,并通过图表的方式展现所述解析结果标识的被测应用程序的各个功能模块的信息。优选地,所述系统还包括:功能模块确定模块,用于在所述测试结果分析模块对所述测试结果的报文字段进行解析,得到解析结果,并通过图表的方式展现所述解析结果标识的被测应用程序的各个功能模块的信息之后,根据所述被测应用程序的各个功能模块的信息确定不满足测试要求的功能模块;回归测试模块,用于对所述不满足测试要求的功能模块进行回归测试。优选地,所述系统还包括:通信方式选择模块,用于在所述关键字信息设定模块根据测试协议在所述测试终端的测试应用程序上设定测试用例的关键字信息之前,选择所述测试终端上的测试应用程序与所述目标终端上的被测应用程序之间的通信方式。优选地,所述关键字信息包括:关键字名称、关键字位置、关键字数值和反馈报文标记。与
背景技术
相比,本发明包括以下优点:本发明技术方案应用于利用测试终端上的测试应用程序对目标终端上的被测应用程序进行测试的环境,其中,目标终端采用VxWorks平台,测试终端采用Windows平台,测试终端与目标终端采用有线方式连接。本发明技术方案根据测试协议在测试终端的测试应用程序上设定测试用例的关键字信息;根据测试协议和关键字信息生成与关键字信息对应的逻辑判断条件;根据逻辑判断条件和接收到的目标终端上的被测应用程序发来的测试报文生成测试反馈信息,并发送至目标终端;接收目标终端上的被测应用程序发来的,根据测试反馈信息生成的测试结果;并对测试结果进行分析,完成VxWorks平台的应用程序测试。本发明技术方案根据测试协议和设定的关键信息生成与关键字信息对应的逻辑判断条件,利用逻辑判断条件对被测应用程序的测试报文进行自动化测试,生成测试反馈信息,进一步对被测应用程序根据测试反馈信息生成测试结果进行分析,在被测应用程序无应用界面或应用界面少,且被测应用程序存在较多逻辑的情况下,实现了应用程序的测试自动化。附图说明图1是本发明实施例中的一种针对VxWorks平台的应用程序测试方案的具体实施结构图;图2是本发明实施例中的一种自动化测试软件的结构示意图;图3是本发明实施例一中的一种针对VxWorks平台的应用程序测试方法的步骤流程图;图4是本发明实施例二中的一种针对VxWorks平台的应用程序测试方法的步骤流程图;图5是本发明实施例三中的一种针对VxWorks平台的应用程序测试系统的结构示意图;图6是本发明实施例四中的一种针对VxWorks平台的应用程序测试系统的结构示意图。具体实施方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。本发明技术方案的具体实施结构图如图1所示,其中,目标机中运行被测试的应用程序(被测试软件),测试机上运行测试应用程序(自动化测试软件),利用测试应用程序对被测试应用程序进行自动化测试,测试机向目标机发送测试用例,在目标机的被测试应用程序上执行测试用例,目标机将测试结果传送回测试机,同时,测试机可以在数据库中存储和提取测试数据,数据库可以采用SQLServer(微软公司的一种数据库应用程序)等。本发明技术方案可以归纳为以下三步执行,分别为:一、搭建测试环境目标机与测试机通过有线网络连接,目标机应用VxWorks平台,并安装测试结果记录软件,该软件的作用是获取被测试软件的信息,并将测试结果传送回自动化测试软件。自动化测试软件在Windows系统下运行,自动化测试软件的结构如图2所示,该自动化测试软件具有的功能模块有:录入测试用例模块、负载测试模块、回归测试模块、数据分析模块、数据存储模块和记录日志模块。其中,录入测试用例模块针对被测试软件的协议进行关键字的定义,以及对关键字进行赋值功能。负载测试模块针对被测试软件的各个模块进行压力测试。回归测试模块针对测试问题较多的被测软件的模块进行回归测试。数据分析模块利用数据挖掘算法对测试结果进行分析,得到被测试软件的薄弱环节,并形成被测试软件的模块健壮性图表。数据存储模块用于存储测试用例,以及测试结果。记录日志模块记录被测试软件在整个收发信息的过程中的日志信息。二、自动化测试实现1)测试人员首先选择测试软件与被测试软件的通信方式,确认两个软件能够进行网络通信。2)测试人员添加关键字名称、关键字在报文中的位置、关键字的值和反馈报文标记,如表1所示。关键字名称关键字位置关键字值反馈报文标记报文标记11字节0XAA反馈报文标记X报文标记22字节0XBB反馈报文标记Y…….…………….报文标记NN字节0XNN……表13)设置反馈报文的格式提交后,测试软件会生成相应关键字的判断逻辑,反馈报文的格式如表2所示。关键字名称关键字位置关键字值反馈报文标记11字节0XAA1反馈报文标记22字节0XBB11…….…………反馈报文标记NN字节0XNN1表2反馈报文的格式是根据通信协议设定的,不是固定的长短,根据上述反馈报文的格式生成反馈报文。表2中的反馈报文标记相当于协议的标记字段,如,反馈报文标记1代表报文头字,反馈报文标记2代表报文中设备状态字。通过在测试软件中输入的相应关键字,测试软件首先获取反馈报文关键字的个数,测试软件预先申请一片存储空间,然后根据输入的反馈关键字段形成相应数目的各自的缓冲区,软件对该些缓冲区进行访问,遇到匹配的关键字就对报文进行逻辑判断,最后形成相应的反馈报文。比如反馈报文有四个字段,分别为字段1、字段2、字段3和字段4,相应地形成四个缓冲区,字段1的缓冲区,字段2的缓冲区,字段3的缓冲区,字段4的缓冲区,把用户输入的相应字段的内容分别存入该四个缓冲区中,AA放入字段1的缓冲区,BB放入字段2的缓冲区,CC放入字段3的缓冲区,DD放入字段4的缓冲区,根据表格的匹配形成反馈数据,然后对被测试软件的反馈报文进行分四个字段的解析,与缓冲区的内容进行匹配,如果不匹配,则将不匹配的字段记录到日志中,并把该次测试用例的发送数据、正确反馈报文、实际反馈报文和测试结果记录到数据库中,结束该次用例的测试。下次输入可能BB为放入字段1的缓冲区,CC放入字段2的缓冲区,AA放入字段3的缓冲区,DD放入字段4的缓冲区,那么测试软件会根据新的输入放入到相应缓冲区中,若缓冲区中已经有相应的数值,那么缓冲区不会添加重复数据。逻辑判断时,只针对当前输入值有效,之前形成的发送数据与反馈数据被放到数据库中,供后续的回归测试使用。4)在测试软件中自动生成逻辑判断代码,当目标机的报文到达测试机时,测试机会根据测试人员提交的内容进行判断,并给目标机相应的反馈。5)利用测试结果记录软件,获取被测试软件单次通信的结果信息,经过测试结果记录软件分析,把该次测试结果传送给自动化测试软件,完成本次测试,并把测试用例与测试结果存入数据库中。三、测试结果分析针对第二步获取的测试结果,数据分析模块按照数据报文标记以及测试结果进行数据分类与统计,反馈报文中涵盖了测试结果,对反馈报文相应字段进行解析,就会得到测试结果,把测试结果与期望结果相匹配,统计成功 与失败的用例数目及数据,然后计算失败用例在被测试软件的功能模块的成功用例数乘以该功能模块在被测试软件的权重的值,判断被测试软件是否还需要加强测试。通过图表的方式反应被测试软件的各个模块的健壮程度,回归测试模块会自动利用失败的结果对被测试软件的部分功能进行回归测试,若关键字的值是一个范围,在回归测试过程中,自动化测试软件会自动调整数值对被测试软件进行测试。同时,设计人员可以在自动化测试软件中设置测试时间间隔,对被测试软件进行压力测试。例如,软件A为测试软件,软件B为被测试的嵌入式软件,软件A与软件B之间选择UDP(UserDatagramProtocol,用户数据包协议)通信方式,测试软件A中填写相应的软件B所在的IP地址等网络信息,启用UDP通信方式。将通信协议中要求的协议字段0X0A,0X0B,0X0C,0X0C组成发送报文。1)在测试软件A中输入0X0A,对应关键字字段为1,对应的反馈报文为0XAA。在测试软件A中输入0X0B,对应关键字字段为2,对应的反馈报文标记为0XBB。在测试软件A中输入0X0C,对应关键字字段为3,对应的反馈报文标记为0XCC。在测试软件A中输入0X0D,对应关键字字段为4,对应的反馈报文标记为0XDD。反馈报文对应0XAA,对应反馈报文字段位置为1,字段值为0XAA1。反馈报文对应0XBB,对应反馈报文字段位置为2,字段值为0XBB1。反馈报文对应0XCC,对应反馈报文字段位置为3,字段值为0XCC1。反馈报文对应0XDD,对应反馈报文字段位置为4,字段值为0XDD1。2)测试软件A输入结束,测试软件A发送的报文为{0X0A,0X0B,0X0C,0X0D}。测试软件A接受被测试软件B反馈的报文,对反馈的报文进行解析,在测试软件A中对输入的关键字形成4个缓冲区,分别对四个缓冲区进 行匹配,期待的正确报文结果为{0XAA1,0XBB1,0XCC1,0XDD1}。若反馈报文解析第一个字段为0XAA1,第二个字段为0XBB1,第三个字段为0XCC1,第四个字段为0XDD1,则该反馈报文是正确的。若其中有一个字段匹配失败,那么该反馈报文为错误的,测试用例执行是失败的3)在测试软件A中统计失败的测试用例数,如被测试软件B的功能模块B1,总用例数为100,失败用例数为20,功能模块B2,总用例数为100,失败用例数为5,功能模块B1的权重为20%,功能模块B2的权重为80%。测试用例成功情况:80*0.2+95*0.8=92,说明该测试用例运行比较成功,如果规定到达100才算成功,那么需要修改被测试软件,直到计算结果为100,那么该被测试软件才算通过该次测试。下面通过列举几个具体的实施例详细介绍本发明提供的一种针对VxWorks平台的应用程序测试方法和系统。实施例一详细介绍本发明实施例提供的一种针对VxWorks平台的应用程序测试方法。所述方法应用于利用测试终端上的测试应用程序对目标终端上的被测应用程序进行测试的环境,所述目标终端采用VxWorks平台,所述测试终端采用Windows平台,所述测试终端与所述目标终端采用有线方式连接。参照图3,示出了本发明实施例中一种针对VxWorks平台的应用程序测试方法的步骤流程图。步骤100,根据测试协议在所述测试终端的测试应用程序上设定测试用例的关键字信息。所述测试协议可以为现有的应用程序测试采用的协议,具体的测试协议中可以包含至少一个测试用例,每个测试用例中可以包括与测试用例相关的关键字信息。所述关键字信息可以包括测试用例采用的关键参数,即被测应用程序在执行测试用例时需要输入或者需要输出的关键参数等。步骤102,根据所述测试协议和所述关键字信息生成与所述关键字信息对应的逻辑判断条件。与关键字信息对应的逻辑判断条件可以为针对输入的关键字信息以及被测应用程序反馈的测试报文,判断被测应用程序执行测试用例是否成功。步骤104,根据所述逻辑判断条件和接收到的所述目标终端上的被测应用程序发来的测试报文生成测试反馈信息,并发送至所述目标终端。所述测试反馈信息用于表示被测应用程序在执行测试用例之后的测试结果。步骤106,接收所述目标终端上的被测应用程序发来的,根据所述测试反馈信息生成的测试结果;并对所述测试结果进行分析,完成VxWorks平台的应用程序测试。综上所述,本发明实施例中的技术方案根据测试协议和设定的关键信息生成与关键字信息对应的逻辑判断条件,利用逻辑判断条件对被测应用程序的测试报文进行自动化测试,生成测试反馈信息,进一步对被测应用程序根据测试反馈信息生成测试结果进行分析,在被测应用程序无应用界面或应用界面少,且被测应用程序存在较多逻辑的情况下,实现了应用程序的测试自动化。实施例二详细介绍本发明实施例提供的一种针对VxWorks平台的应用程序测试方法。所述方法应用于利用测试终端上的测试应用程序对目标终端上的被测应用程序进行测试的环境,所述目标终端采用VxWorks平台,所述测试终端采用Windows平台,所述测试终端与所述目标终端采用有线方式连接。参照图4,示出了本发明实施例中一种针对VxWorks平台的应用程序测试方法的步骤流程图。步骤200,选择所述测试终端上的测试应用程序与所述目标终端上的被测应用程序之间的通信方式。所述测试应用程序与被测应用程序之间的通信方式可以包括TCP(TransmissionControlProtocol,传输控制协议)和UDP等等,本发明实施 例对测试应用程序与被测应用程序之间的通信方式选择不作限制。步骤202,根据测试协议在所述测试终端的测试应用程序上设定测试用例的关键字信息。所述测试协议可以为现有的应用程序测试采用的协议,具体的测试协议中可以包含至少一个测试用例,每个测试用例中可以包括与测试用例相关的关键字信息。所述关键字信息可以包括测试用例采用的关键参数,即被测应用程序在执行测试用例时需要输入或者需要输出的关键参数等。优选地,所述关键字信息可以包括:关键字名称、关键字位置、关键字数值和反馈报文标记等。步骤204,根据所述测试协议和所述关键字信息生成与所述关键字信息对应的逻辑判断条件。与关键字信息对应的逻辑判断条件可以为针对输入的关键字信息以及被测应用程序反馈的测试报文,判断被测应用程序执行测试用例是否成功。步骤206,根据所述逻辑判断条件和接收到的所述目标终端上的被测应用程序发来的测试报文生成测试反馈信息,并发送至所述目标终端。所述测试反馈信息用于表示被测应用程序在执行测试用例之后的测试结果。步骤208,接收所述目标终端上的被测应用程序发来的,根据所述测试反馈信息生成的测试结果,并对所述测试结果进行分析。优选地,所述步骤208中对所述测试结果进行分析可以为:对所述测试结果的报文字段进行解析,得到解析结果,并通过图表的方式展现所述解析结果标识的被测应用程序的各个功能模块的信息。步骤210,根据所述被测应用程序的各个功能模块的信息确定不满足测试要求的功能模块。所述被测应用程序可以包括多个功能模块,在对被测应用程序进行测试时,可以有目的地针对其中的功能模块进行测试。其中每个功能模块的信息可以表示每个功能模块各自的状态等情况。步骤212,对所述不满足测试要求的功能模块进行回归测试。综上所述,本发明实施例中的技术方案根据测试协议和设定的关键信息生成与关键字信息对应的逻辑判断条件,利用逻辑判断条件对被测应用程序的测试报文进行自动化测试,生成测试反馈信息,进一步对被测应用程序根据测试反馈信息生成测试结果进行分析,在被测应用程序无应用界面或应用界面少,且被测应用程序存在较多逻辑的情况下,实现了应用程序的测试自动化。实施例三详细介绍本发明实施例提供的一种针对VxWorks平台的应用程序测试系统。所述系统应用于利用测试终端上的测试应用程序对目标终端上的被测应用程序进行测试的环境,所述目标终端采用VxWorks平台,所述测试终端采用Windows平台,所述测试终端与所述目标终端采用有线方式连接。参照图5,示出了本发明实施例中一种针对VxWorks平台的应用程序测试系统的结构示意图。所述系统可以包括:关键字信息设定模块300,判断条件生成模块302,反馈信息生成模块304,测试结果分析模块306。下面分别详细介绍各模块的功能以及各模块之间的关系。关键字信息设定模块300,用于根据测试协议在所述测试终端的测试应用程序上设定测试用例的关键字信息。判断条件生成模块302,用于根据所述测试协议和所述关键字信息生成与所述关键字信息对应的逻辑判断条件。反馈信息生成模块304,用于根据所述逻辑判断条件和接收到的所述目标终端上的被测应用程序发来的测试报文生成测试反馈信息,并发送至所述目标终端。测试结果分析模块306,用于接收所述目标终端上的被测应用程序发来的,根据所述测试反馈信息生成的测试结果;并对所述测试结果进行分析, 完成VxWorks平台的应用程序测试。综上所述,本发明实施例中的技术方案根据测试协议和设定的关键信息生成与关键字信息对应的逻辑判断条件,利用逻辑判断条件对被测应用程序的测试报文进行自动化测试,生成测试反馈信息,进一步对被测应用程序根据测试反馈信息生成测试结果进行分析,在被测应用程序无应用界面或应用界面少,且被测应用程序存在较多逻辑的情况下,实现了应用程序的测试自动化。实施例四详细介绍本发明实施例提供的一种针对VxWorks平台的应用程序测试系统。所述系统应用于利用测试终端上的测试应用程序对目标终端上的被测应用程序进行测试的环境,所述目标终端采用VxWorks平台,所述测试终端采用Windows平台,所述测试终端与所述目标终端采用有线方式连接。参照图6,示出了本发明实施例中一种针对VxWorks平台的应用程序测试系统的结构示意图。所述系统可以包括:关键字信息设定模块400,判断条件生成模块402,反馈信息生成模块404,测试结果分析模块406,功能模块确定模块408,回归测试模块410,通信方式选择模块412。下面分别详细介绍各模块的功能以及各模块之间的关系。关键字信息设定模块400,用于根据测试协议在所述测试终端的测试应用程序上设定测试用例的关键字信息。优选地,所述关键字信息可以包括:关键字名称、关键字位置、关键字数值和反馈报文标记。判断条件生成模块402,用于根据所述测试协议和所述关键字信息生成与所述关键字信息对应的逻辑判断条件。反馈信息生成模块404,用于根据所述逻辑判断条件和接收到的所述目标终端上的被测应用程序发来的测试报文生成测试反馈信息,并发送至所述 目标终端。测试结果分析模块406,用于接收所述目标终端上的被测应用程序发来的,根据所述测试反馈信息生成的测试结果;并对所述测试结果进行分析,完成VxWorks平台的应用程序测试。优选地,所述测试结果分析模块406对所述测试结果的报文字段进行解析,得到解析结果,并通过图表的方式展现所述解析结果标识的被测应用程序的各个功能模块的信息。功能模块确定模块408,用于在所述测试结果分析模块406对所述测试结果的报文字段进行解析,得到解析结果,并通过图表的方式展现所述解析结果标识的被测应用程序的各个功能模块的信息之后,根据所述被测应用程序的各个功能模块的信息确定不满足测试要求的功能模块。回归测试模块410,用于对所述不满足测试要求的功能模块进行回归测试。通信方式选择模块412,用于在所述关键字信息设定模块400根据测试协议在所述测试终端的测试应用程序上设定测试用例的关键字信息之前,选择所述测试终端上的测试应用程序与所述目标终端上的被测应用程序之间的通信方式。综上所述,本发明实施例中的技术方案根据测试协议和设定的关键信息生成与关键字信息对应的逻辑判断条件,利用逻辑判断条件对被测应用程序的测试报文进行自动化测试,生成测试反馈信息,进一步对被测应用程序根据测试反馈信息生成测试结果进行分析,在被测应用程序无应用界面或应用界面少,且被测应用程序存在较多逻辑的情况下,实现了应用程序的测试自动化。对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明 的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。以上对本发明实施例所提供的一种针对VxWorks平台的应用程序测试方法和系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1