CN106874176A - 智能测试方法和装置 - Google Patents

智能测试方法和装置 Download PDF

Info

Publication number
CN106874176A
CN106874176A CN201510929117.2A CN201510929117A CN106874176A CN 106874176 A CN106874176 A CN 106874176A CN 201510929117 A CN201510929117 A CN 201510929117A CN 106874176 A CN106874176 A CN 106874176A
Authority
CN
China
Prior art keywords
request
test
user
name
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510929117.2A
Other languages
English (en)
Other versions
CN106874176B (zh
Inventor
沈珊珊
沈涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201510929117.2A priority Critical patent/CN106874176B/zh
Publication of CN106874176A publication Critical patent/CN106874176A/zh
Application granted granted Critical
Publication of CN106874176B publication Critical patent/CN106874176B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提出一种智能测试方法和装置,该智能测试方法包括:向用户展示录入页面,并接收用户在所述录入页面中录入的页面数据。根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求;根据所述当前实例请求进行测试;将测试得到的当前结果与历史结果进行比较,得到校验结果,并展示给用户。该方法能够提高测试效率。

Description

智能测试方法和装置
技术领域
本申请涉及软件测试技术领域,尤其涉及一种智能测试方法和装置。
背景技术
在对网络接口进行测试时,测试请求需要根据待测试接口的定义包含相应的参数。目前接口的定义朝着两个方向发展,一是入参复杂化,二是入参通用化。传统的测试方案需要测试人员手工在测试请求中写入参数,得到实例请求,由于参数越来越复杂,降低了测试效率。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的一个目的在于提出一种智能测试方法,该方法可以提高测试效率。
本申请的另一个目的在于提出一种智能测试装置。
为达到上述目的,本申请第一方面实施例提出的智能测试方法,包括:向用户展示录入页面,并接收用户在所述录入页面中录入的页面数据;根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求;根据所述当前实例请求进行测试;将测试得到的当前结果与历史结果进行比较,得到校验结果,并展示给用户。
本申请第一方面实施例提出的智能测试方法,通过根据页面数据和资源池以及请求池生成当前实例请求,可以实现实例请求的自动生成,避免人工方式存在的问题,提高测试效率。另外,通过将当前结果与历史结果进行比较,可以更好的发现问题,从而提高测试效果。
为达到上述目的,本申请第二方面实施例提出的智能测试装置,包括:测试管理界面,用于向用户展示录入页面,并接收用户在所述录入页面中录入的页面数据;实例化请求组件,用于根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求;测试执行模块,用于根据所述当前实例请求进行测试;结果校验组件,用于将测试得到的当前结果与历史结果进行比较,得到校验结果,并通过所述测试管理界面展示给用户。
本申请第二方面实施例提出的智能测试装置,通过根据页面数据和资源池以及请求池生成当前实例请求,可以实现实例请求的自动生成,避免人工方式存在的问题,提高测试效率。另外,通过将当前结果与历史结果进行比较,可以更好的发现问题,从而提高测试效果。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图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-V 33。
一些实施例中,参见图4,该方法还包括:
S41:获取资源包,所述资源包中包含接口定义。
其中,测试请求需要基于接口定义发起,因此需要有接口定义。
以java编程为例,资源包可以具体是包含接口定义的jar包。
具体的,参见图2,系统还可以包括:测试管理组件22。用户可以通过测试管理界面21向系统上传jar包的资源文件地址,之后系统可以将获取的资源文件地址记录在数据库中。测试管理组件22用于从数据库中获取资源文件地址并根据资源文件地址下载资源文件,在下载后,可以先判断下载的资源文件是否是jar文件,如果是,则进行解压,动态类加载(load class)等加载jar文件。如果不是jar文件则可以结束流程。
S42:提取所述资源包中的关键信息,并将所述关键信息存储到资源池中。
测试管理组件22加载jar文件后,可以从中提取关键信息,例如类信息,之后将其存储到资源池中。
在存储关键信息时,具体的可以按照预设格式进行存储,本实施例称为类型仓储(map),类型仓储的结构如下:
Map<接口名,Map<方法名,List<入参类型>>>
接口名也可以称为类名,如“com.alipay.test.TestInterface”;
方法名,如“Sting queryInfo(String)”;
入参类型,如“java.lang.String”、“long”。
S43:根据所述关键信息生成可供选择的接口名和方法名,并在所述录入页面中进行展示。
在得到上述的类型仓储后,可以根据其生成可供选择的接口名和方法名,在录入页面中展示,实现页面初始化。
具体的,如上所示的类型仓储中会包含接口名、方法名等字段,可以在类型仓储的相应字段位置进行提取,从而得到可供选择的接口名和方法名,如提取出一种可供选择的接口名是“com.alipay.test.TestInterface”,提取出一种可供选择的方法名是“Sting queryInfo(String)”。
S12:根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求。
当用户录入页面数据后,可以将其发送给系统,例如,用户点击录入页面的“发送请求”按钮后,可以将页面数据发送给系统,之后由系统进行实例请求化。
例如,参见图2,该系统还包括:实例化请求组件23,由实例化请求组件根据页面数据、资源池和请求池生成当前实例请求。
如上所示,测试管理组件22加载jar文件(资源包)后,可以将提取的关键信息存储到资源池中。
请求池是实例请求的集合,该集合可以包括历史实例请求,历史实例请求具体可以通过保存历史的测试用例,从测试用例中获取历史实例请求。另外,在得到当前实例请求后,也可以将其存储到请求池中,以提高请求池内数据的完备性和精准性。
一些实施例中,参见图5,生成当前实例请求的流程可以包括:
S51:根据页面数据中的接口名和方法名,从资源池中获取当前测试信息。
测试信息包括:接口名、方法名、入参类型以及指定K-V。例如,测试信息表示为:接口名.方法名.入参类型1,入参类型2,…,入参类型n+指定K-V。
例如,如上所示,资源池中记录的类型仓储的结构是:
Map<接口名,Map<方法名,List<入参类型>>>
通过该结构,可以找到与用户录入的接口名和方法名对应的入参类型,并由录入的接口名、方法名和对应的入参类型组成上述的接口名.方法名.入参类型1,入参类型2,…,入参类型n。另一方面,用户录入时可以输入指定K-V(如图3中的s=”test”),从而可以得到当前测试信息。
S52:确定当前测试信息与请求池中实例请求对应的测试信息之间的匹配关系。
如上所示,请求池中存储有实例请求。具体的,每个实例请求可以与测试信息对应存储,例如,测试信息_1对应实例请求_1。每个测试信息的形式可以如上所示。
通过将当前测试信息与请求池中的每个测试信息进行比较,可以确定匹配关系。
匹配关系包括:完全匹配、不完全匹配和不匹配。
其中,完全匹配是指请求池中存在与当前测试信息中的接口名、方法名和入参类型以及指定K-V均一致的测试信息,不完全匹配是指请求池中存在与当前测试信息中的接口名、方法名和入参类型一致、但指定K-V不一致(关键字K不同或值V不同)的测试信息,不匹配是指请求池中不存在与当前测试信息中的接口名、方法名和入参类型一致的测试信息。
S53:如果匹配关系是完全匹配,则从请求池中获取完全匹配的测试信息对应的实例请求,并将获取的实例请求作为当前实例请求。
例如,请求池中一个实例请求A对应的测试信息与当前测试信息完全匹配,则将实例请求A确定为当前实例请求。
S54:如果匹配关系是不完全匹配,则从请求池中获取不完全匹配的测试信息对应的实例请求,并用页面数据中的指定K-V更新获取的实例请求中的相应属性值,将更新后的实例请求作为当前实例请求。
例如,请求池中一个实例请求A对应的测试信息与当前测试信息不完全匹配,则获取实例请求A,假设实例请求A中的一个入参数据是s=”request”,同时页面数据中的指定K-V是s=”test”,则用s=”test”替换s=”request”,假设更新后得到实例请求A’,则将实例请求A’确定为当前实例请求。
S55:如果匹配关系是不匹配,则根据当前测试信息以及预设机制,进行实例化,得到当前实例请求。
预设机制例如是java反射机制。
例如,对一个从未测试过的接口发起测试,请求池中不存在匹配的测试信息,则可以根据当前测试信息,采用java反射机制进行实例化。
例如,页面数据中的接口名和方法名分别是“com.alipay.test.TestInterface”和“Sting queryInfo(String s,Stringd)”,通过在资源池中查找确定入参数据是String类型的s和String类型的d,则可以通过java反射机制,得到一个String类型的实例s和一个String类型的d,另外,如果页面数据中还包括指定K-V是s=”test”,则将实例s的值更新为”test”。
通过上述流程可以生成当前实例请求。
一些实施例中,在得到当前实例请求后,如图6所示,该方法还可以包括:
S61:将生成的当前实例请求展示给用户,以供用户确认或修改。
例如,实例请求化组件得到当前实例请求后,通过测试管理界面将其展示给用户。
用户可以通过测试管理界面确认或修改当前实例请求。
另外,用户在确认或修改当前实例请求后,可以将确认或修改后的当前实例请求保存在请求池中,以供后续使用。
S13:根据所述当前实例请求进行测试。
如果用户对展示的当前实例请求进行了修改,则测试时采用的具体是指修改后的当前实例请求。
参见图2,系统还包括:测试执行模块24,测试执行模块24用于对当前实例请求进行具体的测试执行。
S14:将测试得到的当前结果与历史结果进行比较,得到校验结果,并展示给用户。
测试执行模块24在执行测试后,会得到当前结果。
参见图2,系统还包括:结果校验组件25,结果校验组件25用于对当前结果与历史结果进行比较,得到校验结果。历史结果也可以称为历史基线。
例如,结果校验组件25可以从测试执行模块24获取到当前结果。另外,系统中还包括结果池,结果池内保存历史结果,结果校验模块25可以从结果池中获取历史结果,进而实现当前结果与历史结果的比较。
在得到比较结果后,可以通过测试管理界面21展示给用户。例如,参见图3,可以展示比较结果34。
具体的,可以根据用户的触发或者在存在历史结果是自动触发结果校验组件进行比较,得到校验结果。
结果校验组件在比较时,可以基于反射机制获取当前结果的所有属性值,并与历史结果中的属性值一一比较,并反馈给用户,还可以给出总体的结果。
另外,在展示校验结果的页面上还可以提高按钮用于变更用例结果(历史结果)数据,如用例结果数据发生变更,同步到结果池,若不做选择,保留原用例。
一些实施例中,参见图6,该方法还可以包括:
S62:根据用户的选择,根据当前实例请求及当前结果生成用例。
例如,参见图3,可以在页面上提供用于生成用例的按钮,图3中用保存为用例表示,从而实现用例的自动化生成。
一些实施例中,参见图6,该方法还可以包括:
S63:对生成的用例进行持久化。
在生成用例后,可以用新生成的用例更新请求池和结果池。例如,可以对用例进行持久化,在服务器启动时将数据加载至请求池和结果池。
一些实施例中,参见图6,该方法还可以包括:
S64:对持久化的用例进行用例管理。
用例管理例如包括:删除、修改、查看、分类、定时回放、作为发送校验请求功能的入口等。
定时回放是指配置回放周期,测试系统根据该回放周期定期生成实例请求和得到测试结果,并可以根据实例请求和测试结果生成离线报告并存储在数据库内,以供用户随时检查。
本实施例中,通过根据页面数据和资源池以及请求池生成当前实例请求,可以实现实例请求的自动生成,避免人工方式存在的问题,提高测试效率。另外,通过将当前结果与历史结果进行比较,可以更好的发现问题,从而提高测试效果。
图7是本申请另一实施例提出的智能测试装置的结构示意图,该装置70包括:测试管理界面71、实例化请求组件72、测试执行模块73和结果校验组件74。
测试管理界面71,用于向用户展示录入页面,并接收用户在所述录入页面中录入的页面数据。
页面数据包括:待测试接口的接口名、测试方法的方法名,另外,还可以包括指定K-V,K-V是指关键字(key)和对应的值(value)。
其中,可以在录入页面中向用户提供一个或多个可供选择的接口名和方法名,用户可以选择需要的接口名和方法名。
另外,如果需要,用户还可以手工输入指定K-V。
相应的,所述页面数据包括:接口名、方法名和指定K-V,所述录入页面中包含可供选择的接口名和方法名,所述测试管理界面71用于接收用户在所述录入页面中录入的页面数据,包括:
接收用户在所述录入页面中选择的接口名和方法名;
接收用户在所述录入页面中输入的指定K-V。
录入页面可以如图3所示,在录入页面中,用户可以选择待测试接口的接口名31和测试方法的方法名32,另外还可以输入指定K-V 33。
一些实施例中,参见图8,该装置70还包括:
测试管理组件75,用于获取资源包,所述资源包中包含接口定义;提取所述资源包中的关键信息,并将所述关键信息存储到资源池中;以及,根据所述关键信息生成可供选择的接口名和方法名,并通过所述测试管理界面在所述录入页面中进行展示。
其中,测试请求需要基于接口定义发起,因此需要有接口定义。
以java编程为例,资源包可以具体是包含接口定义的jar包。
用户可以通过测试管理界面向系统上传jar包的资源文件地址,之后系统可以将获取的资源文件地址记录在数据库中。测试管理组件用于从数据库中获取资源文件地址并根据资源文件地址下载资源文件,在下载后,可以先判断下载的资源文件是否是jar文件,如果是,则进行解压,动态类加载(load class)等加载jar文件。如果不是jar文件则可以结束流程。
测试管理组件加载jar文件后,可以从中提取关键信息,例如类信息,之后将其存储到资源池中。
在存储关键信息时,具体的可以按照预设格式进行存储,本实施例称为类型仓储(map),类型仓储的结构如下:
Map<接口名,Map<方法名,List<入参类型>>>
接口名也可以称为类名,如“com.alipay.test.TestInterface”;
方法名,如“Sting queryInfo(String)”;
入参类型,如“java.lang.String”、“long”。
在得到上述的类型仓储后,可以根据其生成可供选择的接口名和方法名,在录入页面中展示,实现页面初始化。
具体的,如上所示的类型仓储中会包含接口名、方法名等字段,可以在类型仓储的相应字段位置进行提取,从而得到可供选择的接口名和方法名,如提取出一种可供选择的接口名是“com.alipay.test.TestInterface”,提取出一种可供选择的方法名是“Sting queryInfo(String)”。
实例化请求组件72,用于根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求。
当用户录入页面数据后,可以将其发送给系统,例如,用户点击录入页面的“发送请求”按钮后,可以将页面数据发送给系统,之后由系统进行实例请求化。
如上所示,测试管理组件加载jar文件(资源包)后,可以将提取的关键信息存储到资源池中。
请求池是实例请求的集合,该集合可以包括历史实例请求,历史实例请求具体可以通过保存历史的测试用例,从测试用例中获取历史实例请求。另外,在得到当前实例请求后,也可以将其存储到请求池中,以提高请求池内数据的完备性和精准性。
一些实施例中,参见图8,所述页面数据包括:接口名、方法名和指定K-V,所述实例化请求组件72包括:
第一单元721,用于根据页面数据中的接口名和方法名,从资源池中获取当前测试信息;
第二单元722,用于确定当前测试信息与请求池中实例请求对应的测试信息之间的匹配关系;
第三单元723,用于如果匹配关系是完全匹配,则从请求池中获取完全匹配的测试信息对应的实例请求,并将获取的实例请求作为当前实例请求;
第四单元724,用于如果匹配关系是不完全匹配,则从请求池中获取不完全匹配的测试信息对应的实例请求,并用页面数据中的指定K-V更新获取的实例请求中的相应属性值,将更新后的实例请求作为当前实例请求;
第五单元725,用于如果匹配关系是不匹配,则根据当前测试信息以及预设机制,进行实例化,得到当前实例请求。
测试信息包括:接口名、方法名、入参类型以及指定K-V。例如,测试信息表示为:接口名.方法名.入参类型1,入参类型2,…,入参类型n+指定K-V。
例如,如上所示,资源池中记录的类型仓储的结构是:
Map<接口名,Map<方法名,List<入参类型>>>
通过该结构,可以找到与用户录入的接口名和方法名对应的入参类型,并由录入的接口名、方法名和对应的入参类型组成上述的接口名.方法名.入参类型1,入参类型2,…,入参类型n。另一方面,用户录入时可以输入指定K-V(如图3中的s=”test”),从而可以得到当前测试信息。
如上所示,请求池中存储有实例请求。具体的,每个实例请求可以与测试信息对应存储,例如,测试信息_1对应实例请求_1。每个测试信息的形式可以如上所示。
通过将当前测试信息与请求池中的每个测试信息进行比较,可以确定匹配关系。
匹配关系包括:完全匹配、不完全匹配和不匹配。
其中,完全匹配是指请求池中存在与当前测试信息中的接口名、方法名和入参类型以及指定K-V均一致的测试信息,不完全匹配是指请求池中存在与当前测试信息中的接口名、方法名和入参类型一致、但指定K-V不一致(关键字K不同或值V不同)的测试信息,不匹配是指请求池中不存在与当前测试信息中的接口名、方法名和入参类型一致的测试信息。
例如,请求池中一个实例请求A对应的测试信息与当前测试信息完全匹配,则将实例请求A确定为当前实例请求。
例如,请求池中一个实例请求A对应的测试信息与当前测试信息不完全匹配,则获取实例请求A,假设实例请求A中的一个入参数据是s=”request”,同时页面数据中的指定K-V是s=”test”,则用s=”test”替换s=”request”,假设更新后得到实例请求A’,则将实例请求A’确定为当前实例请求。
预设机制例如是java反射机制。
例如,对一个从未测试过的接口发起测试,请求池中不存在匹配的测试信息,则可以根据当前测试信息,采用java反射机制进行实例化。
例如,页面数据中的接口名和方法名分别是“com.alipay.test.TestInterface”和“Sting queryInfo(String s,Stringd)”,通过在资源池中查找确定入参数据是String类型的s和String类型的d,则可以通过java反射机制,得到一个String类型的实例s和一个String类型的d,另外,如果页面数据中还包括指定K-V是s=”test”,则将实例s的值更新为”test”。
通过上述流程可以生成当前实例请求。
一些实施例中,实例化请求组件生成当前实例请求后,还用于通过测试管理界面将生成的当前实例请求展示给用户,以供用户确认或修改。
用户可以通过测试管理界面确认或修改当前实例请求。
另外,用户在确认或修改当前实例请求后,可以将确认或修改后的当前实例请求保存在请求池中,以供后续使用。
测试执行模块73,用于根据所述当前实例请求进行测试。
如果用户对展示的当前实例请求进行了修改,则测试时采用的具体是指修改后的当前实例请求。
结果校验组件74,用于将测试得到的当前结果与历史结果进行比较,得到校验结果,并通过所述测试管理界面展示给用户。
例如,结果校验组件可以从测试执行模块获取到当前结果。另外,系统中还包括结果池,结果池内保存历史结果,结果校验模块可以从结果池中获取历史结果,进而实现当前结果与历史结果的比较。
在得到比较结果后,可以通过测试管理界面展示给用户。例如,参见图3,可以展示比较结果34。
具体的,可以根据用户的触发或者在存在历史结果是自动触发结果校验组件进行比较,得到校验结果。
结果校验组件在比较时,可以基于反射机制获取当前结果的所有属性值,并与历史结果中的属性值一一比较,并反馈给用户,还可以给出总体的结果。
另外,在展示校验结果的页面上还可以提高按钮用于变更用例结果(历史结果)数据,如用例结果数据发生变更,同步到结果池,若不做选择,保留原用例。
一些实施例中,测试管理组件还用于:根据用户的选择,根据当前实例请求及当前结果生成用例。
例如,参见图3,可以在页面上提供用于生成用例的按钮,从而实现用例的自动化生成。
一些实施例中,测试管理组件还用于:对生成的用例进行持久化。
在生成用例后,可以用新生成的用例更新请求池和结果池。例如,可以对用例进行持久化,在服务器启动时将数据加载至请求池和结果池。
一些实施例中,测试管理组件还用于:对持久化的用例进行用例管理。
用例管理例如包括:删除、修改、查看、分类、定时回放、作为发送校验请求功能的入口等。
定时回放是指配置回放周期,测试系统根据该回放周期定期生成实例请求和得到测试结果,并可以根据实例请求和测试结果生成离线报告并存储在数据库内,以供用户随时检查。
本实施例中,通过根据页面数据和资源池以及请求池生成当前实例请求,可以实现实例请求的自动生成,避免人工方式存在的问题,提高测试效率。另外,通过将当前结果与历史结果进行比较,可以更好的发现问题,从而提高测试效果。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (10)

1.一种智能测试方法,其特征在于,包括:
向用户展示录入页面,并接收用户在所述录入页面中录入的页面数据;
根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求;
根据所述当前实例请求进行测试;
将测试得到的当前结果与历史结果进行比较,得到校验结果,并展示给用户。
2.根据权利要求1所述的方法,其特征在于,所述页面数据包括:接口名、方法名和指定K-V,所述录入页面中包含可供选择的接口名和方法名,所述接收用户在所述录入页面中录入的页面数据,包括:
接收用户在所述录入页面中选择的接口名和方法名;
接收用户在所述录入页面中输入的指定K-V。
3.根据权利要求2所述的方法,其特征在于,还包括:
获取资源包,所述资源包中包含接口定义;
提取所述资源包中的关键信息,并将所述关键信息存储到资源池中;
根据所述关键信息生成可供选择的接口名和方法名,并在所述录入页面中进行展示。
4.根据权利要求1所述的方法,其特征在于,所述页面数据包括:接口名、方法名和指定K-V,所述根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求,包括:
根据页面数据中的接口名和方法名,从资源池中获取当前测试信息;
确定当前测试信息与请求池中实例请求对应的测试信息之间的匹配关系;
如果匹配关系是完全匹配,则从请求池中获取完全匹配的测试信息对应的实例请求,并将获取的实例请求作为当前实例请求;
如果匹配关系是不完全匹配,则从请求池中获取不完全匹配的测试信息对应的实例请求,并用页面数据中的指定K-V更新获取的实例请求中的相应属性值,将更新后的实例请求作为当前实例请求;
如果匹配关系是不匹配,则根据当前测试信息以及预设机制,进行实例化,得到当前实例请求。
5.根据权利要求1所述的方法,其特征在于,还包括:
将生成的当前实例请求展示给用户,以供用户确认或修改。
6.根据权利要求1所述的方法,其特征在于,还包括:
根据用户的选择,根据当前实例请求和当前结果生成用例。
7.根据权利要求6所述的方法,其特征在于,还包括:
对生成的用例进行持久化;
对持久化的用例进行用例管理。
8.一种智能测试装置,其特征在于,包括:
测试管理界面,用于向用户展示录入页面,并接收用户在所述录入页面中录入的页面数据;
实例化请求组件,用于根据所述页面数据,以及预先获取的资源池和请求池,生成当前实例请求;
测试执行模块,用于根据所述当前实例请求进行测试;
结果校验组件,用于将测试得到的当前结果与历史结果进行比较,得到校验结果,并通过所述测试管理界面展示给用户。
9.根据权利要求8所述的装置,其特征在于,还包括:
测试管理组件,用于获取资源包,所述资源包中包含接口定义;提取所述资源包中的关键信息,并将所述关键信息存储到资源池中;以及,根据所述关键信息生成可供选择的接口名和方法名,并通过所述测试管理界面在所述录入页面中进行展示。
10.根据权利要求8所述的装置,其特征在于,所述页面数据包括:接口名、方法名和指定K-V,所述实例化请求组件包括:
第一单元,用于根据页面数据中的接口名和方法名,从资源池中获取当前测试信息;
第二单元,用于确定当前测试信息与请求池中实例请求对应的测试信息之间的匹配关系;
第三单元,用于如果匹配关系是完全匹配,则从请求池中获取完全匹配的测试信息对应的实例请求,并将获取的实例请求作为当前实例请求;
第四单元,用于如果匹配关系是不完全匹配,则从请求池中获取不完全匹配的测试信息对应的实例请求,并用页面数据中的指定K-V更新获取的实例请求中的相应属性值,将更新后的实例请求作为当前实例请求;
第五单元,用于如果匹配关系是不匹配,则根据当前测试信息以及预设机制,进行实例化,得到当前实例请求。
CN201510929117.2A 2015-12-14 2015-12-14 智能测试方法和装置 Active CN106874176B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510929117.2A CN106874176B (zh) 2015-12-14 2015-12-14 智能测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510929117.2A CN106874176B (zh) 2015-12-14 2015-12-14 智能测试方法和装置

Publications (2)

Publication Number Publication Date
CN106874176A true CN106874176A (zh) 2017-06-20
CN106874176B CN106874176B (zh) 2021-04-27

Family

ID=59238412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510929117.2A Active CN106874176B (zh) 2015-12-14 2015-12-14 智能测试方法和装置

Country Status (1)

Country Link
CN (1) CN106874176B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108874679A (zh) * 2018-06-28 2018-11-23 北京潘达互娱科技有限公司 接口测试方法及装置
CN109426608A (zh) * 2017-08-29 2019-03-05 中国电信股份有限公司 分布式服务的测试方法和装置、计算机可读存储介质
CN109656817A (zh) * 2018-12-04 2019-04-19 北京马上慧科技术有限公司 一种自动化接口测试装置和设备
CN110198247A (zh) * 2018-02-26 2019-09-03 腾讯科技(深圳)有限公司 接口测试方法及系统
CN110750443A (zh) * 2019-09-06 2020-02-04 中国平安人寿保险股份有限公司 网页测试的方法、装置、计算机设备及存储介质
CN111752820A (zh) * 2019-03-29 2020-10-09 上海哔哩哔哩科技有限公司 gRPC接口的压力测试方法、计算机设备和存储介质
CN112486797A (zh) * 2019-09-11 2021-03-12 腾讯科技(深圳)有限公司 接口测试方法和装置
CN114255155A (zh) * 2022-02-24 2022-03-29 荣耀终端有限公司 一种图形处理器测试方法和电子设备
CN114996181A (zh) * 2021-03-02 2022-09-02 北京同邦卓益科技有限公司 接口的路由方法、装置、电子设备及存储介质

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1026590A2 (en) * 1999-01-29 2000-08-09 Lucent Technologies Inc. Circuit board with self-test
CN101996132A (zh) * 2009-08-14 2011-03-30 中兴通讯股份有限公司 公用对象请求代理程序体系结构接口自动测试方法和装置
CN101414935B (zh) * 2008-07-09 2011-06-22 北京星网锐捷网络技术有限公司 测试用例生成方法及系统
CN102214140A (zh) * 2011-06-21 2011-10-12 中兴通讯股份有限公司 软件自动测试的方法及系统
CN102222043A (zh) * 2011-07-08 2011-10-19 华为软件技术有限公司 一种测试方法和测试装置
CN101526916B (zh) * 2008-03-03 2012-05-30 阿里巴巴集团控股有限公司 基于页面对象流验证在回归测试中的应用方法及系统
WO2013077890A1 (en) * 2011-11-22 2013-05-30 Intel Corporation Collaborative processor and system performance and power management
US20130174126A1 (en) * 2011-12-30 2013-07-04 Cellco Partnership D/B/A Verizon Wireless Automated testing of programming code for a web service
CN103647848A (zh) * 2013-12-24 2014-03-19 Tcl通讯(宁波)有限公司 一种Android手机参数处理方法及系统
CN103699485A (zh) * 2013-12-20 2014-04-02 金蝶软件(中国)有限公司 应用程序调试方法和装置
CN104035859A (zh) * 2013-03-07 2014-09-10 腾讯科技(深圳)有限公司 一种可视化自动测试方法及其系统
CN104331369A (zh) * 2014-11-21 2015-02-04 北京奇虎科技有限公司 基于浏览器的网页检测方法及装置、服务器
CN104572469A (zh) * 2015-01-23 2015-04-29 广东能龙教育股份有限公司 一种基于模拟http请求的接口自动化测试方法和系统
CN104601403A (zh) * 2015-01-07 2015-05-06 上海瀚之友信息技术服务有限公司 一种自动化测试系统
CN104715204A (zh) * 2013-12-11 2015-06-17 国际商业机器公司 利用元请求对web应用程序进行安全漏洞测试
CN104778123A (zh) * 2015-03-30 2015-07-15 微梦创科网络科技(中国)有限公司 一种检测系统性能的方法及装置
CN104991777A (zh) * 2015-07-14 2015-10-21 普元信息技术股份有限公司 实现Web应用程序自动化测试视图化开发的系统及方法

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1026590A2 (en) * 1999-01-29 2000-08-09 Lucent Technologies Inc. Circuit board with self-test
CN101526916B (zh) * 2008-03-03 2012-05-30 阿里巴巴集团控股有限公司 基于页面对象流验证在回归测试中的应用方法及系统
CN101414935B (zh) * 2008-07-09 2011-06-22 北京星网锐捷网络技术有限公司 测试用例生成方法及系统
CN101996132A (zh) * 2009-08-14 2011-03-30 中兴通讯股份有限公司 公用对象请求代理程序体系结构接口自动测试方法和装置
CN102214140A (zh) * 2011-06-21 2011-10-12 中兴通讯股份有限公司 软件自动测试的方法及系统
CN102222043A (zh) * 2011-07-08 2011-10-19 华为软件技术有限公司 一种测试方法和测试装置
WO2013077890A1 (en) * 2011-11-22 2013-05-30 Intel Corporation Collaborative processor and system performance and power management
US20130174126A1 (en) * 2011-12-30 2013-07-04 Cellco Partnership D/B/A Verizon Wireless Automated testing of programming code for a web service
CN104035859A (zh) * 2013-03-07 2014-09-10 腾讯科技(深圳)有限公司 一种可视化自动测试方法及其系统
CN104715204A (zh) * 2013-12-11 2015-06-17 国际商业机器公司 利用元请求对web应用程序进行安全漏洞测试
CN103699485A (zh) * 2013-12-20 2014-04-02 金蝶软件(中国)有限公司 应用程序调试方法和装置
CN103647848A (zh) * 2013-12-24 2014-03-19 Tcl通讯(宁波)有限公司 一种Android手机参数处理方法及系统
CN104331369A (zh) * 2014-11-21 2015-02-04 北京奇虎科技有限公司 基于浏览器的网页检测方法及装置、服务器
CN104601403A (zh) * 2015-01-07 2015-05-06 上海瀚之友信息技术服务有限公司 一种自动化测试系统
CN104572469A (zh) * 2015-01-23 2015-04-29 广东能龙教育股份有限公司 一种基于模拟http请求的接口自动化测试方法和系统
CN104778123A (zh) * 2015-03-30 2015-07-15 微梦创科网络科技(中国)有限公司 一种检测系统性能的方法及装置
CN104991777A (zh) * 2015-07-14 2015-10-21 普元信息技术股份有限公司 实现Web应用程序自动化测试视图化开发的系统及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
VERA STOYANOVA: "Automation of Test Case Generation and Execution for Testing Web Service Orchestrations", 《2013 IEEE SEVENTH INTERNATIONAL SYMPOSIUM ON SERVICE-ORIENTED SYSTEM ENGINEERING》 *
WANG LIU-MIN: "Design of performance indicators auto-test system for potentiometer", 《2011 INTERNATIONAL CONFERENCE ON ELECTRIC INFORMATION AND CONTROL ENGINEERING》 *
余良飞: "Autodesk Inventor API自动化测试的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
夏启明: "Web系统用户登录与访问控制测试模板模型", 《武汉大学学报(工学版)》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426608A (zh) * 2017-08-29 2019-03-05 中国电信股份有限公司 分布式服务的测试方法和装置、计算机可读存储介质
CN110198247A (zh) * 2018-02-26 2019-09-03 腾讯科技(深圳)有限公司 接口测试方法及系统
CN110198247B (zh) * 2018-02-26 2022-02-18 腾讯科技(深圳)有限公司 接口测试方法及系统
CN108874679A (zh) * 2018-06-28 2018-11-23 北京潘达互娱科技有限公司 接口测试方法及装置
CN109656817A (zh) * 2018-12-04 2019-04-19 北京马上慧科技术有限公司 一种自动化接口测试装置和设备
CN111752820B (zh) * 2019-03-29 2024-01-19 上海哔哩哔哩科技有限公司 gRPC接口的压力测试方法、计算机设备和存储介质
CN111752820A (zh) * 2019-03-29 2020-10-09 上海哔哩哔哩科技有限公司 gRPC接口的压力测试方法、计算机设备和存储介质
CN110750443A (zh) * 2019-09-06 2020-02-04 中国平安人寿保险股份有限公司 网页测试的方法、装置、计算机设备及存储介质
CN112486797A (zh) * 2019-09-11 2021-03-12 腾讯科技(深圳)有限公司 接口测试方法和装置
CN112486797B (zh) * 2019-09-11 2023-10-13 腾讯科技(深圳)有限公司 接口测试方法和装置
CN114996181A (zh) * 2021-03-02 2022-09-02 北京同邦卓益科技有限公司 接口的路由方法、装置、电子设备及存储介质
CN114996181B (zh) * 2021-03-02 2023-09-26 北京同邦卓益科技有限公司 接口的路由方法、装置、电子设备及存储介质
CN114255155B (zh) * 2022-02-24 2022-07-26 荣耀终端有限公司 一种图形处理器测试方法和电子设备
CN114255155A (zh) * 2022-02-24 2022-03-29 荣耀终端有限公司 一种图形处理器测试方法和电子设备

Also Published As

Publication number Publication date
CN106874176B (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
CN106874176A (zh) 智能测试方法和装置
CN107908541B (zh) 接口测试方法、装置、计算机设备及存储介质
CN111159049B (zh) 接口自动化测试方法及系统
US8135659B2 (en) System configuration comparison to identify process variation
US10289375B2 (en) Verification of shared display integrity in a desktop sharing system
US20160283353A1 (en) Automated software testing
CN104679658B (zh) Web页面的测试方法和系统
CN107209773B (zh) 自动调用统一的可视化界面
CN110569298B (zh) 一种数据对接、可视化方法和系统
CN108595339A (zh) 自动化测试方法、装置及系统
CN104778135B (zh) 一种器件兼容方法及系统
US20080126448A1 (en) Test engine
CN106095673A (zh) 基于web接口的自动化测试方法及系统
US20140337003A1 (en) Method And System For Simulating A Plurality Of Devices
US20060248109A1 (en) Filtering a view of information presented by an application based on attributes previously used by a user
CN110134593A (zh) 软件测试方法、装置、电子设备及存储介质
US8457921B2 (en) Electronic device tester and testing method
CN112397061B (zh) 线上互动方法、装置、设备和存储介质
CN110490781A (zh) 一种基于云平台的ppt备授课系统及方法
CN111124892B (zh) 基于命令行的自动化测试方法及系统
CN107402878B (zh) 测试方法和装置
CN111245671A (zh) 用于卫星激光通信终端地面测试的自动化集成测试系统
CN107341100A (zh) 摄像头参数的配置方法及装置
CN110275820B (zh) 页面兼容性测试方法、系统及设备
CN109447844A (zh) 一种电子化试验报告的管理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant