一种基于IMS设备的自动化测试方法及存储介质与流程

文档序号:18471167发布日期:2019-08-20 20:18阅读:169来源:国知局
本发明涉及设备测试领域,具体涉及一种基于ims设备的自动化测试方法及存储介质。
背景技术
::ims语音处理传输设备(以下简称ims设备),在给予用户使用前需要对其功能进行测试,检验是否合格,并分拣出不合格产品送至维修处,合格的才贴上条形码发送给客户。由于ims设备种类和功能繁多,且可以依据客户的要求进行定制化设计。所以在测试过程中,内存、按键、wifi、网口、fxs-fxo口等十多项功能将被划分成几个部分,分派给多个测试人员进行流水测试。每个测试人员需针对功能一项一项进行测试,确保设备这几个测试项没有问题才将设备递交给下一位测试人员。这种人为的测试有以下几个问题:1.人为因素导致设备功能测试项的漏项、错项,有问题的设备可能被错当完好的设备使用,反之亦然。2.频繁的人为操作和测试人员之间的交互导致效率降低.3.无法完整和集中的记录整批设备测试情况看,无法保存测试环境来对修复好的设备重新进行测试。4.不同设备类型、不同批次的测试功能项要求不一致,需要测试人员额外去记忆种类繁多的测试过程,更易出错。因此,需要一种自动化测试的方案来替代人工测试,达到提高效率,减少差错的目的。技术实现要素:鉴于以上技术问题,本发明的目的在于提供一种基于ims设备的自动化测试方法及存储介质,实现待测设备的自动化测试,解决人工测试效率低出错多的问题。本发明采用以下技术方案:一种基于ims设备的自动化测试方法,包括以下步骤:与待测设备侧建立通信;所述建立通信步骤包括:向待测设备侧发送二层广播包,接收待测设备侧的各待测设备发送的临时ip地址和mac地址;与待测设备侧进行测试数据交互;向各待测设备分别发送与各待测设备相对应的测试要求数据,接收各待测设备返回的测试结果数据;所述测试要求数据为对待测设备进行功能测试的命令数据,所述测试结果数据为待测设备基于测试要求数据进行解析和运行后的测试结果数据。进一步的,所述临时ip地址仅采用低24位进行随机。进一步的,所述低24位进行随机的步骤包括:分别采用3个位于0-255的任意数作为临时ip地址低24位的三区间数;所述任意数由以下步骤得到:通过srand函数生成随机数,并将生成的随机数对256进行模运算,得到0-255中任意数。进一步的,所述二层广播包设定如下:二层广播包的目的mac地址设定为广播地址,协议类型固定为0x9955。进一步的,还包括以下步骤:在与待测设备侧建立通信后,为待测设备侧中各台待测设备设定其唯一虚拟序列号。进一步的,所述虚拟序列号包括测试工具所在pc机的mac地址、当前测试时间和自增值。进一步的,测试工具侧与待测设备侧之间交互的测试要求数据和测试结果数据均采用长度可伸缩的tcp包,所述tcp包包括:起始标识、总长度和至少一命令数据。进一步的,根据待测设备类型和测试要求,为测试要求数据制定测试模板数据。进一步的,还包括以下步骤:通过持久化工具对测试过程中产生的各类数据进行持久化处理。一种基于ims设备的自动化测试方法,包括以下步骤:与测试工具侧建立通信;所述建立通信步骤包括:接收测试工具侧发送的二层广播包,并向测试工具侧发送待测设备侧的临时ip地址和mac地址;与测试工具侧进行测试数据交互;各待测设备分别接收与其相对应的测试要求数据,处理测试要求数据并向测试工具侧返回测试结果数据;各待测设备基于其测试状态发出信号提示。一种计算机存储介质,其上存储有计算机程序,所述计算机程序在被处理器执行时,实现所述的基于ims设备的自动化测试方法。相比现有技术,本发明的有益效果在于:本发明通过将测试工具与待测设备侧建立通信并进行数据交互,测试人员只需要设定测试命令,待测设备将自动解析命令并按照功能项进行测试,上报测试结果数据,实现待测设备的自动化测试,解决人工测试效率低出错多的问题。进一步的,通过持久化工具对测试过程中产生的各类数据进行持久化处理,测试结果数据不仅会显示给测试人员查看,而且该待测设备整个测试流程数据将可以持久化以便后期查看。附图说明图1为本发明一种基于ims设备的自动化测试方法一实施例的流程示意图;图2为本发明测试工具侧与待测设备侧建立通信的示意图;图3为本发明二层广播包的结构示意图;图4为本发明变长tcp包的结构示意图;图5为本发明测试工具侧与持久化工具通信示意图;图6为本发明测试工具的测试界面示意图;图7为本发明一种基于ims设备的自动化测试方法另一实施例的流程示意图;图8为本发明一种基于ims设备的自动化测试方法的系统结构示意图。具体实施方式下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例:实施例:请参考图1-8所示,一种基于ims设备的自动化测试方法,如图1所示,包括以下步骤:步骤s100:与待测设备侧建立通信;所述建立通信步骤包括:向待测设备侧发送二层广播包,接收待测设备侧的各待测设备发送的临时ip地址和mac地址;图2为本发明测试工具侧与待测设备侧建立通信的示意图,本发明的测试工具侧可以包含一台或多台测试工具,测试工具可采用测试人员的pc机,本发明的测试工具作为服务端,采用tcp连接被动接收待测设备的上报。本发明的待测设备侧包含至少一待测设备,本发明的待测设备为ims设备。由于ims设备尚未测试前,其管理网口并没有固化的ip地址和mac地址。因此,为了能够在某一次测试周期内使得测试工具与待测设备能够稳定通信,待测设备将随机生成当前使用的ip地址和mac地址。其中,ip地址仅采用低24位进行随机,并辅以255.0.0.0的子网掩码。比如,待测设备采用140.x.x.x的形式来生成ip,那么就有种不同的ip组合供待测设备进行选择,也就大大的提高了多台ims设备同时测试时ip冲突的容错率。同时,在255.0.0.0子网的辅助下,也只占用了140.x.x.x的网段作为测试网段,对于其他网段将不受影响。所述临时ip地址仅采用低24位进行随机。所述低24位进行随机的步骤包括:分别采用3个位于0-255的任意数作为临时ip地址低24位的三区间数;所述任意数由以下步骤得到:通过srand函数生成随机数,并将生成的随机数对256进行模运算,得到0-255中任意数。为了能够使得待测设备知晓并连接测试工具的ip地址,测试工具将周期的向当前的测试网段发送携带ip地址和tcp端口的二层广播包。本发明二层广播包的结构示意图如图3所示,所述二层广播包设定如下:二层广播包的目的mac地址设定为广播地址,协议类型固定为0x9955。ims设备在收到广播包后,生成临时ip地址和mac地址与测试工具进行通信,这样,测试工具侧与待测设备侧建立了通信。优选的,本发明还包括以下步骤:在与待测设备侧建立通信后,为待测设备侧中各台待测设备设定其唯一虚拟序列号。所述虚拟序列号包括测试工具所在pc机的mac地址、当前测试时间和自增值。一台待测设备从其生产出来到发到客户手中,其间可能经过多次测试。但对测试工具而言,某一台待测设备在固化实际序列号之前都是不具有可识别标识的,即待测设备即使上报了,测试工具也不知道该待测设备之前有没有测试过,测试结果如何。为此,可以通过设定虚拟序列号方式来确定每台待测设备的唯一性。具体的,在实际测试环境中,测试人员将以自己的pc机作为测试工具的承载,待测试的ims设备也将连接该台pc机,同时,有多个测试人员同时进行测试。为了保证每一台待测设备标识都是独一无二的,则以当前测试工具所在pc机mac(pc机的mac均是互斥的,以保证通信不会乱)+当前测试时间(保证同一台pc机上不同时段的唯一性)+自增值(由测试工具管理。初始值为0,每上报一台待测设备则加1,保证同一时间内待测设备的唯一性)。以这种方式生成的唯一标示我们称之为虚拟序列号,该虚拟序列号待测设备一旦拿到,会将其固化到本地flash中保存起来,之后所有与测试工具的交互都将会上报该虚拟序列号。测试工具也将以该虚拟序列号来对作为该待测设备的识别码。以下为三组虚拟序列号的举例:00195b7f2a4b190cf23b0000100195b7f2a4b190eb24a0005000195b7f2a4b190eec7500112为了方便,虚拟序列号按照mac地址、测试时间、自增长划分为三段。第一段为当前pc机的mac地址(16进制),当前测试时间主要以待测设备上报的时间为准,并将原本的32位的2进制时间(毫秒级别)转成8位16进制,以缩短虚拟序列号的长度。第三段的自增值则采用5位10进制计数方式。最后将三段以字符串的方式拼接组成虚拟序列号。步骤s200:与待测设备侧进行测试数据交互;向各待测设备分别发送与各待测设备相对应的测试要求数据,接收各待测设备返回的测试结果数据。所述测试要求数据为对待测设备进行功能测试的命令数据,所述测试结果数据为待测设备基于测试要求数据进行解析和运行后的测试结果数据。优选的,测试工具侧与待测设备侧之间测试数据交互采用长度可伸缩的tcp包,所述可伸缩的tcp包为变长tcp包,包括:起始标识、总长度和至少一命令数据,其形式可参考图4所示,每一命令数据包括命令标识、命令代码和命令参数列,所述命令参数列包括若干参数的参数长度和参数值。测试工具将表示测试要求数据的命令代码按上述方式组装起来,并下发给所有待测设备。待测设备将测试要求数据的形式进行反向拆解命令,并依照参数值来初始化待测设备自身的测试环境,待其测试结束,待测设备也将测试结果数据以tcp包的形式反馈给测试工具。测试要求数据具体的可包括测试结果和测试相关描述信息等。如果待测设备和测试工具通信正常,则测试工具将测试指令连同测试参数一起装填置待测数据的命令参数部分。待测设备解析后并处理测试要求,待到部分项测试结束,待测设备将已经完成的这些测试项的结果和其描述按照tcp变长包的要求装填置测试结果中的命令参数部分,并上报给测试工具。测试结果只包含两种状态:成功、失败。失败的情况下,结果描述附带有失败信息供测试人员查看。优选的,本发明的测试方法可根据待测设备类型和测试要求,为测试要求数据制定测试模板数据。由于该变长tcp包的可伸缩性,测试工具能够很容易的依照功能来组装各种测试命令。针对此种便利,测试工具开放了测试模板功能。测试人员能够对不同的待测设备类型,不同的测试要求灵活选择测试功能性,并将其定制为一模板,由测试工具持久化管理,以便以后重复使用。具体的,待测试的功能项一般包含以下几点:1)内存2)flash3)usb/sd4)按键5)fxs/fxo口6)网口7)光口8)wifi9)sim/lte10)软件版本11)目标用户12)自动升级13)mac/sn分配14)总检其中需要注意的是1)wifi、网口、光口和fxs/fxo口的测试过程存在交互过程(即该口发出数据,存在接收方接收数据并反馈)。因此测试这几个功能时,需要额外的待测设备作为接收方。2)mac/sn分配和总检只能在其他测试完成且成功后才能进行测试。3)自动升级需要tftp/http服务器来实现升级文件的传输。4)按键的测试需要测试人员手动按下待测设备上的需要测试的按键5)其他测试项只需要交由待测设备内部自行进行测试即可。测试人员可以在上述功能项中选择几项来作为当前测试的测试流程,亦或将这几项存储为模板供以后或者其他测试人员使用。比如,对于ims设备而言,常备功能包括内存、flash、按键、fxs/fxo口、网口这五项,可以将这五项组成通用测试模板来应对ims设备的基本测试要求。又比如,软件版本、目标用户、自动升级这三项为基本维护项,客户可能会对待测设备的版本、当前使用用户命名、补丁等会有频繁的改动。为此,可以将这三项组成常用维护项模板,以应对频繁的维护需求。而mac/sn分配、总检则是在以上所有项成功之后才进行。该两项的完成,也代表着待测设备将要发送给客户使用。为此,可以讲该两项组成最后测试模板,作最后的出产初始化工作。mac/sn分配将会固化待测设备实际序列号和mac地址(实际序列号和mac地址可以更改)。测试工具在每一次待测设备上报测试结果过程中将统计该次测试周期内除mac/sn分配和总检(如果包含该功能项的话)的其他功能项成功情况,一旦符合要求,测试工具将开放mac/sn分配入口供测试人员输入实际序列号,同时经由该实际序列号去pc机相应路径下的文件中(测试人员事先已经准备好)寻找对应的mac地址,下发到待测设备上,并跳转置下一台能够分配mac/sn的待测设备上。此种过程,只需要测试人员进行扫条形码(包含实际序列号的条形码)这一个动作,就能对待测设备进行mac/sn分配。较之以前,免去了不断重复操作鼠标和键盘的过程。总检是整个测试流程的最后一步(如果包含该功能项的话)。在mac/sn成功分配之后,总检将会初始化待测设备所有的数据,以达到给客户使用的目的。作为另一优选实施例,本发明还包括以下步骤:通过持久化工具对测试过程中产生的各类数据进行持久化处理。图8为基于ims设备的自动化测试方法的系统结构示意图,包括若干待测设备和若干测试工具,若干待测设备与一测试工具进行通信,各测试工具将这些测试的过程通过持久化工具进行持久化操作。由于需要测试的待测设备都将以虚拟序列号作为其唯一标识。某待测设备从生产出来到发给客户期间,可能会进行多次测试。利用唯一标识能够很好的记录整个待测设备的测试生涯。测试工具将这些测试的过程通过持久化工具进行持久化操作,以便测试人员随时的查询。具体的,测试工具采用的持久化工具可为mysql数据库。mysql数据库是一种典型的关系型数据库,它通过解析sql语句来实现数据的读写。一般在执行sql语句是分为一下三层:1.连接层:负责提供连接协议,验证功能身份信息,提供专门的连接线程。2.sql层:负责校验、解析和优化sql语句,提交给下一层处理。或者是接收下一层递交上来的数据。3.存储引擎层:根据sql层的要求提取数据,并重新交个sql层。测试工具与mysql之间通过tcp连接来传输sql语句与结果集,如图5所示。sql语句通常采用字符串的形式,例如从mysql表中获取某一列数据:select<param1>from<table>。结果集为二进制流,可由测试工具内部的解析器将该二进制流解析成需要的数据。同理,sql语句也可以将需要持久化的数据存入到mysql管理的磁盘中,例如如下的语句:insertinto<table><param1><param2>...values<value1><value2>...,会将参数1的值1,参数2的值2合并成一条记录存储起来。在很多情况下,ims设备需要升级到相应版本才能与测试工具进行通信和测试。一种基于ims设备的自动化测试方法,请参照图7所示,在图7中,设备均指待测设备,包括以下步骤:步骤s1000:与测试工具侧建立通信;所述建立通信步骤包括:接收测试工具侧发送的二层广播包,并向测试工具侧发送待测设备侧的临时ip地址和mac地址;步骤s2000:与测试工具侧进行测试数据交互;各待测设备分别接收与其相对应的测试要求数据,处理测试要求数据并向测试工具侧返回测试结果数据;步骤s3000:各待测设备基于其测试状态发出信号提示。具体的,其测试状态包含待测试、测试通过、测试不通过三种状态。ims设备上报给测试工具的顺序是随机的,由于测试人员可能会同时测试多台待测设备,因此,在测试过程中,需要有一种方式能够很方便的定位某几台或者是不同状态的待测设备。对于测试人员而言,最为直观的方式即为待测设备亮灯。整个测试过程中,ims设备某一组灯(具体情况视待测设备类型而定,但参与状态判定的灯的数量均会超过三个)会按照以下几种方式来表示不同状态:1)待测试的待测设备该组灯全灭;2)测试通过的待测设备该组灯周期亮灭;3)测试不通过的待测设备该组灯全亮;4)选择该待测设备时该组等立马闪亮。以上述的方式能够很好且简便的供测试人员挑拣指定待测设备。具体应用中,测试工具的测试界面显示的信息可参考图6所示,包括设备显示区、测试结果显示区和测试结果统计区,设备显示区显示待测设备的各参数数据,测试结果显示区显示测试结果数据,测试结果只包含两种状态:成功、失败。失败的情况下,测试结果数据包括描述附带有失败信息供测试人员查看。一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,能实现上述的方法。本发明的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在该计算机存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机存储介质不包括电载波信号和电信信号。对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1