CN111352852B - 一种回归测试案例的选择方法及装置 - Google Patents
一种回归测试案例的选择方法及装置 Download PDFInfo
- Publication number
- CN111352852B CN111352852B CN202010353334.2A CN202010353334A CN111352852B CN 111352852 B CN111352852 B CN 111352852B CN 202010353334 A CN202010353334 A CN 202010353334A CN 111352852 B CN111352852 B CN 111352852B
- Authority
- CN
- China
- Prior art keywords
- test
- change
- test case
- program
- regression
- 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
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/3676—Test management for coverage analysis
-
- 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
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
技术领域
本申请涉及软件测试领域,尤其涉及一种回归测试案例的选择方法及装置。
背景技术
回归测试是指,对修改后的程序重新进行测试,以确认修改后的程序没有引入新的错误或导致其他代码产生错误。
用于回归测试的案例(简称回归测试案例)的选择是否正确,决定了是否可以发现修改后的程序引入新的错误或导致其他代码产生错误,所以回归测试案例的选择,是进行回归测试的重要步骤。现有的回归测试方法,通常采用回归全部测试案例、基于风险的回归测试、基于操作剖面的回归测试、以及零回归测试,回归全部测试案例的方法,虽然能够最大程度发现错误,但耗费大量的人力成本和时间成本;基于风险的回归测试,有利于发现高风险的错误,但往往会遗漏优先级低的错误;基于操作剖面的回归测试,可以发现常用基本功能的错误,但往往会遗漏一些非常用功能出现的错误;零回归测试,仅测试修改的部分,所以无法验证程序变更是否引入了新的缺陷。综上,现有的回归测试方式,无法实现测试效率高且回归测试案例全面的问题。
发明内容
为了实现上述目的,本申请提供了以下技术方案:
一种回归测试案例的选择方法,包括:
获取变更程序,所述变更程序为包括变更代码的程序;
获取与变更后的所述变更程序对应的基准测试库;所述基准测试库包括多个测试案例,任意一个所述测试案例为预设的针对所述变更程序进行测试的案例;
针对所述变更程序的每一条所述变更代码,从所述基准测试库中获取满足预设条件的测试案例,作为所述变更代码的目标测试案例,所述预设条件至少包括,所述变更代码与所述目标测试案例的相关度大于阈值;
将所述目标测试案例作为所述变更程序的所述回归测试案例。
上述的方法,可选的,所述预设条件还包括:
所述目标测试案例的测试点没有被已获取的所述回归测试案例覆盖,或者,
所述目标测试案例的测试点被所述已获取得到的所述回归测试案例覆盖的情况下,所述回归测试案例历史执行测试任务的次数,少于所述目标测试案例历史执行测试任务的次数;
其中,所述目标测试案例的测试点被所述回归测试案例覆盖,为所述目标测试案例的测试点与所述回归测试案例的测试点相同。
上述的方法,可选的,获取与所述变更程序对应的基准测试库,包括:
确定所述变更程序对应的程序基线版本;
根据预设的程序基线版本与基准测试库的对应关系,获取与所述变更程序的所述程序基线版本对应的所述基准测试库。
上述的方法,可选的,从所述基准测试库中获取满足预设条件的所述目标测试案例,包括:
确定所述变更代码的变更特征;所述特征对象包括变更对象以及优化对象,所述变更对象是为优化所述优化对象所变更的对象;
确定所述测试案例的测试特征;
在所述测试特征包括所述变更特征,或与所述特征对象关联的其他对象的情况下,确定所述测试特征与所述变更特征的关联关系;
根据预设的关联关系与距离值的对应关系,确定所述变更代码与所述测试案例的距离值;
根据预设的距离值与相关度的计算规则,得到所述距离值对应的相关度;
将所述相关度大于阈值的所述测试案例,作为所述目标测试案例。
上述的方法,可选的,所述变更代码为携带预设标识的代码,所述标识用于表征所述变更代码为变更后的代码。
一种回归测试案例的选择装置,包括:
第一获取单元,用于获取变更程序,所述变更程序为包括变更代码的程序;
第二获取单元,用于获取与变更后的所述变更程序对应的基准测试库;所述基准测试库包括多个测试案例,任意一个所述测试案例为预设的针对所述变更程序进行测试的案例;
第三获取单元,用于针对所述变更程序的每一条所述变更代码,从所述基准测试库中获取满足预设条件的测试案例,作为所述变更代码的目标测试案例,所述预设条件至少包括,所述变更代码与所述目标测试案例的相关度大于阈值;
确定单元,用于将所述目标测试案例作为所述变更程序的所述回归测试案例。
上述的装置,可选的,所述第三获取单元从所述基准测试库中获取满足预设条件的测试案例中的所述预设条件,还包括:
所述目标测试案例的测试点没有被已获取的所述回归测试案例覆盖,或者,
所述目标测试案例的测试点被所述已获取得到的所述回归测试案例覆盖的情况下,所述回归测试案例历史执行测试任务的次数,少于所述目标测试案例历史执行测试任务的次数;
其中,所述目标测试案例的测试点被所述回归测试案例覆盖,为所述目标测试案例的测试点与所述回归测试案例的测试点相同。
上述的装置,可选的,所述第三获取单元用于从所述基准测试库中获取满足预设条件的所述目标测试案例,包括,所述第三获取单元具体用于:
确定所述变更代码的变更特征;所述特征对象包括变更对象以及优化对象,所述变更对象是为优化所述优化对象所变更的对象;
确定所述测试案例的测试特征;
在所述测试特征包括所述变更特征,或与所述特征对象关联的其他对象的情况下,确定所述测试特征与所述变更特征的关联关系;
根据预设的关联关系与距离值的对应关系,确定所述变更代码与所述测试案例的距离值;
根据预设的距离值与相关度的计算规则,得到所述距离值对应的相关度;
将所述相关度大于阈值的所述测试案例,作为所述目标测试案例。
一种电子设备,包括:处理器和存储器,所述存储器用于存储程序;所述处理器用于运行所述程序,以实现上述的回归测试案例的选择方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的回归测试案例的选择方法。
本申请提供的技术方案,包括,针对变更程序的每一条变更代码,从预设的基准测试库中获取满足预设条件的测试案例,作为变更代码的目标测试案例,并将目标测试案例作为变更程序的回归测试案例。本技术方案,以变更代码为粒度,选择与变更代码相关度大于阈值的测试案例作为回归测试案例,使得到的回归测试案例与变更代码具有强相关性,所以得到回归测试案例更具有针对性,避免现有技术中选择与变更代码相关性低或不相关的测试案例作为回归测试案例,导致测试量大带来的效率低的问题。并且,基准测试库的测试案例为针对变更程序进行测试的案例,所以可以确保选取得到的回归测试案例可用于测试变更程序。
另外,以变更代码为粒度,选择与变更代码相关度大于阈值的测试案例作为回归测试案例,使得到的全部回归测试案例可以涉及到变更程序中所有发生变更的代码,所以本技术方案选取得到回归测试案例具有全面性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种回归测试案例的选择方法的流程图;
图2为本申请实施例提供的从基准测试库中获取变更代码的目标测试案例的方法的流程图;
图3为本申请实施例提供的另一种回归测试案例的选择方法的流程图;
图4为本申请实施例提供的一种回归测试案例的选择装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
本申请的技术方案,可以应用在具有程序测试功能的服务器上,
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种回归测试案例的选择方法,可以包括以下步骤:
S101、获取变更程序。
变更程序包括多条变更代码,变更代码是开发人员是为优化程序功能或方法而对代码进行变更后的程序代码。本实施例中,变更代码为携带预设标识的代码,标识用于表征变更代码为变更后的代码。
本步骤中,可以通过用户输入变更程序的方式,获取得到变更程序。
S102、获取与变更程序对应的基准测试库。
本实施例中,基准测试库包括多个测试案例,任意一个测试案例为预设的针对变更程序进行测试的案例。基准测试库与变更程序的程序基线版本相关,不同的程序基线版本,可以具有不同的基准测试库。具体的,确定软件程序的程序基线版本后,用于该基线版本测试的所有测试案例就形成了该程序基线版本的软件程序的基准测试库,并且开发人员会根据软件程序的变更而更新基准测试库。
实现本步骤的具体实施方式可以是,确定变更程序对应的程序基线版本,根据预设的程序基线版本与基准测试库的对应关系,获取与变更程序的程序基线版本对应的基准测试库。其中,程序基线版本与基准测试库的对应关系预先存储在服务器中。
S103、针对变更程序的每一条变更代码,从基准测试库中获取与变更代码的相关度大于阈值的测试案例,作为变更代码的目标测试案例。
本实施例中,相关度为变更代码与测试案例的关联程度,相关度依据变更代码的变更特征与测试案例的测试特征确定;
变更特征包括变更对象以及优化对象,变更对象是为优化该优化对象所变更的对象。优化对象可以是功能模块,变更对象可以是优化功能模块等所变更的方法,或变更的参数。
测试案例的测试特征为测试案例的测试点,测试点可以是功能模块、测试方法,以及测试参数等。
本实施例中,测试案例与变更代码的相关度越大,表征该测试案例用于作为回归测试案例对变更程序的进行测试的准确性越高。本步骤中,计算测试案例与变更代码相关度的具体过程可以参考图2所示的流程,此处不再赘述。
S104、将目标测试案例作为变更程序的回归测试案例。
本实施例提供的方法,以变更代码为粒度,选择与变更代码相关度大于阈值的测试案例作为回归测试案例,使得到的回归测试案例与变更代码具有强相关性,所以得到回归测试案例更具有针对性,避免现有技术中选择与变更代码相关性低或不相关的测试案例作为回归测试案例,导致测试量大带来的效率低的问题。并且,基准测试库的测试案例为针对变更程序进行测试的案例,所以可以确保选取得到的回归测试案例可用于测试变更程序。
另外,以变更代码为粒度,选择与变更代码相关度大于阈值的测试案例作为回归测试案例,使得到的全部回归测试案例可以涉及到变更程序中所有发生变更的代码,所以本技术方案选取得到回归测试案例具有全面性。
图2为本申请是实施例提供的从基准测试库中获取变更代码的目标测试案例的方法,可以包括以下步骤:
S201、确定变更代码的变更特征。
变更特征包括变更对象以及优化对象,变更对象是为优化该优化对象所变更的对象。优化对象可以是功能模块,变更对象可以是优化功能模块等所变更的方法,或变更的参数。
S202、确定测试案例的测试特征。
本实施例中,测试案例的测试特征为测试案例的测试点,测试点可以是功能模块、测试方法,以及测试参数等。
S203、判断测试特征是否包括变更特征,或与变更特征关联的对象,如果是,则执行S204,如果不是,则执行S208。
其中,任意一种与变更特征关联的对象可以是预先设定的。
S204、确定测试案例的测试特征与变更代码的变更特征的关联关系。
测试特征与变更特征之间关联关系,包括但不限于跳转关系、以及调用关系等。跳转关系可以是,例如,功能模块A跳转至自身、功能模块A跳转至关联的功能模块、或关联的功能模块跳转至功能模块A。调用关系可以是,功能模块A调用关联的功能模块、关联的功能模块调用功能模块A、或功能模块A调用参数等。
本步骤的具体实现方式为,例如,变更代码的变更特征为功能模块A,测试案例的测试特征中也包括功能模块B,功能模块B为预设的与功能模块A关联的功能模块,变更代码描述为,功能模块A跳转至功能模块B,则可确定测试案例的测试特征与变更代码的变更特征的关联关系为,目标功能模块跳转至关联的功能模块。
S205、根据预设的关联关系与距离值的对应关系,确定变更代码与测试案例的距离值。
本步骤中,关联关系与距离值的对应关系可以预先自行设定,例如,可以将目标功能模块跳转至自身对应的距离设为0、目标功能模块跳转至关联的功能模块对应的距离设为1,关联的功能模块跳转至目标功能模块对应的距离设为2。
S206、根据预设的距离值与相关度的计算规则,得到距离值对应的相关度。
具体的计算规则可以根据需求自行设定,本步骤中,例如,计算规则为距离值越小,相关度越大。
S207、将相关度大于阈值的测试案例,作为变更代码的目标测试案例。
S208、确定测试案例不是变更代码的目标测试案例。
本步骤中,若测试案例的测试特征不包括变更代码的变更特征,则确定测试案例不是目标测试案例。
本技术方案中,根据变更代码的变更特征与测试案例的测试特征的关联关系,确定变更代码与测试案例的距离值,并根据距离值,确定变更代码与测试案例的相关度,最后根据相关度确定代码的目标测试案例,因为相关度是依据变更代码的变更特征与测试案例的测试特征的关联关系得到的,所以,通过本技术方案,可以选出与变更代码相关的目标测试案例。
图3为本申请实施例提供的又一种回归测试案例的选择方法,可以包括以下步骤:
S301、获取变更程序。
S302、获取与变更程序对应的基准测试库。
S303、针对变更程序的每一条变更代码,从基准测试库中获取与变更代码的相关度大于阈值的测试案例,作为变更代码的目标测试案例。
本实施例中S301-S303的具体实施方式可以参考上述实施例的S101-S103,此处不再赘述。
S304、判断目标测试案例的测试点是否被已获取得到的回归测试案例覆盖。如果是,则执行S305,如果不是,则执行S308。
本实施例中,目标测试案例的测试点被回归测试案例覆盖,为目标测试案例的测试点与所述回归测试案例的测试点相同。
S305、判断回归测试案例历史执行测试任务的次数,是否少于目标测试案例历史执行测试任务的次数。如果不是,则执行S306,如果是,则执行S307。
根据杀虫剂悖论,采用同样的测试案例多次重复进行测试,最后将不再能够发现新的缺陷,所以本实施例中,在测试点相同的情况下,优选历史执行测试任务的次数最少的测试案例。
S306、将目标测试案例加入回归测试案例库,并将覆盖目标测试案的回归测试案例从回归测试案例库中删除。
S307、确定目标测试案例不是变更程序的回归测试案例。
本实施例中,不是变更程序的回归测试案例则不被加入回归测试案例库。
S308、将目标测试案例加入回归测试案例库。
本实施例提供的方法,在确定目标测试案例与变更代码的相关度达到阈值的情况下,若目标测试案例的测试点被已选取得到的回归测试案例覆盖,则优先选择执行测试次数较少的案例作为最终的回归测试案例,避免采用同样的测试案例多次重复进行测试,导致最后不再发现新的缺陷的问题。
本申请实例还提供了一种回归测试案例的选择装置400,其结构示意图,如图4所示,包括:
第一获取单元401,用于获取变更程序,变更程序为包括多条变更代码的程序;
第二获取单元402,用于获取与变更程序对应的基准测试库;基准测试库包括多个测试案例,任意一个测试案例为预设的针对变更程序进行测试的案例;
第三获取单元403,用于针对变更程序的每一条变更代码,从基准测试库中获取满足预设条件的测试案例,作为变更代码的目标测试案例,预设条件至少包括,变更代码与目标测试案例的相关度大于阈值;
确定单元404,用于将目标测试案例作为变更程序的回归测试案例。
其中,变更代码为携带预设标识的代码,标识用于表征所述变更代码为变更后的代码。
其中,第三获取单元403从基准测试库中获取满足预设条件的测试案例中的预设条件,还包括:
目标测试案例的测试点没有被已获取得到的回归测试案例覆盖,或者,目标测试案例的测试点被已获取得到的回归测试案例覆盖的情况下,回归测试案例历史执行测试任务的次数,少于目标测试案例历史执行测试任务的次数;
目标测试案例的测试点被回归测试案例覆盖,为目标测试案例的测试点与回归测试案例的测试点相同。
第二获取单元402获取与所述变更程序对应的基准测试库的具体实现方式为:确定变更程序对应的程序基线版本;根据预设的程序基线版本与基准测试库的对应关系,获取与变更程序的程序基线版本对应的基准测试库。
第三获取单元403从基准测试库中获取满足预设条件的目标测试案例的具体实现方式为:
确定变更代码的变更特征,特征对象包括变更对象以及优化对象,变更对象是为优化所述优化对象所变更的对象;
确定测试案例的测试特征;
在测试特征包括所述变更特征,或与特征对象关联的其他对象的情况下,确定测试特征与所述变更特征的关联关系;
根据预设的关联关系与距离值的对应关系,确定变更代码与所述测试案例的距离值;
根据预设的距离值与相关度的计算规则,得到距离值对应的相关度;
将相关度大于阈值的所述测试案例,作为目标测试案例。
本申请提供的技术方案,包括,针对变更程序的每一条变更代码,从预设的基准测试库中获取满足预设条件的测试案例,作为变更代码的目标测试案例,并将目标测试案例作为变更程序的回归测试案例。本技术方案,以变更代码为粒度,选择与变更代码相关度大于阈值的测试案例作为回归测试案例,使得到的回归测试案例与变更代码具有强相关性,所以得到回归测试案例更具有针对性,避免现有技术中选择与变更代码相关性低或不相关的测试案例作为回归测试案例,导致测试量大带来的效率低的问题。并且,基准测试库的测试案例为针对变更程序进行测试的案例,所以可以确保选取得到的回归测试案例可用于测试变更程序。
另外,以变更代码为粒度,选择与变更代码相关度大于阈值的测试案例作为回归测试案例,使得到的全部回归测试案例可以涉及到变更程序中所有发生变更的代码,所以本技术方案选取得到回归测试案例具有全面性。
本发明实施例还提供了一种电子设备500,其结构示意图如图5所示,具体包括:处理器501和存储器502,存储器502用于存储程序;处理器501用于运行程序,以实现本申请实施例中装箱方案的获取方法。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行本申请实施例中装箱方案的获取方法。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种回归测试案例的选择方法,其特征在于,包括:
获取变更程序,所述变更程序为包括变更代码的程序;
获取与变更后的所述变更程序对应的基准测试库;所述基准测试库包括多个测试案例,任意一个所述测试案例为预设的针对所述变更程序进行测试的案例;
针对所述变更程序的每一条所述变更代码,从所述基准测试库中获取满足预设条件的测试案例,作为所述变更代码的目标测试案例,所述预设条件至少包括,所述变更代码与所述目标测试案例的相关度大于阈值;
将所述目标测试案例作为所述变更程序的所述回归测试案例;
从所述基准测试库中获取满足预设条件的所述目标测试案例,包括:
确定所述变更代码的变更特征;所述变更特征包括变更对象以及优化对象,所述变更对象是为优化所述优化对象所变更的对象;
确定所述测试案例的测试特征;
在所述测试特征包括所述变更特征,或与所述变更特征关联的其他对象的情况下,确定所述测试特征与所述变更特征的关联关系;
根据预设的关联关系与距离值的对应关系,确定所述变更代码与所述测试案例的距离值;
根据预设的距离值与相关度的计算规则,得到所述距离值对应的相关度;
将所述相关度大于阈值的所述测试案例,作为所述目标测试案例。
2.根据权利要求1所述的方法,所述预设条件还包括:
所述目标测试案例的测试点没有被已获取的所述回归测试案例覆盖,或者,
所述目标测试案例的测试点被所述已获取得到的所述回归测试案例覆盖的情况下,所述回归测试案例历史执行测试任务的次数,少于所述目标测试案例历史执行测试任务的次数;
其中,所述目标测试案例的测试点被所述回归测试案例覆盖,为所述目标测试案例的测试点与所述回归测试案例的测试点相同。
3.根据权利要求1所述的方法,其特征在于,获取与所述变更程序对应的基准测试库,包括:
确定所述变更程序对应的程序基线版本;
根据预设的程序基线版本与基准测试库的对应关系,获取与所述变更程序的所述程序基线版本对应的所述基准测试库。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述变更代码为携带预设标识的代码,所述标识用于表征所述变更代码为变更后的代码。
5.一种回归测试案例的选择装置,其特征在于,包括:
第一获取单元,用于获取变更程序,所述变更程序为包括变更代码的程序;
第二获取单元,用于获取与变更后的所述变更程序对应的基准测试库;所述基准测试库包括多个测试案例,任意一个所述测试案例为预设的针对所述变更程序进行测试的案例;
第三获取单元,用于针对所述变更程序的每一条所述变更代码,从所述基准测试库中获取满足预设条件的测试案例,作为所述变更代码的目标测试案例,所述预设条件至少包括,所述变更代码与所述目标测试案例的相关度大于阈值;
确定单元,用于将所述目标测试案例作为所述变更程序的所述回归测试案例;
所述第三获取单元用于从所述基准测试库中获取满足预设条件的所述目标测试案例,包括,所述第三获取单元具体用于:
确定所述变更代码的变更特征;所述变更特征包括变更对象以及优化对象,所述变更对象是为优化所述优化对象所变更的对象;
确定所述测试案例的测试特征;
在所述测试特征包括所述变更特征,或与所述变更特征关联的其他对象的情况下,确定所述测试特征与所述变更特征的关联关系;
根据预设的关联关系与距离值的对应关系,确定所述变更代码与所述测试案例的距离值;
根据预设的距离值与相关度的计算规则,得到所述距离值对应的相关度;
将所述相关度大于阈值的所述测试案例,作为所述目标测试案例。
6.根据权利要求5所述的装置,所述第三获取单元从所述基准测试库中获取满足预设条件的测试案例中的所述预设条件,还包括:
所述目标测试案例的测试点没有被已获取的所述回归测试案例覆盖,或者,
所述目标测试案例的测试点被所述已获取得到的所述回归测试案例覆盖的情况下,所述回归测试案例历史执行测试任务的次数,少于所述目标测试案例历史执行测试任务的次数;
其中,所述目标测试案例的测试点被所述回归测试案例覆盖,为所述目标测试案例的测试点与所述回归测试案例的测试点相同。
7.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器用于存储程序;所述处理器用于运行所述程序,以实现权利要求1-4任一项所述的回归测试案例的选择方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行权利要求1-4任一项所述的回归测试案例的选择方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010353334.2A CN111352852B (zh) | 2020-04-29 | 2020-04-29 | 一种回归测试案例的选择方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010353334.2A CN111352852B (zh) | 2020-04-29 | 2020-04-29 | 一种回归测试案例的选择方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111352852A CN111352852A (zh) | 2020-06-30 |
CN111352852B true CN111352852B (zh) | 2023-09-19 |
Family
ID=71193425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010353334.2A Active CN111352852B (zh) | 2020-04-29 | 2020-04-29 | 一种回归测试案例的选择方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111352852B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112148614B (zh) * | 2020-09-29 | 2024-04-16 | 中国银行股份有限公司 | 回归测试方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164328A (zh) * | 2011-12-12 | 2013-06-19 | ***通信集团陕西有限公司 | 一种业务功能的回归测试方法、装置及*** |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10380004B2 (en) * | 2013-03-15 | 2019-08-13 | Devfactory Fz-Llc | Test case reduction for code regression testing |
US10296446B2 (en) * | 2015-11-18 | 2019-05-21 | International Business Machines Corporation | Proactive and selective regression testing based on historic test results |
-
2020
- 2020-04-29 CN CN202010353334.2A patent/CN111352852B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164328A (zh) * | 2011-12-12 | 2013-06-19 | ***通信集团陕西有限公司 | 一种业务功能的回归测试方法、装置及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111352852A (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294120B (zh) | 测试代码的方法、设备和计算机程序产品 | |
US8954930B2 (en) | System and method for reducing test effort by object risk analysis | |
CN106933733B (zh) | 一种确定内存泄露位置的方法和装置 | |
US20140130017A1 (en) | Test case screening method and system | |
CN108459964B (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN108388509B (zh) | 一种软件测试方法、计算机可读存储介质及终端设备 | |
CN107678972B (zh) | 一种测试用例的评估方法及相关装置 | |
CN112149136A (zh) | loT设备固件漏洞的检测方法、***及电子设备 | |
CN111352852B (zh) | 一种回归测试案例的选择方法及装置 | |
CN110727602A (zh) | 覆盖率数据的处理方法、装置及存储介质 | |
CN111488278A (zh) | 一种测试方法及装置 | |
CN111930476A (zh) | 一种任务调度方法、装置及电子设备 | |
CN114003475A (zh) | 软件产品成熟度评估方法、装置、计算机设备和存储介质 | |
CN107273745B (zh) | 一种动态链接库形式的恶意代码的动态分析方法 | |
US20230333971A1 (en) | Workload generation for optimal stress testing of big data management systems | |
CN110347572B (zh) | 一种性能日志输出方法、装置、***、设备及介质 | |
CN107102938B (zh) | 测试脚本的更新方法及装置 | |
CN114461390A (zh) | 结合多维度分析和关键路径法的评估方法及相关装置 | |
CN112181831A (zh) | 基于关键词的脚本性能校验方法、装置、设备及存储介质 | |
CN116048978B (zh) | 一种软件服务性能自适应测试方法、***、终端及介质 | |
CN111079390A (zh) | 一种复选框列表的选择状态确定方法以及装置 | |
CN111209208B (zh) | 测试方案生成方法、装置、设备和存储介质 | |
CN114328254A (zh) | 测试***代码的方法、装置、电子设备及存储介质 | |
US20130111269A1 (en) | Method for assisting inspection | |
CN115840695A (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 |