CN109376075A - 一种生成测试对象最优测试覆盖路径的处理方法及装置 - Google Patents

一种生成测试对象最优测试覆盖路径的处理方法及装置 Download PDF

Info

Publication number
CN109376075A
CN109376075A CN201811096567.8A CN201811096567A CN109376075A CN 109376075 A CN109376075 A CN 109376075A CN 201811096567 A CN201811096567 A CN 201811096567A CN 109376075 A CN109376075 A CN 109376075A
Authority
CN
China
Prior art keywords
individual
test
generation
target
result
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.)
Granted
Application number
CN201811096567.8A
Other languages
English (en)
Other versions
CN109376075B (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 Qianxin Technology Co Ltd
Original Assignee
Beijing Qianxin 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 Qianxin Technology Co Ltd filed Critical Beijing Qianxin Technology Co Ltd
Priority to CN201811096567.8A priority Critical patent/CN109376075B/zh
Publication of CN109376075A publication Critical patent/CN109376075A/zh
Application granted granted Critical
Publication of CN109376075B publication Critical patent/CN109376075B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3676Test 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 (16)

1.一种生成测试对象最优测试覆盖路径的处理方法,其特征在于,包括:
获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;
根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;
构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;
确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
2.根据权利要求1所述的方法,其特征在于,所述评分结果是通过调用适应度函数获取的。
3.根据权利要求1所述的方法,其特征在于,所述目标个体的获取,包括:
按照评分的数值大小由大到小的顺序对所述评分进行有序排序;
将排序靠前的前N/2个评分对应的N/2个个体作为所述目标个体。
4.根据权利要求3所述的方法,其特征在于,所述构建包含有所述目标个体的N个下一代个体,包括:
根据所述目标个体的排序,确定所述目标个体的个体繁殖概率;
根据所述个体繁殖概率对所述目标个体进行交叉繁殖,以构建N个下一代祖先个体。
5.根据权利要求1至4任一所述的方法,其特征在于,每次根据所述测试对象的测试结果对每个个体进行评分,包括:
根据所述预设判定表,对所述用户行为节点进行测试遍历,直到测试次数达到预设次数;并根据达到所述预设次数的测试结果对每个个体进行评分。
6.根据权利要求1至4任一所述的方法,其特征在于,所述比对结果满足预设条件,包括:
下一代个体对应的评分结果与上一代个体对应的评分结果的比值小于等于预设比值。
7.根据权利要求1至4任一所述的方法,其特征在于,所述预设判定表是根据测试缺陷参数和测试覆盖路径参数来确定的。
8.一种生成测试对象最优测试覆盖路径的处理装置,其特征在于,包括:
获取单元,用于获取N个随机个体作为祖先个体;所述随机个体是表示测试对象中的用户行为节点与下一步测试的目标用户行为节点之间对应关系的初始预设判定表;
评分单元,用于根据所述测试对象的测试结果对每个祖先个体进行初始评分,根据初始评分结果获取第一代需要保留的目标个体;
构建单元,用于构建包含有所述目标个体的N个下一代个体;并计算所述下一代个体的评分结果,并重复执行,直到N个下一代个体对应的评分结果与相邻的N个上一代个体对应的评分结果之间的比对结果满足预设条件为止;
确定单元,用于确定满足所述预设条件时的第M代个体对应的预设判定表为目标预设判定表,根据所述目标预设判定表生成所有用户行为节点的最优测试覆盖路径。
9.根据权利要求8所述的装置,其特征在于,所述评分结果是通过调用适应度函数获取的。
10.根据权利要求8所述的装置,其特征在于,所述目标个体的获取,包括:
按照评分的数值大小由大到小的顺序对所述评分进行有序排序;
将排序靠前的前N/2个评分对应的N/2个个体作为所述目标个体。
11.根据权利要求10所述的装置,其特征在于,所述构建单元具体用于:
根据所述目标个体的排序,确定所述目标个体的个体繁殖概率;
根据所述个体繁殖概率对所述目标个体进行交叉繁殖,以构建N个下一代祖先个体。
12.根据权利要求8至11任一所述的装置,其特征在于,装置还用于:
根据所述预设判定表,对所述用户行为节点进行测试遍历,直到测试次数达到预设次数;并根据达到所述预设次数的测试结果对每个个体进行评分。
13.根据权利要求8至11任一所述的装置,其特征在于,所述比对结果满足预设条件,包括:
下一代个体对应的评分结果与上一代个体对应的评分结果的比值小于等于预设比值。
14.根据权利要求8至11任一所述的方法,其特征在于,所述预设判定表是根据测试缺陷参数和测试覆盖路径参数来确定的。
15.一种电子设备,其特征在于,包括:处理器、存储器和总线,其中,
所述处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。
16.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的方法。
CN201811096567.8A 2018-09-19 2018-09-19 一种生成测试对象最优测试覆盖路径的处理方法及装置 Active CN109376075B (zh)

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 true CN109376075A (zh) 2019-02-22
CN109376075B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799971A (zh) * 2021-04-09 2021-05-14 腾讯科技(深圳)有限公司 一种数据处理方法、设备以及计算机可读存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141958A (zh) * 2011-03-09 2011-08-03 中国矿业大学 面向缺陷的路径覆盖测试数据进化生成方法
CN102323906A (zh) * 2011-09-08 2012-01-18 哈尔滨工程大学 一种基于遗传算法的mc/dc测试数据自动生成方法
CN102419728A (zh) * 2011-11-01 2012-04-18 北京邮电大学 基于覆盖率量化指标确定软件测试过程充分性的方法
CN103593287A (zh) * 2013-10-30 2014-02-19 北京信息控制研究所 一种基于遗传算法的数据流测试用例自动生成方法
CN103902457A (zh) * 2014-04-17 2014-07-02 中国矿业大学 基于协同进化的并行程序路径覆盖测试数据生成方法
US20150261657A1 (en) * 2014-03-13 2015-09-17 Infosys Limited Methods for generating test suites and devices thereof
CN104994021A (zh) * 2015-07-21 2015-10-21 三星电子(中国)研发中心 确定最优路径的方法及装置
US20150301927A1 (en) * 2013-12-20 2015-10-22 Infosys Limited Methods for generating a negative test input data and devices thereof
CN106445821A (zh) * 2016-09-23 2017-02-22 郑州云海信息技术有限公司 一种基于遗传算法实现测试用例自动生成的方法
CN107590073A (zh) * 2017-08-30 2018-01-16 华南理工大学 基于路径覆盖软件测试的测试用例自动生成方法
CN108509335A (zh) * 2018-01-31 2018-09-07 浙江理工大学 基于遗传算法优化的软件测试数据生成方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141958A (zh) * 2011-03-09 2011-08-03 中国矿业大学 面向缺陷的路径覆盖测试数据进化生成方法
CN102323906A (zh) * 2011-09-08 2012-01-18 哈尔滨工程大学 一种基于遗传算法的mc/dc测试数据自动生成方法
CN102419728A (zh) * 2011-11-01 2012-04-18 北京邮电大学 基于覆盖率量化指标确定软件测试过程充分性的方法
CN103593287A (zh) * 2013-10-30 2014-02-19 北京信息控制研究所 一种基于遗传算法的数据流测试用例自动生成方法
US20150301927A1 (en) * 2013-12-20 2015-10-22 Infosys Limited Methods for generating a negative test input data and devices thereof
US20150261657A1 (en) * 2014-03-13 2015-09-17 Infosys Limited Methods for generating test suites and devices thereof
CN103902457A (zh) * 2014-04-17 2014-07-02 中国矿业大学 基于协同进化的并行程序路径覆盖测试数据生成方法
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 浙江理工大学 基于遗传算法优化的软件测试数据生成方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
KOU KIKUTA: "Point-to-Multipoint VLAN path signaling demonstration on the GMPLS controlled Ethernet test network", 《2010 CONFERENCE ON OPTICAL FIBER COMMUNICATION (OFC/NFOEC), COLLOCATED NATIONAL FIBER OPTIC ENGINEERS CONFERENCE》 *
张硕: "移动终端应用程序自动化覆盖测试方法研究", 《CNKI优秀硕士学位论文全文库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799971A (zh) * 2021-04-09 2021-05-14 腾讯科技(深圳)有限公司 一种数据处理方法、设备以及计算机可读存储介质
CN112799971B (zh) * 2021-04-09 2021-06-22 腾讯科技(深圳)有限公司 一种数据处理方法、设备以及计算机可读存储介质

Also Published As

Publication number Publication date
CN109376075B (zh) 2022-04-22

Similar Documents

Publication Publication Date Title
US10606862B2 (en) Method and apparatus for data processing in data modeling
CN108509335A (zh) 基于遗传算法优化的软件测试数据生成方法
CN109165159B (zh) 一种基于程序频谱的多缺陷定位方法
CN108647145A (zh) 软件内存安全检测方法及系统
CN107832219A (zh) 基于静态分析和神经网络的软件故障预测技术的构建方法
CN108989075A (zh) 一种网络故障定位方法及系统
CN106445821A (zh) 一种基于遗传算法实现测试用例自动生成的方法
Harris et al. A memetic algorithm for the quadratic assignment problem with parallel local search
Liu et al. A reinforcement learning based resource management approach for time-critical workloads in distributed computing environment
CN109743286A (zh) 一种基于图卷积神经网络的ip类型标记方法及设备
CN112180853A (zh) 基于多种群策略的柔性作业车间调度混合优化方法
CN110334085A (zh) 配电网数据监测和修正方法、装置、计算机及存储介质
AU680144B2 (en) Cause inferring device
CN109376075A (zh) 一种生成测试对象最优测试覆盖路径的处理方法及装置
CN111930476B (zh) 一种任务调度方法、装置及电子设备
CN106357458A (zh) 网元异常检测方法及装置
CN111412795B (zh) 测试点设置方案生成方法及装置
CN110262950A (zh) 基于多项指标的异动检测方法和装置
CN106599411B (zh) 一种飞行器系统余度配置优化方法
CN113206712B (zh) 一种软件无线电符合性测试方法及系统
CN109445413B (zh) 一种大规模电路互连网络的测试向量自动生成方法
CN115759250A (zh) 归因分析方法、装置、电子设备以及存储介质
CN112926664B (zh) 基于进化算法的特征选择与cart森林的短时强降水预报方法
CN114036029A (zh) 一种服务器的磁盘空间使用预测方法及装置
CN114416410A (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