CN112579462B - 测试用例获取方法、系统、设备及计算机可读存储介质 - Google Patents
测试用例获取方法、系统、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112579462B CN112579462B CN202011558470.1A CN202011558470A CN112579462B CN 112579462 B CN112579462 B CN 112579462B CN 202011558470 A CN202011558470 A CN 202011558470A CN 112579462 B CN112579462 B CN 112579462B
- Authority
- CN
- China
- Prior art keywords
- case
- test
- test cases
- individuals
- preset
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 241
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000003860 storage Methods 0.000 title claims description 16
- 230000002068 genetic effect Effects 0.000 claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 10
- 230000035772 mutation Effects 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 abstract description 6
- 230000011218 segmentation Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010353 genetic engineering Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
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
-
- 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/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computational Linguistics (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Physiology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种测试用例获取方法,包括根据测试请求中的用例类型数据和多个用例描述数据,生成业务用例特征集,业务用例特征集包括多个公共用例特征以及与多个用例描述数据关联的多个指定特征;根据多个公共用例特征以及多个指定特征,从预设用例库中获取多个候选业务测试用例;编码多个候选业务测试用例,得到多个个体;组合多个个体,以得到初始种群;对初始种群中的多个个体执行遗传迭代操作,生成多个目标测试用例;将多个目标测试用例推送至测试用户端。本发明实施例通过基于候选业务测试用例结合遗传算法,在保证了代码覆盖率的前提下,获取多个目标测试用例进行回归测试,有效地提高了回归测试的效率。
Description
技术领域
本发明实施例涉及人工智能技术领域,尤其涉及一种测试用例获取方法、系统、计算机设备及计算机可读存储介质。
背景技术
在应用软件发版的过程中,需要通过大量的测试用例对应用软件不断进行测试。在应用软件正式生产发布之前,应用软件的回归测试尤为重要。一个应用软件在前期开发到待发版之间,会产生大量的测试用例,在进行回归测试时,计算机设备会直接从用例库中将大量累计下来的测试用例调取出来,再运行全量的测试用例,这样,会消耗大量的计算机资源,回归测试效率低,还会对应用软件的回归报告的分析造成一定的难度
发明内容
有鉴于此,本发明实施例提供了一种测试用例获取方法、系统、计算机设备及计算机可读存储介质,用于解决全量运行从开发到发版之间产生的大量的测试用例,导致回归测试效率低的问题。
本发明实施例是通过下述技术方案来解决上述技术问题:
一种测试用例获取方法,包括:
获取测试请求,所述测试请求包括用例类型数据和多个用例描述数据;
基于所述用例类型数据和所述多个用例描述数据,生成业务用例特征集,所述业务用例特征集包括多个公共用例特征以及与所述多个用例描述数据关联的多个指定特征;
根据所述多个公共用例特征以及所述多个指定特征,从预设用例库中获取多个候选业务测试用例;
编码所述多个候选业务测试用例,得到多个个体;
组合多个个体,以得到初始种群;
对所述初始种群中的所述多个个体执行遗传迭代操作,生成多个目标测试用例;
将所述多个目标测试用例推送至测试用户端。
可选地,所述基于所述用例类型数据和所述多个用例描述数据,生成业务用例特征集,所述业务用例特征集包括多个公共用例特征以及与所述多个用例描述数据关联的多个指定特征的步骤,包括:
获取与所述用例类型数据关联的一个或多个第一标签;
遍历预设特征池中的所有标签,确定所述一个或多个第一标签对应的一个或多个第一位置;
根据所述一个或多个第一位置,获取与所述一个或多个第一标签关联的公共用例特征;
根据所述多个用例描述数据,从所述预设特征池中获取与所述多个用例描述数据关联的多个指定特征。
可选地,所述根据所述多个公共用例特征以及所述多个指定特征,从预设用例库中获取多个候选业务测试用例的步骤,包括:
计算每个公共用例特征以及每个指定特征分别与所述预设用例库中的每个标准测试用例之间的第一相似度;
根据每个公共用例特征以及每个指定特征分别与每个标准测试用例之间的所述第一相似度,计算每个标准测试用例的第二相似度;
将所述第二相似度大于预设相似度阈值的标准测试用例确定为候选业务测试用例;
从所述预设用例库中获取所述多个候选业务测试用例。
可选地,所述编码所述多个候选业务测试用例,得到多个个体的步骤,包括:
对所述多个候选业务测试用例执行二进制编码,得到所述多个个体。
可选地,所述对所述初始种群中的所述多个个体执行选择、交叉以及变异的遗传迭代操作,生成多个目标测试用例的步骤,包括:
计算所述初始种群中每个个体对应的第一适应度值;
根据所述第一适应度值对所述初始种群执行第一代的遗传操作,以得到第一新种群集合;
基于所述第一新种群集合,执行S代的的遗传操作,生成第S新种群集合,所述第S新种群集合中的多个个体为多个目标测试用例,其中,S为预设的最大迭代次数,且S为正整数,S>1。
可选地,所述对所述初始种群中的所述多个个体执行选择、交叉以及变异的遗传迭代操作,生成多个目标测试用例的步骤,包括:
基于所述初始种群,执行第i代的遗传迭代操作,以得到第i新种群集合,i为正整数,且i>1;
当所述第i新种群集合中的多个个体对应的最大适应度值小于预设适应度阈值时,则对所述第i新种群集合中的个体进行解码,生成多个目标测试用例。
可选地,所述方法包括:
获取待测接口的多个接口参数和对应的参数类型;
基于边界值分析法和等价类划分法扩展多个接口参数对应的接口参数数值,以生成多个扩展后的接口参数数值;
对所述多个扩展后的参数数值执行笛卡尔运算,以生成多个新的测试用例。
为了实现上述目的,本发明实施例还提供一种测试用例获取系统,包括:
第一获取模块,用于获取测试请求,所述测试请求包括用例类型数据和多个用例描述数据;
第一生成模块,用于基于所述用例类型数据和所述多个用例描述数据,生成业务用例特征集,所述业务用例特征集包括多个公共用例特征以及与所述多个用例描述数据关联的多个指定特征;
第二获取模块,用于根据所述多个公共用例特征以及所述多个指定特征,从预设用例库中获取多个候选业务测试用例;
编码模块,用于编码所述多个候选业务测试用例,得到多个个体;
组合模块,用于组合多个个体,以得到初始种群;
第二生成模块,用于对所述初始种群中的所述多个个体执行遗传迭代操作,生成多个目标测试用例;
推送模块,用于将所述多个目标测试用例推送至测试用户端。
为了实现上述目的,本发明实施例还提供一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述测试用例获取方法的步骤。
为了实现上述目的,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如上所述的测试用例获取方法的步骤。
本发明实施例提供的测试用例获取方法、系统、计算机设备及计算机可读存储介质,通过获取测试请求,所述测试请求包括用例类型数据和多个用例描述数据;基于所述用例类型数据和所述多个用例描述数据,生成业务用例特征集,所述业务用例特征集包括多个公共用例特征以及与所述多个用例描述数据关联的多个指定特征;根据所述多个公共用例特征以及所述多个指定特征,从预设用例库中获取多个候选业务测试用例;编码所述多个候选业务测试用例,得到多个个体;组合多个个体,以得到初始种群;对所述初始种群中的所述多个个体执行遗传迭代操作,生成多个目标测试用例;将所述多个目标测试用例推送至测试用户端;本发明实施例通过基于候选业务测试用例结合遗传算法,在保证了代码覆盖率的前提下,获取多个目标测试用例进行回归测试,测试效率高。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明实施例一之测试用例获取方法的步骤流程图;
图2为本发明实施例一之测试用例获取方法中生成业务用例特征集的步骤流程图;
图3为本发明实施例一之测试用例获取方法中获取多个候选业务测试用例的步骤流程图;
图4为本发明实施例一之测试用例获取方法中生成多个目标测试用例的步骤流程图;
图5为本发明实施例一之测试用例获取方法中生成多个目标测试用例的步骤流程图;
图6为本发明实施例一之测试用例获取方法中膨胀测试用例的步骤流程图;
图7为本发明实施例二之测试用例获取系统的程序模块示意图;
图8为本发明实施例三之计算机设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
实施例一
请参阅图1,示出了本发明实施例之测试用例获取方法的步骤流程图。可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备为执行主体进行示例性描述,具体如下:
如图1所示,所述测试用例获取方法可以包括步骤S100~S700,其中:
步骤S100,获取测试请求,所述测试请求包括用例类型数据和多个用例描述数据。
示例性的,所述测试请求用于在上线之前,请求回归测试。
其中,用例类型数据表示为该测试用例能够解决的问题的类型。
步骤S200,基于所述用例类型数据和所述多个用例描述数据,生成业务用例特征集,所述业务用例特征集包括多个公共用例特征以及与所述多个用例描述数据关联的多个指定特征。
在示例性的实施例中,根据所述用例类型数据和多个用例描述数据,从预设特征池中,获取多个特征,形成业务特征集。所述方法还包括:将多个特征(如公共用例特征、指定特征)预先存放于特征池中;具体如下:获取多个样本测试用例,基于预设定的最大分词长度对所述多个样本测试用例进行切分,得到多个第一分词序列;基于预设的词库,判断多个第一分词序列是否满足第一预设条件:当第一分词序列位于所述词库内,则确定所述第一分词序列为目标分词,所述目标分词为用例特征,并将所述用例特征存放于特征池中;当第一分词序列位于所述词库外,对所述第一分词序列进行切分,得到第二分词序列,当第二分词序列满足第一预设条件时,则确定所述第二分词序列为目标分词,所述目标分词为用例特征,并将所述用例特征存放于特征池中;若所述第二分词序列不满足所述第一预设条件时,对所述第二分词序列进行切分,以此类推,以得到目标分词,所述目标分词为用例特征,并将所述用例特征存放于特征池中。
在特征池中,为每个用例特征基于每个用例特征的特性赋予标签,通过所述标签来表示这个用例特征的内容。
在示例性的实施例中,如图2所示,所述步骤S200还包括步骤S201~204,其中:步骤S201,获取与所述用例类型数据关联的一个或多个第一标签;步骤S202,遍历预设特征池中的所有标签,确定所述一个或多个第一标签对应的一个或多个第一位置;步骤S203,根据所述一个或多个第一位置,获取与所述一个或多个第一标签关联的公共用例特征;步骤S204,根据所述多个用例描述数据,从所述预设特征池中获取与所述多个用例描述数据关联的多个指定特征。
示例性的,所述测试请求包括测试用例类型数据,基于所述测试用例类型数据遍历特征池中的所有标签,获取与所述测试用例类型数据相关的第一标签,基于所述第一标签获取对应的公共用例特征。
例如:测试请求1为请求信用卡商城支付,测试请求2为请求信用卡商城用户流水查询,测试请求1和测试请求2对应的测试用例第一类型数据为信用卡商城,可基于所述第一类型数据获取信用卡商城相关的公共用例特征。
根据获取到的测试请求,按需生成业务用例特征集,有助于后续测试用例特征的灵活推荐。
步骤S300,根据所述多个公共用例特征以及所述多个指定特征,从预设用例库中获取多个候选业务测试用例。
在示例性的实施例中,请参阅图3,所述步骤S300还可以进一步包括如下步骤S301~S304,其中:步骤S301,计算每个公共用例特征以及每个指定特征分别与所述预设用例库中的每个标准测试用例之间的第一相似度;步骤S302,根据每个公共用例特征以及每个指定特征分别与每个标准测试用例之间的所述第一相似度,计算每个标准测试用例的第二相似度;步骤S303,将所述第二相似度大于预设相似度阈值的标准测试用例确定为候选业务测试用例;步骤S304,从所述预设用例库中获取所述多个候选业务测试用例。
示例性的,假如业务用例特征库中包括公共用例特征A1、公共用例特征A2、公共用例特征A3、指定特征B1和指定特征B2,预设用例库中包括标准测试用例C1、标准测试用例C2、标准测试用例C3、...、标准测试用例Cn,则分别计算公共用例特征A1与标准测试用例C1之间的第一相似度D11、公共用例特征A1与标准测试用例C2之间的第一相似度D12、公共用例特征A1与标准测试用例C3之间的第一相似度D13、...、公共用例特征A1与标准测试用例Cn之间的第一相似度D1n,分别计算公共用例特征A2与标准测试用例C1之间的第一相似度D21、公共用例特征A2与标准测试用例C2之间的第一相似度D22、...,以此类推,基于D11、D12、D13、...、D1n计算得到,测试用例C1的第二相似度。例如,预设相似度阈值设置为90%,大于90%的标准测试用例均可以确定为候选业务测试用例。
通过特征提取将多个候选业务测试用例选择出来,在一定程度上,节约了回归测试的时耗。
步骤S400,编码所述多个候选业务测试用例,得到多个个体。
在示例性的实施例中,所述步骤S400可以包括:对所述多个候选业务测试用例执行二进制编码,得到所述多个个体。
示例性,所述方法还包括构建用例基因库,通过基因型编码对多个候选业务测试用例进行编码,生成一系列基因的合集--个体。本发明可采用二进制编码法对候选业务测试用例执行编码。为遗传算法的运行做准备,有助于后续遗传算法有效地进行。
步骤S500,组合多个个体,以得到初始种群。
示例性的,将多个个体结合起来,得到初始种群。
步骤S600,对所述初始种群中的所述多个个体执行遗传迭代操作,生成多个目标测试用例。
示例性的,在得到初始种群后,获取所述初始种群中每个候选业务测试用例个体的触发路径,并将所述每个候选业务测试用例个体分类至对应的触发路径测试用例集中。后续进行一次迭代,会对新种群集合中的每个候选业务测试用例个体进行重新分配。每个触发路径测试用例集中的触发路径相当于代码。
示例性的,在产生新种群集合时,在新的一次遗传操作之后,确定新种群集合中的每个候选业务测试用例个体对应的新的触发路径,并将每个测试用例个体基于对应的新的触发路径重分类至对应的新的触发路径测试用例集合中。
对初始种群中的多个个体执行遗传迭代操作,相当于将每次遗传迭代操作得到的新种群集合中的个体进行重分配,以将最后一次迭代得到的新种群集合中的多个个体确定为目标测试用例,此时,多个目标测试用例均匀地分布在多个触发路径测试用例集中。
在保证了代码覆盖率的前提下,用更少的目标测试用例对应用软件上线前的回归测试进行测试,有效地缩短了测试的时间,提高了测试的效率。
在示例性的实施例中,所述方法包括通过预先设定最高的迭代次数来作为遗传的停止条件,即设定迭代次数阈值。
以下以通过预先设定最高的迭代次数来作为遗传的停止条件进行示例性说明上述生成目标测试用例的操作。请参阅图4,所述步骤S600还包括步骤S601~S603,其中:步骤S601,计算所述初始种群中每个个体对应的第一适应度值;步骤S602,根据所述第一适应度值对所述初始种群执行第一代的遗传操作,以得到第一新种群集合;步骤S603,基于所述第一新种群集合,执行S代的的遗传操作,生成第S新种群集合,所述第S新种群集合中的多个个体为多个目标测试用例,其中,S为预设的最大迭代次数,且S为正整数,S>1。
示例性的,遗传操作包括选择、交叉、变异。适应度值通过适应度函数计算得到。选择的操作使用轮盘赌选择法来实现,种群中每个个体被选择保留下来的概率和每个个体对应的适应度成正比。其中,交叉操作和变异操作只改变二进制编码的结构。
在示例性的实施例中,根据初始种群中的每个个体,计算所述初始种群中每个个体对应的第一适应度值;基于所述每个个体对应的适应度值排序,淘汰所述适应度值低的后n个个体;将前m-n个个体复制进入新种群集合中,其中n<m,且m,n均为正整数,m>1,n>1;随机从所述初始种群中(m-n)个个体中选择n个个体执行变异操作,以生成第一后代;将所述第一后代复制进入新种群集合中;随机从所述初始种群中选择n个个体与上述进行变异操作所选择的n个个体执行交叉操作,生成第二后代;将所述第二后代复制进入新种群集合中,所述新种群集合包括前m-n个个体、多个第一后代以及多个第二后代;再经所述新种群集合中的多个个体,进入到下一个遗传迭代过程中,直到迭代次数满足预设的最大迭代次数,停止迭代遗传,输出多个目标测试用例。
通过上述最大迭代次数的设置,随着种群的变化会使得测试用例集中的个体从大的触发路径测试用例集转移到小的触发路径测试用例集中。这样,可以保证不容易被执行到的触发路径的测试用例集中的测试用例数量也在种群中占据了足够的比例。
以下以判断种群集合中的多个个体的最大适应度值是否满足预设适应度阈值作为遗传的停止条件进行示例性说明上述生成目标测试用例的操作。
在其他的示例性的实施例中,请参阅图5,所述步骤S600还包括步骤S611~S612,其中:步骤S611,基于所述初始种群,执行第i代的遗传迭代操作,以得到第i新种群集合,i为正整数,且i>1;步骤S612,当所述第i新种群集合中的多个个体对应的最大适应度值小于预设适应度阈值时,则对所述第i新种群集合中的个体进行解码,生成多个目标测试用例。
通过上述设置,使得每个个体能够均匀分布到多个触发路径测试用例集中。
具体的,所述方法还包括:在每一次迭代遗传的过程中,记录种群集合中最优个体的二进制编码字符串。便于后续的用例分析。
步骤S700,将所述多个目标测试用例推送至测试用户端。
在示例性的实施例中,如图6所示,所述方法包括:步骤S801,获取待测接口的多个接口参数和对应的参数类型;步骤S802,基于边界值分析法和等价类划分法扩展多个接口参数对应的接口参数数值,以生成多个扩展后的接口参数数值;步骤S803,对所述多个扩展后的参数数值执行笛卡尔运算,以生成多个新的测试用例。
示例性的,通过待测接口的多个接口参数和对应的参数类型,生成种子测试用例,再根据扩展后的接口参数数值对种子测试用例进行膨胀,以得到多个膨胀后的测试用例,并将所述多个测试用例保存在所述用例库中。
具体的,可以通过YAPI工具模拟待测接口的输入接口参数以实现参数的扩展。
示例性的,参数类型包括int类型、布尔类型。可以对最大值、最小值等进行膨胀,得到更多的测试用例。
通过上述对测试用例的膨胀技术,可以快速准确的生成批量的用例,可以提升测试用例生产的效率。
本发明实施例通过基于候选业务测试用例结合遗传算法,在保证了代码覆盖率的前提下,获取多个目标测试用例进行回归测试,测试效率高。通过遗传算法和代码覆盖率的应用,获取到了代码覆盖率最全面、有效的多个目标测试用例。获取目标测试用例之前,预先根据相似度获取多个候选业务测试用例,按需索取多个候选业务测试用例,减少无关测试用例的执行,减少资源消耗,更有利于测试用例的分析
实施例二
请继续参阅图7,示出了本发明测试用例获取系统的程序模块示意图。在本实施例中,测试用例获取系统20可以包括或被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本发明,并可实现上述测试用例获取方法。本发明实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序本身更适合于描述测试用例获取系统20在存储介质中的执行过程。以下描述将具体介绍本实施例各程序模块的功能:
第一获取模块900,用于获取测试请求,所述测试请求包括用例类型数据和多个用例描述数据;
第一生成模块910,用于基于所述用例类型数据和所述多个用例描述数据,生成业务用例特征集,所述业务用例特征集包括多个公共用例特征以及与所述多个用例描述数据关联的多个指定特征;
第二获取模块920,用于根据所述多个公共用例特征以及所述多个指定特征,从预设用例库中获取多个候选业务测试用例;
编码模块930,用于编码所述多个候选业务测试用例,得到多个个体;
组合模块940,用于组合多个个体,以得到初始种群;
第二生成模块950,用于对所述初始种群中的所述多个个体执行遗传迭代操作,生成多个目标测试用例;
推送模块960,用于将所述多个目标测试用例推送至测试用户端。
在示例性的实施例中,所述第一生成模块910,还用于:获取与所述用例类型数据关联的一个或多个第一标签;遍历预设特征池中的所有标签,确定所述一个或多个第一标签对应的一个或多个第一位置;根据所述一个或多个第一位置,获取与所述一个或多个第一标签关联的公共用例特征;根据所述多个用例描述数据,从所述预设特征池中获取与所述多个用例描述数据关联的多个指定特征。
在示例性的实施例中,所述第二获取模块920,还用于:计算每个公共用例特征以及每个指定特征分别与所述预设用例库中的每个标准测试用例之间的第一相似度;根据每个公共用例特征以及每个指定特征分别与每个标准测试用例之间的所述第一相似度,计算每个标准测试用例的第二相似度;将所述第二相似度大于预设相似度阈值的标准测试用例确定为候选业务测试用例;从所述预设用例库中获取所述多个候选业务测试用例。
在示例性的实施例中,所述编码模块930,还用于:对所述多个候选业务测试用例执行二进制编码,得到所述多个个体。
在示例性的实施例中,所述第二生成模块950,还用于:计算所述初始种群中每个个体对应的第一适应度值;根据所述第一适应度值对所述初始种群执行第一代的遗传操作,以得到第一新种群集合;基于所述第一新种群集合,执行S代的遗传操作,生成第S新种群集合,所述第S新种群集合中的多个个体为多个目标测试用例,其中,S为预设的最大迭代次数,且S为正整数,S>1。
在其他的示例性的实施例中,所述第二生成模块950,还用于:基于所述初始种群,执行第i代的遗传迭代操作,以得到第i新种群集合,i为正整数,且i>1;当所述第i新种群集合中的多个个体对应的最大适应度值小于预设适应度阈值时,则对所述第i新种群集合中的个体进行解码,生成多个目标测试用例。
实施例三
参阅图8,是本发明实施例三之计算机设备的硬件架构示意图。本实施例中,所述计算机设备2是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。该计算机设备2可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图8所示,所述计算机设备2至少包括,但不限于,可通过系统总线相互通信连接存储器21、处理器22、网络接口23、以及测试用例获取系统20。其中:
本实施例中,存储器21至少包括一种类型的计算机可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器21可以是计算机设备2的内部存储单元,例如该计算机设备2的硬盘或内存。在另一些实施例中,存储器21也可以是计算机设备2的外部存储设备,例如该计算机设备2上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器21还可以既包括计算机设备2的内部存储单元也包括其外部存储设备。本实施例中,存储器21通常用于存储安装于计算机设备2的操作系统和各类应用软件,例如上述实施例的测试用例获取系统20的程序代码等。此外,存储器21还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器22在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器22通常用于控制计算机设备2的总体操作。本实施例中,处理器22用于运行存储器21中存储的程序代码或者处理数据,例如运行测试用例获取系统20,以实现上述实施例的测试用例获取方法。
所述网络接口23可包括无线网络接口或有线网络接口,该网络接口23通常用于在所述计算机设备2与其他电子装置之间建立通信连接。例如,所述网络接口23用于通过网络将所述计算机设备2与外部终端相连,在所述计算机设备2与外部终端之间的建立数据传输通道和通信连接等。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(WidebandCode Division Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图8仅示出了具有部件20-23的计算机设备2,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器21中的所述测试用例获取系统20还可以被分割为一个或者多个程序模块,所述一个或者多个程序模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。
例如,图7示出了所述实现测试用例获取系统20实施例二的程序模块示意图,该实施例中,所述基于测试用例获取系统20可以被划分为第一获取模块900、第一生成模块910、第二获取模块920、编码模块930、组合模块940、第二生成模块950以及推送模块960。其中,本发明所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述所述测试用例获取系统20在所述计算机设备2中的执行过程。所述程序模块900-960的具体功能在实施例二中已有详细描述,在此不再赘述。
实施例四
本实施例还提供一种计算机可读存储介质,如闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘、服务器、App应用商城等等,其上存储有计算机程序,程序被处理器执行时实现相应功能。本实施例的计算机可读存储介质用于存储测试用例获取系统20,被处理器执行时实现上述实施例的测试用例获取方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种测试用例获取方法,其特征在于,包括:
获取测试请求,所述测试请求包括用例类型数据和多个用例描述数据;
基于所述用例类型数据和所述多个用例描述数据,生成业务用例特征集,所述业务用例特征集包括多个公共用例特征以及与所述多个用例描述数据关联的多个指定特征;
根据所述多个公共用例特征以及所述多个指定特征,从预设用例库中获取多个候选业务测试用例;
编码所述多个候选业务测试用例,得到多个个体;
组合多个个体,以得到初始种群;
对所述初始种群中的所述多个个体执行遗传迭代操作,生成多个目标测试用例;
将所述多个目标测试用例推送至测试用户端;
其中,所述基于所述用例类型数据和所述多个用例描述数据,生成业务用例特征集,所述业务用例特征集包括多个公共用例特征以及与所述多个用例描述数据关联的多个指定特征的步骤,包括:
获取与所述用例类型数据关联的一个或多个第一标签;
遍历预设特征池中的所有标签,确定所述一个或多个第一标签对应的一个或多个第一位置;
根据所述一个或多个第一位置,获取与所述一个或多个第一标签关联的公共用例特征;
根据所述多个用例描述数据,从所述预设特征池中获取与所述多个用例描述数据关联的多个指定特征;
其中,所述根据所述多个公共用例特征以及所述多个指定特征,从预设用例库中获取多个候选业务测试用例的步骤,包括:
计算每个公共用例特征以及每个指定特征分别与所述预设用例库中的每个标准测试用例之间的第一相似度;
根据每个公共用例特征以及每个指定特征分别与每个标准测试用例之间的所述第一相似度,计算每个标准测试用例的第二相似度;
将所述第二相似度大于预设相似度阈值的标准测试用例确定为候选业务测试用例;
从所述预设用例库中获取所述多个候选业务测试用例。
2.根据权利要求1所述的测试用例获取方法,其特征在于,所述编码所述多个候选业务测试用例,得到多个个体的步骤,包括:
对所述多个候选业务测试用例执行二进制编码,得到所述多个个体。
3.根据权利要求2所述的测试用例获取方法,其特征在于,所述对所述初始种群中的所述多个个体执行遗传迭代操作,生成多个目标测试用例的步骤,包括:
计算所述初始种群中每个个体对应的第一适应度值;
根据所述第一适应度值对所述初始种群执行第一代的遗传操作,以得到第一新种群集合;
基于所述第一新种群集合,执行S代的遗传操作,生成第S新种群集合,所述第S新种群集合中的多个个体为多个目标测试用例,其中,S为预设的最大迭代次数,且S为正整数,S>1;
其中,所述遗传迭代操作包括选择、交叉以及变异。
4.根据权利要求2所述的测试用例获取方法,其特征在于,所述对所述初始种群中的所述多个个体执行遗传迭代操作,生成多个目标测试用例的步骤,包括:
基于所述初始种群,执行第i代的遗传迭代操作,以得到第i新种群集合,i为正整数,且i>1;
当所述第i新种群集合中的多个个体对应的最大适应度值小于预设适应度阈值时,则对所述第i新种群集合中的个体进行解码,生成多个目标测试用例;
其中,所述遗传迭代操作包括选择、交叉以及变异。
5.根据权利要求1所述的测试用例获取方法,其特征在于,所述方法包括:
获取待测接口的多个接口参数和对应的参数类型;
基于边界值分析法和等价类划分法扩展多个接口参数对应的接口参数数值,以生成多个扩展后的接口参数数值;
对所述多个扩展后的参数数值执行笛卡尔运算,以生成多个新的测试用例。
6.一种测试用例获取系统,其特征在于,包括:
第一获取模块,用于获取测试请求,所述测试请求包括用例类型数据和多个用例描述数据;
第一生成模块,用于基于所述用例类型数据和所述多个用例描述数据,生成业务用例特征集,所述业务用例特征集包括多个公共用例特征以及与所述多个用例描述数据关联的多个指定特征;
第二获取模块,用于根据所述多个公共用例特征以及所述多个指定特征,从预设用例库中获取多个候选业务测试用例;
编码模块,用于编码所述多个候选业务测试用例,得到多个个体;
组合模块,用于组合多个个体,以得到初始种群;
第二生成模块,用于对所述初始种群中的所述多个个体执行遗传迭代操作,生成多个目标测试用例;
推送模块,用于将所述多个目标测试用例推送至测试用户端;
其中,所述第一生成模块还用于:获取与所述用例类型数据关联的一个或多个第一标签;遍历预设特征池中的所有标签,确定所述一个或多个第一标签对应的一个或多个第一位置;根据所述一个或多个第一位置,获取与所述一个或多个第一标签关联的公共用例特征;根据所述多个用例描述数据,从所述预设特征池中获取与所述多个用例描述数据关联的多个指定特征;
其中,所述第二生成模块还用于:计算每个公共用例特征以及每个指定特征分别与所述预设用例库中的每个标准测试用例之间的第一相似度;根据每个公共用例特征以及每个指定特征分别与每个标准测试用例之间的所述第一相似度,计算每个标准测试用例的第二相似度;将所述第二相似度大于预设相似度阈值的标准测试用例确定为候选业务测试用例;从所述预设用例库中获取所述多个候选业务测试用例。
7.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的测试用例获取方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行如权利要求1至5中任一项所述的测试用例获取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011558470.1A CN112579462B (zh) | 2020-12-25 | 2020-12-25 | 测试用例获取方法、系统、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011558470.1A CN112579462B (zh) | 2020-12-25 | 2020-12-25 | 测试用例获取方法、系统、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112579462A CN112579462A (zh) | 2021-03-30 |
CN112579462B true CN112579462B (zh) | 2024-02-09 |
Family
ID=75139679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011558470.1A Active CN112579462B (zh) | 2020-12-25 | 2020-12-25 | 测试用例获取方法、系统、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579462B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113176997B (zh) * | 2021-04-30 | 2024-05-03 | 深圳市共进电子股份有限公司 | 测试用例加载方法、装置、计算机设备和可读存储介质 |
CN113704103B (zh) * | 2021-08-24 | 2023-08-04 | 网易(杭州)网络有限公司 | 测试用例推荐方法、装置、介质及电子设备 |
CN113672522B (zh) * | 2021-10-25 | 2022-02-08 | 腾讯科技(深圳)有限公司 | 测试资源压缩方法以及相关设备 |
CN115225551B (zh) * | 2022-07-14 | 2024-03-29 | 北京邮电大学 | 一种模糊测试方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750435A (zh) * | 2018-07-23 | 2020-02-04 | 北京奇虎科技有限公司 | 一种测试用例的管理方法和装置 |
EP3644558A1 (en) * | 2018-10-23 | 2020-04-29 | Siemens Aktiengesellschaft | Testing of network functions of a communication system |
CN111858366A (zh) * | 2020-07-24 | 2020-10-30 | 中国建设银行股份有限公司 | 一种测试用例生成方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763055B (zh) * | 2018-04-19 | 2020-08-25 | 北京航空航天大学 | 一种基于表观遗传的测试用例约束控制技术的构建方法 |
-
2020
- 2020-12-25 CN CN202011558470.1A patent/CN112579462B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750435A (zh) * | 2018-07-23 | 2020-02-04 | 北京奇虎科技有限公司 | 一种测试用例的管理方法和装置 |
EP3644558A1 (en) * | 2018-10-23 | 2020-04-29 | Siemens Aktiengesellschaft | Testing of network functions of a communication system |
CN111858366A (zh) * | 2020-07-24 | 2020-10-30 | 中国建设银行股份有限公司 | 一种测试用例生成方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于改进遗传算法的面向路径测试用例自动生成方法研究;王鹏;《中国优秀硕士学位论文全文数据库 (信息科技辑)》(第05期);I140-15 * |
Also Published As
Publication number | Publication date |
---|---|
CN112579462A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112579462B (zh) | 测试用例获取方法、系统、设备及计算机可读存储介质 | |
CN110599354B (zh) | 线上对账方法、系统、计算机设备和计算机可读存储介质 | |
CN110928802A (zh) | 基于自动生成用例的测试方法、装置、设备及存储介质 | |
CN112231416A (zh) | 知识图谱本体更新方法、装置、计算机设备及存储介质 | |
CN112181430B (zh) | 代码变更统计方法、装置、电子设备及存储介质 | |
CN112733551A (zh) | 文本分析方法、装置、电子设备及可读存储介质 | |
CN115394383A (zh) | 磷光材料的发光波长预测方法及系统 | |
CN111274202A (zh) | 电子合同生成方法、装置、计算机设备及存储介质 | |
CN112529319A (zh) | 基于多维特征的评分方法、装置、计算机设备及存储介质 | |
CN116629423A (zh) | 用户行为预测方法、装置、设备及存储介质 | |
CN113869431B (zh) | 虚假信息检测方法、系统、计算机设备及可读存储介质 | |
CN116168403A (zh) | 医疗数据分类模型训练方法、分类方法、装置及相关介质 | |
CN114913008A (zh) | 基于决策树的债券价值分析方法、装置、设备及存储介质 | |
CN115936802A (zh) | 基于用户画像和序列建模的个性化营销方法、装置、设备和存储介质 | |
CN112183622B (zh) | 一种移动应用bots安装作弊检测方法、装置、设备及介质 | |
CN116956839A (zh) | 一种工程造价清单的清单项确定方法和装置 | |
CN114860608A (zh) | 基于场景构建的系统自动化测试方法、装置、设备及介质 | |
CN112905987B (zh) | 账号识别方法、装置、服务器及存储介质 | |
CN114168581A (zh) | 数据清洗方法、装置、计算机设备及存储介质 | |
CN112966988A (zh) | 基于XGBoost模型的数据评估方法、装置、设备及存储介质 | |
CN111737319A (zh) | 用户集群的预测方法、装置、计算机设备和存储介质 | |
US11177018B2 (en) | Stable genes in comparative transcriptomics | |
CN112231454A (zh) | 提问预测及回答反馈方法、装置、计算机设备及存储介质 | |
CN112116381B (zh) | 基于lstm神经网络的月活预测方法、存储介质和计算机设备 | |
CN113641732A (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 |