CN116048888A - 基于流量数据的接口参数推荐方法及装置 - Google Patents

基于流量数据的接口参数推荐方法及装置 Download PDF

Info

Publication number
CN116048888A
CN116048888A CN202211356188.4A CN202211356188A CN116048888A CN 116048888 A CN116048888 A CN 116048888A CN 202211356188 A CN202211356188 A CN 202211356188A CN 116048888 A CN116048888 A CN 116048888A
Authority
CN
China
Prior art keywords
flow data
field
interface
determining
characteristic value
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.)
Pending
Application number
CN202211356188.4A
Other languages
English (en)
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.)
Guangzhou Pinwei Software Co Ltd
Original Assignee
Guangzhou Pinwei Software Co 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 Guangzhou Pinwei Software Co Ltd filed Critical Guangzhou Pinwei Software Co Ltd
Priority to CN202211356188.4A priority Critical patent/CN116048888A/zh
Publication of CN116048888A publication Critical patent/CN116048888A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供的基于流量数据的接口参数推荐方法及装置,为扩大分析样本,以及为后续更智能的精准分析提供有意义的数据,可以获取指定接口在生产环境中进行使用时生产的若干流量数据,然后对若干流量数据分别进行扁平化处理,这样不仅可以快速去除流量数据中的冗余数据,还可以得到每一流量数据的多个字段及每一字段的特征值;接着,本申请可以根据每一流量数据的多个字段及每一字段的特征值来确定指定接口的接口参数对应的特征值属性及规则,以便在后续配置接口测试的测试用例时,提供精细度更高的字段推荐,方便接口测试的参数输入,提高测试覆盖率。

Description

