CN111078560B - 基于流量剪枝的测试方法、装置、电子设备及存储介质 - Google Patents

基于流量剪枝的测试方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111078560B
CN111078560B CN201911311875.2A CN201911311875A CN111078560B CN 111078560 B CN111078560 B CN 111078560B CN 201911311875 A CN201911311875 A CN 201911311875A CN 111078560 B CN111078560 B CN 111078560B
Authority
CN
China
Prior art keywords
test
flow
test flow
interface
traffic
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.)
Active
Application number
CN201911311875.2A
Other languages
English (en)
Other versions
CN111078560A (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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201911311875.2A priority Critical patent/CN111078560B/zh
Publication of CN111078560A publication Critical patent/CN111078560A/zh
Application granted granted Critical
Publication of CN111078560B publication Critical patent/CN111078560B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种基于流量剪枝的测试方法、装置、电子设备及存储介质,该测试方法包括:获取第一预设时间段内目标测试系统对应的测试流量集;该测试流量集中包括多条测试流量,该目标测试系统中包括用于响应所述测试流量的至少一个代码模块,每个代码模块具有至少一行代码;基于目标测试系统针对所述测试流量集中多条测试流量的响应结果,获取每一条测试流量对应的代码行覆盖文件信息;基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量;基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果。本申请减少了处理资源的消耗,节省了处理资源,并且,缩短了测试周期,提高了测试效率。

Description

基于流量剪枝的测试方法、装置、电子设备及存储介质
技术领域
本申请涉及软件测试技术领域,具体而言,涉及一种基于流量剪枝的测试方法、装置、电子设备及存储介质。
背景技术
在互联网行业中,互联网企业通常面临业务迭代速度快、上线频繁、质量要求高等特点,以保障其服务的服务质量。比如,以网约车为例,在网约车各种复杂的时空场景下,均需要频繁迭代各种复杂场景的业务,并对每一次迭代后的业务系统进行测试,以保证业务的可用性。
目前,对业务系统进行测试的方法如下:获取线上的流量,并对线上的流量进行流量回放,基于回放的流量对业务系统进行测试。但是,上述方法中,线上流量的回放时间随流量数呈线性增加,这就增加了对处理资源的消耗,造成资源浪费,并且,使得测试周期长,进而导致了测试效率低。
发明内容
有鉴于此,本申请的目的在于提供一种基于流量剪枝的测试方法、装置、电子设备及存储介质,通过降低测试流量集中测试流量的冗余度,从中选取能够覆盖多维层次的更加全面的目标测试流量,减少了处理资源的消耗,节省了处理资源,并且,缩短了测试周期,提高了测试效率。
第一方面,本申请实施例提供了一种基于流量剪枝的测试方法,所述测试方法包括:
获取第一预设时间段内目标测试系统对应的测试流量集;其中,所述测试流量集中包括多条测试流量,所述目标测试系统中包括用于响应所述测试流量的至少一个代码模块,每个所述代码模块具有至少一行代码;
基于所述目标测试系统针对所述测试流量集中多条测试流量的响应结果,获取每一条测试流量对应的代码行覆盖文件信息;
基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量;
基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果。
在一种可能的实施方式中,所述代码行覆盖文件信息包括:代码行覆盖文件个数和代码行覆盖文件标识;所述基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量,包括:
基于每一条测试流量对应的代码行覆盖文件个数,从多条测试流量中选取对应的代码行覆盖文件个数最大的第一测试流量;
基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量;
根据所述第一测试流量和所述第二测试流量,确定所述目标测试流量。
在一种可能的实施方式中,所述基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量,包括:
基于每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数;
基于每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数,从所述其他测试流量中选取对应的差异代码行覆盖文件个数满足第一预设条件的候选其他测试流量;
基于每一条候选其他测试流量与所述第一测试流量的差异代码行覆盖文件个数,确定对应的差异代码行覆盖文件个数最大的候选其他测试流量为所述第二测试流量。
在一种可能的实施方式中,在确定对应的差异代码行覆盖文件个数最大的候选其他测试流量为所述第二测试流量之后,所述测试方法还包括:
若存在除选取的第二测试流量之外的其他测试流量,则将所述第一测试流量和所述第二测试流量合并后的测试流量确定为新的第一测试流量,并返回基于每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数的步骤,直至不存在除选取的第二测试流量之外的其他测试流量。
在一种可能的实施方式中,在从所述其他测试流量中选取对应的差异代码行覆盖文件个数满足第一预设条件的候选其他测试流量之后,所述测试方法还包括:
若存在多个对应的差异代码行覆盖文件个数最大的候选其他测试流量,则基于多个所述候选其他测试流量分别对应的接口个数,选取对应的接口个数符合第二预设条件的候选其他测试流量,作为所述第二测试流量。
在一种可能的实施方式中,所述基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量,包括:
选取任一条其他测试流量作为候选测试流量,基于所述候选测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定所述候选测试流量与所述第一测试流量的差异代码行覆盖文件个数;
若所述差异代码行覆盖文件个数满足第三预设条件,则确定所述候选测试流量为所述第二测试流量。
在一种可能的实施方式中,在确定所述候选测试流量为所述第二测试流量之后,所述测试方法还包括:
若存在除选取的候选测试流量之外的其他测试流量,则再次选取任一条其他测试流量作为候选测试流量,并将所述第一测试流量和所述第二测试流量合并后的测试流量确定为新的第一测试流量,返回基于所述候选测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定所述候选测试流量与所述第一测试流量的差异代码行覆盖文件个数的步骤,直至不存在除选取的候选测试流量之外的其他测试流量。
在一种可能的实施方式中,所述获取第一预设时间段内目标测试系统对应的测试流量集,包括:
获取第二预设时间段内线上的流量;其中,每一条所述流量中包括接口信息和请求参数;
基于预设的第一接口之间的传输逻辑,生成所述流量中所述接口信息表征的接口对应的接口关系图;
基于所述接口关系图以及每一个接口对应的至少一个请求参数,生成所述测试流量集。
在一种可能的实施方式中,所述基于预设的第一接口之间的传输逻辑,生成所述流量中所述接口信息表征的接口对应的接口关系图,包括:
基于所述第一接口之间的传输逻辑以及任意两个接口之间进行数据传输的概率,生成所述流量中所述接口信息表征的接口对应的接口关系图。
在一种可能的实施方式中,确定所述第一接口之间的传输逻辑,包括:
从获取的所述流量中,选取对应于同一访问事件的流量集;
针对每一访问事件对应的流量集,根据该流量集中第一接口信息表征的第一接口之间的调用顺序,确定所述第一接口之间的传输逻辑。
在一种可能的实施方式中,所述基于所述接口关系图以及每一个接口对应的至少一个请求参数,生成所述测试流量集,包括:
基于所述接口关系图中任意两个接口之间进行数据传输的概率,从所述接口关系图中选取至少一条测试接口链路,得到测试接口链路集;
针对所述测试接口链路集中的每一个测试接口链路,为该测试接口链路中的每一个接口分配目标请求参数,得到所述测试接口链路集对应的测试流量集。
在一种可能的实施方式中,所述为该测试接口链路中的每一个接口分配目标请求参数,包括:
基于所述流量包括的接口信息和请求参数,确定每一个接口信息表征的接口对应的至少一个请求参数;
针对该测试接口链路中的每一个接口,从该接口对应的至少一个请求参数中随机选取一个请求参数,作为该接口对应的目标请求参数。
在一种可能的实施方式中,所述基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果,包括:
将所述目标测试流量分别输入到待测试系统和基准系统中,得到所述待测试系统对所述目标测试流量的第一响应结果和所述基准系统对所述目标测试流量的第二响应结果;
根据所述第一响应结果和所述第二响应结果,生成所述待测试系统的测试结果。
在一种可能的实施方式中,所述基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果,包括:
将所述目标测试流量输入到待测试系统中,根据所述待测试系统对所述目标测试流量的第三响应结果,生成所述待测试系统的测试结果。
第二方面,本申请实施例还提供了一种基于流量剪枝的测试装置,所述测试装置包括:
第一获取模块,用于获取第一预设时间段内目标测试系统对应的测试流量集;其中,所述测试流量集中包括多条测试流量,所述目标测试系统中包括用于响应所述测试流量的至少一个代码模块,每个所述代码模块具有至少一行代码;
第二获取模块,用于基于所述目标测试系统针对所述测试流量集中多条测试流量的响应结果,获取每一条测试流量对应的代码行覆盖文件信息;
第一选取模块,用于基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量;
测试模块,用于基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果。
在一种可能的实施方式中,所述代码行覆盖文件信息包括:代码行覆盖文件个数和代码行覆盖文件标识;所述第一选取模块在基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量时,包括:
基于每一条测试流量对应的代码行覆盖文件个数,从多条测试流量中选取对应的代码行覆盖文件个数最大的第一测试流量;
基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量;
根据所述第一测试流量和所述第二测试流量,确定所述目标测试流量。
在一种可能的实施方式中,所述第一选取模块在基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量时,包括:
基于每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数;
基于每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数,从所述其他测试流量中选取对应的差异代码行覆盖文件个数满足第一预设条件的候选其他测试流量;
基于每一条候选其他测试流量与所述第一测试流量的差异代码行覆盖文件个数,确定对应的差异代码行覆盖文件个数最大的候选其他测试流量为所述第二测试流量。
在一种可能的实施方式中,所述第一选取模块在确定对应的差异代码行覆盖文件个数最大的候选其他测试流量为所述第二测试流量之后,还包括:
若存在除选取的第二测试流量之外的其他测试流量,则将所述第一测试流量和所述第二测试流量合并后的测试流量确定为新的第一测试流量,并返回基于每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数的步骤,直至不存在除选取的第二测试流量之外的其他测试流量。
在一种可能的实施方式中,所述第一选取模块在从所述其他测试流量中选取对应的差异代码行覆盖文件个数满足第一预设条件的候选其他测试流量之后,还包括:
若存在多个对应的差异代码行覆盖文件个数最大的候选其他测试流量,则基于多个所述候选其他测试流量分别对应的接口个数,选取对应的接口个数符合第二预设条件的候选其他测试流量,作为所述第二测试流量。
在一种可能的实施方式中,所述第一选取模块在基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量时,包括:
选取任一条其他测试流量作为候选测试流量,基于所述候选测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定所述候选测试流量与所述第一测试流量的差异代码行覆盖文件个数;
若所述差异代码行覆盖文件个数满足第三预设条件,则确定所述候选测试流量为所述第二测试流量。
在一种可能的实施方式中,所述第一选取模块在确定所述候选测试流量为所述第二测试流量之后,还包括:
若存在除选取的候选测试流量之外的其他测试流量,则再次选取任一条其他测试流量作为候选测试流量,并将所述第一测试流量和所述第二测试流量合并后的测试流量确定为新的第一测试流量,返回基于所述候选测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定所述候选测试流量与所述第一测试流量的差异代码行覆盖文件个数的步骤,直至不存在除选取的候选测试流量之外的其他测试流量。
在一种可能的实施方式中,所述第一获取模块在获取第一预设时间段内目标测试系统对应的测试流量集时,包括:
获取第二预设时间段内线上的流量;其中,每一条所述流量中包括接口信息和请求参数;
基于预设的第一接口之间的传输逻辑,生成所述流量中所述接口信息表征的接口对应的接口关系图;
基于所述接口关系图以及每一个接口对应的至少一个请求参数,生成所述测试流量集。
在一种可能的实施方式中,所述第一获取模块在基于预设的第一接口之间的传输逻辑,生成所述流量中所述接口信息表征的接口对应的接口关系图时,包括:
基于所述第一接口之间的传输逻辑以及任意两个接口之间进行数据传输的概率,生成所述流量中所述接口信息表征的接口对应的接口关系图。
在一种可能的实施方式中,所述测试装置包括:
第二选取模块,用于从获取的所述流量中,选取对应于同一访问事件的流量集;
确定模块,用于针对每一访问事件对应的流量集,根据该流量集中第一接口信息表征的第一接口之间的调用顺序,确定所述第一接口之间的传输逻辑。
在一种可能的实施方式中,所述第一获取模块在基于所述接口关系图以及每一个接口对应的至少一个请求参数,生成所述测试流量集时,包括:
基于所述接口关系图中任意两个接口之间进行数据传输的概率,从所述接口关系图中选取至少一条测试接口链路,得到测试接口链路集;
针对所述测试接口链路集中的每一个测试接口链路,为该测试接口链路中的每一个接口分配目标请求参数,得到所述测试接口链路集对应的测试流量集。
在一种可能的实施方式中,所述第一获取模块在为该测试接口链路中的每一个接口分配目标请求参数时,包括:
基于所述流量包括的接口信息和请求参数,确定每一个接口信息表征的接口对应的至少一个请求参数;
针对该测试接口链路中的每一个接口,从该接口对应的至少一个请求参数中随机选取一个请求参数,作为该接口对应的目标请求参数。
在一种可能的实施方式中,所述测试模块在基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果时,包括:
将所述目标测试流量分别输入到待测试系统和基准系统中,得到所述待测试系统对所述目标测试流量的第一响应结果和所述基准系统对所述目标测试流量的第二响应结果;
根据所述第一响应结果和所述第二响应结果,生成所述待测试系统的测试结果。
在一种可能的实施方式中,所述测试模块在基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果时,包括:
将所述目标测试流量输入到待测试系统中,根据所述待测试系统对所述目标测试流量的第三响应结果,生成所述待测试系统的测试结果。
本申请实施例提供的一种基于流量剪枝的测试方法、装置、电子设备及存储介质,通过获取第一预设时间段内目标测试系统对应的测试流量集,并基于目标测试系统针对测试流量集中多条测试流量的响应结果,获取每一条测试流量对应的代码行覆盖文件信息,然后,基于每一条测试流量对应的代码行覆盖文件信息,从多条测试流量中选取使测试流量集的目标测试流量,并基于该目标测试流量对待测试系统进行测试,得到待测试系统的测试结果。本申请实施例中,通过降低测试流量集中测试流量的冗余度,从中选取能够覆盖多维层次的更加全面的目标测试流量,并基于目标测试流量对待测试系统进行测试,减少了处理资源的消耗,节省了处理资源,并且,缩短了测试周期,提高了测试效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的一种基于流量剪枝的测试方法的流程图;
图2示出了本申请实施例提供的另一种基于流量剪枝的测试方法的流程图;
图3示出了本申请实施例提供的另一种基于流量剪枝的测试方法的流程图;
图4示出了本申请实施例提供的另一种基于流量剪枝的测试方法的流程图;
图5a示出了本申请实施例提供的另一种基于流量剪枝的测试方法的流程图;
图5b示出了接口关系图的示意图;
图6示出了本申请实施例提供的另一种基于流量剪枝的测试方法的流程图;
图7示出了本申请实施例提供的另一种基于流量剪枝的测试方法的流程图;
图8示出了本申请实施例提供的另一种基于流量剪枝的测试方法的流程图;
图9示出了本申请实施例提供的一种基于流量剪枝的测试装置的结构示意图;
图10示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了使得本领域技术人员能够使用本申请内容,结合特定应用场景“网约车领域”,给出以下实施方式。对于本领域技术人员来说,在不脱离本申请的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用场景。虽然本申请主要围绕“网约车领域”进行描述,但是应该理解,这仅是一个示例性实施例,本申请还可以应用于“电商领域”、“游戏领域”等。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
考虑到目前对业务系统进行测试的方法中,通过对线上的流量进行流量回放,并基于回放的流量对业务系统进行测试。但是,上述方法中,线上流量的回放时间随流量数呈线性增加,这就增加了对处理资源的消耗,造成资源浪费,并且,使得测试周期长,进而导致了测试效率低。
本申请实施例提供了一种基于流量剪枝的测试方法、装置、电子设备及存储介质,通过降低测试流量集中测试流量的冗余度,从中选取能够覆盖多维层次的更加全面的目标测试流量,减少了处理资源的消耗,节省了处理资源,并且,缩短了测试周期,提高了测试效率。
下面结合网约车领域对本申请实施例提供的基于流量剪枝的测试方法进行详细说明,上述测试方法可以应用于服务器(即目标服务器,该目标服务器可以是网约车平台中提供服务的任一服务器,也与网约车平台中提供服务的服务器不同),也可以应用于终端设备,下面以上述测试方式应用于目标服务器为例进行说明。
参照图1所示,为本申请实施例提供的一种基于流量剪枝的测试方法的流程示意图,可以应用于目标服务器,上述测试方法具体包括以下步骤:
S101、获取第一预设时间段内目标测试系统对应的测试流量集;其中,所述测试流量集中包括多条测试流量,所述目标测试系统中包括用于响应所述测试流量的至少一个代码模块,每个所述代码模块具有至少一行代码。
在本申请实施例中,上述目标测试系统可以包括待测试系统(也即待测试服务),也可以包括基准系统(这里指生产环境中应用的系统,也即生产环境中应用的服务),还可以包括待测试系统和基准系统。
这里,测试流量集中的测试流量指的是向目标测试系统发送的服务请求(比如HTTP请求);其中,每一条测试流量中包括统一资源定位系统(uniform resource locator,URL)地址(即接口信息,该接口信息表征的接口是指HTTP协议开发的传递数据的通道)和相应的请求参数。这里,请求参数包括请求方法、用户身份证标识号(Identity document,ID)、出发地、目的地、默认参数、可变范围、类型等。
其中,目标测试系统中包括用于响应上述测试流量的至少一个代码模块,每个代码模块具有至少一行代码,这里,每行代码对应有唯一的代码行标识。可选的,代码行标识包括文件名和代码行身份证标识号(Identity document,ID)。
其中,上述第一预设时间段可以根据需要进行设置,本申请实施例对此不作具体限制。
S102、基于所述目标测试系统针对所述测试流量集中多条测试流量的响应结果,获取每一条测试流量对应的代码行覆盖文件信息。
在本申请实施例中,针对测试流量集中的每一测试流量,在将该测试流量输入到目标测试系统中后,目标测试系统中相应的代码模块响应该测试流量,相应的,该代码模块中会对应有响应结果,因此,统计对应有响应结果的代码行覆盖文件信息。这里,代码行覆盖文件信息至少包括代码行覆盖文件标识,还可以包括代码行覆盖文件个数。
S103、基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量。
可选的,基于每一条测试流量对应的代码行覆盖文件个数,从多条测试流量中选取第一测试流量,然后基于多条测试流量中除上述第一测试流量之外的其他测试流量分别对应的代码行覆盖文件标识,以及该第一测试流量对应的代码行覆盖文件标识,从上述其他测试流量中选取至少一条第二测试流量,之后,根据上述第一测试流量和第二测试流量确定目标测试流量。
S104、基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果。
在本申请实施例中,可以基于目标测试流量对待测试系统进行回归测试、压力测试或者问题排查测试,进而得到测试结果。
其中,上述回归测试是指在修改了待测试系统的某些功能(比如增加了新功能,或者更新了原有功能,或者,删除了某些原有功能)后,对待测试系统的原有功能进行测试。上述压力测试是指对待测试系统不断加压(即向待测试系统输入大量流量),强制其在极限的情况下运行,观察待测试系统可以运行到何种程度,从而发现性能缺陷。上述问题排查测试是指向待测试系统输入目标测试流量,确定待测试系统在某一功能上的问题。
比如,在回归测试中,通过得到的目标测试流量组成的目标测试流量集,在降低了测试流量集中测试流量的冗余度的基础上,减少了处理资源的消耗,节省了处理资源,进而缩短了测试周期,提高了测试效率;并且,从多维层次(包括请求参数、接口、场景)得到覆盖更加全面的流量集合,保证了覆盖的全面性,提高了测试效果。
进一步的,如图2所示,所述基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量,包括:
S201、基于每一条测试流量对应的代码行覆盖文件个数,从多条测试流量中选取对应的代码行覆盖文件个数最大的第一测试流量。
本申请实施例中,基于测试流量集中每一条测试流量对应的代码行覆盖文件标识,确定每一条测试流量对应的代码行覆盖文件个数,并将测试流量集中的多条测试流量对应的代码行覆盖文件个数进行比较,选取对应的代码行覆盖文件个数最大的第一测试流量,并将第一测试流量加入到目标测试流量集中。
比如,测试流量集中包括测试流量1、测试流量2、测试流量3、测试流量4、测试流量5,相应的,测试流量1对应的代码行覆盖文件个数为100,测试流量2对应的代码行覆盖文件个数为50、测试流量3对应的代码行覆盖文件个数为30、测试流量4对应的代码行覆盖文件个数为20、测试流量5对应的代码行覆盖文件个数为10,相应的,测试流量1的执行代码个数最多,选取测试流量1为第一测试流量。
S202、基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量。
在一种实施方式中,将每一条其他测试流量对应的代码行覆盖文件标识分别与第一测试流量对应的代码行覆盖文件标识进行比较,得到每一条其他测试流量与第一测试流量的差异代码行覆盖文件个数,基于每一条其他测试流量与第一测试流量的差异代码行覆盖文件个数,从上述其他测试流量中选取至少一条第二测试流量,并将选取的第二测试流量加入到目标测试流量集中。
在另一种实施方式中,针对每一条其他测试流量,将该条其他测试流量对应的代码行覆盖文件标识与第一测试流量对应的代码行覆盖文件标识进行比较,确定该条其他测试流量与第一测试流量的差异代码行覆盖文件个数,若差异代码行覆盖文件个数满足预设条件,则确定该条其他测试流量为第二测试流量;其中,测试流量集中的每一个测试流量中均进行上述操作,从测试流量集中选取至少一个第二测试流量,并将选取的第二测试流量加入到目标测试流量集中。
S203、根据所述第一测试流量和所述第二测试流量,确定所述目标测试流量。
可选的,将目标测试流量集中的第一测试流量和至少一个第二测试流量确定为目标测试流量,也即目标测试流量包括第一测试流量和至少一个第二测试流量。
进一步的,如图3所示,本申请实施例提供的基于流量剪枝的测试方法中,所述基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量,包括:
S301、基于每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数。
在本申请实施例中,针对每一条其他测试流量,基于该其他测试流量对应的代码行覆盖文件标识与第一测试流量对应的代码行覆盖文件标识,确定该其他测试流量与第一测试流量不同的差异代码行覆盖文件标识,并统计差异代码行覆盖文件标识的个数,作为该其他测试流量对应的差异代码行覆盖文件个数。针对测试流量集中所有其他测试流量均进行上述操作,得到每一条其他测试流量对应的差异代码行覆盖文件个数。
比如,测试流量2对应的差异代码行覆盖文件个数为5,测试流量3对应的差异代码行覆盖文件个数为10,测试流量4对应的差异代码行覆盖文件个数为0,测试流量5对应的差异代码行覆盖文件个数为2。
S302、基于每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数,从所述其他测试流量中选取对应的差异代码行覆盖文件个数满足第一预设条件的候选其他测试流量。
这里,差异代码行覆盖文件个数满足第一预设条件,即差异代码行覆盖文件个数大于第一阈值。这里,第一阈值可以根据需要进行设置,比如设置为1。
比如,测试流量2对应的差异代码行覆盖文件个数为5,5大于第一阈值1,确定测试流量2为候选其他测试流量;测试流量3对应的差异代码行覆盖文件个数为10,10大于第一阈值1,确定测试流量3为候选其他测试流量;测试流量4对应的差异代码行覆盖文件个数为0,0小于第一阈值1,丢弃测试流量4;测试流量5对应的差异代码行覆盖文件个数为2,2大于第一阈值1,确定测试流量5为候选其他测试流量。
S303、基于每一条候选其他测试流量与所述第一测试流量的差异代码行覆盖文件个数,确定对应的差异代码行覆盖文件个数最大的候选其他测试流量为所述第二测试流量。
本申请实施例中,从测试流量2、测试流量3和测试流量5中选取对应的差异代码行覆盖文件个数最大的,这里,测试流量3对应的差异执行代码行10大于测试流量2对应的差异执行代码行5,同样也大于测试流量5对应的差异代码行覆盖文件个数2,因此,选择测试流量3作为第二测试流量,并将测试流量3加入到目标测试流量集中。
相应的,在确定对应的差异代码行覆盖文件个数最大的候选其他测试流量为所述第二测试流量之后,所述测试方法还包括:
若存在除选取的第二测试流量之外的其他测试流量,则将所述第一测试流量和所述第二测试流量合并后的测试流量确定为新的第一测试流量,并返回基于每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数的步骤,直至不存在除选取的第二测试流量之外的其他测试流量。
比如,若确定其他测试流量中还包括测试流量2和测试流量5,那么,确定测试流量2与目标测试流量集中的测试流量(包括测试流量1和测试流量3)对应的差异代码行覆盖文件个数,比如,为3个,大于第一阈值1,确定测试流量2为候选其他测试流量;相应的,确定测试流量5与目标测试流量集中的测试流量(包括测试流量1和测试流量3)对应的差异代码行覆盖文件个数,比如,为2个,同样大于第一阈值1,确定测试流量5为候选其他测试流量,然后,并从测试流量2和测试流量5中,选取对应的差异代码行覆盖文件个数最大的测试流量2作为第二测试流量,并将测试流量2加入到目标测试流量集中,此时,目标测试流量集中包括测试流量1、测试流量2和测试流量3。
相应的,对测试流量5再次进行上述操作处理,直至不存在剩余的其他测试流量。
进一步的,本申请实施例提供的基于流量剪枝的测试方法中,在从所述其他测试流量中选取对应的差异代码行覆盖文件个数满足第一预设条件的候选其他测试流量之后,所述测试方法还包括:
若存在多个对应的差异代码行覆盖文件个数最大的候选其他测试流量,则基于多个所述候选其他测试流量分别对应的接口个数,选取对应的接口个数符合第二预设条件的候选其他测试流量,作为所述第二测试流量。
其中,上述第二预设条件包括对应的接口个数最少。
比如,候选其他测试流量包括测试流量2和测试流量3,其中,测试流量2对应的差异代码行覆盖文件个数为5个,测试流量3对应的差异代码行覆盖文件个数为5个,那么,获取测试流量2对应的接口个数(比如30个),测试流量3对应的接口个数(比如20个),相应的,测试流量2对应的接口个数30大于测试流量3对应的接口个数20,选取测试流量3为第二测试流量。
本申请实施例中,通过选取接口个数最少的候选其他测试流量,能够减少处理资源的消耗,节省了处理资源,并且,缩短了测试周期,提高了测试效率。
进一步的,如图4所示,本申请实施例提供的基于流量剪枝的测试方法,所述基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量,包括:
S401、选取任一条其他测试流量作为候选测试流量,基于所述候选测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定所述候选测试流量与所述第一测试流量的差异代码行覆盖文件个数。
在一种实施方式中,随机选取一条其他测试流量作为候选测试流量;
在另一种实施方式中,通过如下选取候选测试流量:基于其他测试流量对应的代码行覆盖文件个数,从其他测试流量中选取对应的代码行覆盖文件个数最大的目标其他测试流量,选取该目标其他测试流量作为候选测试流量。当存在多个对应的代码行覆盖文件个数最大的目标其他测试流量时,从这多个目标其他测试流量中随机选取一个目标其他测试流量,作为候选测试流量。比如,其他测试流量包括测试流量2、测试流量3、测试流量4和测试流量5;其中,测试流量2对应的代码行覆盖文件个数为50,测试流量3对应的代码行覆盖文件个数为30,测试流量4对应的代码行覆盖文件个数为20,测试流量5对应的代码行覆盖文件个数为10,相应的,测试流量2的执行代码个数最多,选取测试流量2作为候选测试流量。
本申请实施例中,基于候选测试流量对应的代码行覆盖文件标识与第一测试流量对应的代码行覆盖文件标识,确定该候选测试流量与第一测试流量不同的差异代码行覆盖文件标识,并统计该差异代码行覆盖文件标识的个数,作为差异代码行覆盖文件个数。比如,测试流量2对应的差异代码行覆盖文件个数为2。
S402、若所述差异代码行覆盖文件个数满足第三预设条件,则确定所述候选测试流量为所述第二测试流量。
其中,差异代码行覆盖文件个数满足第三预设条件,可以为差异代码行覆盖文件个数大于第二阈值。可选的,上述第二阈值可以与第一阈值相同,也可以与第一阈值不同,比如,设置为1。这里,在确定候选测试流量为第二测试流量后,将第二测试流量加入到目标测试流量集中。
比如,测试流量2对应的差异代码行覆盖文件个数为2,2大于第二阈值1,则确定该测试流量2为第二测试流量,并将测试流量2加入到目标测试流量集中。
本申请实施例中,在确定该候选测试流量为所述第二测试流量之后,所述测试方法还包括:
若存在除选取的候选测试流量之外的其他测试流量,则再次选取任一条其他测试流量作为候选测试流量,并将所述第一测试流量和所述第二测试流量合并后的测试流量确定为新的第一测试流量,返回基于所述候选测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定所述候选测试流量与所述第一测试流量的差异代码行覆盖文件个数的步骤,直至不存在除选取的候选测试流量之外的其他测试流量。
本申请实施例中,若确定其他测试流量中还包括测试流量3、测试流量4、测试流量5,比如,测试流量3的代码行覆盖文件个数最多,再次选取测试流量3作为候选测试流量,同时,将目标测试流量集中的测试流量(包括测试流量1和测试流量2)确定为新的第一测试流量,将测试流量3对应的代码行覆盖文件标识与上述目标测试流量集中测试流量对应的代码行覆盖文件标识进行比较,确定测试流量3与目标测试流量集中的测试流量(包括测试流量1和测试流量2)不同的目标代码行覆盖文件标识,并统计目标代码行覆盖文件标识的个数,作为测试流量3对应的差异代码行覆盖文件个数。比如,测试流量3对应的差异代码行覆盖文件个数为0,0小于第二阈值1,这说明,响应测试流量3的代码行覆盖文件已经被目标测试流量集中的测试流量(包括测试流量1和测试流量2)覆盖过了,所以,测试流量2只会增加目标服务器的处理量而并不会增加整个目标测试流量集的代码行覆盖率,因此,则丢弃该测试流量3。
相应的,对测试流量4、测试流量5也进行上述操作处理,直至不存在剩余的其他测试流量。
进一步的,如图5a所示,本申请实施例提供的基于流量剪枝的测试方法中,所述获取第一预设时间段内目标测试系统对应的测试流量集,包括:
S501、获取第二预设时间段内线上的流量;其中,每一条所述流量中包括接口信息和请求参数。
在网约车领域中,网约车平台包括的服务架构复杂,比如,通常包括多个服务器,每个服务器提供至少一种服务且不同服务器提供的服务不同,相应的,网约车平台中通常提供上百个服务;上述多个服务器之间可以相互调用,以响应用户的服务请求。
本申请实施例中,在进行流量采集时,目标服务器通常从网约车平台对应的多个服务器中采集第二预设时间段内的线上流量,这里,线上流量指的是用户对网约车平台提供的每一个服务的服务请求(比如HTTP请求);其中,每一条流量中包括统一资源定位系统(uniform resource locator,URL)地址(即接口信息,该接口信息表征的接口是指HTTP协议开发的传递数据的通道)和相应的请求参数。这里,请求参数包括请求方法、用户身份证标识号(Identity document,ID)、出发地、目的地、默认参数、可变范围、类型等。
本申请实施例中,上述第二预设时间段可以根据生产环境(即各个服务器)的存储系统的限制时间段进行设置,使上述第二预设时间段小于上述限制时间段。比如,存储系统限制时间段(要求一次最多采集的时间段)为2个小时量,相应的,上述第二预设时间段可以设置为1个小时。这里该第二预设时间段可以与上述第一预设时间段相同,也可以不同。
S502、基于预设的第一接口之间的传输逻辑,生成所述流量中所述接口信息表征的接口对应的接口关系图。
在本申请实施例中,网约车平台提供的一些服务(即第一服务)是具有预设传输逻辑的,这里,预设传输逻辑是指预设调用顺序,比如,发单服务之后才调用接单服务,相应的,上述第一服务对应的第一接口也具有预设传输逻辑(即预设调用顺序)。
本申请实施实施例中,从获取的流量中选取用于表征第一接口的第一接口信息,并基于上述第一接口对应的传输逻辑(即调用顺序),生成选取的第一接口信息表征的第一接口对应的第一候选接口关系图,然后,再次将获取的流量中除上述第一接口信息之外的其他接口信息对应的其他接口,随机插入到上述第一候选接口关系图的有序接口(即有序第一接口)中,得到获取的流量中各个接口信息表征的接口对应的接口关系图。其中,该接口关系图中包括了获取的流量中各个接口信息表征的接口对应的接口关系。
如图5b所示,接口关系图包括接口A、接口B、接口D、接口G、接口F、接口C和接口E;其中,接口A、接口B、接口D、接口G、接口F为有向接口(即具有预设调用顺序的第一接口),比如,接口A之后才会调用接口B,接口B之后才会调用接口D等;其中,接口C和接口E代表无向接口。
S503、基于所述接口关系图以及每一个接口对应的至少一个请求参数,生成所述测试流量集。
在本申请实施例中,在生成接口关系图以后,从该接口关系图中选取多条测试接口链路,组成测试接口链路集;针对该测试接口链路集中的每一个测试接口链路,为该测试接口链路中的每一个接口分配目标请求参数,得到该测试接口链路对应的测试流量;在通过上述方法完成测试接口链路集中所有测试接口链路的目标请求参数分配后,得到测试接口链路集对应的测试流量集。
这样,通过对线上流量进行流量扩充,得到了在包括场景、接口和请求参数这多维层次的覆盖更加全面的测试流量集,降低了测试成本、缩短了测试周期,进而提高了测试效率,并且,上述测试流量集在多维层次上覆盖更加全面,满足了实际中高可用性下的测试需求。
进一步的,本申请实施例提供的基于流量剪枝的测试方法中,所述基于预设的第一接口之间的传输逻辑,生成所述流量中所述接口信息表征的接口对应的接口关系图,包括:
基于所述第一接口之间的传输逻辑以及任意两个接口之间进行数据传输的概率,生成所述流量中所述接口信息表征的接口对应的接口关系图。
在本申请实施例中,目标服务器中预先配置有任意两个接口之间进行数据传输的概率(也即任意两个接口之间进行调用的概率),在得到第一候选接口关系图后,生成第一候选关系图中任意两个接口之间进行调用的概率;相应的,在得到接口关系图后,生成该接口关系图中任意两个接口之间进行调用的概率。其中,每一个接口作为父接口时调用其对应的至少一个子接口的概率之和为1。
如图5b所示,每两个接口之间连线上的数字表示该两个接口之间的第一权重(即概率),其中,每一个接口对应的至少一条连线的第一权重之和(也即概率之和)为1。比如,接口A和接口B连线上的数字2/3表示接口A调用接口B的概率是2/3,接口A和接口C连线上的数字1/3表示接口A调用接口C的概率是1/3,接口A两条连线的第一权重之和为2/3+1/3=1。
进一步的,如图6所示,本申请实施例提供的基于流量剪枝的测试方法中,确定所述第一接口之间的传输逻辑,包括:
S601、从获取的所述流量中,选取对应于同一访问事件的流量集。
在本申请实施例中,一个访问事件包括以下事件之一:乘客访问事件、司机访问事件、一个订单事件(包括:对应于同一个订单的司机和乘客分别对应的访问事件)。其中,每一个访问事件对应有一流量集,该流量集中至少包括一条流量。
比如,乘客访问事件对应的流量集包括:乘客打开网约车客户端(流量1)、弹出广告(流量2)、推荐上车点(流量3)、查看历史订单(流量4)。
再比如,一个订单事件对应的流量集包括:乘客打开网约车客户端(流量1)、弹出广告(流量2)、推荐上车点(流量3)、输入目的地(流量4)、发单(流量5),付款(流量6)、司机打开网约车客户端(流量7)、弹出广告(流量8)、接单(流量9)、确认到达目的地(流量10)。
本申请实施例中,从获取的线上流量中,选取对应于同一访问事件的流量集,得到至少一个流量集;其中,每个流量集对应于一个访问事件,不同的流量集对应的访问事件不同,并且每个流量集中至少包括一条流量。
S602、针对每一访问事件对应的流量集,根据该流量集中第一接口信息表征的第一接口之间的调用顺序,确定所述第一接口之间的传输逻辑。
在本申请实施例中,针对对应于每一个访问事件的流量集,获取该流量集中的第一接口信息,基于该第一接口信息表征的第一接口之间的调用顺序,确定对应于该流量集的第一接口之间的传输逻辑;当对所有访问事件的流量集进行上述处理后,得到对应于所有流量集的第一接口之间的传输逻辑。
进一步的,如图7所示,本申请实施例提供的基于流量剪枝的测试方法中,所述基于所述接口关系图以及每一个接口对应的至少一个请求参数,生成所述测试流量集,包括:
S701、基于所述接口关系图中任意两个接口之间进行数据传输的概率,从所述接口关系图中选取至少一条测试接口链路,得到测试接口链路集。
在本申请实施例中,接口关系图即接口树状图,针对接口树状图中的每一个接口,该接口作为父接口调用其子接口时,基于该接口分别与其对应的各个子接口进行数据传输的概率(即进行调用的概率),确定该接口对应的调用子接口,进而得到测试接口链路;通过上述方式选取多个测试接口链路,组成测试接口链路集。其中,测试接口链路集中包括进行调用的概率较大的子接口对应的测试接口链路较多。
如图5b所示,接口A作为父接口时,其对应的子接口为接口B和接口C,接口A调用接口B的概率是2/3,接口A调用接口C的概率是1/3,因此,选取的测试接口链路集中,包括接口A调用接口B的链路较多。
比如,基于随机化算法对接口关系图进行流量膨胀(即流量扩充),得到的测试接口链为:A->B->D、A->B->E->G、A->C->E->G、A->C->F。
S702、针对所述测试接口链路集中的每一个测试接口链路,为该测试接口链路中的每一个接口分配目标请求参数,得到所述测试接口链路集对应的测试流量集。
在本申请实施例中,基于获取的流量中包括的接口信息和请求参数,确定每一个接口信息表征的接口对应的至少一个请求参数;针对该测试接口链路中的每一个接口,从该接口对应的至少一个请求参数中随机选取一个请求参数,作为该接口对应的目标请求参数。
举例来讲,首先确定接口1对应的请求参数,比如,接口1对应请求参数1、请求参数2和请求参数3,相应的,可以从请求参数1、请求参数2和请求参数3中随机选取一个请求参数(比如请求参数2),作为接口1对应的目标请求参数。
进一步的,本申请实施例中,测试的目的不同,对应的测试方式也不同,具体如下:
第一,如图8所示,在回归测试中,本申请实施例提供的基于流量剪枝的测试方法中,所述基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果,包括:
S801、将所述目标测试流量分别输入到待测试系统和基准系统中,得到所述待测试系统对所述目标测试流量的第一响应结果和所述基准系统对所述目标测试流量的第二响应结果。
S802、根据所述第一响应结果和所述第二响应结果,生成所述待测试系统的测试结果。
第二,在压力测试或者问题排查测试中,本申请实施例提供的基于流量剪枝的测试方法中,所述基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果,包括:
将所述目标测试流量输入到待测试系统中,根据所述待测试系统对所述目标测试流量的第三响应结果,生成所述待测试系统的测试结果。
本申请实施例提供的一种基于流量剪枝的测试方法,通过降低测试流量集中测试流量的冗余度,从中选取能够覆盖多维层次的更加全面的目标测试流量,并基于目标测试流量对待测试系统进行测试,减少了处理资源的消耗,节省了处理资源,并且,缩短了测试周期,提高了测试效率。
基于同一发明构思,本申请实施例中还提供了与基于流量剪枝的测试方法对应的基于流量剪枝的测试装置,由于本申请实施例中的系统解决问题的原理与本申请实施例上述基于流量剪枝的测试方法相似,因此系统的实施可以参见方法的实施,重复之处不再赘述。
如图9所示,本申请实施例还提供了一种基于流量剪枝的测试装置,所述测试装置包括:
第一获取模块901,用于获取第一预设时间段内目标测试系统对应的测试流量集;其中,所述测试流量集中包括多条测试流量,所述目标测试系统中包括用于响应所述测试流量的至少一个代码模块,每个所述代码模块具有至少一行代码;
第二获取模块902,用于基于所述目标测试系统针对所述测试流量集中多条测试流量的响应结果,获取每一条测试流量对应的代码行覆盖文件信息;
第一选取模块903,用于基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量;
测试模块904,用于基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果。
在一种可能的实施方式中,所述代码行覆盖文件信息包括:代码行覆盖文件个数和代码行覆盖文件标识;第一选取模块903在基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量时,包括:
基于每一条测试流量对应的代码行覆盖文件个数,从多条测试流量中选取对应的代码行覆盖文件个数最大的第一测试流量;
基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量;
根据所述第一测试流量和所述第二测试流量,确定所述目标测试流量。
在一种可能的实施方式中,第一选取模块903在基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量时,包括:
基于每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数;
基于每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数,从所述其他测试流量中选取对应的差异代码行覆盖文件个数满足第一预设条件的候选其他测试流量;
基于每一条候选其他测试流量与所述第一测试流量的差异代码行覆盖文件个数,确定对应的差异代码行覆盖文件个数最大的候选其他测试流量为所述第二测试流量。
在一种可能的实施方式中,第一选取模块903在确定对应的差异代码行覆盖文件个数最大的候选其他测试流量为所述第二测试流量之后,还包括:
若存在除选取的第二测试流量之外的其他测试流量,则将所述第一测试流量和所述第二测试流量合并后的测试流量确定为新的第一测试流量,并返回基于每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数的步骤,直至不存在除选取的第二测试流量之外的其他测试流量。
在一种可能的实施方式中,第一选取模块903在从所述其他测试流量中选取对应的差异代码行覆盖文件个数满足第一预设条件的候选其他测试流量之后,还包括:
若存在多个对应的差异代码行覆盖文件个数最大的候选其他测试流量,则基于多个所述候选其他测试流量分别对应的接口个数,选取对应的接口个数符合第二预设条件的候选其他测试流量,作为所述第二测试流量。
在一种可能的实施方式中,第一选取模块903在基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量时,包括:
选取任一条其他测试流量作为候选测试流量,基于所述候选测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定所述候选测试流量与所述第一测试流量的差异代码行覆盖文件个数;
若所述差异代码行覆盖文件个数满足第三预设条件,则确定所述候选测试流量为所述第二测试流量。
在一种可能的实施方式中,第一选取模块903在确定所述候选测试流量为所述第二测试流量之后,还包括:
若存在除选取的候选测试流量之外的其他测试流量,则再次选取任一条其他测试流量作为候选测试流量,并将所述第一测试流量和所述第二测试流量合并后的测试流量确定为新的第一测试流量,返回基于所述候选测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定所述候选测试流量与所述第一测试流量的差异代码行覆盖文件个数的步骤,直至不存在除选取的候选测试流量之外的其他测试流量。
在一种可能的实施方式中,第一获取模块901在获取第一预设时间段内目标测试系统对应的测试流量集时,包括:
获取第二预设时间段内线上的流量;其中,每一条所述流量中包括接口信息和请求参数;
基于预设的第一接口之间的传输逻辑,生成所述流量中所述接口信息表征的接口对应的接口关系图;
基于所述接口关系图以及每一个接口对应的至少一个请求参数,生成所述测试流量集。
在一种可能的实施方式中,第一获取模块901在基于预设的第一接口之间的传输逻辑,生成所述流量中所述接口信息表征的接口对应的接口关系图时,包括:
基于所述第一接口之间的传输逻辑以及任意两个接口之间进行数据传输的概率,生成所述流量中所述接口信息表征的接口对应的接口关系图。
在一种可能的实施方式中,所述测试装置包括:
第二选取模块,用于从获取的所述流量中,选取对应于同一访问事件的流量集;
确定模块,用于针对每一访问事件对应的流量集,根据该流量集中第一接口信息表征的第一接口之间的调用顺序,确定所述第一接口之间的传输逻辑。
在一种可能的实施方式中,所述第一获取模块在基于所述接口关系图以及每一个接口对应的至少一个请求参数,生成所述测试流量集时,包括:
基于所述接口关系图中任意两个接口之间进行数据传输的概率,从所述接口关系图中选取至少一条测试接口链路,得到测试接口链路集;
针对所述测试接口链路集中的每一个测试接口链路,为该测试接口链路中的每一个接口分配目标请求参数,得到所述测试接口链路集对应的测试流量集。
在一种可能的实施方式中,所述第一获取模块在为该测试接口链路中的每一个接口分配目标请求参数时,包括:
基于所述流量包括的接口信息和请求参数,确定每一个接口信息表征的接口对应的至少一个请求参数;
针对该测试接口链路中的每一个接口,从该接口对应的至少一个请求参数中随机选取一个请求参数,作为该接口对应的目标请求参数。
在一种可能的实施方式中,所述测试模块在基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果时,包括:
将所述目标测试流量分别输入到待测试系统和基准系统中,得到所述待测试系统对所述目标测试流量的第一响应结果和所述基准系统对所述目标测试流量的第二响应结果;
根据所述第一响应结果和所述第二响应结果,生成所述待测试系统的测试结果。
在一种可能的实施方式中,所述测试模块在基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果时,包括:
将所述目标测试流量输入到待测试系统中,根据所述待测试系统对所述目标测试流量的第三响应结果,生成所述待测试系统的测试结果。
本申请实施例提供的一种基于流量剪枝的测试装置,通过降低测试流量集中测试流量的冗余度,从中选取能够覆盖多维层次的更加全面的目标测试流量,并基于目标测试流量对待测试系统进行测试,减少了处理资源的消耗,节省了处理资源,并且,缩短了测试周期,提高了测试效率。
如图10所示,本申请实施例提供的一种电子设备1000,包括:处理器1001、存储器1002和总线,所述存储器1002存储有所述处理器1001可执行的机器可读指令,当电子设备运行时,所述处理器1001与所述存储器1002之间通过总线通信,所述处理器1001执行所述机器可读指令,以执行如上述基于流量剪枝的测试方法的步骤。
具体地,上述存储器1002和处理器1001能够为通用的存储器和处理器,这里不做具体限定,当处理器1001运行存储器1002存储的计算机程序时,能够执行上述第一服务器对应的基于流量剪枝的测试方法。
对应于上述基于流量剪枝的测试方法,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述基于流量剪枝的测试方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述测试方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (28)

1.一种基于流量剪枝的测试方法,其特征在于,所述测试方法包括:
获取第一预设时间段内目标测试系统对应的测试流量集;其中,所述测试流量集中包括多条测试流量,所述目标测试系统中包括用于响应所述测试流量的至少一个代码模块,每个所述代码模块具有至少一行代码;
基于所述目标测试系统针对所述测试流量集中多条测试流量的响应结果,获取每一条测试流量对应的代码行覆盖文件信息;
基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量;
基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果;
所述代码行覆盖文件信息包括:代码行覆盖文件个数和代码行覆盖文件标识;所述基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量,包括:
基于每一条测试流量对应的代码行覆盖文件个数,从多条测试流量中选取对应的代码行覆盖文件个数最大的第一测试流量;
基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量;其中,所述第二测试流量为与所述第一测试流量对应的差异代码行覆盖文件个数满足第一预设条件中的其他测试流量中的至少一个;
根据所述第一测试流量和所述第二测试流量,确定所述目标测试流量。
2.根据权利要求1所述的基于流量剪枝的测试方法,其特征在于,所述基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量,包括:
基于每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数;
基于每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数,从所述其他测试流量中选取对应的差异代码行覆盖文件个数满足第一预设条件的候选其他测试流量;
基于每一条候选其他测试流量与所述第一测试流量的差异代码行覆盖文件个数,确定对应的差异代码行覆盖文件个数最大的候选其他测试流量为所述第二测试流量。
3.根据权利要求2所述的基于流量剪枝的测试方法,其特征在于,在确定对应的差异代码行覆盖文件个数最大的候选其他测试流量为所述第二测试流量之后,所述测试方法还包括:
若存在除选取的第二测试流量之外的其他测试流量,则将所述第一测试流量和所述第二测试流量合并后的测试流量确定为新的第一测试流量,并返回基于每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数的步骤,直至不存在除选取的第二测试流量之外的其他测试流量。
4.根据权利要求2所述的基于流量剪枝的测试方法,其特征在于,在从所述其他测试流量中选取对应的差异代码行覆盖文件个数满足第一预设条件的候选其他测试流量之后,所述测试方法还包括:
若存在多个对应的差异代码行覆盖文件个数最大的候选其他测试流量,则基于多个所述候选其他测试流量分别对应的接口个数,选取对应的接口个数符合第二预设条件的候选其他测试流量,作为所述第二测试流量。
5.根据权利要求1所述的基于流量剪枝的测试方法,其特征在于,所述基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量,包括:
选取任一条其他测试流量作为候选测试流量,基于所述候选测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定所述候选测试流量与所述第一测试流量的差异代码行覆盖文件个数;
若所述差异代码行覆盖文件个数满足第三预设条件,则确定所述候选测试流量为所述第二测试流量。
6.根据权利要求5所述的基于流量剪枝的测试方法,其特征在于,在确定所述候选测试流量为所述第二测试流量之后,所述测试方法还包括:
若存在除选取的候选测试流量之外的其他测试流量,则再次选取任一条其他测试流量作为候选测试流量,并将所述第一测试流量和所述第二测试流量合并后的测试流量确定为新的第一测试流量,返回基于所述候选测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定所述候选测试流量与所述第一测试流量的差异代码行覆盖文件个数的步骤,直至不存在除选取的候选测试流量之外的其他测试流量。
7.根据权利要求1所述的基于流量剪枝的测试方法,其特征在于,所述获取第一预设时间段内目标测试系统对应的测试流量集,包括:
获取第二预设时间段内线上的流量;其中,每一条所述流量中包括接口信息和请求参数;
基于预设的第一接口之间的传输逻辑,生成所述流量中所述接口信息表征的接口对应的接口关系图;
基于所述接口关系图以及每一个接口对应的至少一个请求参数,生成所述测试流量集。
8.根据权利要求7所述的基于流量剪枝的测试方法,其特征在于,所述基于预设的第一接口之间的传输逻辑,生成所述流量中所述接口信息表征的接口对应的接口关系图,包括:
基于所述第一接口之间的传输逻辑以及任意两个接口之间进行数据传输的概率,生成所述流量中所述接口信息表征的接口对应的接口关系图。
9.根据权利要求7所述的基于流量剪枝的测试方法,其特征在于,确定所述第一接口之间的传输逻辑,包括:
从获取的所述流量中,选取对应于同一访问事件的流量集;
针对每一访问事件对应的流量集,根据该流量集中第一接口信息表征的第一接口之间的调用顺序,确定所述第一接口之间的传输逻辑。
10.根据权利要求8所述的基于流量剪枝的测试方法,其特征在于,所述基于所述接口关系图以及每一个接口对应的至少一个请求参数,生成所述测试流量集,包括:
基于所述接口关系图中任意两个接口之间进行数据传输的概率,从所述接口关系图中选取至少一条测试接口链路,得到测试接口链路集;
针对所述测试接口链路集中的每一个测试接口链路,为该测试接口链路中的每一个接口分配目标请求参数,得到所述测试接口链路集对应的测试流量集。
11.根据权利要求10所述的基于流量剪枝的测试方法,其特征在于,所述为该测试接口链路中的每一个接口分配目标请求参数,包括:
基于所述流量包括的接口信息和请求参数,确定每一个接口信息表征的接口对应的至少一个请求参数;
针对该测试接口链路中的每一个接口,从该接口对应的至少一个请求参数中随机选取一个请求参数,作为该接口对应的目标请求参数。
12.根据权利要求1所述的基于流量剪枝的测试方法,其特征在于,所述基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果,包括:
将所述目标测试流量分别输入到待测试系统和基准系统中,得到所述待测试系统对所述目标测试流量的第一响应结果和所述基准系统对所述目标测试流量的第二响应结果;
根据所述第一响应结果和所述第二响应结果,生成所述待测试系统的测试结果。
13.根据权利要求1所述的基于流量剪枝的测试方法,其特征在于,所述基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果,包括:
将所述目标测试流量输入到待测试系统中,根据所述待测试系统对所述目标测试流量的第三响应结果,生成所述待测试系统的测试结果。
14.一种基于流量剪枝的测试装置,其特征在于,所述测试装置包括:
第一获取模块,用于获取第一预设时间段内目标测试系统对应的测试流量集;其中,所述测试流量集中包括多条测试流量,所述目标测试系统中包括用于响应所述测试流量的至少一个代码模块,每个所述代码模块具有至少一行代码;
第二获取模块,用于基于所述目标测试系统针对所述测试流量集中多条测试流量的响应结果,获取每一条测试流量对应的代码行覆盖文件信息;
第一选取模块,用于基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量;
测试模块,用于基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果;
所述代码行覆盖文件信息包括:代码行覆盖文件个数和代码行覆盖文件标识;所述第一选取模块在基于每一条测试流量对应的代码行覆盖文件信息,从多条所述测试流量中选取目标测试流量时,包括:
基于每一条测试流量对应的代码行覆盖文件个数,从多条测试流量中选取对应的代码行覆盖文件个数最大的第一测试流量;
基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量;其中,所述第二测试流量为与所述第一测试流量对应的差异代码行覆盖文件个数满足第一预设条件中的其他测试流量中的至少一个;
根据所述第一测试流量和所述第二测试流量,确定所述目标测试流量。
15.根据权利要求14所述的基于流量剪枝的测试装置,其特征在于,所述第一选取模块在基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量时,包括:
基于每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数;
基于每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数,从所述其他测试流量中选取对应的差异代码行覆盖文件个数满足第一预设条件的候选其他测试流量;
基于每一条候选其他测试流量与所述第一测试流量的差异代码行覆盖文件个数,确定对应的差异代码行覆盖文件个数最大的候选其他测试流量为所述第二测试流量。
16.根据权利要求15所述的基于流量剪枝的测试装置,其特征在于,所述第一选取模块在确定对应的差异代码行覆盖文件个数最大的候选其他测试流量为所述第二测试流量之后,还包括:
若存在除选取的第二测试流量之外的其他测试流量,则将所述第一测试流量和所述第二测试流量合并后的测试流量确定为新的第一测试流量,并返回基于每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定每一条其他测试流量与所述第一测试流量的差异代码行覆盖文件个数的步骤,直至不存在除选取的第二测试流量之外的其他测试流量。
17.根据权利要求15所述的基于流量剪枝的测试装置,其特征在于,在第一选取模块在从所述其他测试流量中选取对应的差异代码行覆盖文件个数满足第一预设条件的候选其他测试流量之后,还包括:
若存在多个对应的差异代码行覆盖文件个数最大的候选其他测试流量,则基于多个所述候选其他测试流量分别对应的接口个数,选取对应的接口个数符合第二预设条件的候选其他测试流量,作为所述第二测试流量。
18.根据权利要求14所述的基于流量剪枝的测试装置,其特征在于,所述第一选取模块在基于多条测试流量中除所述第一测试流量之外的每一条其他测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,从所述其他测试流量中选取第二测试流量时,包括:
选取任一条其他测试流量作为候选测试流量,基于所述候选测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定所述候选测试流量与所述第一测试流量的差异代码行覆盖文件个数;
若所述差异代码行覆盖文件个数满足第三预设条件,则确定所述候选测试流量为所述第二测试流量。
19.根据权利要求18所述的基于流量剪枝的测试装置,其特征在于,所述第一选取模块在确定所述候选测试流量为所述第二测试流量之后,还包括:
若存在除选取的候选测试流量之外的其他测试流量,则再次选取任一条其他测试流量作为候选测试流量,并将所述第一测试流量和所述第二测试流量合并后的测试流量确定为新的第一测试流量,返回基于所述候选测试流量对应的代码行覆盖文件标识与所述第一测试流量对应的代码行覆盖文件标识,确定所述候选测试流量与所述第一测试流量的差异代码行覆盖文件个数的步骤,直至不存在除选取的候选测试流量之外的其他测试流量。
20.根据权利要求14所述的基于流量剪枝的测试装置,其特征在于,所述第一获取模块在获取第一预设时间段内目标测试系统对应的测试流量集时,包括:
获取第二预设时间段内线上的流量;其中,每一条所述流量中包括接口信息和请求参数;
基于预设的第一接口之间的传输逻辑,生成所述流量中所述接口信息表征的接口对应的接口关系图;
基于所述接口关系图以及每一个接口对应的至少一个请求参数,生成所述测试流量集。
21.根据权利要求20所述的基于流量剪枝的测试装置,其特征在于,所述第一获取模块在基于预设的第一接口之间的传输逻辑,生成所述流量中所述接口信息表征的接口对应的接口关系图时,包括:
基于所述第一接口之间的传输逻辑以及任意两个接口之间进行数据传输的概率,生成所述流量中所述接口信息表征的接口对应的接口关系图。
22.根据权利要求20所述的基于流量剪枝的测试装置,其特征在于,所述测试装置包括:
第二选取模块,用于从获取的所述流量中,选取对应于同一访问事件的流量集;
确定模块,用于针对每一访问事件对应的流量集,根据该流量集中第一接口信息表征的第一接口之间的调用顺序,确定所述第一接口之间的传输逻辑。
23.根据权利要求21所述的基于流量剪枝的测试装置,其特征在于,所述第一获取模块在基于所述接口关系图以及每一个接口对应的至少一个请求参数,生成所述测试流量集时,包括:
基于所述接口关系图中任意两个接口之间进行数据传输的概率,从所述接口关系图中选取至少一条测试接口链路,得到测试接口链路集;
针对所述测试接口链路集中的每一个测试接口链路,为该测试接口链路中的每一个接口分配目标请求参数,得到所述测试接口链路集对应的测试流量集。
24.根据权利要求23所述的基于流量剪枝的测试装置,其特征在于,所述第一获取模块在为该测试接口链路中的每一个接口分配目标请求参数时,包括:
基于所述流量包括的接口信息和请求参数,确定每一个接口信息表征的接口对应的至少一个请求参数;
针对该测试接口链路中的每一个接口,从该接口对应的至少一个请求参数中随机选取一个请求参数,作为该接口对应的目标请求参数。
25.根据权利要求14所述的基于流量剪枝的测试装置,其特征在于,所述测试模块在基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果时,包括:
将所述目标测试流量分别输入到待测试系统和基准系统中,得到所述待测试系统对所述目标测试流量的第一响应结果和所述基准系统对所述目标测试流量的第二响应结果;
根据所述第一响应结果和所述第二响应结果,生成所述待测试系统的测试结果。
26.根据权利要求14所述的基于流量剪枝的测试装置,其特征在于,所述测试模块在基于所述目标测试流量对待测试系统进行测试,得到所述待测试系统的测试结果时,包括:
将所述目标测试流量输入到待测试系统中,根据所述待测试系统对所述目标测试流量的第三响应结果,生成所述待测试系统的测试结果。
27.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至13任一项所述的基于流量剪枝的测试方法的步骤。
28.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至13任一项所述的基于流量剪枝的测试方法的步骤。
CN201911311875.2A 2019-12-18 2019-12-18 基于流量剪枝的测试方法、装置、电子设备及存储介质 Active CN111078560B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911311875.2A CN111078560B (zh) 2019-12-18 2019-12-18 基于流量剪枝的测试方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911311875.2A CN111078560B (zh) 2019-12-18 2019-12-18 基于流量剪枝的测试方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111078560A CN111078560A (zh) 2020-04-28
CN111078560B true CN111078560B (zh) 2020-12-01

Family

ID=70315563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911311875.2A Active CN111078560B (zh) 2019-12-18 2019-12-18 基于流量剪枝的测试方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111078560B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559361A (zh) * 2020-12-22 2021-03-26 京东数字科技控股股份有限公司 流量回放方法、装置、设备及计算机可读介质
CN113852571B (zh) * 2021-08-20 2023-11-28 阿里巴巴(中国)有限公司 分配流量的方法以及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529896B2 (en) * 2011-01-18 2016-12-27 Netspark Ltd Hierarchical online-content filtering device and method
CN102426551A (zh) * 2011-11-04 2012-04-25 百度在线网络技术(北京)有限公司 测试数据筛选方法及装置、测试数据构造方法及装置
CN103218298B (zh) * 2013-05-16 2016-12-28 百度在线网络技术(北京)有限公司 搜索引擎的测试用例筛选、相关性策略测试方法和装置
CN105404585B (zh) * 2015-12-01 2018-09-04 腾讯科技(深圳)有限公司 获取代码覆盖率的方法及装置
US10394695B2 (en) * 2017-09-25 2019-08-27 Oracle International Corporation Method and system for recording and debugging process flows
CN110059003B (zh) * 2019-03-20 2023-06-06 北京三快在线科技有限公司 自动化测试方法、装置、电子设备及可读存储介质
CN110221965B (zh) * 2019-05-09 2023-01-20 创新先进技术有限公司 测试用例生成、测试方法、装置、设备及系统
CN110413523B (zh) * 2019-07-26 2023-07-25 百度时代网络技术(北京)有限公司 引流测试方法、引流测试中台及计算机可读存储介质

Also Published As

Publication number Publication date
CN111078560A (zh) 2020-04-28

Similar Documents

Publication Publication Date Title
CN111083013B (zh) 基于流量回放的测试方法、装置、电子设备及存储介质
CN110688598B (zh) 业务参数采集方法、装置、计算机设备和存储介质
US10887184B2 (en) Method for gathering traffic analytics data about a communication network
CN108696399B (zh) 业务服务的测试方法和装置
US8386848B2 (en) Root cause analysis for complex event processing
KR20150065837A (ko) 가입자 이탈 예측들을 생성하기 위한 시스템 및 방법
US8850398B1 (en) Automated testing of application programs from an application program ecosystem
CN110689084B (zh) 一种异常用户识别方法及装置
CN111078560B (zh) 基于流量剪枝的测试方法、装置、电子设备及存储介质
US20170372347A1 (en) Sequence-based marketing attribution model for customer journeys
CN111612085B (zh) 一种对等组中异常点的检测方法及装置
CN107203464B (zh) 业务问题的定位方法以及装置
CN112769943A (zh) 一种业务处理的方法及装置
US20090157682A1 (en) Managing maintenance tasks for computer programs
CN113986062A (zh) 信息处理方法、装置及存储介质
CN112163154B (zh) 数据处理方法、装置、设备及存储介质
CN108229133A (zh) 一种业务操作方法及装置、业务权限获取方法及装置
CN109582829B (zh) 一种处理方法、装置、设备及可读存储介质
CN111966506B (zh) 基于不同应用程序的内容分享方法和计算机设备
CN112242951B (zh) 一种虚拟网映射方法和装置
US20220351054A1 (en) Systems and methods for generating customer journeys for an application based on process management rules
CN112445671A (zh) 链路跟踪方法、装置以及计算机系统
CN114281702A (zh) 信息推送模型测试方法、装置、设备、介质及产品
CN112215289A (zh) 样本的聚类方法、服务端、客户端、设备和可读存储介质
CN110781439A (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
GR01 Patent grant
GR01 Patent grant