一种基于设备库文件接口的测试系统和方法与流程

文档序号:23806682发布日期:2021-02-03 11:49阅读:51来源:国知局
一种基于设备库文件接口的测试系统和方法与流程

[0001]
本发明涉及的是接口测试领域,特别涉及一种基于设备库文件接口的测试系统和方法。


背景技术:

[0002]
将具有共性的功能开发成库文件的方式。目前库文件只能是通过测试应用程序进行测试。在智能机或者单片机上,特别是对库文件包含数据库读写、安全密钥等跟设备相关的功能时,只能将测试应用程序安装到智能机或者单片机上,将测试用例导入到智能机或单片机中对接口进行测试,将测试结果通过文件导出到pc中进行分析。
[0003]
另外利用通用的自动化测试方案,通过系统工具定位到页面元素标识,触发页面元素事件,实现对设备应用的接口测试。却增加了复杂度,降低了执行效率。
[0004]
再比如android设备种类繁多,系统版本繁多,各个版本间的系统实现方式还有差异。在对android手机应用程序进行测试时,需要对每个厂家,每个系统版本的设备进行兼容性测试。目前主要手段是将应用程序安装到需要进行兼容性测试的手机上,单独的对每个手机进行测试。这将消耗大量的人力和时间,使测试效率非常低。


技术实现要素:

