一种软件测试方法、系统及相关设备与流程

文档序号:20029453发布日期:2020-02-28 10:12阅读:114来源:国知局
一种软件测试方法、系统及相关设备与流程

本发明涉及软件测试技术领域,尤其涉及一种软件测试方法、系统及相关设备。



背景技术:

软件http接口测试过程中经常需要模拟某些特定数据响应返回,如测试web前端或app客户端时需要验证对http接口一些异常、边界值、错误等返回处理是否正确。

现有方案中,每一款软件直接在web前端或app客户端的源代码中配置各种的http接口及mock数据。流程如图1所示,或在本地启动mock服务服务,再通过启动charles、fiddler等代理工具拦截请求并将请求转发至mock服务。

现有方案中,每一款软件测试都需要重新在源代码中配置mock数据,或者需要重新在本地代理服务器中配置http接口请求拦截参数及转发参数,操作过程繁琐,效率低下。



技术实现要素:

本发明实施例提供了一种软件测试方法、系统及相关设备,用于提高软件测试效率。

本发明实施例第一方面还提供了一种软件测试方法,运用于服务端,可包括:

接收客户端发送的http接口请求,所述http接口请求中包含目标url信息;

根据预设映射关系表查询所述目标url信息对应的目标mock接口,所述预设映射关系表中记录有至少两组url信息与mock接口的关联关系;

查询所述目标mock接口的开关状态信息;

若所述mock接口开关状态为开启状态,则调用所述目标mock接口从数据库中提取所述目标url信息对应的响应数据,并将所述响应数据返回给所述客户端。

可选的,作为一种可能的实施方式,所述mock接口的开关状态信息还包括mock数据种类设置信息,用于指示预设的多种类型的mock数据中被启用的目标种类的mock数据,所述调用所述目标mock接口从数据库中提取所述目标url信息对应的响应数据可包括:

调用所述目标mock接口从数据库中提取所述目标种类的mock数据作为所述目标url信息对应的响应数据。

可选的,作为一种可能的实施方式,若所述mock接口开关状态为关闭状态,则将所述http接口请求转发至所述目标url信息对应的接口。

可选的,作为一种可能的实施方式,本发明实施例中的软件测试方法还可以包括:

设置每种类型的mock接口与至少一种类型的mock数据的对应关系;

将每种类型的mock接口与其对应的mock数据关联存储于所述数据库中。

可选的,作为一种可能的实施方式,本发明实施例中的软件测试方法还可以包括:

接收切换指令,所述切换指令用于指示mock接口开关状态信息的变更。

本发明实施例第二方面还提供了一种软件测试系统,可包括:

接收单元,用于接收客户端发送的http接口请求,所述http接口请求中包含目标url信息;

第一查询单元,用于根据预设映射关系表查询所述目标url信息对应的目标mock接口,所述预设映射关系表中记录有至少两组url信息与mock接口的关联关系;

第二查询单元,用于查询所述目标mock接口的开关状态信息;

提取单元,若所述mock接口开关状态为开启状态,则调用所述目标mock接口从数据库中提取所述目标url信息对应的响应数据,并将所述响应数据返回给所述客户端。

可选的,作为一种可能的实施方式,所述mock接口的开关状态信息还包括mock数据种类设置信息,用于指示预设的多种类型的mock数据中被启用的目标种类的mock数据,所述提取单元包括:

调用模块,用于调用所述目标mock接口从数据库中提取所述目标种类的mock数据作为所述目标url信息对应的响应数据。

可选的,作为一种可能的实施方式,本发明实施例中的软件测试系统还可以包括:

转发单元,若所述mock接口开关状态为关闭状态,则将所述http接口请求转发至所述目标url信息对应的接口。

可选的,作为一种可能的实施方式,本发明实施例中的软件测试系统还可以包括:

设置单元,用于设置每种类型的mock接口与至少一种类型的mock数据的对应关系;

存储单元,用于将每种类型的mock接口与其对应的mock数据关联存储于所述数据库中。

可选的,作为一种可能的实施方式,本发明实施例中的软件测试系统还可以包括:

切换单元,用于接收切换指令,所述切换指令用于指示mock接口开关状态信息的变更。

