CN109376075B - 一种生成测试对象最优测试覆盖路径的处理方法及装置 - Google Patents
一种生成测试对象最优测试覆盖路径的处理方法及装置 Download PDFInfo
- Publication number
- CN109376075B CN109376075B CN201811096567.8A CN201811096567A CN109376075B CN 109376075 B CN109376075 B CN 109376075B CN 201811096567 A CN201811096567 A CN 201811096567A CN 109376075 B CN109376075 B CN 109376075B
- Authority
- CN
- China
- Prior art keywords
- individuals
- target
- test
- scoring
- individual
- 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
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/3676—Test management for coverage analysis
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
本发明实施例提供一种生成测试对象最优测试覆盖路径的处理方法及装置,所述方法包括:获取N个随机个体作为祖先个体;根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,生成所有用户行为节点的最优测试覆盖路径。所述装置执行上述方法。本发明实施例提供的方法及装置,能够快速、合理地生成下一步的用户行为节点。
Description
技术领域
本发明实施例涉及软件测试技术领域,具体涉及一种生成测试对象最优测试覆盖路径的处理方法及装置。
背景技术
随着软件技术的发展,软件的复杂程度越来越高,随之而来地,软件测试工作也面临严重的问题。
测试人员需要从多种角度(包括整体和详细使用)理解每个功能点的逻辑,从而能够发现问题、并判断问题最可能出现在何种可能的用户行为中,这是软件测试工作的首要目标。然而,测试行为是无法穷尽的,测试问题是个效率问题,数学上就是“为了发现足够多的问题、如何选取最短、最快的测试覆盖路径”。现有技术通常是基于测试人员的经验对测试对象进行测试,不仅测试覆盖路径不够合理,而且效率比较低下。
因此,如何避免上述缺陷,能够快速、合理地生成下一步的用户行为节点,从而能够组成优化的测试覆盖路径,成为亟须解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种生成测试对象最优测试覆盖路径的处理方法及装置。
第一方面,本发明实施例提供一种生成测试对象最优测试覆盖路径的处理方法,所述方法包括:
获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;
根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;
构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;
确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
第二方面,本发明实施例提供一种生成测试对象最优测试覆盖路径的处理装置,所述装置包括:
获取单元,用于获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;
评分单元,用于根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;
构建单元,用于构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;
确定单元,用于确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如下方法:
获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;
根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;
构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;
确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:
获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;
根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;
构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;
确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理方法及装置,通过生成目标预设判定表,进而根据该目标预设判定表生成所有用户行为节点的最优测试覆盖路径,能够快速、合理地生成下一步的用户行为节点,从而能够组成优化的测试覆盖路径。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例生成测试对象最优测试覆盖路径的处理方法流程示意图;
图2为本发明实施例测试用例示意图;
图3为本发明实施例单一用户行为节点的示意图;
图4为本发明实施例生成测试对象最优测试覆盖路径的全流程图;
图5为本发明实施例生成测试对象最优测试覆盖路径的处理装置结构示意图;
图6为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例生成测试对象最优测试覆盖路径的处理方法流程示意图,如图1所示,本发明实施例提供的一种生成测试对象最优测试覆盖路径的处理方法,包括以下步骤:
S101:获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表。
具体的,装置获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表。获取随机个体的方式可以是随机生成。初始预设判定表可以理解为随机生成的,即本发明实施例迭代计算的第一代祖先个体中的每一个祖先个体对应一个初始预设判定表。图2为本发明实施例测试用例示意图;如图2所示,简要说明如下:
101(不同于S101):表示测试用例用户行为建模的开始节点。
102(不同于S102):用户行为节点,用户在测试时的具体动作,例如,登录一个系统等。
103(不同于S103):表示用户完成一次测试时的全过程。
要完成一个完整的测试过程,需要对多条测试覆盖路径进行测试,例如测试覆盖路径A包括的用户行为1和用户行为3;测试覆盖路径B包括的用户行为1、用户行为4和用户行为6。每个用户行为对应一个上述用户行为节点。图3为本发明实施例单一用户行为节点的示意图,如图3所示,简要说明如下:
201:代表用户行为的输入路径上的所有信息。
202:代表用户最终的行动决策输出的各种可能性。
203:代表最优测试覆盖路径中的该用户行为节点中的下一步的目标用户行为节点,即根据预设判定表得出的。
用户行为可以做如下说明:所有节点都是一个多入多出节点,记为(Im,On)。原始方法中的一个用例测试过程,对应一个用户行为系列,从开始节点到结束节点的一条路径。在此基础上,把开始节点和结束节点首尾相连,这样对于开始节点和结束节点的输入和输出也可以使用(Im,On)进行表示,单独一次用户行为的上下游(对应相邻用户节点),记为Ii和Oj。需要记录每次从开始到结束的测试中累计测试缺陷数量和测试覆盖路径的累计覆盖次数,例如,用户采用上述测试覆盖路径A进行了一次测试,则用户行为1的上游I1(对应开始节点)、下游O1(对应用户行为3)、下游O2(对应用户行为4),即用户行为1为1输入2输出节点。用户行为3的上游I1(对应用户行为1)和上游I2(对应用户行为2)、下游O1(对应用户行为6)和下游O2(对应结束节点),即用户行为3为2输入2输出节点。累计测试缺陷数量可以理解为每次测试时对每一个用户行为节点的Ii中的每一个或Oj中的每一个分别对应的测试缺陷数量进行的累加。累计测试缺陷数量可以根据测试覆盖路径的累计覆盖次数获得。
S102:根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体。
具体的,装置根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体。每次根据所述测试对象的测试结果对每个个体进行评分,可以包括:
根据所述预设判定表,对所述用户行为节点进行测试遍历,直到测试次数达到预设次数;并根据达到所述预设次数的测试结果对每个个体进行评分。图4为本发明实施例生成测试对象最优测试覆盖路径的全流程图,如图4所示,简要说明如下:
301:表示寻找最佳基因的种群活动开始。
302:用于探测产品故障模式的打桩版本系统(伪问题发现系统)。
303:代表某代族群的一个个体,所有个体的工作模式相同,所以仅详细画出一个。
304:代表种群中的其它全部个体。
305:某代族群的一个个体,进行一次用户行为动作,会进行一次是否发现问题(是否发现测试缺陷)判定。
306:如果判定当前用户行为发现问题,就做关闭此问题开关,后续不再触发问题发现。
307:关键参数信息记录模块,记录缺陷发现和路径(测试覆盖路径)情况。
308:在信息记录模块中,更新路径的问题发现情况。
309:在信息记录模块中,更新路径的覆盖次数情况。
310:代表用户行为建模中的节点,进行了一次执行动作。
311:判断个体进行用户行为测试次数是否已达到了最大限制次数(预设次数)。
312:根据收集的信息,进行基因优良率分级评分。
313:根据连续几代的缺陷分析是否收敛小于一个阈值,例如1%,来判断是否结束进化。
314:根据基因优良率分级评分,来决定繁殖概率。
315:进行种群交叉繁殖,根据繁殖概率,决定繁殖由哪些个体参与。
316:生成新的种群信息,准备下一轮测试,迭代寻找最佳基因。
317:种群进化结束,优良基因筛选完毕。
N的数值可以根据实际情况自主设置,可选为400。预设次数可以根据实际情况自主设置,可选为500次,可以通过群进化选择函数选取N个祖先个体,通过调用适应度函数获取每代目标个体分别对应的评分。适应度函数预先获取到上述每一个用户行为节点对应的Ii中的每一个或Oj中的每一个的累计测试缺陷数量,适应度函数可以采用缺陷发现的严重性的“等级分”总和作为基因组测试适应度的评分依据,此处采用业界通用的严重级别划分即可,即致命10分,严重3分,一般1分,其它0.1分,以用户行为节点1为例,即对于用户行为节点1的评分是用户行为节点1中的每一个Ii或Oj分别对应的累积测试缺陷数量对应的等级分,参照用户行为节点1,对每个个体的所有用户行为节点的等级分进行累加,得到每个个体的评分。
S103:构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止。
具体的,装置构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止。具体可以按照评分的数值大小由大到小的顺序对所述评分进行有序排序;将排序靠前的前N/2个评分对应的N/2个个体作为所述目标个体。参照上述举例,即将排序靠前的前200个作为目标个体。进一步地,根据所述目标个体的排序,确定所述目标个体的个体繁殖概率;根据所述个体繁殖概率对所述目标个体进行交叉繁殖,以构建N个下一代祖先个体。即排序靠前的个体的繁殖概率较高,个体繁殖概率的具体计算方法,以及交叉繁殖的具体方法为本领域成熟技术,不再赘述。所述比对结果满足预设条件,包括:下一代个体对应的评分结果与上一代个体对应的评分结果的比值小于等于预设比值。比对结果可以是两代之间中的后一代对应的下一代评分与前一代对应的上一代评分之间相比的提升率,预设条件可以是提升率阈值,该提升率阈值可以根据实际情况自主设置,可选为1%,即比对结果(提升率)小于等于1%终止运算。
S104:确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
具体的,装置确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
进一步地,所述预设判定表是根据测试缺陷参数和测试覆盖路径参数来确定的,参照上述举例,测试覆盖路径参数可以理解为当前测试遍历过程中所有用户行为节点中的每一个用户行为节点分别对应的测试覆盖次数;测试缺陷参数可以理解为当前测试遍历过程中所有用户行为节点中的每一个用户行为节点分别对应的测试缺陷累加数量;参照图2说明如下:假如当前测试遍历的测试次数为101次,对于用户行为节点1对应的测试覆盖次数为50次,测试缺陷累加数量为40次,对于其它用户行为节点不再赘述。可以先计算该测试缺陷参数(40次中每一次缺陷的评分之和的平均值)与测试覆盖路径参数(50次)的乘积,将该乘积结果与当前测试遍历的上一次对应的乘积结果(即测试次数为100次的乘积结果)相比较,如果当前的乘积结果大于上一次的乘积结果,则设置预设判定表中的该用户行为节点的数值为1,否则设置为零。
表1为本发明实施例的基因判定表(预设判定表),如表1所示:
表1
序号 | I1 | I2 | I3 | I4 | O1 | O2 | O3 | O4 | A |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 2 |
3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 3 |
4 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 4 |
…… | …… | …… | …… | …… | …… | …… | …… | …… | …… |
256 | …… | …… | …… | …… | …… | …… | …… | …… | 4 |
具体说明如下:
表中的A是行动项,即是由每个用户行为节点的输入和输出数据组合判定出的行动输出结果。
基因形式确定:I1,I2,I3,……In,O1,O2,O3,……On,每行编码对应一种行动A。
基因组数量确定:针对固定产品的用户行为建模,基因组规模是基本固定的。
基因编码方案的确定:基于缺陷和测试覆盖路径作为判断输入,可以有多种编码方式,可以根据编码空间的长度来做灵活定义。本发明实施例为简单的1位编码(对应0或1的选择)和8位基因空间(即编码行数256=28)。需要说明的是:不足4个输入输出的相邻用户行为节点,处理方式相同,均在对应空位设置为0。A的输出结果举例为1~4种,即第1种不选择该用户行为节点的下一步的目标用户行为节点;第2种选择该用户行为节点的下一步的目标用户行为节点为O4;第3种选择该用户行为节点的下一步的目标用户行为节点为O3;第4种选择该用户行为节点的下一步的目标用户行为节点为O2、O3和O4三者并行。
如图4所示,需要说明的是:该方法还可以包括:
自动化测试探寻系统设定,以产品历史问题的分析作为输入,构造一个打桩版本,装入所有发现问题的bug检测器(非植入bug),通过打桩加入“传感器”感知问题是否被触发,且通过接口可以开启和关闭此问题的“传感器”,当基于用户行为的建模自动化发现问题后,“bug检测器”自动关闭此问题传感器,记并录好本次问题发现情况,刷新问题记录和路径覆盖两个因素(Im,On),然后继续执行下一步的用户行为。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理方法,通过生成目标预设判定表,进而根据该目标预设判定表生成所有用户行为节点的最优测试覆盖路径,能够快速、合理地生成下一步的用户行为节点,从而能够组成优化的测试覆盖路径。
在上述实施例的基础上,所述评分结果是通过调用适应度函数获取的。
具体的,装置中的所述评分结果是通过调用适应度函数获取的。可参照上述实施例,不再赘述。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理方法,能够有效获取到评分结果,保证了该技术方案的顺利进行。
在上述实施例的基础上,所述目标个体的获取,包括:
按照评分的数值大小由大到小的顺序对所述评分进行有序排序。
具体的,装置按照评分的数值大小由大到小的顺序对所述评分进行有序排序。可参照上述实施例,不再赘述。
将排序靠前的前N/2个评分对应的N/2个个体作为所述目标个体。
具体的,装置将排序靠前的前N/2个评分对应的N/2个个体作为所述目标个体。可参照上述实施例,不再赘述。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理方法,有助于高效地完成个体进化。
在上述实施例的基础上,所述构建包含有所述目标个体的N个下一代个体,包括:
根据所述目标个体的排序,确定所述目标个体的个体繁殖概率。
具体的,装置根据所述目标个体的排序,确定所述目标个体的个体繁殖概率。可参照上述实施例,不再赘述。
根据所述个体繁殖概率对所述目标个体进行交叉繁殖,以构建N个下一代祖先个体。
具体的,装置根据所述个体繁殖概率对所述目标个体进行交叉繁殖,以构建N个下一代祖先个体。可参照上述实施例,不再赘述。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理方法,进一步能够有助于高效地完成个体进化。
在上述实施例的基础上,每次根据所述测试对象的测试结果对每个个体进行评分,包括:
根据所述预设判定表,对所述用户行为节点进行测试遍历,直到测试次数达到预设次数;并根据达到所述预设次数的测试结果对每个个体进行评分。
具体的,装置根据所述预设判定表,对所述用户行为节点进行测试遍历,直到测试次数达到预设次数;并根据达到所述预设次数的测试结果对每个个体进行评分。可参照上述实施例,不再赘述。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理方法,进一步能够快速、合理地生成下一步的用户行为节点,从而能够优化测试覆盖路径。
在上述实施例的基础上,所述比对结果满足预设条件,包括:
下一代个体对应的评分结果与上一代个体对应的评分结果的比值小于等于预设比值。
具体的,装置中的所述比对结果满足预设条件,包括:下一代个体对应的评分结果与上一代个体对应的评分结果的比值小于等于预设比值。可参照上述实施例,不再赘述。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理方法,进一步能够合理设置算法的收敛条件。
在上述实施例的基础上,所述预设判定表是根据测试缺陷参数和测试覆盖路径参数来确定的。
具体的,装置中的所述预设判定表是根据测试缺陷参数和测试覆盖路径参数来确定的。可参照上述实施例,不再赘述。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理方法,进一步能够合理确定预设判定表。
图5为本发明实施例生成测试对象最优测试覆盖路径的处理装置结构示意图,如图5所示,本发明实施例提供了一种生成测试对象最优测试覆盖路径的处理装置,包括获取单元501、评分单元502、构建单元503和确定单元504,其中:
获取单元501用于获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;评分单元502用于根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;构建单元503用于构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;确定单元504用于确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
具体的,获取单元501用于获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;评分单元502用于根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;构建单元503用于构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;确定单元504用于确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理装置,通过生成目标预设判定表,进而根据该目标预设判定表生成所有用户行为节点的最优测试覆盖路径,能够快速、合理地生成下一步的用户行为节点,从而能够组成优化的测试覆盖路径。
在上述实施例的基础上,所述装置中的所述评分结果是通过调用适应度函数获取的。
具体的,所述装置中的所述评分结果是通过调用适应度函数获取的。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理装置,能够有效获取到评分结果,保证了该技术方案的顺利进行。
在上述实施例的基础上,所述目标个体的获取,包括:
按照评分的数值大小由大到小的顺序对所述评分进行有序排序;将排序靠前的前N/2个评分对应的N/2个个体作为所述目标个体。
具体的,装置中的所述目标个体的获取,包括:
按照评分的数值大小由大到小的顺序对所述评分进行有序排序;将排序靠前的前N/2个评分对应的N/2个个体作为所述目标个体。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理装置,有助于高效地完成个体进化。
在上述实施例的基础上,所述构建单元503还具体用于:根据所述目标个体的排序,确定所述目标个体的个体繁殖概率;根据所述个体繁殖概率对所述目标个体进行交叉繁殖,以构建N个下一代祖先个体。
具体的,所述构建单元503还具体用于:根据所述目标个体的排序,确定所述目标个体的个体繁殖概率;根据所述个体繁殖概率对所述目标个体进行交叉繁殖,以构建N个下一代祖先个体。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理装置,进一步能够有助于高效地完成个体进化。
在上述实施例的基础上,装置还用于根据所述预设判定表,对所述用户行为节点进行测试遍历,直到测试次数达到预设次数;并根据达到所述预设次数的测试结果对每个个体进行评分。
具体的,装置还用于根据所述预设判定表,对所述用户行为节点进行测试遍历,直到测试次数达到预设次数;并根据达到所述预设次数的测试结果对每个个体进行评分。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理装置,进一步能够快速、合理地生成下一步的用户行为节点,从而能够优化测试覆盖路径。
在上述实施例的基础上,所述比对结果满足预设条件,包括:
下一代个体对应的评分结果与上一代个体对应的评分结果的比值小于等于预设比值。
具体的,装置中的所述比对结果满足预设条件,包括:
下一代个体对应的评分结果与上一代个体对应的评分结果的比值小于等于预设比值。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理装置,进一步能够合理设置算法的收敛条件。
在上述实施例的基础上,所述预设判定表是根据测试缺陷参数和测试覆盖路径参数来确定的。
具体的,装置中的所述预设判定表是根据测试缺陷参数和测试覆盖路径参数来确定的。可参照上述实施例,不再赘述。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理装置,进一步能够合理确定预设判定表。
本发明实施例提供的生成测试对象最优测试覆盖路径的处理装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图6为本发明实施例提供的电子设备实体结构示意图,如图6所示,所述电子设备包括:处理器(processor)601、存储器(memory)602和总线603;
其中,所述处理器601、存储器602通过总线603完成相互间的通信;
所述处理器601用于调用所述存储器602中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。
Claims (14)
1.一种生成测试对象最优测试覆盖路径的处理方法,其特征在于,包括:
获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;
根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;
构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;
确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径;
所述评分结果是通过调用适应度函数,并根据每一代目标个体的用户行为节点的上游行为节点或下游行为节点的累计测试缺陷数量获取的。
2.根据权利要求1所述的方法,其特征在于,所述目标个体的获取,包括:
按照评分的数值大小由大到小的顺序对所述评分进行有序排序;
将排序靠前的前N/2个评分对应的N/2个个体作为所述目标个体。
3.根据权利要求2所述的方法,其特征在于,所述构建包含有所述目标个体的N个下一代个体,包括:
根据所述目标个体的排序,确定所述目标个体的个体繁殖概率;
根据所述个体繁殖概率对所述目标个体进行交叉繁殖,以构建N个下一代祖先个体。
4.根据权利要求1至3任一所述的方法,其特征在于,每次根据所述测试对象的测试结果对每个个体进行评分,包括:
根据所述预设判定表,对所述用户行为节点进行测试遍历,直到测试次数达到预设次数;并根据达到所述预设次数的测试结果对每个个体进行评分。
5.根据权利要求1至3任一所述的方法,其特征在于,所述比对结果满足预设条件,包括:
下一代个体对应的评分结果与上一代个体对应的评分结果的比值小于等于预设比值。
6.根据权利要求1至3任一所述的方法,其特征在于,所述预设判定表是根据测试缺陷参数和测试覆盖路径参数来确定的。
7.一种生成测试对象最优测试覆盖路径的处理装置,其特征在于,包括:
获取单元,用于获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;
评分单元,用于根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;
构建单元,用于构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;
确定单元,用于确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径;
所述评分结果是通过调用适应度函数,并根据每一代目标个体的用户行为节点的上游行为节点或下游行为节点的累计测试缺陷数量获取的。
8.根据权利要求7所述的装置,其特征在于,所述目标个体的获取,包括:
按照评分的数值大小由大到小的顺序对所述评分进行有序排序;
将排序靠前的前N/2个评分对应的N/2个个体作为所述目标个体。
9.根据权利要求8所述的装置,其特征在于,所述构建单元具体用于:
根据所述目标个体的排序,确定所述目标个体的个体繁殖概率;
根据所述个体繁殖概率对所述目标个体进行交叉繁殖,以构建N个下一代祖先个体。
10.根据权利要求7至9任一所述的装置,其特征在于,装置还用于:
根据所述预设判定表,对所述用户行为节点进行测试遍历,直到测试次数达到预设次数;并根据达到所述预设次数的测试结果对每个个体进行评分。
11.根据权利要求7至9任一所述的装置,其特征在于,所述比对结果满足预设条件,包括:
下一代个体对应的评分结果与上一代个体对应的评分结果的比值小于等于预设比值。
12.根据权利要求7至9任一所述的装置,其特征在于,所述预设判定表是根据测试缺陷参数和测试覆盖路径参数来确定的。
13.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6任一所述的方法。
14.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811096567.8A CN109376075B (zh) | 2018-09-19 | 2018-09-19 | 一种生成测试对象最优测试覆盖路径的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811096567.8A CN109376075B (zh) | 2018-09-19 | 2018-09-19 | 一种生成测试对象最优测试覆盖路径的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109376075A CN109376075A (zh) | 2019-02-22 |
CN109376075B true CN109376075B (zh) | 2022-04-22 |
Family
ID=65405268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811096567.8A Active CN109376075B (zh) | 2018-09-19 | 2018-09-19 | 一种生成测试对象最优测试覆盖路径的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109376075B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799971B (zh) * | 2021-04-09 | 2021-06-22 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、设备以及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141958A (zh) * | 2011-03-09 | 2011-08-03 | 中国矿业大学 | 面向缺陷的路径覆盖测试数据进化生成方法 |
CN103593287A (zh) * | 2013-10-30 | 2014-02-19 | 北京信息控制研究所 | 一种基于遗传算法的数据流测试用例自动生成方法 |
CN104994021A (zh) * | 2015-07-21 | 2015-10-21 | 三星电子(中国)研发中心 | 确定最优路径的方法及装置 |
CN106445821A (zh) * | 2016-09-23 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种基于遗传算法实现测试用例自动生成的方法 |
CN107590073A (zh) * | 2017-08-30 | 2018-01-16 | 华南理工大学 | 基于路径覆盖软件测试的测试用例自动生成方法 |
CN108509335A (zh) * | 2018-01-31 | 2018-09-07 | 浙江理工大学 | 基于遗传算法优化的软件测试数据生成方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323906B (zh) * | 2011-09-08 | 2014-01-08 | 哈尔滨工程大学 | 一种基于遗传算法的mc/dc测试数据自动生成方法 |
CN102419728B (zh) * | 2011-11-01 | 2014-10-29 | 北京邮电大学 | 基于覆盖率量化指标确定软件测试过程充分性的方法 |
IN2013CH05995A (zh) * | 2013-12-20 | 2015-06-26 | Infosys Ltd | |
IN2014CH01329A (zh) * | 2014-03-13 | 2015-09-18 | Infosys Ltd | |
CN103902457A (zh) * | 2014-04-17 | 2014-07-02 | 中国矿业大学 | 基于协同进化的并行程序路径覆盖测试数据生成方法 |
-
2018
- 2018-09-19 CN CN201811096567.8A patent/CN109376075B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102141958A (zh) * | 2011-03-09 | 2011-08-03 | 中国矿业大学 | 面向缺陷的路径覆盖测试数据进化生成方法 |
CN103593287A (zh) * | 2013-10-30 | 2014-02-19 | 北京信息控制研究所 | 一种基于遗传算法的数据流测试用例自动生成方法 |
CN104994021A (zh) * | 2015-07-21 | 2015-10-21 | 三星电子(中国)研发中心 | 确定最优路径的方法及装置 |
CN106445821A (zh) * | 2016-09-23 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种基于遗传算法实现测试用例自动生成的方法 |
CN107590073A (zh) * | 2017-08-30 | 2018-01-16 | 华南理工大学 | 基于路径覆盖软件测试的测试用例自动生成方法 |
CN108509335A (zh) * | 2018-01-31 | 2018-09-07 | 浙江理工大学 | 基于遗传算法优化的软件测试数据生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109376075A (zh) | 2019-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124840B (zh) | 业务运维中告警的预测方法、装置与电子设备 | |
CN107832219B (zh) | 基于静态分析和神经网络的软件故障预测技术的构建方法 | |
CN112152852B (zh) | 根因分析方法、装置、设备及计算机存储介质 | |
CN108563555B (zh) | 基于四目标优化的故障更改代码预测方法 | |
CN112052404A (zh) | 多源异构关系网络的群体发现方法、系统、设备及介质 | |
CN109376075B (zh) | 一种生成测试对象最优测试覆盖路径的处理方法及装置 | |
Harris et al. | A memetic algorithm for the quadratic assignment problem with parallel local search | |
Tonella et al. | Finding the optimal balance between over and under approximation of models inferred from execution logs | |
CN111930476B (zh) | 一种任务调度方法、装置及电子设备 | |
CN111858292A (zh) | 测试用例的筛选方法、筛选系统、计算机设备及存储介质 | |
JP2020061007A (ja) | 学習プログラム、学習方法および学習装置 | |
CN111412795B (zh) | 测试点设置方案生成方法及装置 | |
CN109977030B (zh) | 一种深度随机森林程序的测试方法及设备 | |
CN116821916A (zh) | 一种实现漏洞处理的方法、计算机存储介质及终端 | |
CN111683010A (zh) | 基于光缆网光路的双路由的生成方法及装置 | |
US20180121794A1 (en) | Method and system for machine failure prediction | |
CN113705813B (zh) | 基于遗传算法的变异规则补充方法及装置 | |
CN115688853A (zh) | 一种流程挖掘方法及系统 | |
CN113642226A (zh) | 基于多目标进化算法的公平机器学习模型的训练方法 | |
CN109445413B (zh) | 一种大规模电路互连网络的测试向量自动生成方法 | |
CN112597046A (zh) | 测试方法、装置、计算机设备及存储介质 | |
CN111240881A (zh) | 基于贝叶斯网络的Web服务组合异常诊断方法 | |
US20130173510A1 (en) | Methods and systems for use in reducing solution convergence time using genetic algorithms | |
CN117349623B (zh) | 一种基于双种群哈里斯鹰算法的系统级故障诊断方法 | |
CN109299337A (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: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: Qianxin Technology Group Co.,Ltd. Address before: 100015 15, 17 floor 1701-26, 3 building, 10 Jiuxianqiao Road, Chaoyang District, Beijing. Applicant before: BEIJING QIANXIN TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |