CN115017027A - 接口自动化持续集成测试方法、装置、设备及存储介质 - Google Patents

接口自动化持续集成测试方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN115017027A
CN115017027A CN202110240392.9A CN202110240392A CN115017027A CN 115017027 A CN115017027 A CN 115017027A CN 202110240392 A CN202110240392 A CN 202110240392A CN 115017027 A CN115017027 A CN 115017027A
Authority
CN
China
Prior art keywords
target
test
cases
flow data
test case
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
CN202110240392.9A
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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202110240392.9A priority Critical patent/CN115017027A/zh
Publication of CN115017027A publication Critical patent/CN115017027A/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/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/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供了一种接口自动化持续集成测试方法、装置、计算机设备及存储介质,涉及测试技术领域,用于实现自动化接口测试。其方法主要包括:采集线上的流量数据,并对采集的流量数据进行数据清洗得到清洗后的目标流量数据;调用组合生成工具基于所述目标流量数据生成目标测试用例集;所述目标测试用例集用于针对目标接口或目标服务进行测试的用例;基于测试机器信息对所述目标测试用例集调度分发执行,并获取对应的执行结果;根据所述目标测试用例集对应的预期结果对所述执行结果进行断言得到断言结果。

Description

接口自动化持续集成测试方法、装置、设备及存储介质
技术领域
本申请涉及测试技术领域,尤其涉及一种接口自动化持续集成测试方法、装置、计算机设备及存储介质。
背景技术
接口测试(Application Programming Interface Testing)是软件测试方法中的一种,指在集成测试过程中通过调用API(Application Programming Interface,应用程序编程接口)对服务的功能完整度、可靠性、安全性等性能指标进行验证。
传统接口测试数据需要用户手动抓包后人工进行测试用例的编写,接口测试所投入的人力成本非常大。
发明内容
本申请实施例提供一种接口自动化持续集成测试方法、装置、计算机设备及存储介质,用于实现自动化接口测试。
本发明实施例提供一种接口自动化持续集成测试方法,所述方法包括:
采集线上的流量数据,并对采集的流量数据进行数据清洗得到清洗后的目标流量数据;
调用组合生成工具基于所述目标流量数据生成目标测试用例集;所述目标测试用例集用于针对目标接口或目标服务进行测试的用例;
基于测试机器信息对所述目标测试用例集调度分发执行,并获取对应的执行结果;
根据所述目标测试用例集对应的预期结果对所述执行结果进行断言得到断言结果。
本发明实施例提供一种接口自动化持续集成测试装置,所述方法包括:
获取模块,采集线上的流量数据,并对采集的流量数据进行数据清洗得到清洗后的目标流量数据;
生成模块,用于调用组合生成工具基于所述目标流量数据生成目标测试用例集;所述目标测试用例集用于针对目标接口或目标服务进行测试的用例;
执行模块,用于基于测试机器信息对所述目标测试用例集调度分发执行,并获取对应的执行结果;
确定模块,用于根据所述目标测试用例集对应的预期结果对所述执行结果进行断言得到断言结果。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述接口自动化持续集成测试方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述接口自动化持续集成测试方法。
本发明提供一种接口自动化持续集成测试方法、装置、计算机设备及存储介质,采集线上的流量数据,并对采集的流量数据进行数据清洗得到清洗后的目标流量数据;调用组合生成工具基于所述目标流量数据生成目标测试用例集;所述目标测试用例集用于针对目标接口或目标服务进行测试的用例;基于测试机器信息对所述目标测试用例集调度分发执行,并获取对应的执行结果;根据所述目标测试用例集对应的预期结果对所述执行结果进行断言得到断言结果。从而通过本发明实现了自动化接口测试。
附图说明
图1为本申请一个实施例提供的接口自动化持续集成测试方法流程图;
图2为本申请一个实施例提供的生成目标测试用例集的流程图;
图3为本申请一个实施例提供的生成目标测试用例集的流程图;
图4为本申请一个实施例提供的筛选符合条件用例作为测试用例流程图;
图5为本申请一个实施例提供的筛选符合条件用例作为测试用例流程图;
图6为本申请一个实施例提供的接口自动化持续集成测试装置的结构框图;
图7为本申请一个实施例提供的计算机设备的一示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本申请实施例的技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请实施例技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
请参阅图1,所示为本发明实施例当中的接口自动化持续集成测试方法,所述方法具体包括步骤S101-步骤S104。
S101,采集线上的流量数据,并对采集的流量数据进行数据清洗得到清洗后的目标流量数据。
在本实施例中,可定时对流量数据进行采集,也可实时对流量数据进行采集,以保证对于新接入增量的感知及录制。
为了保证流量数据中数据的安全性,需要对获取的流量数据中的敏感信息进行相应的遮盖替换及脱敏处理。具体的,对采集的流量数据进行数据清洗得到清洗后的目标流量数据,包括:当采集到的流量数据中包含属于指定业务的第一类流量数据时,对所述第一类流量数据中包含的网址参数替换成预设的脱敏网址参数得到清洗后的目标流量数据;当采集到的流量数据中包含指定类型信息的第二类流量数据时,对所述第二类流量数据中包含的指定类型信息进行脱敏处理得到清洗后的目标流量数据。
具体的,根据预置规则库对采集的流量数据进行数据清洗得到清洗后的目标流量数据。根据不同的业务需要,通过自行设定规则对获取到目标流量数据中所涉及到的请求数据进行替换及后续干预处理。其中,包括http请求中get方法的url参数,及post请求中的url参数和body参数中不同字段的自定义替换。替换的目的是可以由不同业务方确定目标流量数据可能涉及到的敏感信息。
在发明提供的一个实施例中,删除所述目标流量数据中对覆盖率无影响且所述可选值数量大于的预置可选值数量的参数。例如,业务中存在大量公共参数如user_id、device_id等,它们可选值数量多但是对代码覆盖率基本没有影响,则需要删除这些公共参数。
S102,调用组合生成工具基于所述目标流量数据生成目标测试用例集;所述目标测试用例集用于针对目标接口或目标服务进行测试的用例。
目标测试用例集的生成通过对每个接口录制到的目标流量数据,提取出一批公共参数(这批参数可能属于不同次请求);通过预置的组合算法,将参数之间两两组合,增加扩充测试用例数量,最后生成目标测试用例集。
S103,基于测试机器信息对所述目标测试用例集调度分发执行,并获取对应的执行结果。
在本发明实施例中,调度分发执行可以对当前测试用例的状态进行轮询,将请求进行分散调度,对目标测试用例集进行调度分发执行,并获取相对应的执行结果。调度分发执行提高了大量测试用例进行实际请求调用的效率,同时避免了大量请求同时执行对线上服务造成的影响。
S104,根据所述目标测试用例集对应的预期结果对所述执行结果进行断言得到断言结果。
对于目标测试用例集中符合预期的用例,通过相应算法增量计算结合公共参数提取计算获取用例的公共部分组合生成的参数公共部分。参数公共部分为每次请求的请求头/请求参数/请求体中均会携带的部分;断言的公共部分为每次请求拿到的响应中均会包含的字段,作为预期断言结果存入离线。
若出现接口信息变动(通过对请求之后拿到的响应进行参数提取,当出现参数数量/参数类型与原有断言不匹配时,即有可能接口信息发生了变动。)时,则会自动对之前生成的预期断言结果进行动态计算并更新调整。
在本发明实施例中,对调度执行获得的结果进行断言,从离线服务中拉取预期结果与实际结果进行数据类型比较判断是否相符,相符则判定为用例执行成功,不相符则判定为用例执行失败。然后,根据各个测试用例的执行结果,针对被测接口和/或被测服务统计接口测试结果和/或服务测试结果;在云端以文件形式保存接口测试结果和/或服务测试结果以及相关的用例执行详细信息,并以通知形式对指定用户通知所保存的文件内容。
本发明提供一种接口自动化持续集成测试方法,采集线上的流量数据,并对采集的流量数据进行数据清洗得到清洗后的目标流量数据;调用组合生成工具基于所述目标流量数据生成目标测试用例集;所述目标测试用例集用于针对目标接口或目标服务进行测试的用例;基于测试机器信息对所述目标测试用例集调度分发执行,并获取对应的执行结果;根据所述目标测试用例集对应的预期结果对所述执行结果进行断言得到断言结果。从而通过本发明实现了自动化接口测试。
如图2和图3所示,在本发明提供的一个实施例中,目标流量数据包括多个参数,以及与所述参数分别对应的可选值及可选值数量,调用组合生成工具基于目标流量数据生成目标测试用例集,包括:
S201,确定所述参数的可选值数量是否大于第一预置数值。
其中,第一预置数值可以根据需要生成测试用例的数量进行设定,也可以根据生成测试用例所需要的时间确定,本发明实施例不做具体限定。可以理解的是,需要生成的测试用例的数量越大,或者生成测试用例所需要的时间越长,第一预置数值可以相应设置的越大。
S202,若所述参数的可选值数量大于第一预置数值,则根据所述目标流量数据生成固定数量的候选用例。
例如,第一预置数值为100,若目标流量数据中可选值数量超过100个的参数超过5个,则根据所述目标流量数据生成固定数量的候选用例,以便于在后续步骤中根据生成的候选用例中筛选出符合条件的测试用例。
具体的,本实施例基于自适应随机测试(Adaptive Random Testing,ART)生成固定数量的候选用例。需要说明的是,由于本实施例中的目标流量数据包含多个参数,因此在对参数的可选值数量的判断过程中,需要判断是否预置参数数量的参数的可选值大于预置数量,其中,预置参数数量具体可以为4、5、6等,本发明实施例不做具体限定。例如,若目标流量数据中可选值数量超过100个的参数超过5个,则通过自适应随机测试将目标流量数据生成固定数量的候选用例。
S203,从所述候选用例中筛选出符合预置条件的用例作为测试用例。
其中,预置条件具体可以为候选用例与已执行测试用例差异最大的用例,以此实现从候选用例中筛选出有更大的概率覆盖到输入域的边界用例作为测试用例。
S204,将所述测试用例作为目标测试用例集中的用例。
在本实施例中,确定所述参数的可选值数量是否大于第一预置数值;若所述参数的可选值数量大于第一预置数值,则根据所述目标流量数据生成固定数量的候选用例;从所述候选用例中筛选出符合预置条件的用例作为测试用例。与目前传统组合测试相比,本发明在确定参数的可选值数量大于第一预置数值情况下,首先生成固定数量的候选用例,然后从候选用例中筛选出预置数量的符合预置条件的用例作为测试用例,从而可以避免生成测试用例所占用的大量时间,减少测试用例的生成数量,进而提高测试效率。
S205,若所述参数的可选值数量小于等于所述第一预置数值且大于第二预置数值,对所述可选值数量超过所述第二预置数值的参数,从对应的可选值中筛选出所述第二预置数值个所述可选值。
其中,所述第一预置数值大于所述第二预置数值。
在本实施例中,若所述参数的可选值数量小于等于所述第一预置数值且大于第二预置数值,则使用传统组合测试(concealed information test,CIT)剔除对覆盖率无影响且可选值数量较多的参数,然后限制参数可选值数量上限为第二预置数值。具体的,可以从可选值超过第二预置数值的参数中随机提取出一定数量的可选值。例如,对于可选值数量超过50个的参数,对于超出的数据,从整个输入范围中均匀选取;如果生成的测试用例依然过多,随机丢弃测试用例,而不是以新的测试用例代替旧的测试用例,以此保证测试用例覆盖输入域范围。
在本发明实施例中,若所述参数的可选值数量小于等于所述第二预置数值,则依据组合测试对所述目标流量数据生成所述测试用例。
S206,根据所述参数及对应筛选的可选值生成所述测试用例,并将生成的测试用例作为目标测试用例集中的用例。
S207,若生成的所述测试用例大于预置用例数量,则随机丢弃所述生成的测试用例。
进一步的,若所述参数的可选值数量小于等于所述第二预置数值,则通过组合测试方式确定目标测试用例集中的用例。
本发明实施例提供的接口自动化持续集成测试方法,根据参数的可选值数量确定相应的接口自动化持续集成测试方式,即在可选值数量有限时,使用CIT生成测试用例,以保证代码覆盖率和错误检出率;在可选值数量较多时,使用优化的CIT生成测试用例,剔除对覆盖率无影响且可选值较多的参数,限制参数可选值数量,对于超出的数据,从整个输入范围中均匀选取;如果生成测试用例依然过多,随机丢弃测试用例而不是以新代旧,保证测试用例覆盖输入域范围;对于可选值数量非常多时,通过ART生成候选用例,然后通过用例差异从候选用例中确定测试用例,以此来保证测试用例的覆盖率。
请参阅图4和图5,所示为本发明实施例当中的接口自动化持续集成测试方法,所述从所述候选用例中筛选出符合预置条件的用例作为测试用例,包括:
S301,计算所述固定数量的候选用例中每个候选用例和已经执行过用例的参数差异。
每次生成新的测试用例前先随机生成一组固定数量的候选用例。通过一种筛选标准来选择一个最好的候选用例作为测试用例。可以选择的筛选标准有maxi-min、maxi-maxi、maxi-sum等。
maxi-min:统计每个候选用例和离他最近的(差异最小的,对于非数字的输入)一个已经执行过的用例的距离(差异),然后选择最近用例中最大的一个候选用例作为被选中的测试用例;
maxi-maxi:统计每个候选用例和离他最远的(差异最大的,对于非数字的输入)一个已经执行过的用例的距离(差异),然后选择最远用例中最大的一个候选用例作为被选中的测试用例;
maxi-sum:统计每个候选用例和每一个已经执行过的用例的距离(差异,对于非数字的输入)的和,然后选择和最大的一个候选用例作为被选中的测试用例。
ART对于上述各种筛选标准的结果总体区别不大。由于输入域的范围且数据并不连续(只有离散的录制到的流量),比较适合通过选举法生成用例。而使用基于maxi-min的ART有更大的概率覆盖到输入域的边界,而边界值往往更容易发生错误。
对于本发明实施例,在根据目标流量数据生成候选用例之后,基于maxi-min标准从候选用例中确定候选用例,由于基于maxi-max的ART有更大的概率覆盖到输入域的边界,而边界值往往更容易发生错误,因此通过该标准从候选用例中筛选出的测试用例更能保证测试用例的覆盖率及错误检出率。
S302,选择与所述已经执行过用例的参数差异最大的候选用例作为所述测试用例。
S303,判断选择的所述测试用例的数量是否达到预置数量。
其中,预置数量为需要生成测试用例的数量。
S304,若未达到所述预置数量,则根据目标流量数据重新随机生成固定数量的候选用例,并从候选用例中筛选出符合预置条件的用例作为测试用例,直至生成的测试用例数量达到预置数量。
本发明实施例提供的接口自动化持续集成测试方法,首先计算固定数量的候选用例中每个候选用例和已经执行过用例的参数差异,选择与已经执行过用例的参数差异最大的候选用例作为测试用例,然后判断选择的测试用例的数量是否达到预置数量,若未达到所述预置数量,则根据目标流量数据重新随机生成固定数量的候选用例,并从候选用例中筛选出符合预置条件的用例作为测试用例,直至生成的测试用例数量达到预置数量。即本实施例通过比对已执行用例的差异来保证测试用例的覆盖率,从而提高测试效果。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种接口自动化持续集成测试装置,该接口自动化持续集成测试装置与上述实施例中接口自动化持续集成测试方法一一对应。如图6所示,该接口自动化持续集成测试装置包括:获取模块10、生成模块20、执行模块30、确定模块40。各功能模块详细说明如下:
获取模块10,采集线上的流量数据,并对采集的流量数据进行数据清洗得到清洗后的目标流量数据;
生成模块20,用于调用组合生成工具基于所述目标流量数据生成目标测试用例集;所述目标测试用例集用于针对目标接口或目标服务进行测试的用例;
执行模块30,用于基于测试机器信息对所述目标测试用例集调度分发执行,并获取对应的执行结果;
确定模块40,用于根据所述目标测试用例集对应的预期结果对所述执行结果进行断言得到断言结果。
具体的,所述目标流量数据包括多个参数,以及与所述参数分别对应的可选值及可选值数量,所述生成模块20,包括:
确定单元21,用于确定所述参数的可选值数量是否大于第一预置数值;
生成单元22,用于若所述参数的可选值数量大于第一预置数值,则根据所述目标流量数据随机生成固定数量的候选用例;
筛选单元23,用于从所述候选用例中筛选出符合预置条件的用例作为测试用例;
所述生成单元22,还用于将所述测试用例作为目标测试用例集中的用例;
所述筛选单元23,用于若所述参数的可选值数量小于等于所述第一预置数值且大于第二预置数值,对所述可选值数量超过所述第二预置数值的参数,从对应的可选值中筛选出所述第二预置数值个所述可选值;
所述生成单元22,用于根据所述参数及对应筛选的可选值生成所述测试用例;
删除单元24,用于若生成的所述测试用例大于预置用例数量,则随机丢弃所述生成的测试用例。
所述生成单元22,用于若所述参数的可选值数量小于等于所述第二预置数值,则通过组合测试方式确定目标测试用例集中的用例。
具体的,所述筛选模块23,用于:
计算所述固定数量的候选用例中每个候选用例和已经执行过用例的参数差异;
选择与所述已经执行过用例的参数差异最大的候选用例作为所述测试用例;
判断选择的所述测试用例的数量是否达到预置数量;
若未达到所述预置数量,则根据所述目标流量数据重新随机生成固定数量的候选用例;
从所述候选用例中筛选出符合预置条件的用例作为测试用例;
若达到所述预置数量,则确定所述测试用例生成完成。
进一步的,所述装置还包括:
统计模块,用于根据各个测试用例的执行结果,针对被测接口和/或被测服务统计接口测试结果和/或服务测试结果;
存储模块,用于在云端以文件形式保存接口测试结果和/或服务测试结果以及相关的用例执行详细信息,并以通知形式对指定用户通知所保存的文件内容。
获取模块10,具体用于当采集到的流量数据中包含属于指定业务的第一类流量数据时,对所述第一类流量数据中包含的网址参数替换成预设的脱敏网址参数得到清洗后的目标流量数据;
当采集到的流量数据中包含指定类型信息的第二类流量数据时,对所述第二类流量数据中包含的指定类型信息进行脱敏处理得到清洗后的目标流量数据。
所述确定模块40,具体用于:
确定所述目标测试用例集中的各个测试用例的预期结果是否与对应的执行结果相符;
若相符,则确定所述测试用例执行成功;
若不符,则确定所述测试用例执行失败。
关于设备的具体限定可以参见上文中对于接口自动化持续集成测试方法的限定,在此不再赘述。上述设备中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种接口自动化持续集成测试方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
采集线上的流量数据,并对采集的流量数据进行数据清洗得到清洗后的目标流量数据;
调用组合生成工具基于所述目标流量数据生成目标测试用例集;所述目标测试用例集用于针对目标接口或目标服务进行测试的用例;
基于测试机器信息对所述目标测试用例集调度分发执行,并获取对应的执行结果;
根据所述目标测试用例集对应的预期结果对所述执行结果进行断言得到断言结果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
采集线上的流量数据,并对采集的流量数据进行数据清洗得到清洗后的目标流量数据;
调用组合生成工具基于所述目标流量数据生成目标测试用例集;所述目标测试用例集用于针对目标接口或目标服务进行测试的用例;
基于测试机器信息对所述目标测试用例集调度分发执行,并获取对应的执行结果;
根据所述目标测试用例集对应的预期结果对所述执行结果进行断言得到断言结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

Claims (10)

1.一种接口自动化持续集成测试方法,其特征在于,包括:
采集线上的流量数据,并对采集的流量数据进行数据清洗得到清洗后的目标流量数据;
调用组合生成工具基于所述目标流量数据生成目标测试用例集;所述目标测试用例集用于针对目标接口或目标服务进行测试的用例;
基于测试机器信息对所述目标测试用例集调度分发执行,并获取对应的执行结果;
根据所述目标测试用例集对应的预期结果对所述执行结果进行断言得到断言结果。
2.根据权利要求1所述的方法,其特征在于,所述目标流量数据包括多个参数,以及与所述参数分别对应的可选值及可选值数量,所述调用组合生成工具基于所述目标流量数据生成目标测试用例集,包括:
若所述参数的可选值数量大于第一预置数值,则根据所述目标流量数据随机生成固定数量的候选用例;从所述候选用例中筛选出符合预置条件的用例作为测试用例,并将所述测试用例作为目标测试用例集中的用例;
若所述参数的可选值数量小于等于所述第一预置数值且大于所述第二预置数值,从对应的可选值中筛选出所述第二预置数值个所述可选值;所述第一预置数值大于所述第二预置数值;根据所述参数及对应筛选的可选值生成所述测试用例,并将生成的测试用例作为目标测试用例集中的用例;
若生成的所述测试用例大于预置用例数量,则随机丢弃生成的测试用例;
若所述参数的可选值数量小于等于所述第二预置数值,则通过组合测试方式确定目标测试用例集中的用例。
3.根据权利要求2所述的方法,其特征在于,所述从所述候选用例中筛选出符合预置条件的用例作为测试用例,包括:
计算所述固定数量的候选用例中每个候选用例和已经执行过用例的参数差异;
选择与所述已经执行过用例的参数差异最大的候选用例作为所述测试用例;
判断选择的所述测试用例的数量是否达到预置数量;
若未达到所述预置数量,则根据所述目标流量数据重新随机生成固定数量的候选用例,并从所述候选用例中筛选出符合预置条件的用例作为测试用例;
若达到所述预置数量,则确定所述测试用例生成完成。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据各个测试用例的执行结果,针对被测接口和/或被测服务统计接口测试结果和/或服务测试结果;
在云端以文件形式保存接口测试结果和/或服务测试结果以及相关的用例执行详细信息,并以通知形式对指定用户通知所保存的文件内容。
5.根据权利要求1所述的方法,其特征在于,所述对采集的流量数据进行数据清洗得到清洗后的目标流量数据,包括:
当采集到的流量数据中包含属于指定业务的第一类流量数据时,对所述第一类流量数据中包含的网址参数替换成预设的脱敏网址参数得到清洗后的目标流量数据;
当采集到的流量数据中包含指定类型信息的第二类流量数据时,对所述第二类流量数据中包含的指定类型信息进行脱敏处理得到清洗后的目标流量数据。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标测试用例集对应的预期结果对所述执行结果进行断言得到断言结果,包括:
确定所述目标测试用例集中的各个测试用例的预期结果是否与对应的执行结果相符;
若相符,则确定所述测试用例执行成功;
若不符,则确定所述测试用例执行失败。
7.一种接口自动化持续集成测试装置,其特征在于,所述装置包括:
获取模块,采集线上的流量数据,并对采集的流量数据进行数据清洗得到清洗后的目标流量数据;
生成模块,用于调用组合生成工具基于所述目标流量数据生成目标测试用例集;所述目标测试用例集用于针对目标接口或目标服务进行测试的用例;
执行模块,用于基于测试机器信息对所述目标测试用例集调度分发执行,并获取对应的执行结果;
确定模块,用于根据所述目标测试用例集对应的预期结果对所述执行结果进行断言得到断言结果。
8.根据权利要求7所述的装置,其特征在于,所述目标流量数据包括多个参数,以及与所述参数分别对应的可选值及可选值数量,所述生成模块,包括:
生成单元,用于若所述参数的可选值数量大于第一预置数值,则根据所述目标流量数据随机生成固定数量的候选用例;
筛选单元,用于从所述候选用例中筛选出符合预置条件的用例作为测试用例;
所述生成单元,还用于将所述测试用例作为目标测试用例集中的用例;
所述筛选单元,还用于若所述参数的可选值数量小于等于所述第一预置数值且大于所述第二预置数值,从对应的可选值中筛选出所述第二预置数值个所述可选值;所述第一预置数值大于所述第二预置数值;
所述生成单元,还用于根据所述参数及对应筛选的可选值生成所述测试用例,并将生成的测试用例作为目标测试用例集中的用例;
删除单元,用于若生成的所述测试用例大于预置用例数量,则随机丢弃生成的测试用例;
所述生成单元,还用于若所述参数的可选值数量小于等于所述第二预置数值,则通过组合测试方式确定目标测试用例集中的用例。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述的接口自动化持续集成测试方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的接口自动化持续集成测试方法。
CN202110240392.9A 2021-03-04 2021-03-04 接口自动化持续集成测试方法、装置、设备及存储介质 Pending CN115017027A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110240392.9A CN115017027A (zh) 2021-03-04 2021-03-04 接口自动化持续集成测试方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110240392.9A CN115017027A (zh) 2021-03-04 2021-03-04 接口自动化持续集成测试方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN115017027A true CN115017027A (zh) 2022-09-06