本发明实施例第三方面提供了一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面及第一方面中任意一项所述软件测试的步骤。

本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如第一方面及第一方面中任意一项所述软件测试的步骤。

从以上技术方案可以看出,本发明实施例具有以下优点:

本发明实施例中,可以预先在服务端预设映射关系表,该预设映射关系表中记录有至少两组url信息与mock接口的关联关系,并将mock数据预存在服务端的数据库中。当接收到客户端发送的http接口请求之后可以查询目标url信息对应的目标mock接口,及该目标mock接口的开关状态信息;若mock接口开关状态为开启状态,则调用目标mock接口从数据库中提取目标url信息对应的响应数据,并将响应数据返回给客户端。本发明实施例中基于服务端的预设映射关系表实现了测试过程中的url信息的自动拦截筛选及与url信息mock接口的自动配置,无需在客户端手动配置,提高了软件测试的效率。

附图说明

图1为本发明实施例中一种软件测试方法的一个实施例示意图;

图2为本发明实施例中一种软件测试方法的一个实施例示意图;

图3为本发明实施例中一种软件测试系统架构示意图;

图4为本发明实施例中一种软件测试系统的一个具体运用实施例示意图;

图5为本发明实施例中一种计算机装置的一个实施例示意图。

具体实施方式

本发明实施例提供了一种软件测试方法、系统及相关设备,用于提高软件测试效率。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

现有方案中,每一款软件直接在web前端或app客户端的源代码中配置各种的http接口及mock数据。本发明实施例中,无需安装其他测试辅助工具,简化了测试人员本地环境的配置,测试人员一次配置后,只需切换开关,就能实现mock接口和原目标接口的快速切换,达到即用即走、快速验证的效果。测试数据配置存储在服务端,可多人同时使用、重复使用。测试人员可为同一个http接口创建多条mock数据,通过切换mock接口开关即可实现指定mock数据的返回。

为了便于理解,下面对本发明实施例中的具体流程进行描述,请参阅图2,本发明实施例中一种软件测试方法的一个实施例可包括:

201、接收客户端发送的http接口请求,http接口请求中包含目标url信息;

每一款软件开发完成之后,用户可以在安装该软件的终端设备中设置服务端代理程序的代理ip和代理端口,之后可以直接在客户端(可以是web前端或app客户端)进行操作,生成http接口请求,终端设备自动将http接口请求发送至服务端。该http接口请求中包含目标url信息,具体的url信息可以是url或urlpath。

202、根据预设映射关系表查询目标url信息对应的目标mock接口;

为了减少用户侧的配置工作量提高测试效率,本发明实施例中可以预先在服务端设置预设映射关系表记录需要进行测试的http接口请求的类型,具体的,可以用预设映射关系表记录所有需要进行测试的http接口请求对应的url和/或urlpath与mock接口的关联关系,该预设映射关系表中记录有至少两组url信息与mock接口的关联关系。

可选的,特定的url和/或urlpath的映射关系表中的mock接口的关联关系可以是空的,这时对应的http请求都会指向实际目标服务接口。

203、查询目标mock接口的开关状态信息;

为了便于管理服务端的多个mock接口,可以为每个mock接口设置开关,在进行软件测试时可以预先设置需要用到的mock接口的开关状态。一次设置可以连续使用,直到更改相关mock接口的开关状态。服务端在查询到目标mock接口之后,可以查询目标mock接口的开关状态信息。

204、若mock接口开关状态为开启状态,则调用目标mock接口从数据库中提取目标url信息对应的响应数据,并将响应数据返回给客户端。

用户在使用mock服务前,预先将mock数据通过web页面或其他方式提交到数据库中。

若mock接口开关状态为开启状态,则调用目标mock接口从数据库中提取目标url信息对应的响应数据,并将响应数据返回给客户端。

可选的,作为一种可能的实施方式,若mock接口开关状态为关闭状态,则将http接口请求转发至目标url信息对应的接口。即按照客户端发送的http接口请求转发至目标url信息对应的原目标接口。实际运用中,若mock接口开关状态为关闭状态也可以不响应该http接口请求。

