智能测试方法和装置制造方法及图纸

技术编号:15690769 阅读:182 留言:0更新日期:2017-06-24 03:25
本申请提出一种智能测试方法和装置,该智能测试方法包括:向用户展示录入页面,并接收用户在所述录入页面中录入的页面数据。根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求;根据所述当前实例请求进行测试;将测试得到的当前结果与历史结果进行比较,得到校验结果,并展示给用户。该方法能够提高测试效率。

Intelligent testing method and apparatus

An intelligent testing method and device is provided in the invention, which comprises displaying an input page to a user and receiving the page data entered by the user in the input page. According to the page data, and pre acquired the resource pool and request pool, requests the current instance; according to the request of the current instance test results will be obtained; the test results were compared with the history, calibration results, and display to the user. This method can improve the testing efficiency.

【技术实现步骤摘要】
智能测试方法和装置
本申请涉及软件测试
,尤其涉及一种智能测试方法和装置。
技术介绍
在对网络接口进行测试时,测试请求需要根据待测试接口的定义包含相应的参数。目前接口的定义朝着两个方向发展,一是入参复杂化,二是入参通用化。传统的测试方案需要测试人员手工在测试请求中写入参数,得到实例请求,由于参数越来越复杂,降低了测试效率。
技术实现思路
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本申请的一个目的在于提出一种智能测试方法,该方法可以提高测试效率。本申请的另一个目的在于提出一种智能测试装置。为达到上述目的,本申请第一方面实施例提出的智能测试方法,包括:向用户展示录入页面,并接收用户在所述录入页面中录入的页面数据;根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求;根据所述当前实例请求进行测试;将测试得到的当前结果与历史结果进行比较,得到校验结果,并展示给用户。本申请第一方面实施例提出的智能测试方法,通过根据页面数据和资源池以及请求池生成当前实例请求,可以实现实例请求的自动生成,避免人工方式存在的问题,提高测试效率。另外,通过将当前结果与历史结果进行比较,可以更好的发现问题,从而提高测试效果。为达到上述目的,本申请第二方面实施例提出的智能测试装置,包括:测试管理界面,用于向用户展示录入页面,并接收用户在所述录入页面中录入的页面数据;实例化请求组件,用于根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求;测试执行模块,用于根据所述当前实例请求进行测试;结果校验组件,用于将测试得到的当前结果与历史结果进行比较,得到校验结果,并通过所述测试管理界面展示给用户。本申请第二方面实施例提出的智能测试装置,通过根据页面数据和资源池以及请求池生成当前实例请求,可以实现实例请求的自动生成,避免人工方式存在的问题,提高测试效率。另外,通过将当前结果与历史结果进行比较,可以更好的发现问题,从而提高测试效果。本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。附图说明本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1是本申请一实施例提出的智能测试方法的流程示意图;图2是本申请实施例对应的测试系统的示意图;图3是本申请实施例中展示给用户的页面的示意图;图4是本申请另一实施例提出的智能测试方法的流程示意图;图5是本申请实施例中实例化请求的流程示意图;图6是本申请另一实施例提出的智能测试方法的流程示意图;图7是本申请另一实施例提出的智能测试装置的结构示意图;图8是本申请另一实施例提出的智能测试装置的结构示意图。具体实施方式下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。相反,本申请的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。图1是本申请一实施例提出的智能测试方法的流程示意图。如图1所示,该方法包括:S11:向用户展示录入页面,并接收用户在所述录入页面中录入的页面数据。页面数据包括:待测试接口的接口名、测试方法的方法名,另外,还可以包括指定K-V,K-V是指关键字(key)和对应的值(value)。其中,可以在录入页面中向用户提供一个或多个可供选择的接口名和方法名,用户可以选择需要的接口名和方法名。另外,如果需要,用户还可以手工输入指定K-V。例如,参见图2,本实施例对应的系统20中可以包括:测试管理界面21,测试管理界面21的一种功能是向用户展示录入页面。录入页面可以如图3所示,在录入页面中,用户可以选择待测试接口的接口名31和测试方法的方法名32,另外还可以输入指定K-V33。一些实施例中,参见图4,该方法还包括:S41:获取资源包,所述资源包中包含接口定义。其中,测试请求需要基于接口定义发起,因此需要有接口定义。以java编程为例,资源包可以具体是包含接口定义的jar包。具体的,参见图2,系统还可以包括:测试管理组件22。用户可以通过测试管理界面21向系统上传jar包的资源文件地址,之后系统可以将获取的资源文件地址记录在数据库中。测试管理组件22用于从数据库中获取资源文件地址并根据资源文件地址下载资源文件,在下载后,可以先判断下载的资源文件是否是jar文件,如果是,则进行解压,动态类加载(loadclass)等加载jar文件。如果不是jar文件则可以结束流程。S42:提取所述资源包中的关键信息,并将所述关键信息存储到资源池中。测试管理组件22加载jar文件后,可以从中提取关键信息,例如类信息,之后将其存储到资源池中。在存储关键信息时,具体的可以按照预设格式进行存储,本实施例称为类型仓储(map),类型仓储的结构如下:Map<接口名,Map<方法名,List<入参类型>>>接口名也可以称为类名,如“com.alipay.test.TestInterface”;方法名,如“StingqueryInfo(String)”;入参类型,如“java.lang.String”、“long”。S43:根据所述关键信息生成可供选择的接口名和方法名,并在所述录入页面中进行展示。在得到上述的类型仓储后,可以根据其生成可供选择的接口名和方法名,在录入页面中展示,实现页面初始化。具体的,如上所示的类型仓储中会包含接口名、方法名等字段,可以在类型仓储的相应字段位置进行提取,从而得到可供选择的接口名和方法名,如提取出一种可供选择的接口名是“com.alipay.test.TestInterface”,提取出一种可供选择的方法名是“StingqueryInfo(String)”。S12:根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求。当用户录入页面数据后,可以将其发送给系统,例如,用户点击录入页面的“发送请求”按钮后,可以将页面数据发送给系统,之后由系统进行实例请求化。例如,参见图2,该系统还包括:实例化请求组件23,由实例化请求组件根据页面数据、资源池和请求池生成当前实例请求。如上所示,测试管理组件22加载jar文件(资源包)后,可以将提取的关键信息存储到资源池中。请求池是实例请求的集合,该集合可以包括历史实例请求,历史实例请求具体可以通过保存历史的测试用例,从测试用例中获取历史实例请求。另外,在得到当前实例请求后,也可以将其存储到请求池中,以提高请求池内数据的完备性和精准性。一些实施例中,参见图5,生成当前实例请求的流程可以包括:S51:根据页面数据中的接口名和方法名,从资源池中获取当前测试信息。测试信息包括:接口名、方法名、入参类型以及指定K-V。例如,测试信息表示为:接口名.方法名.入参类型1,入参类型2,…,入参类型n+指定K-V。例如,如上所示,资源池中记录的类型仓储的结构是:Map<接口名,Map<方法名,List<入参类型>>>通过该结构,可以找到与用户录入的接口名和方法名对本文档来自技高网...
智能测试方法和装置