Family

ID=83064456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110240392.9A Pending CN115017027A (zh) 2021-03-04 2021-03-04 接口自动化持续集成测试方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN115017027A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117971705A (zh) * 2024-03-28 2024-05-03 成都九洲电子信息***股份有限公司 基于定制化流量洞察的智能接口自动化测试***及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117971705A (zh) * 2024-03-28 2024-05-03 成都九洲电子信息***股份有限公司 基于定制化流量洞察的智能接口自动化测试***及方法

Similar Documents

Publication Publication Date Title
CN109062788B (zh) 测试用例生成方法、装置、计算机设备和存储介质
CN109634730B (zh) 任务调度方法、装置、计算机设备和存储介质
CN110851159B (zh) 业务规则更新方法、装置、计算机设备和存储介质
CN110942190A (zh) 排队时间预测方法、装置、计算机设备以及存储介质
CN112631686A (zh) 数据处理方法、装置、计算机设备和存储介质
US10642585B1 (en) Enhancing API service schemes
CN111198921A (zh) 数据库的切换方法、装置、计算机设备和存储介质
CN111742309A (zh) 自动数据库查询负载评估和自适应处理
CN115239450A (zh) 财务数据处理方法、装置、计算机设备及存储介质
CN115017027A (zh) 接口自动化持续集成测试方法、装置、设备及存储介质
CN111367782B (zh) 回归测试数据自动生成的方法及装置
CN112511384B (zh) 流量数据处理方法、装置、计算机设备和存储介质
CN111061610B (zh) 集群***性能测试报告的生成方法、装置和计算机设备
CN111858304B (zh) 一种接口性能测试的方法及装置
CN114185763A (zh) 动态分配方法、装置、存储介质及电子设备
CN116643906A (zh) 云平台故障的处理方法、装置、电子设备及存储介质
CN116342256A (zh) 风控策略测试方法、装置、计算机设备和存储介质
CN109726124A (zh) 测试***、测试方法、管理装置、测试装置及计算设备
CN114281260A (zh) 应用于分布式存储***的存储方法、装置、设备及介质
CN114281474A (zh) 一种资源调节方法及装置
CN114595146A (zh) Ab测试方法、装置、***、电子设备及介质
CN114003339A (zh) 僵尸虚拟机的检测方法、装置、计算机设备和存储介质
CN109240906B (zh) 数据库配置信息适配方法、装置、计算机设备和存储介质
CN110955647A (zh) 数据库辅助方法、装置、计算机设备和存储介质
CN116208513A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Tiktok vision (Beijing) Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd.

Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant after: Douyin Vision Co.,Ltd.

Address before: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing.

Applicant before: Tiktok vision (Beijing) Co.,Ltd.