测试用例库的生成方法、装置、设备及存储介质制造方法及图纸

技术编号:33066643 阅读:18 留言:0更新日期:2022-04-15 09:57
本申请实施例提供了一种测试用例库的生成方法、装置、设备及存储介质,涉及计算机和程序测试技术领域。所述方法包括:获取第一版本的测试程序的多个录制流量,以及第二版本的测试程序的打桩后程序,打桩后程序用于获取流量回放过程中触发的程序模块和触发顺序;在测试环境中执行打桩后程序并回放录制流量,得到录制流量对应的测试流量以及测试流量触发的程序模块和触发顺序;根据测试流量触发的程序模块和触发顺序,生成测试用例库,测试用例库用于对测试程序进行测试。本申请实施例提供的技术方案,能够提升程序测试的准确性。能够提升程序测试的准确性。能够提升程序测试的准确性。

【技术实现步骤摘要】
测试用例库的生成方法、装置、设备及存储介质


[0001]本申请实施例涉及计算机和程序测试
,特别涉及一种测试用例库的生成方法、装置、设备及存储介质。

技术介绍

[0002]在程序开发和维护的过程中,经常需要对程序进行测试。
[0003]在相关技术中,采用录制流量在测试环境中执行测试程序并进行流量回放,再对流量回放得到的测试流量进行分析,从而得到测试结果,其中,通过流量回放获得的数量较多的测试流量称为高频流量,数量较少的测试流量称为低频流量。
[0004]在上述相关技术中,由于直接对流量回放得到的测试流量进行分析,因而需要分析的测试流量中,高频流量过多且低频流量过少,以至于无法获取到足够数量的低频流量对测试程序进行测试,从而导致程序测试不够准确。

技术实现思路