【技术保护点】
一种智能测试方法,其特征在于,包括:向用户展示录入页面,并接收用户在所述录入页面中录入的页面数据;根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求;根据所述当前实例请求进行测试;将测试得到的当前结果与历史结果进行比较,得到校验结果,并展示给用户。

【技术特征摘要】
1.一种智能测试方法,其特征在于,包括:向用户展示录入页面,并接收用户在所述录入页面中录入的页面数据;根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求;根据所述当前实例请求进行测试;将测试得到的当前结果与历史结果进行比较,得到校验结果,并展示给用户。2.根据权利要求1所述的方法,其特征在于,所述页面数据包括:接口名、方法名和指定K-V,所述录入页面中包含可供选择的接口名和方法名,所述接收用户在所述录入页面中录入的页面数据,包括:接收用户在所述录入页面中选择的接口名和方法名;接收用户在所述录入页面中输入的指定K-V。3.根据权利要求2所述的方法,其特征在于,还包括:获取资源包,所述资源包中包含接口定义;提取所述资源包中的关键信息,并将所述关键信息存储到资源池中;根据所述关键信息生成可供选择的接口名和方法名,并在所述录入页面中进行展示。4.根据权利要求1所述的方法,其特征在于,所述页面数据包括:接口名、方法名和指定K-V,所述根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求,包括:根据页面数据中的接口名和方法名,从资源池中获取当前测试信息;确定当前测试信息与请求池中实例请求对应的测试信息之间的匹配关系;如果匹配关系是完全匹配,则从请求池中获取完全匹配的测试信息对应的实例请求,并将获取的实例请求作为当前实例请求;如果匹配关系是不完全匹配,则从请求池中获取不完全匹配的测试信息对应的实例请求,并用页面数据中的指定K-V更新获取的实例请求中的相应属性值,将更新后的实例请求作为当前实例请求;如果匹配关系是不匹配,则根据当前测试信息以及预设机制,进行实例化,得到当前实例请求。5.根据权利要求1所述的方法,其特征在于,还包括:将生成的当前实例请求展示给用户,以供用户确认或修改...

【专利技术属性】
技术研发人员:沈珊珊沈涛
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1