CN111949552A - 测试用例集生成方法、装置、计算机设备及存储介质 - Google Patents
测试用例集生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111949552A CN111949552A CN202010915898.0A CN202010915898A CN111949552A CN 111949552 A CN111949552 A CN 111949552A CN 202010915898 A CN202010915898 A CN 202010915898A CN 111949552 A CN111949552 A CN 111949552A
- Authority
- CN
- China
- Prior art keywords
- test case
- test
- node
- parameter
- attraction
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
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)
Abstract
本申请实施例提供一种测试用例集生成方法、装置、计算机设备及存储介质。该方法包括:通过至少一个虚拟对象根据对应关系、测试用例的测试成本执行至少一轮迭代过程,得到最小测试用例集;在一轮迭代过程中,对于每一个虚拟对象,根据测试用例满足的测试需求的数量与测试用例的测试成本,获取虚拟对象由第一节点到测试用例对应的第二节点的概率,根据概率在第二节点中确定目标节点,将目标节点对应的目标测试用例添加至最小测试用例集。本申请实施例提供的技术方案,可以去除原始测试用例集中的冗余测试用例,进而减小测试成本,缩短测试时长,提高测试效率。
Description
技术领域
本申请实施例涉及互联网技术领域,特别涉及一种测试用例集生成方法、装置、计算机设备及存储介质。
背景技术
通用验证方法学(Universal Verification Methodology,UVM)是一个以SystemVerilog类库为主体的验证平台开发框架,验证工程师可以利用其可重用组件构建具有标准化层次结构和接口的功能验证环境。
相关技术中,若设计数字电路时产生新的测试需求或者测试需求被修改时,则需要新增测试用例来对上述新的测试需求或者被修改的测试需求进行验证。长此以往,会导致测试用例越来越多,后续对测试需求进行验证时,由于测试用例冗余,导致验证测试需求所需的时间、成本大大增加。
发明内容
本申请实施例提供一种测试用例集生成方法、装置、计算机设备及存储介质。所述技术方案如下:
一方面,本申请实施例提供一种测试用例集生成方法,所述方法包括:
在一轮迭代过程中,对于每一个虚拟对象,根据测试用例满足的测试需求的数量与所述测试用例的测试成本,获取所述虚拟对象由第一节点到所述测试用例对应的第二节点的概率,不同的所述第二节点对应原始测试用例集中的不同测试用例;
根据所述概率在所述第二节点中确定目标节点;
将所述目标节点对应的目标测试用例添加至最小测试用例集,所述最小测试用例集包括的所述测试用例的数量小于所述原始测试用例集所包括的所述测试用例的数量另一方面,本申请实施例提供一种测试用例集生成装置,所述装置包括:
概率获取模块,用于在一轮迭代过程中,对于每一个虚拟对象,根据所述测试用例满足的所述测试需求的数量与所述测试用例的测试成本,获取所述虚拟对象由第一节点到所述测试用例对应的第二节点的概率,不同的所述第二节点对应所述原始测试用例集中的不同测试用例;
节点确定模块,用于根据所述概率在所述第二节点中确定目标节点;
测试用例集生成模块,用于将所述目标节点对应的目标测试用例添加至最小测试用例集,所述最小测试用例集包括的所述测试用例的数量小于所述原始测试用例集所包括的所述测试用例的数量。
又一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如一方面所述的测试用例集生成方法。
再一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如第一方面所述的测试用例集生成方法。
再一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面所述的测试用例集生成方法。
本申请实施例提供的技术方案可以带来的有益效果至少包括:
通过采用虚拟对象并基于测试用例的测试成本、测试用例所满足的测试需求来执行迭代过程,以去除原始测试用例集中的冗余测试用例,得到最小测试用例集,后续新增测试需求或者测试需求被修改时,通过执行上述最小测试用例集中的测试用例对上述新增的测试需求以及被修改的测试需求进行验证,可以减小测试成本,缩短测试时长,提高测试效率。
附图说明
图1是本申请实施例提供的生成最小测试用例集的示意图;
图2是本申请一个实施例提供的测试用例集方法的流程图;
图3是本申请一个实施例提供的计算第一节点到第二节点之间的概率的示意图;
图4是本申请一个实施例提供的测试用例集生成方法的流程图;
图5是本申请另一个实施例提供的测试用例集生成装置的框图;
图6是本申请一个示例性实施例示出的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
相关技术中,由于每次产生新的测试需求或测试需求被修改时均会产生新的测试用例,导致原始测试用例集中的测试用例冗余,执行测试用例所需的测试成本较大,测试时间较长。
基于此,本申请实施例提供一种测试用例集生成方法,通过采用虚拟对象并基于测试用例的测试成本、测试用例所满足的测试需求来执行迭代过程,以去除原始测试用例集中的冗余测试用例,得到最小测试用例集,后续新增测试需求或者测试需求被改时,通过执行上述最小测试用例集中的测试用例对上述新增的测试需求以及被修改的测试需求进行验证,可以减小测试成本,缩短测试时长,提高测试效率。
本申请实施例提供的技术方案,各步骤的执行主体为计算机设备。可选地,该计算机设备为服务器,其可以是一台服务器,也可以是多台服务器组成的服务器集群,还可以是一个云计算服务中心。
下面将结合图1对本申请实施例提供的技术方案进行讲解。原始测试用例集包括测试用例A、B、C、D、E、F、G、H;计算机设备结合测试用例的测试成本与测试用例所满足的测试需求的数量两方面因素来确定不同测试用例的吸引度参数,测试用例的吸引度参数越大,则该虚拟对象到达该测试用例对应的节点的路径就越短,测试用例的吸引度参数越小,则该虚拟对象到达该测试用例对应的节点的路径就越长。经过多轮迭代后,选取路径最短的节点对应的测试用例A、B、C、E,并将上述选取的测试用例添加至最小测试用例集。
请参考图2,其示出了本申请一个实施例提供的测试用例集生成方法的流程图。该方法包括:
步骤201,在一轮迭代过程中,对于每一个虚拟对象,根据测试用例满足的测试需求的数量与测试用例的测试成本,获取虚拟对象由第一节点到测试用例对应的第二节点的概率。
虚拟对象是指按照一定规则执行迭代过程的程序或者脚本,其可以是网络爬虫、蠕虫、网络蜘蛛、蚂蚁等。在本申请实施例中,仅以虚拟对象为蚂蚁为例进行说明。虚拟对象的数量由计算机设备默认设定,或者,由相关技术人员自定义设定。示例性地,虚拟对象的数量为100个。
测试用例满足的测试需求的数量从测试用例与测试需求之间的对应关系中获取。测试用例与测试需求之间的对应关系用于指示测试用例所覆盖的测试需求,也即该测试用例用于对哪些测试需求进行测试。
在一种可能的实现方式中,一个测试用例对应一个测试需求。在另一种可能的实现方式中,一个测试用例对应多个测试需求。在又一种可能的实现方式中,多个测试用例对应一个测试需求。结合参考表-1,其示例性示出了本申请一个实施例提供的测试用例与测试需求之间的对应关系。
表-1
测试用例的测试成本用于指示运行该测试用例所需的代价,比如时间、系统资源等等。
第一节点由计算机设备预先设定,例如,第一节点为筛选的最小测试用例集。不同的第二节点对应原始测试用例集中的不同测试用例。
虚拟对象由第一节点到测试用例对应的第二节点的概率,也即是虚拟对象采用第二节点对应的测试用例进行测试的概率,其与测试用例满足的测试需求的数量呈正比,与测试用例的测试成本成反比。也即,测试用例满足的测试需求的数量越多,则虚拟对象由第一节点到测试用例对应的第二节点的概率越大;测试用例满足的测试需求的数量越多,则虚拟对象由第一节点到测试用例对应的第二节点的概率越大;测试用例的测试成本越高,则虚拟对象由第一节点到测试用例对应的第二节点的概率越小,测试用例的测试成本越高,则虚拟对象由第一节点到测试用例对应的第二节点的概率越大。
结合参考图3,第一节点为节点0,第二节点为节点1、节点2、节点3和节点4,计算机设备分别计算虚拟对象从节点0到节点1的概率、从节点0到节点2的概率、从节点0到节点3的概率、从节点0到节点4的概率。
步骤202,根据概率在第二节点中确定目标节点。
可选地,计算机设备将概率最大的第二节点确定为目标节点。
步骤203,将目标节点对应的目标测试用例添加至最小测试用例集。
最小测试用例集所包括的测试用例所满足的测试需求是测试需求集中的全部或部分测试需求。示例性地,最小测试用例集所包括的测试用例所满足的测试需求的第一数量小于测试需求集所包括的测试需求的第二数量,且第一数量和第二数量之间的差值小于预设阈值,上述预设阈值根据实际经验设定,本申请实施例对此不作限定。
计算机设备将目标节点对应的测试用例增加至最小测试用例集,根据测绘用例与测试需求之间的对应关系,将目标节点对应的目标测试用例所满足的测试需求从测试需求集中删除,并从原始测试用例集删除目标测试用例。当测试需求集不为空时,重复上述步骤202-203,直至测试需求集为空;当测试需求集为空时,生成最小测试用例集。测试需求集包含全部测试需求。示例性地,测试需求集包含测试需求1-10,原始测试用例集包含测试用例A、B、C、D,测试用例A满足测试需求1-5,测试用例B满足测试需求1-8、测试用例C满足测试需求7-8,测试用例D满足测试用例5-10。计算机设备计算得到的虚拟对象由第一节点到测试用例A对应的第二节点的概率为0.2,计算机设备计算得到的虚拟对象由第一节点到测试用例B对应的第二节点的概率为0.8,计算机设备计算得到的虚拟对象由第一节点到测试用例C对应的第二节点的概率为0.5,计算机设备计算得到的虚拟对象由第一节点到测试用例D对应的第二节点的概率为0.7。之后,计算机设备先将测试用例B对应的第二节点确定为目标节点,将测试用例B添加至最小测试用例集,将测试用例B满足的测试需求1-8从测试需求集删除,将测试用例B从原始测试用例集删除,之后将测试用例D对应的第二节点确定为目标节点,将测试用例D添加至最小测试用例集,将测试用例B满足的测试需求9-10从测试需求集删除,将测试用例D从原始测试用例集删除。此时,测试需求集为空,得到最小测试用例集包括测试用例B和D。综上所述,本申请实施例提供的技术方案,通过采用虚拟对象并基于测试用例的测试成本、测试用例所满足的测试需求来执行迭代过程,以去除原始测试用例集中的冗余测试用例,得到最小测试用例集,后续新增测试需求或者测试需求被改时,通过执行上述最小测试用例集中的测试用例对上述新增的测试需求以及被修改的测试需求进行验证,可以减小测试成本,缩短测试时长,提高测试效率。
下面对如何计算虚拟对象由第一节点到测试用例对应的第二节点的概率进行讲解。在基于图2所示实施例提供的可选实施例中,步骤201实现为如下子步骤:
步骤201a,获取测试用例的吸引度参数;
测试用例的吸引度参数与测试用例的测试成本呈反比,也即测试用例的测试成本越高,则测试用例的吸引度参数越小,测试用例的测试成本越低,则测试用例的吸引度参数越大。测试用例的吸引度参数与测试用例满足的测试需求的数量呈正比,也即测试用例满足的测试需求的数量越多,则吸引度参数越大,测试用例满足的测试需求的数量越少,则测试用例的吸引度参数越小。
可选地,测试用例的吸引度参数用于指示测试用例满足的测试需求的数量与测试用例的测试成本之间的比值。示例性地,吸引度参数nj通过如下公式表示:
nj=N(tj)/C(tj);
其中,C(tj)表示第j个测试用例tj的测试成本,N(tj)表示第j个测试用例tj满足的测试需求的数量。
在第一轮迭代过程中,吸引度参数是预先设定的,所有测试用例的吸引度参数均相同,在第n轮迭代过程中,测试用例的吸引度参数是由上一轮迭代过程中测试用例的吸引度参数更新得到的,n为大于1的整数。
可选地,当计算机设备采用蚁群算法并通过至少一只蚂蚁,根据上述对应关系、测试用例的测试成本执行至少一轮迭代过程,得到最小测试用例集。上述吸引度参数也称之为信息素强度。
步骤201b,获取测试用例的距离参数;
测试用例的距离参数与测试用例的测试成本呈正比,也即测试用例的测试成本越高,则测试用例的距离参数越大,测试用例的测试成本越低,则测试用例的距离参数越小。测试用例的距离参数与测试用例满足的测试需求的数量呈反比,也即测试用例满足的测试需求的数量越多,则距离参数越小,测试用例满足的测试需求的数量越少,则测试用例的距离参数越大。
可选地,测试用例的距离参数用于指示测试用例的测试成本与测试用例满足的测试需求的数量之间的比值。测试用例的吸引度参数与距离参数互为倒数。示例性地,距离参数dj通过如下公式表示:
dj=C(tj)/N(tj);
其中,C(tj)表示第j个测试用例tj的测试成本,N(tj)表示第j个测试用例tj满足的测试需求的数量。
在第一轮迭代过程中,距离参数是预先设定的,所有测试用例对应的距离参数均相同。在第n轮迭代过程中,测试用例的距离参数是根据更新后的吸引度参数确定的。
步骤201c,根据测试用例的吸引度参数、测试用例的距离参数确定虚拟对象由第一节点到第二节点的概率。
可选地,计算机设备根据启发因子、期望因子、测试用例的吸引度参数、测试用例的距离参数确定虚拟对象由第一节点到第二节点之间的概率。
启发因子用于指示虚拟对象选择之前走过的路径的概率。启发因子越大,则虚拟对象选择之前走过的路径的概率也越大,导致随机性减弱;启发因子越小,则虚拟对象选择之前走过的路径的概率也越小,导致虚拟对象的搜索范围减小。因此,需要由相关技术人员合理设定启发因子。可选地,启发因子的取值区间为[0,5]。
期望因子用于指示虚拟对象选择局部最短路径的概率。期望因子越大,则虚拟对象选择局部最短路径的概率也越大,可以加快收敛速度但导致随机性减弱;期望因子越小,则虚拟对象选择局部最短路径的概率也越小,随机性增强但收敛速度变慢。因此,需要由相关技术人员合理设定期望因子。可选地,期望因子的取值区间为[0,5]。
其中,j为第二节点对应的测试用例的序号,k为虚拟对象序号,dj为第二节点对应的测试用例的距离参数,nj为第二节点对应的测试用例的吸引度参数,a为启发因子,b为期望因子,n为原始测试用例集包括的测试用例的数量,j为小于或等于n的正整数。
需要说明的是,迭代过程通常为多次,在每一轮迭代过程结束后,均需要对测试用例的吸引度参数进行更新,之后完成下一轮迭代过程。
在基于图2所示实施例提供的可选实施例中,该测试用例集生成方法还包括如下步骤:
步骤204,在一轮迭代结束时,更新最小测试用例集中的测试用例的吸引度参数。
可选地,计算机设备通过如下步骤更新最小测试用例集中的测试用例的吸引度参数:
步骤204a,根据挥发系数确定第一吸引度参数;
挥发系数用于确定自然消失的吸引度参数,也即第一吸引度参数。挥发系数较小时,各路径上残留的吸引度参数过多,导致无效的路径被继续搜索,进而导致收敛速率变慢,挥发系数较大时,有可能导致有效的路径也被放弃搜索,因此,需要由技术人员合理设定挥发系数。可选地,挥发系数的取值区间为[0,1]。
步骤204b,根据测试用例的测试成本确定第二吸引度参数;
第二吸引度参数是指虚拟对象到达测试用例对应的第二节点时遗留在路径上的吸引度参数。示例性地,第二吸引度参数Δnj通过如下公式计算得到:
Δnj=Q/C(L*);
其中,Q为预先设定的信息更新常数,C(L*)为测试用例的测试成本。
步骤204c,根据上一轮迭代过程中测试用例的吸引度参数与第一吸引度参数之间的差值,以及第二吸引度参数确定更新后的测试用例的吸引度参数。
可选地,计算机设备将上一轮迭代过程中测试用例的吸引度参数与第一吸引度参数之间的差值与第二吸引度参数之和确定为更新后的吸引度参数。
示例性地,更新后的吸引度参数通过如下公式表示:
nj=(1-β)nj+Δnj;
其中,β为挥发系数,1-β为残留系数,β×nj为第一吸引度参数,nj为上一轮迭代过程中测试用例的吸引度参数,Δnj为第二吸引度参数。
可选地,计算机设备得到更新后的测试用例的吸引度参数后,将其分别与吸引度参数最大值、吸引度参数最小值进行比较,并根据比较结果确定最终的更新后的测试用例的吸引度参数。吸引度参数最大值和吸引度参数最小值由计算机设备默认设定,或者,由相关技术人员自定义设定,本申请实施例对此不作限定。
示例性地,计算机设备将更新后的测试用例的吸引度参数与吸引度参数最大值进行比对。若更新后的测试用例的吸引度参数大于吸引度参数最大值,则将吸引度参数最大值更新为更新后的测试用例的吸引度参数;若更新后的测试用例的吸引度参数小于吸引度参数最大值,则不作更新。在一个例子中,吸引度参数最值为50,计算得到的更新后的测试用例的吸引度参数为56,则将更新后的测试用例的吸引度参数设为50。
示例性地,计算机设备将更新后的测试用例的吸引度参数与吸引度参数最小值进行比对。若更新后的测试用例的吸引度参数小于吸引度参数最小值,则将吸引度参数最小值更新为更新后的测试用例的吸引度参数;若更新后的测试用例的吸引度参数大于吸引度参数最小值,则不作更新。在一个例子中,吸引度参数最小值为10,计算得到的更新后的测试用例的吸引度参数为7,则将更新后的测试用例的吸引度参数设为10。
通过上述方式,为吸引度参数设置合理的边界,避免由于吸引度参数差异较大时导致搜索范围减小的情况发生,扩大虚拟对象的搜索空间。
在其它可能的实现方式中,计算机设备还更新属于原始测试用例集但不属于最小测试用例集的测试用例的吸引度参数。
步骤205,清空最小测试用例集。
清空最小测试用例集也即将上一轮迭代过程中得到的最小测试用例集中的测试用例全部删除。
步骤206,执行下一轮迭代过程。
计算机设备采用更新后的测试用例的吸引度参数执行下一轮迭代过程。下一轮迭代过程的执行方式可以参考步骤201-203,此处不作赘述。
需要说明的是,在最后一轮迭代过程结束时,无需执行更新最小测试用例集中的测试用例的吸引度参数以及清空最小测试用例集的步骤。
下面对蚁群算法进行介绍。蚁群算法是一种模拟蚂蚁觅食行为的模拟优化算法,其实现原理如下:
1、蚂蚁在路径上释放信息素。
2、碰到还没走过的路口,就随机挑选一条路走。同时,释放与路径长度有关的信息素。
3、信息素浓度与路径长度成反比。后来的蚂蚁再次碰到该路口时,就选择信息素浓度较高路径。
4、最优路径上的信息素浓度越来越大。
5、最终蚁群找到最优寻食路径。
在本申请实施例中,采用蚁群算法并通过蚂蚁根据测试用例的测试成本,以及测试用例满足的测试需求的数量来执行至少一轮迭代过程。其中,通过测试用例满足的测试需求的数量与测试用例的测试成本之间的比值来模拟信息素浓度。
下面将结合图4对通过蚁群算法实现本申请实施例提供的技术方案进行讲解。
步骤401,程序初始化。
在初始化阶段,需要设置蚁群算法的相关参数,比如蚂蚁数量、迭代次数、信息素下界、信息素上界、启发因子、期望因子、挥发系数、信息更新常数等等。
步骤402,在第i轮迭代过程中,对于第k只蚂蚁,获取从第一节点到测试用例对应的第二节点的概率。
I为小于或等于迭代次数的正整数。k为小于或等于蚂蚁数量的正整数。
步骤403,将概率最大的第二节点确定为目标节点,将目标节点对应的测试用例添加至最小测试用例集L*,将目标节点对应的测试用例所满足的测试需求从测试需求集中删除。
步骤404,判断测试需求集是否为空。
若测试需求集为空,则执行步骤405。若测试需求集不为空,则重复执行步骤403。
步骤405,令k=k+1并记录第k只蚂蚁对应的最小测试用例集。
步骤406,判断k是否小于或等于蚂蚁数量。
若是,则从步骤402重新开始执行,若否,则执行步骤407。
步骤407,令i+i+1,k=1。
步骤408,判断i是否小于迭代次数。
步骤409,清空最小测试用例集并更新信息素强度。
步骤410,输出最小测试用例集。
以下为本申请装置实施例,对于装置实施例中未详细阐述的部分,可以参考上述方法实施例中公开的技术细节。
请参考图5,其示出了本申请一个示例性实施例提供的测试用例集生成装置的框图。该测试用例集生成装置可以通过软件、硬件或者两者的组合实现成为终端的全部或一部分。该装置包括:
概率获取模块501,用于在一轮迭代过程中,对于每一个虚拟对象,根据所述测试用例满足的所述测试需求的数量与所述测试用例的测试成本,获取所述虚拟对象由第一节点到所述测试用例对应的第二节点的概率,不同的所述第二节点对应所述原始测试用例集中的不同测试用例。
测试用例集生成模块502,用于:
根据所述概率在所述第二节点中确定目标节点;
将所述目标节点对应的目标测试用例添加至最小测试用例集,所述最小测试用例集包括的所述测试用例的数量小于所述原始测试用例集所包括的所述测试用例的数量。
综上所述,本申请实施例提供的技术方案,通过采用虚拟对象并基于测试用例的测试成本、测试用例所满足的测试需求来执行迭代过程,以去除原始测试用例集中的冗余测试用例,得到最小测试用例集,后续新增测试需求或者测试需求被改时,通过执行上述最小测试用例集中的测试用例对上述新增的测试需求以及被修改的测试需求进行验证,可以减小测试成本,缩短测试时长,提高测试效率。
在基于图5所示实施例提供的一个可选实施例中,所述概率获取模块501,用于:
获取所述测试用例的吸引度参数与距离参数,所述测试用例的吸引度参数用于指示所述测试用例满足的所述测试需求的数量与所述测试用例的测试成本之间的比值,所述测试用例的距离参数用于指示所述测试用例的测试成本与所述测试用例满足的所述测试需求的数量之间的比值;
根据所述测试用例的吸引度参数、所述测试用例的距离参数确定所述虚拟对象由所述第一节点到所述第二节点的概率。
可选地,所述概率获取模块501,用于:
根据启发因子、期望因子、所述测试用例的吸引度参数、所述测试用例的距离参数确定所述虚拟对象由所述第一节点到所述第二节点的概率。
可选地,所述装置还包括:吸引度参数更新模块和清空模块(图中未示出)。
吸引度参数更新模块,用于在一轮迭代过程结束时,更新所述最小测试用例集中的所述测试用例的吸引度参数;
清空模块,用于清空所述最小测试用例集;
根据所述测试用例的更新后的所述吸引度参数执行下一轮迭代过程。
可选地,所述吸引度参数更新模块,用于:
根据挥发系数确定第一吸引度参数;
根据所述测试用例的测试成本确定第二吸引度参数;
根据上一轮迭代过程中所述测试用例的吸引度参数与所述第一吸引度参数之间的差值、所述第二吸引度参数确定所述更新后的吸引度参数。
可选地,所述吸引度参数更新模块,用于:
将所述更新后的吸引度参数与吸引度参数最大值进行比对;
若所述更新后的吸引度参数大于所述吸引度参数最大值,则将所述吸引度参数最大值更新为所述更新后的吸引度参数。
可选地,所述吸引度参数更新模块,用于:
将所述更新后的吸引度参数与吸引度参数最小值进行比对;
若所述更新后的测试用例的吸引度参数小于所述吸引度参数最小值,则将所述吸引度参数最小值更新为所述更新后的吸引度参数。
在基于图5所示实施例提供的可选实施例中,所述测试用例集生成模块502,用于:
将所述概率最大的所述第二节点确定所述目标节点,将所述目标节点对应的目标测试用例添加至所述最小测试用例集;
根据所述对应关系,将所述目标节点对应的所述目标测试用例所满足的所述测试需求从测试需求集中删除;
从所述原始测试用例集删除所述目标测试用例;
当所述测试需求集不为空时,从所述将所述概率最大的所述第二节点确定所述目标节点,将所述目标节点对应的目标测试用例添加至所述最小测试用例集的步骤重新开始执行,直至所述测试需求集为空。
图6是本申请一个实施例提供的计算机设备的结构示意图。计算机设备600包括中央处理单元(Central Processing Unit,CPU)601、包括随机存取存储器(Random AccessMemory,RAM)602和只读存储器(Read-Only Memory,ROM)603的系统存储器604,以及连接系统存储器604和中央处理单元601的系统总线605。所述计算机设备600还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)606,和用于存储操作系统613、应用程序614和其他程序模块615的大容量存储设备607。
所述基本输入/输出系统606包括有用于显示信息的显示器608和用于用户输入信息的诸如鼠标、键盘之类的输入设备609。其中所述显示器608和输入设备609都通过连接到系统总线605的输入/输出控制器610连接到中央处理单元601。所述基本输入/输出系统606还可以包括输入输出控制器610以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入/输出控制器610还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备607通过连接到系统总线605的大容量存储控制器(未示出)连接到中央处理单元601。所述大容量存储设备607及其相关联的计算机可读介质为计算机设备600提供非易失性存储。也就是说,所述大容量存储设备607可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、闪存或其他固态存储其技术,CD-ROM、数字通用光盘(Digital Versatile Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器604和大容量存储设备607可以统称为存储器。
根据本申请的各种实施例,所述计算机设备600还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备600可以通过连接在所述系统总线605上的网络接口单元611连接到网络612,或者说,也可以使用网络接口单元611来连接到其他类型的网络或远程计算机系统(未示出)。
具体在本申请实施例中,计算机设备600还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于执行上述测试用例集生成方法的指令。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述至少一条指令由移动终端的处理器加载并执行以实现上述方法实施例中的测试用例集生成方法。
可选地,上述计算机可读存储介质可以是ROM、RAM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述一方面或者一方面的各种可选实现方式中提供的方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本文中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种测试用例集生成方法,其特征在于,所述方法包括:
在一轮迭代过程中,对于每一个虚拟对象,根据测试用例满足的测试需求的数量与所述测试用例的测试成本,获取所述虚拟对象由第一节点到所述测试用例对应的第二节点的概率,不同的所述第二节点对应原始测试用例集中的不同测试用例;
根据所述概率在所述第二节点中确定目标节点;
将所述目标节点对应的目标测试用例添加至最小测试用例集,所述最小测试用例集包括的所述测试用例的数量小于所述原始测试用例集所包括的所述测试用例的数量。
2.根据权利要求1所述的方法,其特征在于,所述对于每一个虚拟对象,根据测试用例满足的测试需求的数量与所述测试用例的测试成本,获取所述虚拟对象由第一节点到所述测试用例对应的第二节点的概率,包括:
获取所述测试用例的吸引度参数与距离参数,所述测试用例的吸引度参数用于指示所述测试用例满足的所述测试需求的数量与所述测试用例的测试成本之间的比值,所述测试用例的距离参数用于指示所述测试用例的测试成本与所述测试用例满足的所述测试需求的数量之间的比值;
根据所述测试用例的吸引度参数、所述测试用例的距离参数确定所述虚拟对象由所述第一节点到所述第二节点的概率。
3.根据权利要求2所述的方法,其特征在于,所述根据所述测试用例的吸引度参数、所述测试用例的距离参数确定所述虚拟对象由所述第一节点到所述第二节点的概率,包括:
根据启发因子、期望因子、所述测试用例的吸引度参数、所述测试用例的距离参数确定所述虚拟对象由所述第一节点到所述第二节点的概率。
4.根据权利要求2所述的方法,其特征在于,当所述迭代过程的执行次数大于一次时,所述方法还包括:
在一轮迭代过程结束时,更新所述最小测试用例集中的所述测试用例的吸引度参数;
清空所述最小测试用例集;
根据所述测试用例的更新后的所述吸引度参数执行下一轮迭代过程。
5.根据权利要求4所述的方法,其特征在于,所述更新所述最小测试用例集中的所述测试用例的吸引度参数,包括:
根据挥发系数确定第一吸引度参数;
根据所述测试用例的测试成本确定第二吸引度参数;
根据上一轮迭代过程中所述测试用例的吸引度参数与所述第一吸引度参数之间的差值、所述第二吸引度参数确定所述更新后的吸引度参数。
6.根据权利要求5所述的方法,其特征在于,所述根据上一轮迭代过程中所述测试用例的吸引度参数与所述第一吸引度参数之间的差值、所述第二吸引度参数确定所述更新后的吸引度参数之后,还包括:
将所述更新后的吸引度参数与吸引度参数最大值进行比对;
若所述更新后的吸引度参数大于所述吸引度参数最大值,则将所述吸引度参数最大值更新为所述更新后的吸引度参数。
7.根据权利要求5所述的方法,其特征在于,所述根据上一轮迭代过程中所述测试用例的吸引度参数与所述第一吸引度参数之间的差值、所述第二吸引度参数确定所述更新后的吸引度参数之后,还包括:
将所述更新后的吸引度参数与吸引度参数最小值进行比对;
若所述更新后的测试用例的吸引度参数小于所述吸引度参数最小值,则将所述吸引度参数最小值更新为所述更新后的吸引度参数。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述根据所述概率在所述第二节点中确定目标节点,将所述目标节点对应的目标测试用例添加至最小测试用例集,包括:
将所述概率最大的所述第二节点确定所述目标节点,将所述目标节点对应的目标测试用例添加至所述最小测试用例集;
根据所述对应关系,将所述目标节点对应的所述目标测试用例所满足的所述测试需求从测试需求集中删除;
从所述原始测试用例集删除所述目标测试用例;
当所述测试需求集不为空时,从所述将所述概率最大的所述第二节点确定所述目标节点,将所述目标节点对应的目标测试用例添加至所述最小测试用例集的步骤重新开始执行,直至所述测试需求集为空。
9.一种测试用例集生成装置,其特征在于,所述装置包括:
概率获取模块,用于在一轮迭代过程中,对于每一个虚拟对象,根据所述测试用例满足的所述测试需求的数量与所述测试用例的测试成本,获取所述虚拟对象由第一节点到所述测试用例对应的第二节点的概率,不同的所述第二节点对应所述原始测试用例集中的不同测试用例;
测试用例集生成模块,用于:
根据所述概率在所述第二节点中确定目标节点;
将所述目标节点对应的目标测试用例添加至最小测试用例集,所述最小测试用例集包括的所述测试用例的数量小于所述原始测试用例集所包括的所述测试用例的数量。
10.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至8任一所述的测试用例集生成方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至8任一所述的测试用例集生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010915898.0A CN111949552A (zh) | 2020-09-03 | 2020-09-03 | 测试用例集生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010915898.0A CN111949552A (zh) | 2020-09-03 | 2020-09-03 | 测试用例集生成方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111949552A true CN111949552A (zh) | 2020-11-17 |
Family
ID=73367388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010915898.0A Pending CN111949552A (zh) | 2020-09-03 | 2020-09-03 | 测试用例集生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949552A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988606A (zh) * | 2021-05-11 | 2021-06-18 | 成都爱瑞无线科技有限公司 | 测试用例生成方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810104A (zh) * | 2014-03-04 | 2014-05-21 | 中国人民解放军63863部队 | 一种软件测试用例优化方法及系统 |
CN103853652A (zh) * | 2012-11-29 | 2014-06-11 | 百度在线网络技术(北京)有限公司 | 一种测试案例生成方法及装置 |
CN104391790A (zh) * | 2014-11-21 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种基于贪心算法的自动化测试用例选择方法 |
CN104765683A (zh) * | 2015-03-30 | 2015-07-08 | 西北工业大学 | 基于moea/d算法的回归测试用例多目标优化方法 |
CN107544905A (zh) * | 2017-08-22 | 2018-01-05 | 中国农业银行股份有限公司 | 回归测试用例集的优化方法和系统 |
CN110109822A (zh) * | 2019-03-30 | 2019-08-09 | 华南理工大学 | 基于蚁群算法进行测试用例优先级排序的回归测试方法 |
CN111176996A (zh) * | 2019-12-25 | 2020-05-19 | 平安普惠企业管理有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
-
2020
- 2020-09-03 CN CN202010915898.0A patent/CN111949552A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853652A (zh) * | 2012-11-29 | 2014-06-11 | 百度在线网络技术(北京)有限公司 | 一种测试案例生成方法及装置 |
CN103810104A (zh) * | 2014-03-04 | 2014-05-21 | 中国人民解放军63863部队 | 一种软件测试用例优化方法及系统 |
CN104391790A (zh) * | 2014-11-21 | 2015-03-04 | 浪潮电子信息产业股份有限公司 | 一种基于贪心算法的自动化测试用例选择方法 |
CN104765683A (zh) * | 2015-03-30 | 2015-07-08 | 西北工业大学 | 基于moea/d算法的回归测试用例多目标优化方法 |
CN107544905A (zh) * | 2017-08-22 | 2018-01-05 | 中国农业银行股份有限公司 | 回归测试用例集的优化方法和系统 |
CN110109822A (zh) * | 2019-03-30 | 2019-08-09 | 华南理工大学 | 基于蚁群算法进行测试用例优先级排序的回归测试方法 |
CN111176996A (zh) * | 2019-12-25 | 2020-05-19 | 平安普惠企业管理有限公司 | 测试用例生成方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
华丽等: ""基于遗传蚁群算法的测试用例集约简"", 《工程数学学报》, pages 486 - 492 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988606A (zh) * | 2021-05-11 | 2021-06-18 | 成都爱瑞无线科技有限公司 | 测试用例生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200099704A1 (en) | Method and apparatus for generating semantic attack graph | |
US7181383B1 (en) | System and method for simulating a circuit having hierarchical structure | |
US8869111B2 (en) | Method and system for generating test cases for a software application | |
US9135149B2 (en) | Test case arrangment and execution | |
US10585932B1 (en) | Methods and apparatus for generating causality matrix and impacts using graph processing | |
US9177250B2 (en) | Method and system for determining configuration rules based on configurations of complex systems | |
US10656934B2 (en) | Efficient software testing | |
CN111949552A (zh) | 测试用例集生成方法、装置、计算机设备及存储介质 | |
WO2014020834A1 (ja) | 単語潜在トピック推定装置および単語潜在トピック推定方法 | |
CN110853120B (zh) | 基于分割绘图法的网络布局方法、系统及介质 | |
US20220141174A1 (en) | Method and system for selecting multiple target nodes within social network | |
US10565749B1 (en) | Methods and apparatus for efficiently processing a graph data structure | |
US9740589B2 (en) | Lifting of bounded liveness counterexamples to concrete liveness counterexamples | |
Mercier et al. | Effective resistance against pandemics: Mobility network sparsification for high-fidelity epidemic simulations | |
US20230385495A1 (en) | Efficient circuit simulation method and apparatus, device, and storage medium | |
US11941327B2 (en) | Customizable reinforcement learning of column placement in structural design | |
US7392170B1 (en) | System and method for dynamically compressing circuit components during simulation | |
EP3867748A1 (en) | Using a generative model to facilitate simulation of potential policies for an infrastructure as a service system | |
US8006207B2 (en) | Parallel intrusion search in hierarchical VLSI designs with substituting scan line | |
CN109828870A (zh) | 接口测试环境管理方法、装置、电子设备及存储介质 | |
US20230083195A1 (en) | Modification of a dockerfile to repair vulnerabilities existing in the dockerfile | |
CN113553514B (zh) | 基于人工智能的对象推荐方法、装置及电子设备 | |
CN112528500B (zh) | 一种场景图构造模型的评估方法及评估设备 | |
Kalavri et al. | Asymmetry in large-scale graph analysis, explained | |
CN113518086A (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 |