本发明实施例中,可以预先在服务端预设映射关系表,该预设映射关系表中记录有至少两组url信息与mock接口的关联关系,并将mock数据预存在服务端的数据库中。当接收到客户端发送的http接口请求之后可以查询目标url信息对应的目标mock接口,及该目标mock接口的开关状态信息;若mock接口开关状态为开启状态,则调用目标mock接口从数据库中提取目标url信息对应的响应数据,并将响应数据返回给客户端。本发明实施例中基于服务端的预设映射关系表实现了测试过程中的url信息的自动拦截筛选及与url信息mock接口的自动配置,无需在客户端手动配置,提高了软件测试的效率。

可选的,作为一种可能的实施方式,mock数据提交到数据库的过程中,可以设置每种类型的mock接口与至少一种类型的mock数据的对应关系;将每种类型的mock接口与其对应的mock数据关联存储于数据库中。例如,一种mock接口对应的mock数据种类可以是异常值、边界值、错误值,以实现客户端对特定数据响应测试。

可选的,作为一种可能的实施方式,mock接口的开关状态信息还包括mock数据种类设置信息,用于指示预设的多种类型的mock数据中被启用的目标种类的mock数据,调用目标mock接口从数据库中提取目标url信息对应的响应数据包括:调用目标mock接口从数据库中提取目标种类的mock数据作为目标url信息对应的响应数据。

可选的,作为一种可能的实施方式,服务端还可以接收切换指令,该切换指令用于指示mock接口开关状态信息的变更。实际运用中,用户的测试需求是不断变化的,当需求变换时,可以通过web页面或其他方式将切换指令提交到服务端,以使得服务端根据该切换指令切换对应的mock接口开关以及启用的mock数据的类型。

实际运用中可以通过交互界面为用户提供设置选项,该交互界面中设置两级开关选项,第一级开关用于控制一种mock接口下的多种类型的mock数据的总开关,当第一级开关为关闭状态,则默认该mock接口下的所有类型的mock数据均为关闭,第二级开关用于分别控制各种类型的mock数据的分开关。只有第一级开关为开启状态,多个第二级开关中的一个或多个为开启状态,则对应类型的mock数据启用。其中,多个开启状态时会随机其中数据一个返回。

为了便于理解,下面将结合具体运用实例对本发明实施例中的软件测试方法进行说明。本实施例中的软件测试系统的架构请参阅图3所示,具体的,本发明技术方案将http接口服务、mock服务分为用户端的配置模块和服务端的服务处理模块,其中服务处理模块包含代理程序、mock接口服务及数据存储服务。

用户在测试https协议接口之前,第一次连接服务端代理时需要安装https代理证书(可选),然后需要先将mock数据通过web页面或其他方式提交到数据库中。其中,提交到数据库中的数据一般为http接口的url或urlpath、mock接口的返回数据、是否启用各个mock接口的开关标志。其中,本申请所有实施例中的http接口泛指使用http协议的接口,通常包括http、https。

测试过程中,用户在web浏览器或app所在的手机终端设置服务端代理程序的代理ip和代理端口,用户在web应用或app中请求http接口,服务端代理程序收到来自用户端的http接口请求,并将请求的目标url或urlpath去数据库匹配。

服务端代理程序若在数据库中匹配到请求的目标url或urlpath,且该mock接口开关为开启状态,则将http接口请求转发到mock接口,否则直接请求原目标接口。其中,匹配成功时,mock接口根据请求的url或urlpath去数据库匹配相应的响应数据,并按原请求路径返回至用户端,至此用户web端或app收到mock接口响应数据。

用户在使用完mock服务后只需关闭本机的代理连接或关闭mock接口开关。

本实施例中,无需安装其他测试辅助工具,简化了测试人员本地环境的配置,测试人员一次配置后,只需切换开关,就能实现mock接口和原目标接口的快速切换,达到即用即走、快速验证的效果,测试数据配置存储在服务端,可多人同时使用、重复使用,测试人员可为同一个http接口创建多条mock数据,通过切换mock接口开关即可实现指定mock数据的返回。

请参阅图4,本发明实施例还提供了一种软件测试系统,可包括:

接收单元401,用于接收客户端发送的http接口请求,http接口请求中包含目标url信息;