基于流量数据的接口参数推荐方法及装置
技术领域
本申请涉及接口测试技术领域,尤其涉及一种基于流量数据的接口参数推荐方法及装置。
背景技术
目前,常规的接口测试流程主要是根据实际的业务场景特性配置具体的接口参数,构建具体的接口测试用例,接着触发执行对应的接口测试用例,随后通过断言等形式来自动化分析判断测试结果。
上述接口测试流程中,在为待测接口配置具体的接口参数时,主要是依赖测试人员根据经验或测试需求进行配置,若测试人员经验较少,或测试需求所提及的内容较少时,可能会因接口参数的配置种类较少而导致测试覆盖率较低。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中依赖测试人员根据经验或测试需求对接口参数进行配置,可能会因接口参数的配置种类较少而导致测试覆盖率较低的技术缺陷。
本申请提供了一种基于流量数据的接口参数推荐方法,所述方法包括:
获取指定接口在生产环境中进行使用时产生的若干流量数据;
对若干流量数据分别进行扁平化处理后得到每一流量数据的多个字段及每一字段的特征值;
根据每一流量数据的多个字段及每一字段的特征值,确定所述指定接口的接口参数对应的特征值属性及规则,以在后续配置接口测试的测试用例时进行推荐。
可选地,所述对若干流量数据分别进行扁平化处理后得到每一流量数据的多个字段及每一字段的特征值,包括:
针对每一流量数据:
按照预设的拆分规则将该流量数据拆分为多个字段,并确定该流量数据中每一字段的特征值。
可选地,所述根据每一流量数据的多个字段及每一字段的特征值,确定所述指定接口的接口参数对应的特征值属性及规则,包括:
根据每一流量数据的每一字段在所有流量数据中出现的次数以及每一字段的特征值在所有流量数据中出现的形式,确定所述指定接口的接口参数对应的特征值属性及规则。
可选地,所述根据每一流量数据的每一字段在所有流量数据中出现的次数以及每一字段的特征值在所有流量数据中出现的形式,确定所述指定接口的接口参数对应的特征值属性及规则,包括:
针对每一流量数据的每一字段:将该字段在所有流量数据中出现的次数与预设次数阈值进行比对,得到比对结果;
以及,按照预设的判断规则判断该字段的特征值在所有流量数据中出现的形式,得到判断结果;
根据每一流量数据的每一字段的比对结果和判断结果生成所述指定接口的接口参数对应的特征值属性及规则。
可选地,所述按照预设的判断规则判断该字段的特征值在所有流量数据中出现的形式,得到判断结果,包括:
确定该字段在所有流量数据中对应的不同特征值的个数是否超过预设个数阈值;
若不超过,则根据该字段在所有流量数据中对应的不同特征值确定该字段的特征值对应的枚举值;
若超过,则确定该字段在所有流量数据中对应的特征值的类型是否为数组类型;
若是,则将该字段的特征值的类型标记为数组类型;
若否,则确定该字段在所有流量数据中对应的特征值的类型是否为数字类型;
若是,则确定该字段在所有流量数据中对应的特征值在所述数字类型下的第一属性特征;
否则,确定该字段在所有流量数据中对应的特征值的类型为文本类型,并确定该字段在所有流量数据中对应的特征值在所述文本类型下的第二属性特征。
本申请还提供了一种基于流量数据的接口参数推荐装置,包括:
数据获取模块,用于获取指定接口在生产环境中进行使用时产生的若干流量数据;
特征值提取模块,用于对若干流量数据分别进行扁平化处理后得到每一流量数据的多个字段及每一字段的特征值;
接口参数推荐模块,用于根据每一流量数据的多个字段及每一字段的特征值,确定所述指定接口的接口参数对应的特征值属性及规则,以在后续配置接口测试的测试用例时进行推荐。
可选地,所述特征值提取模块,包括:
数据拆分模块,用于针对每一流量数据:按照预设的拆分规则将该流量数据拆分为多个字段,并确定该流量数据中每一字段的特征值。
可选地,所述接口参数推荐模块,包括:
特征值属性及规则确定模块,用于根据每一流量数据的每一字段在所有流量数据中出现的次数以及每一字段的特征值在所有流量数据中出现的形式,确定所述指定接口的接口参数对应的特征值属性及规则。
可选地,所述特征值属性及规则确定模块,包括:
次数比对模块,用于针对每一流量数据的每一字段:将该字段在所有流量数据中出现的次数与预设次数阈值进行比对,得到比对结果;
形式判断模块,用于按照预设的判断规则判断该字段的特征值在所有流量数据中出现的形式,得到判断结果;
结果生成模块,用于根据每一流量数据的每一字段的比对结果和判断结果生成所述指定接口的接口参数对应的特征值属性及规则。
可选地,所述形式判断模块,包括:
第一判断模块,用于确定该字段在所有流量数据中对应的不同特征值的个数是否超过预设个数阈值;
第一确定模块,用于若不超过,则根据该字段在所有流量数据中对应的不同特征值确定该字段的特征值对应的枚举值;
第二判断模块,用于若超过,则确定该字段在所有流量数据中对应的特征值的类型是否为数组类型;
类型标记模块,用于若是,则将该字段的特征值的类型标记为数组类型;
第三判断模块,用于若否,则确定该字段在所有流量数据中对应的特征值的类型是否为数字类型;
第二确定模块,用于若是,则确定该字段在所有流量数据中对应的特征值在所述数字类型下的第一属性特征;
第三确定模块,用于否则,确定该字段在所有流量数据中对应的特征值的类型为文本类型,并确定该字段在所有流量数据中对应的特征值在所述文本类型下的第二属性特征。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请提供的基于流量数据的接口参数推荐方法及装置,为扩大分析样本,以及为后续更智能的精准分析提供有意义的数据,可以获取指定接口在生产环境中进行使用时生产的若干流量数据,然后对若干流量数据分别进行扁平化处理,这样不仅可以快速去除流量数据中的冗余数据,还可以得到每一流量数据的多个字段及每一字段的特征值;接着,本申请可以根据每一流量数据的多个字段及每一字段的特征值来确定指定接口的接口参数对应的特征值属性及规则,以便在后续配置接口测试的测试用例时,提供精细度更高的字段推荐,方便接口测试的参数输入,提高测试覆盖率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种基于流量数据的接口参数推荐方法的流程示意图;
图2为本申请实施例提供的字段特征值属性的判断规则流程图;
图3为本申请实施例提供的一种基于流量数据的接口参数推荐装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,常规的接口测试流程主要是根据实际的业务场景特性配置具体的接口参数,构建具体的接口测试用例,接着触发执行对应的接口测试用例,随后通过断言等形式来自动化分析判断测试结果。
上述接口测试流程中,在为待测接口配置具体的接口参数时,主要是依赖测试人员根据经验或测试需求进行配置,若测试人员经验较少,或测试需求所提及的内容较少时,可能会因接口参数的配置种类较少而导致测试覆盖率较低。基于此,本申请提出了如下技术方案,具体参见下文:
在一个实施例中,如图1所示,图1为本申请实施例提供的一种基于流量数据的接口参数推荐方法的流程示意图;本申请提供了一种基于流量数据的接口参数推荐方法,所述方法可以包括:
S110:获取指定接口在生产环境中进行使用时产生的若干流量数据。
本步骤中,为了提供更为精细的字段推荐,以便提高测试覆盖率,本申请可以获取测试时产生的流量数据,并对流量数据中的测试参数对应的特征值进行提取和计算,从而实现流量字段的属性推荐。
具体地,在获取测试时产生的流量数据之前,可以先确定指定接口,该指定接口指的是关注特征值属性的接口,本申请中的指定接口可以通过手动设置的方式进行确定,也可以使用自动匹配规则进行确定,在此不做限制。当确定指定接口后,本申请可以监听该指定接口在测试环境中进行测试时产生的流量数据,进一步地,为了扩大分析样本,以及为后续更智能的精准分析提供有意义的数据,本申请可以获取指定接口在生产环境中进行使用时产生的若干流量数据,并利用该若干流量数据提取测试参数对应的特征值。
可以理解的是,由于软件开发环境分为测试环境、生产环境和开发环境。其中,开发环境是由程序员专门开发的服务器,配置比较随意,并且为了开发调试方便,一般会打开全部错误报告和测试工具,是最基础的环境;测试环境一般是克隆一份生产环境的配置,是开发环境到生产环境的过渡环境;而生产环境是指正式提供对外服务的,一般会关掉错误报告,打开错误日志,是最重要的环境。本申请拉取指定接口在生产环境中使用时产生的流量数据,该流量数据为用户与线上服务进行交互时产生的传输数据,如用户向线上服务发送请求时的入参、token,以及线上服务响应用户请求所返回的出参、返回值等。
S120:对若干流量数据分别进行扁平化处理后得到每一流量数据的多个字段及每一字段的特征值。
本步骤中,通过S110获取指定接口在生产环境中进行使用时产生的若干流量数据后,本申请可以对若干流量数据分别进行扁平化处理后得到每一流量数据的多个字段及每一字段的特征值。
可以理解的是,本申请中拉取的流量数据中可能包含一些非必要或重复的信息,为了对该类非必要或重复的信息进行去除,以简化流量数据,本申请可以对每一流量数据进行扁平化处理,进而得到每一流量数据的多个字段及每一字段的特征值。
进一步地,本申请拉取的指定接口的流量数据指的是包含多个字段的json字符串,json格式的对象是一个无序的“‘名称/值’对”集合。一个对象以“{”开始,“}”结束,每个“名称”后跟一个“:”;“‘名称/值’对”之间使用“,”分隔。例如,json字符串里面可以是一个对象,也可以是多个对象,如果是多个对象,则用逗号间隔,即{},{},这样就组成了一个对象序列,为了辨别开始和结束,需要加上[]才能进行传递,这样传递的形式则为[{},{}]。接下来就是对象属性的表现方式了,属性必须在“”里面,属性与值之间用:隔开,属性之间用,来分隔,如果属性的值为数组,则用[]包括起来,这样实际传递的数据格式可能有:(1){“属性1”:值1,,“属性2”:值2},如果值为字符串,则也需要用“”括起来;(2){“属性1”:值1,“属性2”:[值1,值2]},其中属性2是一个数组,包含了值1和值2;(3){“属性1”:值1,“属性2”:{“属性a”:值a,“属性b”:[值b,值c]}},这里的属性2是个对象,这个对象又包含属性a和属性b,属性b又是一个数组,包含值b和值c。
由上述内容可见,本申请直接拉取到的流量数据中存在很多不必要的冗余,如多余的定义、重复的字段等,为了去除这些冗余,本申请可以对json字符串进行扁平化处理,这样便可以得到每一流量数据的多个字段及每一字段的特征值。扁平化处理时,可以选用现有的扁平化处理工具,也可以使用自定义的扁平化处理工具,在此不做限制。
S130:根据每一流量数据的多个字段及每一字段的特征值,确定指定接口的接口参数对应的特征值属性及规则,以在后续配置接口测试的测试用例时进行推荐。
本步骤中,通过S120对若干流量数据分别进行扁平化处理后得到每一流量数据的多个字段及每一字段的特征值后,本申请可以根据每一流量数据的多个字段及每一字段的特征值,来确定指定接口的接口参数对应的特征值属性及规则,以在后续配置接口测试的测试用例时进行推荐。
举例来说,一般在配置接口测试的测试用例时会从功能、逻辑业务、异常测试、安全等方面考虑如何设计测试用例。例如,功能是否正常、功能是否按照接口文档实现、正常场景、异常场景、是否依赖业务,比如是否登录成功、关键字参数、参数为空、多、少参数、错误参数、覆盖所有的必选参数,组合可选参数,参数有、无或为null,参数的顺序、个数、类型,参数类型数值大小、输入的数值的范围,参数字串长短,参数包含特殊字符,关键字数据、数据为空、长度不一致、错误数据、Cookie、header、唯一识别码等。
当本申请获取到生产环境中的流量数据,并得到每一流量数据的多个字段及每一字段的特征值后,便可以通过各个流量数据的字段及字段的特征值之间的共性和区别,来确定每一字段的属性特征以及特征值规则,进而得到指定接口的接口参数对应的特征值属性及规则,在后续配置接口测试的测试用例时,可以根据测试用例的设计要点来推荐这些特征值属性及规则,从而方便接口测试的参数多样化输入,提高测试覆盖率。
例如,在设计接口测试用例时,需要考虑有些接口需要满足前置条件,才可成功获取数据,例如,需要登陆Token才可以成功获取数据,此时,可以通过本申请得到的特征值属性及规则来确定该接口是否需要满足前置条件;而在确定某些接口是否需要携带默认值参数时,也可以通过本申请得到的特征值属性及规则来确定该接口是否需要携带默认值参数,以及携带的默认值参数的具体数值;另外在确定某些接口参数是否为必填参数时,也可以根据本申请得到的特征值属性及规则来确定该接口参数是否为必填参数。这样既可以减少接口测试用例的设计时间,又可以提高接口测试用例的参数多样化,从而有效提升测试覆盖率。
上述实施例中,为扩大分析样本,以及为后续更智能的精准分析提供有意义的数据,可以获取指定接口在生产环境中进行使用时生产的若干流量数据,然后对若干流量数据分别进行扁平化处理,这样不仅可以快速去除流量数据中的冗余数据,还可以得到每一流量数据的多个字段及每一字段的特征值;接着,本申请可以根据每一流量数据的多个字段及每一字段的特征值来确定指定接口的接口参数对应的特征值属性及规则,以便在后续配置接口测试的测试用例时,提供精细度更高的字段推荐,方便接口测试的参数输入,提高测试覆盖率。
在一个实施例中,S120中对若干流量数据分别进行扁平化处理后得到每一流量数据的多个字段及每一字段的特征值,可以包括:
针对每一流量数据:按照预设的拆分规则将该流量数据拆分为多个字段,并确定该流量数据中每一字段的特征值。
本实施例中,在对每一流量数据进行扁平化处理时,可以按照预设的拆分规则来将该流量数据拆分为多个字段,并确定该流量数据中与每一字段对应的特征值,这样便可以得到每一流量数据对应的多个字段以及每一字段的特征值。
其中,本申请的拆分规则可以是自定义的拆分规则,如指定任意符号作为分割点,以对流量数据进行拆分。作为一种具体的示例,本申请的流量数据可以是json字符串,json字符串中一个对象是以“{”开始,“}”结束,每个“名称”后跟一个“:”,“‘名称/值’对”之间使用“,”分隔。因此,本申请可以选择相应的符号作为分割点,进而将json字符串拆分为多个字段及每一字段对应的特征值。
在一个实施例中,S130中根据每一流量数据的多个字段及每一字段的特征值,确定所述指定接口的接口参数对应的特征值属性及规则,可以包括:
S131:根据每一流量数据的每一字段在所有流量数据中出现的次数以及每一字段的特征值在所有流量数据中出现的形式,确定所述指定接口的接口参数对应的特征值属性及规则。
本实施例中,在确定指定接口的接口参数对应的特征值属性及规则时,可以根据每一流量数据的每一字段在所有流量数据中出现的次数以及每一字段的特征值在所有流量数据中出现的形式,来统计各个流量数据的字段及字段的特征值之间的共性和区别,以此来确定所述指定接口的接口参数对应的特征值属性及规则。
其中,本申请中每一字段的特征值在所有流量数据中出现的形式包括但不限于数字、文本、数组、枚举值等,在此不做限制。
在一个实施例中,S131中根据每一流量数据的每一字段在所有流量数据中出现的次数以及每一字段的特征值在所有流量数据中出现的形式,确定所述指定接口的接口参数对应的特征值属性及规则,可以包括:
S1310:针对每一流量数据的每一字段:将该字段在所有流量数据中出现的次数与预设次数阈值进行比对,得到比对结果。
S1311:以及,按照预设的判断规则判断该字段的特征值在所有流量数据中出现的形式,得到判断结果。
S1312:根据每一流量数据的每一字段的比对结果和判断结果生成所述指定接口的接口参数对应的特征值属性及规则。
本实施例中,在根据每一流量数据的每一字段在所有流量数据中出现的次数以及每一字段的特征值在所有流量数据中出现的形式,确定指定接口的接口参数对应的特征值属性及规则时,可以针对每一流量数据的每一字段,将该字段在所有流量数据中出现的次数与预设次数阈值进行比对,得到比对结果,并按照预设的判断规则判断该字段的特征值在所有流量数据中出现的形式,得到判断结果,接着根据每一流量数据的每一字段的比对结果和判断结果来生成指定接口的接口参数对应的特征值属性及规则。
例如,当本申请获取到每一流量数据中的每一字段在所有流量数据中出现的次数时,可以将每一字段出现的次数与预设次数阈值进行比对,以确定该字段出现的次数是否高于预设次数阈值,若高于预设次数阈值,则表明该字段对应的特征值为必填项,若低于预设次数阈值,则表明该字段对应的特征值为非必填项;当得到每一流量数据中的每一字段的特征值在所有流量数据中出现的形式时,可以根据预设的判断规则来确定该字段的特征值的具体出现形式,以此来进一步确定该特征数的属性及规则。
在一个实施例中,如图2所示,图2为本申请实施例提供的字段特征值属性的判断规则流程图;S1311中按照预设的判断规则判断该字段的特征值在所有流量数据中出现的形式,得到判断结果,可以包括:
S311:确定该字段在所有流量数据中对应的不同特征值的个数是否超过预设个数阈值。
S312:若不超过,则根据该字段在所有流量数据中对应的不同特征值确定该字段的特征值对应的枚举值。
S313:若超过,则确定该字段在所有流量数据中对应的特征值的类型是否为数组类型。
S314:若是,则将该字段的特征值的类型标记为数组类型。
S315:若否,则确定该字段在所有流量数据中对应的特征值的类型是否为数字类型。
S316:若是,则确定该字段在所有流量数据中对应的特征值在所述数字类型下的第一属性特征。
S317:否则,确定该字段在所有流量数据中对应的特征值的类型为文本类型,并确定该字段在所有流量数据中对应的特征值在所述文本类型下的第二属性特征。
本实施例中,如图2所示,在判断每一字段的特征值在所有流量数据中出现的形式时,可以先判断该字段的特征值是否为枚举值,若是枚举值,则可以检查缺少的枚举值,当不是枚举值时,可以判断该特征值的类型是否为数组类型,若为数组类型,则可以自动膨胀,若不是数组类型,还可以进一步判断该特征值的类型为数字类型还是文本类型,其中,数字类型的特征值可以查看其最大值、最小值、正数、负数、整数、是否为空格等特征,文本类型的特征值可以查看其最大长度、是否存在大小写混合、是否包含特殊字符等,以此来得到每一字段的特征值的属性及规则,并根据每一字段的特征值的属性及规则来确定相应的推荐方式。
在一种具体的实现方式中,针对每一流量数据中的每一字段,本申请可以先确定该字段在所有流量数据中对应的不同特征值的个数是否超过预设个数阈值,若不超过,则表示该字段的特征值为枚举值,此时可以根据该字段在所有流量数据中对应的不同特征值确定该字段的特征值对应的枚举值,例如仓库字段,如果接口只用于特定的几个仓库,则对该字段的特征值进行识别后,可以得到相应的仓库的枚举值;若超过,则接着判断该字段的特征值在所有流量数据中对应的特征值的类型是否为数组类型,若为数组类型,由于数字类型的参数可以自动膨胀,因此不需要推荐用例;若不是数组类型,则可以接着判断该字段在所有流量数据中对应的特征值的类型是否为数字类型,例如,特征值中是否只包含数字或小数点或空格,若是,则表示该特征值的类型为数字类型,对于数字类型的特征值,可以判断key是否包含id/ip等字符,若包含,则表示该特征值为订单、时间戳等纯数字,且不需要关注值大小,对于该类特征值也无需进行推荐,而若不包含id/ip等字符,则进一步判断该特征值是否为空或最小值大于0且最大值位数大于10,若是,则也不推荐该类特征值,若不是,则推荐所有不匹配的属性;更进一步地,若特征值的类型不是数字类型,则该特征值的类型为文本类型,对于文本类型的特征值,可以先判断特征值中是否包含url,若包含,则只记录最大长度、为空、为null、url属性,不记录其他属性,若不包含,则进一步判断是否包含分隔符,若包含,则将分隔符号转换为枚举值,若不包含,则判断是否包含特殊字符,若是,则推荐特殊字符属性,若不是,则判断是否包含大小写混合,若是,则推荐大小写混合属性,若不是,则推荐最大长度、为空、为null属性,对于特殊字符属性,也可以推荐最大长度、为空、为null属性。
下面对本申请实施例提供的基于流量数据的接口参数推荐装置进行描述,下文描述的基于流量数据的接口参数推荐装置与上文描述的基于流量数据的接口参数推荐方法可相互对应参照。
在一个实施例中,如图3所示,图3为本申请实施例提供的一种基于流量数据的接口参数推荐装置的结构示意图;本申请还提供了一种基于流量数据的接口参数推荐装置,可以包括数据获取模块210、特征值提取模块220、接口参数推荐模块230,具体包括如下:
数据获取模块210,用于获取指定接口在生产环境中进行使用时产生的若干流量数据。
特征值提取模块220,用于对若干流量数据分别进行扁平化处理后得到每一流量数据的多个字段及每一字段的特征值。
接口参数推荐模块230,用于根据每一流量数据的多个字段及每一字段的特征值,确定所述指定接口的接口参数对应的特征值属性及规则,以在后续配置接口测试的测试用例时进行推荐。
上述实施例中,为扩大分析样本,以及为后续更智能的精准分析提供有意义的数据,可以获取指定接口在生产环境中进行使用时生产的若干流量数据,然后对若干流量数据分别进行扁平化处理,这样不仅可以快速去除流量数据中的冗余数据,还可以得到每一流量数据的多个字段及每一字段的特征值;接着,本申请可以根据每一流量数据的多个字段及每一字段的特征值来确定指定接口的接口参数对应的特征值属性及规则,以便在后续配置接口测试的测试用例时,提供精细度更高的字段推荐,方便接口测试的参数输入,提高测试覆盖率。
在一个实施例中,所述特征值提取模块,包括:
数据拆分模块,用于针对每一流量数据:按照预设的拆分规则将该流量数据拆分为多个字段,并确定该流量数据中每一字段的特征值。
在一个实施例中,所述接口参数推荐模块,包括:
特征值属性及规则确定模块,用于根据每一流量数据的每一字段在所有流量数据中出现的次数以及每一字段的特征值在所有流量数据中出现的形式,确定所述指定接口的接口参数对应的特征值属性及规则。
在一个实施例中,所述特征值属性及规则确定模块,包括:
次数比对模块,用于针对每一流量数据的每一字段:将该字段在所有流量数据中出现的次数与预设次数阈值进行比对,得到比对结果。
形式判断模块,用于按照预设的判断规则判断该字段的特征值在所有流量数据中出现的形式,得到判断结果。
结果生成模块,用于根据每一流量数据的每一字段的比对结果和判断结果生成所述指定接口的接口参数对应的特征值属性及规则。
在一个实施例中,所述形式判断模块,包括:
第一判断模块,用于确定该字段在所有流量数据中对应的不同特征值的个数是否超过预设个数阈值。
第一确定模块,用于若不超过,则根据该字段在所有流量数据中对应的不同特征值确定该字段的特征值对应的枚举值。
第二判断模块,用于若超过,则确定该字段在所有流量数据中对应的特征值的类型是否为数组类型。
类型标记模块,用于若是,则将该字段的特征值的类型标记为数组类型。
第三判断模块,用于若否,则确定该字段在所有流量数据中对应的特征值的类型是否为数字类型。
第二确定模块,用于若是,则确定该字段在所有流量数据中对应的特征值在所述数字类型下的第一属性特征。
第三确定模块,用于否则,确定该字段在所有流量数据中对应的特征值的类型为文本类型,并确定该字段在所有流量数据中对应的特征值在所述文本类型下的第二属性特征。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间可以根据需要进行组合,且相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于流量数据的接口参数推荐方法,其特征在于,所述方法包括:
获取指定接口在生产环境中进行使用时产生的若干流量数据;
对若干流量数据分别进行扁平化处理后得到每一流量数据的多个字段及每一字段的特征值;
根据每一流量数据的多个字段及每一字段的特征值,确定所述指定接口的接口参数对应的特征值属性及规则,以在后续配置接口测试的测试用例时进行推荐。
2.根据权利要求1所述的基于流量数据的接口参数推荐方法,其特征在于,所述对若干流量数据分别进行扁平化处理后得到每一流量数据的多个字段及每一字段的特征值,包括:
针对每一流量数据:
按照预设的拆分规则将该流量数据拆分为多个字段,并确定该流量数据中每一字段的特征值。
3.根据权利要求1所述的基于流量数据的接口参数推荐方法,其特征在于,所述根据每一流量数据的多个字段及每一字段的特征值,确定所述指定接口的接口参数对应的特征值属性及规则,包括:
根据每一流量数据的每一字段在所有流量数据中出现的次数以及每一字段的特征值在所有流量数据中出现的形式,确定所述指定接口的接口参数对应的特征值属性及规则。
4.根据权利要求3所述的基于流量数据的接口参数推荐方法,其特征在于,所述根据每一流量数据的每一字段在所有流量数据中出现的次数以及每一字段的特征值在所有流量数据中出现的形式,确定所述指定接口的接口参数对应的特征值属性及规则,包括:
针对每一流量数据的每一字段:将该字段在所有流量数据中出现的次数与预设次数阈值进行比对,得到比对结果;
以及,按照预设的判断规则判断该字段的特征值在所有流量数据中出现的形式,得到判断结果;
根据每一流量数据的每一字段的比对结果和判断结果生成所述指定接口的接口参数对应的特征值属性及规则。
5.根据权利要求4所述的基于流量数据的接口参数推荐方法,其特征在于,所述按照预设的判断规则判断该字段的特征值在所有流量数据中出现的形式,得到判断结果,包括:
确定该字段在所有流量数据中对应的不同特征值的个数是否超过预设个数阈值;
若不超过,则根据该字段在所有流量数据中对应的不同特征值确定该字段的特征值对应的枚举值;
若超过,则确定该字段在所有流量数据中对应的特征值的类型是否为数组类型;
若是,则将该字段的特征值的类型标记为数组类型;
若否,则确定该字段在所有流量数据中对应的特征值的类型是否为数字类型;
若是,则确定该字段在所有流量数据中对应的特征值在所述数字类型下的第一属性特征;
否则,确定该字段在所有流量数据中对应的特征值的类型为文本类型,并确定该字段在所有流量数据中对应的特征值在所述文本类型下的第二属性特征。
6.一种基于流量数据的接口参数推荐装置,其特征在于,包括:
数据获取模块,用于获取指定接口在生产环境中进行使用时产生的若干流量数据;
特征值提取模块,用于对若干流量数据分别进行扁平化处理后得到每一流量数据的多个字段及每一字段的特征值;
接口参数推荐模块,用于根据每一流量数据的多个字段及每一字段的特征值,确定所述指定接口的接口参数对应的特征值属性及规则,以在后续配置接口测试的测试用例时进行推荐。
7.根据权利要求6所述的基于流量数据的接口参数推荐装置,其特征在于,所述特征值提取模块,包括:
数据拆分模块,用于针对每一流量数据:按照预设的拆分规则将该流量数据拆分为多个字段,并确定该流量数据中每一字段的特征值。
8.根据权利要求6所述的基于流量数据的接口参数推荐装置,其特征在于,所述接口参数推荐模块,包括:
特征值属性及规则确定模块,用于根据每一流量数据的每一字段在所有流量数据中出现的次数以及每一字段的特征值在所有流量数据中出现的形式,确定所述指定接口的接口参数对应的特征值属性及规则。
9.根据权利要求8所述的基于流量数据的接口参数推荐装置,其特征在于,所述特征值属性及规则确定模块,包括:
次数比对模块,用于针对每一流量数据的每一字段:将该字段在所有流量数据中出现的次数与预设次数阈值进行比对,得到比对结果;
形式判断模块,用于按照预设的判断规则判断该字段的特征值在所有流量数据中出现的形式,得到判断结果;
结果生成模块,用于根据每一流量数据的每一字段的比对结果和判断结果生成所述指定接口的接口参数对应的特征值属性及规则。
10.根据权利要求9所述的基于流量数据的接口参数推荐装置,其特征在于,所述形式判断模块,包括:
第一判断模块,用于确定该字段在所有流量数据中对应的不同特征值的个数是否超过预设个数阈值;
第一确定模块,用于若不超过,则根据该字段在所有流量数据中对应的不同特征值确定该字段的特征值对应的枚举值;
第二判断模块,用于若超过,则确定该字段在所有流量数据中对应的特征值的类型是否为数组类型;
类型标记模块,用于若是,则将该字段的特征值的类型标记为数组类型;
第三判断模块,用于若否,则确定该字段在所有流量数据中对应的特征值的类型是否为数字类型;
第二确定模块,用于若是,则确定该字段在所有流量数据中对应的特征值在所述数字类型下的第一属性特征;
第三确定模块,用于否则,确定该字段在所有流量数据中对应的特征值的类型为文本类型,并确定该字段在所有流量数据中对应的特征值在所述文本类型下的第二属性特征。
CN202211356188.4A 2022-11-01 2022-11-01 基于流量数据的接口参数推荐方法及装置 Pending CN116048888A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211356188.4A CN116048888A (zh) 2022-11-01 2022-11-01 基于流量数据的接口参数推荐方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211356188.4A CN116048888A (zh) 2022-11-01 2022-11-01 基于流量数据的接口参数推荐方法及装置