[0005]本申请实施例提供了一种测试用例库的生成方法、装置、设备及存储介质,能够提升程序测试的准确性。所述技术方案如下:
[0006]根据本申请实施例的一个方面,提供了一种测试用例库的生成方法,所述方法包括:
[0007]获取第一版本的测试程序的多个录制流量,以及第二版本的测试程序的打桩后程序,所述打桩后程序用于获取流量回放过程中触发的程序模块和触发顺序;
[0008]在测试环境中执行所述打桩后程序并回放所述录制流量,得到所述录制流量对应的测试流量以及所述测试流量触发的程序模块和触发顺序;
[0009]根据所述测试流量触发的程序模块和触发顺序,生成测试用例库,所述测试用例库用于对所述测试程序进行测试。
[0010]根据本申请实施例的一个方面,提供了一种测试用例库的生成装置,所述装置包括:
[0011]第一获取模块,用于获取第一版本的测试程序的多个录制流量,以及第二版本的测试程序的打桩后程序,所述打桩后程序用于获取流量回放过程中触发的程序模块和触发顺序;
[0012]流量回放模块,用于在测试环境中执行所述打桩后程序并回放所述录制流量,得到所述录制流量对应的测试流量以及所述测试流量触发的程序模块和触发顺序;
[0013]用例库生成模块,用于根据所述测试流量触发的程序模块和触发顺序,生成测试用例库,所述测试用例库用于对所述测试程序进行测试。
[0014]在一些实施例中,所述打桩后程序包括多个所述程序模块以及各个所述程序模块对应的桩点;所述流量回放模块,用于:
[0015]所述在测试环境中执行所述打桩后程序并回放所述录制流量,得到所述录制流量
对应的测试流量以及所述测试流量触发的程序模块和触发顺序,包括:
[0016]根据所述测试流量触发的程序模块和触发顺序,生成所述测试流量对应的执行桩点序列;
[0017]其中,所述执行桩点序列包括多个按序排列的桩点,所述执行桩点序列用于指示所述测试流量触发的程序模块和触发顺序。
[0018]在一些实施例中,所述用例库生成模块,用于:
[0019]将所述测试流量按照对应的执行桩点序列进行分类,得到至少一类测试流量,同一类的测试流量对应的执行桩点序列相同;
[0020]对于同一类的测试流量,若所述测试流量的数量超过门限值数量,则将超过所述门限值数量的测试流量舍去,并保留所述门限值数量的测试流量在所述测试用例库中;
[0021]对于同一类的测试流量,若所述测试流量的数量小于所述门限值数量,则将小于所述门限值数量的测试流量保留在所述测试用例库中。
[0022]在一些实施例中,所述装置还包括:序列确定模块和序列比对模块;
[0023]所述序列确定模块,用于根据所述打桩后程序,确定所述打桩后程序中待触发的执行桩点序列;
[0024]所述序列比对模块,用于比对已触发的执行桩点序列和所述待触发的执行桩点序列,确定所述待触发的执行桩点序列中,仍未被触发的执行桩点序列;
[0025]所述流量回放模块,还用于在所述测试环境中继续执行所述打桩后程序并回放所述录制流量,直到所述待触发的执行桩点序列均被触发过至少n次,所述n为正整数。
[0026]在一些实施例中,所述第一获取模块包括:桩点确定子模块和代码插入子模块;
[0027]所述桩点确定子模块,用于确定所述第二版本的测试程序中的桩点;
[0028]所述代码插入子模块,用于在所述桩点插入监测代码得到所述打桩后程序,所述监测代码用于监测所述测试流量触发的程序模块和触发顺序。
[0029]在一些实施例中,所述桩点确定子模块,用于:
[0030]扫描所述第二版本的测试程序的源代码,获取所述第二版本的测试程序的源代码的逻辑结构;
[0031]基于所述第二版本的测试程序的源代码的逻辑结构,确定所述桩点的标识和所述桩点的顺序。
[0032]在一些实施例中,所述代码插入子模块,用于:
[0033]在所述第二版本的测试程序的源代码的桩点插入所述监测代码,得到打桩后的源代码;
[0034]对所述打桩后的源代码进行编译,得到所述打桩后程序。
[0035]在一些实施例中,所述第二版本的测试程序与所述第一版本的测试程序为所述测试程序的同一版本;或,所述第二版本的测试程序是对所述第一版本的测试程序进行修改后得到的程序。
[0036]根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述测试用例库的生成方法。
[0037]根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述测试用例库的生成方法。
[0038]根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行上述测试用例库的生成方法。
[0039]本申请实施例提供的技术方案可以包括如下有益效果:
[0040]通过在测试环境中执行打桩后程序并回放录制流量,并根据得到的测试流量生成测试用例库,从而将流量回放技术和打桩技术结合,可以对测试流量进行筛选,从而可以舍去测试流量中多余的高频流量,并通过多次流量回放累积低频流量,从而提升程序测试的准确性。
[0041]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0042]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试用例库的生成方法,其特征在于,所述方法包括:获取第一版本的测试程序的多个录制流量,以及第二版本的测试程序的打桩后程序,所述打桩后程序用于获取流量回放过程中触发的程序模块和触发顺序;在测试环境中执行所述打桩后程序并回放所述录制流量,得到所述录制流量对应的测试流量以及所述测试流量触发的程序模块和触发顺序;根据所述测试流量触发的程序模块和触发顺序,生成测试用例库,所述测试用例库用于对所述测试程序进行测试。2.根据权利要求1所述的方法,其特征在于,所述打桩后程序包括多个所述程序模块以及各个所述程序模块对应的桩点;所述在测试环境中执行所述打桩后程序并回放所述录制流量,得到所述录制流量对应的测试流量以及所述测试流量触发的程序模块和触发顺序,包括:根据所述测试流量触发的程序模块和触发顺序,生成所述测试流量对应的执行桩点序列;其中,所述执行桩点序列包括多个按序排列的桩点,所述执行桩点序列用于指示所述测试流量触发的程序模块和触发顺序。3.根据权利要求2所述的方法,其特征在于,所述根据所述测试流量触发的程序模块和触发顺序,生成测试用例库,包括:将所述测试流量按照对应的执行桩点序列进行分类,得到至少一类测试流量,同一类的测试流量对应的执行桩点序列相同;对于同一类的测试流量,若所述测试流量的数量超过门限值数量,则将超过所述门限值数量的测试流量舍去,并保留所述门限值数量的测试流量在所述测试用例库中;对于同一类的测试流量,若所述测试流量的数量小于所述门限值数量,则将小于所述门限值数量的测试流量保留在所述测试用例库中。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:根据所述打桩后程序,确定所述打桩后程序中待触发的执行桩点序列;比对已触发的执行桩点序列和所述待触发的执行桩点序列,确定所述待触发的执行桩点序列中,仍未被触发的执行桩点序列;在所述测试环境中继续执行所述打桩后程序并回放所述录制流量,直到所述待触发的执行桩点序列均被触发过至少n次,所述n为正整数。5.根据权利要求1所述的方法,其特征在于,所述获取第二版本的测试程序的打桩后程序,包括:确定所述第二版本的测试程序中...

【专利技术属性】
技术研发人员:陈超王鹏程郭计伟苏士杰李鑫
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1