[0005]
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于设备库文件接口的测试系统和方法。
[0006]
为了解决上述技术问题,本申请实施例公开了如下技术方案:
[0007]
一种基于设备库文件接口的测试系统,包括:测试执行模块、网络中转模块、接口中转模块、库文件、结果分析模块;其中:
[0008]
测试执行模块,分别与网络中转模块和结果分析模块连接,用于向网络中转模块发布接口调用指令,接收网络中转模块发送的接口执行结果,并将接口调用指令和接口执行结果发送结果分析模块;
[0009]
网络中转模块,分别与接口中转模块和测试执行模块连接,用于接收测试执行模块发布的接口调用指令,并转发给接口中转模块;还用于接收接口中转模块转发的接口执行结果,并将接收到的接口执行结果转发给测试执行模块;
[0010]
接口中转模块,分别与网络中转模块和库文件连接,接收网络中转模块转发的接口调用指令,根据接口调用指令和预设接口映射表,调用库文件中与接口调用指令对应的的接口函数,通过库文件得到接口执行结果,并将得到的接口执行结果发送给网络中转模块;
[0011]
库文件,与接口中转模块连接,预先存储符合用户需求的接口函数,并与接口中转模块预先设定接口调用指令和接口映射表,根据接口中转模块发送的接口调用指令,调用与接口调用指令对应的的接口函数,得到接口执行结果,并将接口执行结果发送给接口中转模块;
[0012]
结果分析模块,与测试执行模块连接,用于接收测试执行模块发送的接口执行结果与接口调用指令,与测试用例的测试预期结果对比,并展示接口测试结果。
[0013]
进一步地,接口调用指令至少包括:指令码、测试执行模块设备id、参数列表。
[0014]
进一步地,接口中转模块实现了与网络中转模块进行网络通讯,通讯协议可以为http、mqtt、coap任意一种通信协议。
[0015]
进一步地,接口映射表至少包括:指令码,接口函数名、接口参数列表、接口返回值列表。
[0016]
进一步地,接口执行结果至少包括:指令码、测试执行模块设备id、库文件设备序列号、函数返回值。
[0017]
进一步地,网络中转模块,可以接受多个接口中转模块同时连接,并向测试执行模块订阅接口调用指令,实现同时进行接口兼容性测试的目的。
[0018]
进一步地,接口中转模块在运行时,首先连接网络中转模块订阅接口订阅指令,通过接口类的头文件,构造消息数据和接口映射表,根据消息数据与接口映射表,调用库文件的函数得到接口执行结果。
[0019]
进一步地,测试执行模块,接收网络中转模块发送的接口执行结果,具体过程为:测试模块根据测试执行模块设备id和库文件设备序列号筛选出由自己发出的接口调用指令的执行结果,并将此执行结果与接口调用指令发送给结果分析模块。
[0020]
本发明还公开了一种基于设备库文件接口的测试方法,包括:
[0021]
测试执行模块,通过测试用例脚本向网络中转模块发送接口调用指令,接口调用指令至少包括:指令码、测试执行模块设备id、参数列表;
[0022]
网络中转模块,将接口调用指令转发给接口中转模块;
[0023]
接口中转模块,通过接口类的头文件,构造消息数据和接口映射表,根据消息数据与接口映射表,调用库文件的函数得到接口执行结果;
[0024]
接口中转模块,通过网络中转模块将接口执行结果转发给测试执行模块;
[0025]
测试执行模块,根据接口执行结果中的执行模块设备id和库文件设备序列号筛选出由自己发出的接口调用指令的执行结果,并将此执行结果与接口调用指令发送给结果分析模块;
[0026]
结果执行模块,将接口执行结果与测试用例的测试预期结果对比,并展示接口测试结果。
[0027]
进一步地,接口映射表至少包括:指令码,接口函数名、接口参数列表、接口返回值列表;接口执行结果至少包括:指令码、测试执行模块设备id、库文件设备序列号、函数返回值。
[0028]
本发明实施例提供的上述技术方案的有益效果至少包括:
[0029]
本发明公开的一种基于设备库文件接口的测试系统,包括测试执行模块、网络中转模块、接口中转模块、库文件和结果分析模块;各模块之间通过网络传输手段,将测试用例直接对多设备同时进行接口调用,并将执行结果进行分析,并展示接口测试结果。其中,网络中转模块,可以接受多个接口中转模块同时连接,并向测试执行模块订阅接口调用指令,解决了现有技术对每个厂家,每个系统版本的设备进行测试兼容性的问题。并且接口中转模块根据消息数据与接口映射表,调用库文件的函数得到接口执行结果,降低了接口测
试的复杂度,提高了接口测试效率。
[0030]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0031]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0032]
图1为本发明实施例1中,一种基于设备库文件接口的测试系统的系统图;
[0033]
图2为本发明实施例1中,一种基于设备库文件接口的测试方法的流程图。
具体实施方式
[0034]
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0035]
为了解决现有技术中存在的接口测试效率低、兼容性难的问题,本发明实施例提供一种基于设备库文件接口的测试系统和方法。
[0036]
实施例1
[0037]
本实施公开了一种基于设备库文件接口的测试系统,如图1,包括:测试执行模块、网络中转模块、接口中转模块、库文件、结果分析模块;其中:
[0038]
测试执行模块,分别与网络中转模块和结果分析模块连接,用于向网络中转模块发布接口调用指令,接收网络中转模块发送的接口执行结果,并将接口调用指令和接口执行结果发送结果分析模块。
[0039]
具体的,在本实施例中,测试设备可以为手机设备、带网络的单片机设备、电脑等。测试执行模块用于执行测试脚本。接口调用指令至少包括:指令码、测试执行模块设备id、参数列表。结果分析模块与测试执行模块在同一台设备上或者通过wlan连接,用于分析测试结果,并通过表格和报表展示测试结果。
[0040]
在本实施例中,测试执行模块,接收网络中转模块发送的接口执行结果,具体过程为:测试模块根据测试执行模块设备id和库文件设备序列号筛选出由自己发出的接口调用指令的执行结果,并将此执行结果与接口调用指令发送给结果分析模块。
[0041]
网络中转模块,分别与接口中转模块和测试执行模块连接,用于接收测试执行模块发布的接口调用指令,并转发给接口中转模块;还用于接收接口中转模块转发的接口执行结果,并将接收到的接口执行结果转发给测试执行模块。
[0042]
具体的,网络中转模块与测试执行模块通过wlan连接,用于接受测试执行模块的指令,将指令发送给接口中转模块。并接收接口中转模块的接口响应,将接口响应发送给测试执行模块。优选的,接口中转模块实现了与网络中转模块进行网络通讯,通讯协议可以为http、mqtt、coap任意一种通信协议。网络中转模块收到接口中转模块的的接口执行结果消息放置到队列中,并根据网络连接,将队列中的消息分发给测试执行模块。
[0043]
接口中转模块,分别与网络中转模块和库文件连接,接收网络中转模块转发的接口调用指令,根据接口调用指令和预设接口映射表,调用库文件中与接口调用指令对应的
的接口函数,通过库文件得到接口执行结果,并将得到的接口执行结果发送给网络中转模块。
[0044]
具体的,接口映射表至少包括:指令码,接口函数名、接口参数列表、接口返回值列表。接口执行结果至少包括:指令码、测试执行模块设备id、库文件设备序列号、函数返回值。接口中转模块在运行时,首先连接网络中转模块订阅接口消息。所述的接口消息,为测试执行模块发布的接口调用指令。网络中转模块将测试执行模块发布的接口消息接收后放置到队列中,并根据网络连接,将队列中的接口消息分发给接口中转模块。网络中转模块可以接受多个接口中转模块同时连接,并订阅接口消息。以此实现同时进行接口兼容性测试的目的。接口中转模块收到接口订阅的消息数据,根据消息数据与接口映射表,调用库文件的函数得到接口执行结果。
[0045]
库文件,与接口中转模块连接,预先存储符合用户需求的接口函数,并与接口中转模块预先设定接口调用指令和接口映射表,根据接口中转模块发送的接口调用指令,调用与接口调用指令对应的的接口函数,得到接口执行结果,并将接口执行结果发送给接口中转模块。
[0046]
结果分析模块,与测试执行模块连接,用于接收测试执行模块发送的接口执行结果与接口调用指令,与测试用例的测试预期结果对比,并展示接口测试结果。
[0047]
本实施例公开的一种基于设备库文件接口的测试系统,包括测试执行模块、网络中转模块、接口中转模块、库文件和结果分析模块;各模块之间通过网络传输手段,将测试用例直接对多设备同时进行接口调用,并将执行结果进行分析,并展示接口测试结果。其中,网络中转模块,可以接受多个接口中转模块同时连接,并向测试执行模块订阅接口调用指令,解决了现有技术对每个厂家,每个系统版本的设备进行测试兼容性的问题。并且接口中转模块根据消息数据与接口映射表,调用库文件的函数得到接口执行结果,降低了接口测试的复杂度,提高了接口测试效率。
[0048]
实施例2
[0049]
本实施例中公开了一种基于设备库文件接口的测试方法,如图2,包括:
[0050]
测试执行模块,通过测试用例脚本向网络中转模块发送接口调用指令,接口调用指令至少包括:指令码、测试执行模块设备id、参数列表;
[0051]
网络中转模块,将接口调用指令转发给接口中转模块;
[0052]
接口中转模块,通过接口类的头文件,构造消息数据和接口映射表,根据消息数据与接口映射表,调用库文件的函数得到接口执行结果;
[0053]
接口中转模块,通过网络中转模块将接口执行结果转发给测试执行模块;
[0054]
测试执行模块根,据接口执行结果中的执行模块设备id和库文件设备序列号筛选出由自己发出的接口调用指令的执行结果,并将此执行结果与接口调用指令发送给结果分析模块;
[0055]
结果执行模块,将接口执行结果与测试用例的测试预期结果对比,并展示接口测试结果。
[0056]
优选的,接口中转模块实现了与网络中转模块进行网络通讯,通讯协议可以为http、mqtt、coap任意一种通信协议。
[0057]
优选的,接口映射表至少包括:指令码,接口函数名、接口参数列表、接口返回值列
表。
[0058]
优选的,进一步地,接口执行结果至少包括:指令码、测试执行模块设备id、库文件设备序列号、函数返回值。
[0059]
优选的,网络中转模块,可以接受多个接口中转模块同时连接,并向测试执行模块订阅接口调用指令,实现同时进行接口兼容性测试的目的。
[0060]
优选的,接口中转模块在运行时,首先连接网络中转模块订阅接口订阅指令,通过接口类的头文件,构造消息数据和接口映射表,根据消息数据与接口映射表,调用库文件的函数得到接口执行结果。
[0061]
本发明公开的一种基于设备库文件接口的测试方法,各模块之间通过网络传输手段,将测试用例直接对多设备同时进行接口调用,并将执行结果进行分析,并展示接口测试结果。其中,网络中转模块,可以接受多个接口中转模块同时连接,并向测试执行模块订阅接口调用指令,解决了现有技术对每个厂家,每个系统版本的设备进行测试兼容性的问题。并且接口中转模块根据消息数据与接口映射表,调用库文件的函数得到接口执行结果,降低了接口测试的复杂度,提高了接口测试效率。
[0062]
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
[0063]
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
[0064]
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
[0065]
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于ram存储器、闪存、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、移动磁盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。该asic可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
[0066]
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式
耦合到处理器,这些都是本领域中所公知的。
[0067]
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1