Publications (1)

Publication Number Publication Date
CN116048888A true CN116048888A (zh) 2023-05-02

Family

ID=86122464

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211356188.4A Pending CN116048888A (zh) 2022-11-01 2022-11-01 基于流量数据的接口参数推荐方法及装置

Country Status (1)

Country Link
CN (1) CN116048888A (zh)

Similar Documents

Publication Publication Date Title
JP2005092271A (ja) 質問応答方法及び質問応答装置
CN110309073B (zh) 移动应用程序用户界面错误自动化检测方法、系统及终端
CN107122342B (zh) 文本编码识别方法和装置
KR100491250B1 (ko) 상품 정보 등록 방법 및 시스템
CN105096023A (zh) 工作标准相关数据的推送系统和方法
CN112069069A (zh) 缺陷自动定位分析方法、设备及可读存储介质
CN109558531A (zh) 新闻信息推送方法、装置以及计算机设备
CN112069315A (zh) 提取文本多维度信息方法、装置、服务器及存储介质
CN115758183A (zh) 日志异常检测模型的训练方法及装置
CN111598535A (zh) 一种基础物料的导入方法、系统、计算机设备
CN116048888A (zh) 基于流量数据的接口参数推荐方法及装置
CN106790130B (zh) 一种报文匹配方法及装置
CN112579465A (zh) 一种测试案例执行方法、装置、存储介质和设备
CN109614382B (zh) 一种应用的日志分割方法及装置
CN112070552A (zh) 一种基于大数据的电子商务平台
CN111325562A (zh) 粮食安全追溯系统及方法
CN109376138B (zh) 一种多维数据的异常组合检测方法及装置
CN109815413A (zh) 一种智能推荐系统及其智能推荐方法
CN105677827B (zh) 一种表单的获取方法及装置
CN114579809A (zh) 事件分析方法、装置、电子设备及存储介质
CN111629221A (zh) 一种基于互联网的流量主播推荐系统
JP2005173671A (ja) リンク診断装置、リンク診断方法およびリンク診断プログラム。
CN112015645A (zh) web系统的功能测试方法、装置和电子设备
KR100938983B1 (ko) 상품별 평가항목 추출시스템 및 추출방법
CN113099057A (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