第一查询单元402,用于根据预设映射关系表查询目标url信息对应的目标mock接口,预设映射关系表中记录有至少两组url信息与mock接口的关联关系;

第二查询单元403,用于查询目标mock接口的开关状态信息;

提取单元404,若mock接口开关状态为开启状态,则调用目标mock接口从数据库中提取目标url信息对应的响应数据,并将响应数据返回给客户端。

可选的,作为一种可能的实施方式,mock接口的开关状态信息还包括mock数据种类设置信息,用于指示预设的多种类型的mock数据中被启用的目标种类的mock数据,提取单元包括:

调用模块,用于调用目标mock接口从数据库中提取目标种类的mock数据作为目标url信息对应的响应数据。

可选的,作为一种可能的实施方式,本发明实施例中的软件测试系统还可以包括:

转发单元,若mock接口开关状态为关闭状态,则将http接口请求转发至目标url信息对应的接口。

可选的,作为一种可能的实施方式,本发明实施例中的软件测试系统还可以包括:

设置单元,用于设置每种类型的mock接口与至少一种类型的mock数据的对应关系;

存储单元,用于将每种类型的mock接口与其对应的mock数据关联存储于数据库中。

可选的,作为一种可能的实施方式,本发明实施例中的软件测试系统还可以包括:

切换单元,用于接收切换指令,切换指令用于指示mock接口开关状态信息的变更。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本申请实施例还提供了一种计算机装置,如图5所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。参考图5,计算机装置5包括:存储器510、处理器520、有线或无线网络模块530以及存储在存储器中并可在处理器上运行的计算机程序。处理器执行计算机程序时实现上述各个软件测试方法实施例中的步骤,例如图2所示的步骤201至204。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。

本申请实施例中的一些实施例中,处理器用于执行存储器中存储的计算机程序时实现如下步骤:

接收客户端发送的http接口请求,http接口请求中包含目标url信息;

根据预设映射关系表查询目标url信息对应的目标mock接口,预设映射关系表中记录有至少两组url信息与mock接口的关联关系;

查询目标mock接口的开关状态信息;

若mock接口开关状态为开启状态,则调用目标mock接口从数据库中提取目标url信息对应的响应数据,并将响应数据返回给客户端。

可选的,本申请的一些实施例中,mock接口的开关状态信息还包括mock数据种类设置信息,用于指示预设的多种类型的mock数据中被启用的目标种类的mock数据,处理器还可以用于实现如下步骤:

调用目标mock接口从数据库中提取目标种类的mock数据作为目标url信息对应的响应数据。

可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:若mock接口开关状态为关闭状态,则将http接口请求转发至目标url信息对应的接口。

可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:

设置每种类型的mock接口与至少一种类型的mock数据的对应关系;

将每种类型的mock接口与其对应的mock数据关联存储于数据库中。

可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:

接收切换指令,切换指令用于指示mock接口开关状态信息的变更。

本领域技术人员可以理解,图5中示出的结构并不构成对计算机装置的限定,计算机装置5可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,例如计算机装置还可以包括输入输出设备、总线等。

所称处理器可以是通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:

接收客户端发送的http接口请求,http接口请求中包含目标url信息;

根据预设映射关系表查询目标url信息对应的目标mock接口,预设映射关系表中记录有至少两组url信息与mock接口的关联关系;

查询目标mock接口的开关状态信息;

若mock接口开关状态为开启状态,则调用目标mock接口从数据库中提取目标url信息对应的响应数据,并将响应数据返回给客户端。

可选的,本申请的一些实施例中,mock接口的开关状态信息还包括mock数据种类设置信息,用于指示预设的多种类型的mock数据中被启用的目标种类的mock数据,处理器还可以用于实现如下步骤:

调用目标mock接口从数据库中提取目标种类的mock数据作为目标url信息对应的响应数据。

可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:若mock接口开关状态为关闭状态,则将http接口请求转发至目标url信息对应的接口。

可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:

设置每种类型的mock接口与至少一种类型的mock数据的对应关系;

将每种类型的mock接口与其对应的mock数据关联存储于数据库中。

可选的,本申请的一些实施例中,处理器还可以用于实现如下步骤:

接收切换指令,切换指令用于指示mock接口开关状态信息的变更。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1