CN117421200A - 代码回归测试方法、装置、计算机设备、存储介质 - Google Patents
代码回归测试方法、装置、计算机设备、存储介质 Download PDFInfo
- Publication number
- CN117421200A CN117421200A CN202210809878.4A CN202210809878A CN117421200A CN 117421200 A CN117421200 A CN 117421200A CN 202210809878 A CN202210809878 A CN 202210809878A CN 117421200 A CN117421200 A CN 117421200A
- Authority
- CN
- China
- Prior art keywords
- error
- current
- version
- test case
- code
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 689
- 238000012795 verification Methods 0.000 claims abstract description 337
- 238000000034 method Methods 0.000 claims abstract description 50
- 238000004590 computer program Methods 0.000 claims abstract description 26
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 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/368—Test management for test version control, e.g. updating test cases to a new software version
-
- 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)
- Stored Programmes (AREA)
Abstract
本申请涉及一种代码回归测试方法、装置、计算机设备、存储介质和计算机程序产品。方法包括:通过获取丢失测试用例集合。确定丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合。基于当前丢失测试用例对当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与当前丢失测试用例对应的当前错误版本代码。将多个测试用例中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止。基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。这样,大大提升了对代码回归测试的效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种代码回归测试方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,为了满足人们的需求,需要对由代码构成的产品进行不断的升级,以提升产品的性能。即,通过对代码进行多次更新,以实现产品的升级。
在对代码进行更新后,一般通过回归测试方法对所有更新代码进行测试,以确定出错的更新代码。其中,在回归测试中,常常需要通过每个测试用例对所有的更新代码进行验证,以从多个更新代码中追踪出与各个测试用例分别对应的错误的更新代码。
然而,在代码更新的过程中,常常涉及到更新版本数量巨大的更新代码。因此,在回归测试的过程中,若要确定与每个测试用例对应的错误的更新代码,则需要耗费大量的时间,存在对代码回归测试效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种代码回归测试方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种代码回归测试方法。所述方法包括:
获取丢失测试用例集合,所述丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合;
确定所述丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合,所述当前最新的错误集合包含已验证的错误版本代码;
基于所述当前丢失测试用例对所述当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与所述当前丢失测试用例对应的当前错误版本代码;所述当前错误版本代码用于更新所述错误集合;
将所述丢失测试用例集合中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回所述获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止;
基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。
第二方面,本申请还提供了一种代码回归测试装置。所述装置包括:
获取模块,用于获取丢失测试用例集合,所述丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合;
第一确定模块,用于确定所述丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合,所述当前最新的错误集合包含已验证的错误版本代码;
验证模块,用于基于所述当前丢失测试用例对所述当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与所述当前丢失测试用例对应的当前错误版本代码;所述当前错误版本代码用于更新所述错误集合;
执行模块,用于将所述丢失测试用例集合中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回所述获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止;
第二确定模块,用于基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取丢失测试用例集合,所述丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合;
确定所述丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合,所述当前最新的错误集合包含已验证的错误版本代码;
基于所述当前丢失测试用例对所述当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与所述当前丢失测试用例对应的当前错误版本代码;所述当前错误版本代码用于更新所述错误集合;
将所述丢失测试用例集合中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回所述获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止;
基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取丢失测试用例集合,所述丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合;
确定所述丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合,所述当前最新的错误集合包含已验证的错误版本代码;
基于所述当前丢失测试用例对所述当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与所述当前丢失测试用例对应的当前错误版本代码;所述当前错误版本代码用于更新所述错误集合;
将所述丢失测试用例集合中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回所述获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止;
基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取丢失测试用例集合,所述丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合;
确定所述丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合,所述当前最新的错误集合包含已验证的错误版本代码;
基于所述当前丢失测试用例对所述当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与所述当前丢失测试用例对应的当前错误版本代码;所述当前错误版本代码用于更新所述错误集合;
将所述丢失测试用例集合中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回所述获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止;
基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。
上述代码回归测试方法、装置、计算机设备、存储介质和计算机程序产品,通过获取丢失测试用例集合,该丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合。确定该丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合,该当前最新的错误集合包含已验证的错误版本代码,从而,使得每次验证所使用的错误集合为当前最新的错误集合,确保了每次验证的实时性,从而,确保了回归测试过程的有效性和实时性。基于该当前丢失测试用例对该当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与该当前丢失测试用例对应的当前错误版本代码;该当前错误版本代码用于更新该错误集合。这样,通过当前丢失测试用例对当前最新的错误集合进行验证,能够确保在有效的验证范围内对当前丢失测试用例进行精准的验证,从而,不仅能够确保验证的准确性,而且还避免直接遍历所有版本代码,大大节省了时间成本。将多个测试用例中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回该获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止,从而,能够高效地追踪出各个丢失测试用例分别对应的错误版本代码。基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。这样,在确保回归测试的准确性的基础上,还减少了不必要的重复验证,降低时间成本,即,大大提高了对代码回归测试的效率。
附图说明
图1为一个实施例中代码回归测试方法的应用环境图;
图2为一个实施例中代码回归测试方法的流程示意图;
图3为一个实施例中确定丢失测试用例步骤的流程示意图;
图4为一个实施例中确定当前错误版本代码步骤的流程示意图;
图5为另一个实施例中代码回归测试方法的流程示意图;
图6为另一个实施例中确定当前错误版本代码步骤的流程示意图;
图7为另一个实施例中确定当前错误版本代码步骤的流程示意图;
图8为另一个实施例中确定当前错误版本代码步骤的流程示意图;
图9为另一个实施例中确定当前错误版本代码步骤的流程示意图;
图10为另一个实施例中确定当前错误版本代码步骤的流程示意图;
图11为另一个实施例中代码回归测试方法的流程示意图;
图12为一个实施例中代码回归测试装置的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的代码回归测试方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。终端102和服务器104可单独用于执行该代码回归测试方法,也可协同用于执行该代码回归测试方法,以服务器104单独执行该代码回归测试方法为例,服务器104获取丢失测试用例集合,该丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合。服务器104确定该丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合,该当前最新的错误集合包含已验证的错误版本代码。服务器104基于该当前丢失测试用例对该当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与该当前丢失测试用例对应的当前错误版本代码;该当前错误版本代码用于更新该错误集合。服务器104将该丢失测试用例集合中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回该获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止。服务器104基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种代码回归测试方法,以该方法应用于计算机设备为例进行说明,该计算机设备可以是图1中的终端或服务器。其中,该代码回归测试方法,包括以下步骤:
步骤S202,获取丢失测试用例集合,该丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合。
其中,原始测试用例用于对一项特定的软件产品进行测试任务,该测试的内容可以是测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等。其中,该原始测试用例存储在原始测试用例集合,比如,原始测试用例集合Test:{T0,T1,T2…Tm},Tm表示第m个原始测试用例,原始测试用例集合记录全部原始测试用例。
具体地,计算机设备基于不同版本的版本代码,对原始测试用例中的各个原始测试用例进行测试,以确定丢失测试用例集合。计算机设备获取丢失测试用例集合。其中,该丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合。
步骤S204,确定该丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合,该当前最新的错误集合包含已验证的错误版本代码。
其中,当前丢失测试用例为当前所需要验证的丢失测试用例。当前最新的错误集合为待验证的当前丢失测试用例所对应的错误版本代码的集合。错误版本代码为导致丢失测试用例丢失的版本代码。该版本代码为对目标代码第n次更新后得到的代码。
具体地,计算机设备基于该丢失测试用例集合中丢失测试用例的用例序号,确定待验证的当前丢失测试用例,并基于上一验证所确定的上一错误版本代码,对上一错误集合进行更新判定,以确定当前最新的错误集合。其中,该当前最新的错误集合包含已验证的错误版本代码。
例如,计算机设备基于上一验证对应的上一丢失测试用例的上一用例序号,根据该丢失测试用例集合中的丢失测试用例的序号,确定待验证的当前丢失测试用例。计算机设备基于上一验证中所确定的上一错误版本代码,判断上一错误版本代码是否存在于上一验证对应的上一错误集合,若存在,则不对上一错误集合进行更新,并直接将上一错误集合作为当前最新的错误集合。若不存在,则将上一错误版本代码增加到上一错误集合中,得到当前最新的错误集合。
其中,上一错误版本代码为上一丢失测试用例对应的错误版本代码。
步骤S206,基于该当前丢失测试用例对该当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与该当前丢失测试用例对应的当前错误版本代码;该当前错误版本代码用于更新该错误集合。
其中,验证结果用于表征当前丢失测试用例对版本代码验证情况,该验证结果包括验证通过和验证不通过。
具体地,计算机设备通过当前丢失测试用例对该当前最新的错误集合中的错误版本代码进行验证,得到验证结果。计算机设备根据验证结果确定与当前丢失测试用例对应的当前错误版本代码。
步骤S208,将该丢失测试用例集合中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回该获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止。
具体地,计算机设备基于该丢失测试用例集合中丢失测试用例的用例序号,确定该丢失测试用例集合中的下一待验证的丢失测试用例。计算机设备将下一次待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回该获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止。
步骤S210,基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。
具体地,计算机设备获取各个丢失测试用例分别对应的错误版本代码,并根据每个丢失测试用例所对应的错误版本代码,确定代码回归测试结果。其中,每个丢失测试用例对应的错误版本代码表征该错误版本代码导致该丢失测试用例丢失。
上述代码回归测试方法中,通过获取丢失测试用例集合,该丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合。确定该丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合,该当前最新的错误集合包含已验证的错误版本代码,从而,使得每次验证所使用的错误集合为当前最新的错误集合,确保了每次验证的实时性,从而,确保了回归测试过程的有效性和实时性。基于该当前丢失测试用例对该当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与该当前丢失测试用例对应的当前错误版本代码;该当前错误版本代码用于更新该错误集合。这样,通过当前丢失测试用例对当前最新的错误集合进行验证,能够确保在有效的验证范围内对当前丢失测试用例进行精准的验证,从而,不仅能够确保验证的准确性,而且还避免直接遍历所有版本代码,大大节省了时间成本。将多个测试用例中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回该获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止,从而,能够高效地追踪出各个丢失测试用例分别对应的错误版本代码。基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。这样,在确保回归测试的准确性的基础上,还减少了不必要的重复验证,降低时间成本,即,大大提高了对代码回归测试的效率。
在一个实施例中,该获取丢失测试用例集合,包括:获取最新版本代码和次新版本代码。通过该最新版本代码对每个原始测试用例分别进行测试,得到与该最新版本代码对应的第一测试结果。通过该次新版本代码对每个原始测试用例分别进行测试,得到与该次新版本代码对应的第二测试结果。根据该第一测试结果和该第二测试结果,确定该原始测试用例中丢失的丢失测试用例集合。
具体地,计算机设备获取包含有不同版本的版本代码的版本号集合,并基于该版本号集合,确定最新版本号和次新版本号。其中,版本号集合中各个版本号均与版本集合中的版本代码一一对应。计算机设备基于该最新版本号获取最新版本代码,并基于次新版本号确定次新版本代码。计算机设备通过该最新版本代码对每个原始测试用例分别进行测试,得到与该最新版本代码对应的第一测试结果。计算机设备通过该次新版本代码对每个原始测试用例分别进行测试,得到与该次新版本代码对应的第二测试结果。计算机设备根据该第一测试结果和第二测试结果,确定与该原始测试用例中丢失的丢失测试用例集合。其中,每个原始测试用例均对应有一个第一测试结果和第二测试结果。
例如,如图3所示,计算机设备获取版本号集合CL:{C0,C1,C2,…,Cn},记录从旧到新的所有版本号,其中,n的数值越大则表明版本号越新。基于该版本号集合确定最新版本代码所对应的版本号Cn、以及次新版本代码所对应的版本号Cn-1,该次新版本代码为在最新版本代码的前一个版本的代码。计算机设备获取原始测试用例集合Test:{T0,T1,T2…Tm},记录全部测试用例。计算机设备将最新版本代码逐个在原始测试用例集合中遍历各个原始测试用例,得到与该最新版本代码对应的多个第一测试结果,并且将次新版本代码逐个在原始测试用例集合中遍历各个原始测试用例,得到与该次新版本代码对应的多个第二测试结果。对于每个原始测试用例,基于与相应的原始测试用例对应的第一测试结果和第二测试结果,确定该相应的原始测试用例是否为丢失的丢失测试用例。
在本实施例中,通过最新版本代码,遍历所有原始测试用例,得到多个第一测试结果,并且通过次新版本代码,遍历所有原始测试用例,得到多个第二测试结果。这样,能够得到每个原始测试用例分别在最新版本代码和次新版本代码的测试结果,从而,能够迅速筛选出所有丢失的丢失测试用例。
在一个实施例中,该根据该第一测试结果和该第二测试结果,确定该原始测试用例中丢失的丢失测试用例集合,包括:将第一测试结果为不通过、且该第二测试结果为通过的原始测试用例,确定为丢失测试用例。基于多个丢失测试用例,确定丢失测试用例集合。
具体地,计算机设备从各个原始测试用例分别对应的第一测试结果和第二测试结果中,将第一测试结果不通过、且该第二测试结果为通过的原始测试用例,确定为丢失的丢失测试用例。计算机设备构建初始的丢失测试用例集合,并基于多个丢失测试用例,确定丢失测试用例集合。
例如,计算机设备得到各个原始测试用例分别对应的第一测试结果和第二测试结果,并基于原始测试用例的用例序号,依次遍历各个原始测试用例的第一测试结果和第二测试结果,将第一测试结果为不通过、且该第二测试结果为通过的原始测试用例,作为丢失测试用例。计算机设备构建初始的丢失测试用例集合,将所有的丢失测试用例存储在初始的丢失测试用例集合中,得到丢失测试用例集合TF:{TF0,TF1,TF2…TFk},其中,TFk为用例序号为k的丢失测试用例。
在本实施例中,通过各个原始测试用例分别对应的第一测试结果和第二测试结果,直接将第一测试结果为不通过、且该第二测试结果为通过的原始测试用例,作为丢失测试用例,从而,能够迅速且准确确定丢失掉的丢失测试用例,无需通过所有版本代码遍历,大大简化了确定丢失测试用例的过程,大大提高了确定丢失的丢失测试用例的效率。
在一个实施例中,如图4所示,该基于该当前丢失测试用例对该当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与该当前丢失测试用例对应的当前错误版本代码,包括:
步骤S402,从该当前最新的错误集合中,确定与上一丢失测试用例对应的上一错误版本代码,并确定该上一错误版本代码的版本号。
具体地,计算机设备从存储有已验证的错误版本代码的当前最新的错误集合中,确定与上一丢失测试用例对应的上一错误版本代码,并确定该上一错误版本代码的版本号。
步骤S404,基于上一错误版本代码的版本号,确定与该上一错误版本代码相邻的相邻错误版本代码。
具体地,计算机设备基于上一错误版本代码的版本号,确定与该版本号对应的两个相邻版本号,将相邻版本号数值最小对应的错误版本代码,作为与该上一错误版本代码相邻的相邻错误版本代码。
例如,若版本号用CF表示,则上一错误版本代码的版本号为CFx,即第x个版本号,则相邻版本号分别为CFx-1和CFx+1,即第x-1个版本号和第x+1个版本号,则将相邻版本号CFx-1对应的错误版本代码,作为与该上一错误版本代码相邻的相邻错误版本代码。
步骤S406,通过该当前丢失测试用例对该上一错误版本代码进行验证,得到与该上一错误版本代码对应的第一验证结果。
具体地,计算机设备获取当前丢失测试用例,通过当前丢失测试用例对该上一错误版本代码进行验证,得到与该第一错误版本代码对应的第一验证结果。
步骤S408,通过该当前丢失测试用例对该相邻错误版本代码进行验证,得到与该相邻错误版本代码对应的第一相邻验证结果。
具体地,计算机设备获取当前丢失测试用例,通过当前丢失测试用例对相邻错误版本代码进行验证,得到与该相邻错误版本代码对应的第一验证结果。
步骤S410,若该第一验证结果为不通过、且该第一相邻验证结果为通过,则确定与该当前丢失测试用例对应的当前错误版本代码为上一错误版本代码。
具体地,计算机设备基于该第一验证结果确定该第一验证结果是否通过,并基于该第一验证结果确定该第一相邻验证结果是否通过。若该第一验证结果为不通过、且该第一相邻验证结果为通过,则确定与该当前丢失测试用例对应的当前错误版本代码为上一错误版本代码。
需要说明的是,若该第一验证结果为不通过、且该第一相邻验证结果为通过,则说明是上一错误版本代码引起的当前丢失测试用例丢失。与此同时,确认该当前丢失测试用例与上一丢失测试用例是两个相关联的丢失测试用例,其中,上一丢失测试用例的错误版本代码为上一错误版本代码。
在本实施例中,基于上一丢失测试用例对应的上一错误版本代码,确定与上一错误版本代码相邻的相邻错误版本代码。并通过当前丢失测试用例对上一错误版本代码进行验证,得到第一验证结果,并通过相邻错误版本代码进行验证,得到第二验证结果。这样,基于第一验证结果和第二验证结果能够直接且准确的反映是否是上一错误版本代码导致当前丢失测试验证,即实现对当前丢失测试的粗判验证。若第一验证结果为不通过、且该第一相邻验证结果为通过,能够直接确定当前丢失测试的当前错误版本代码为上一错误版本代码,这大大提高了回归测试的效率。
在一个实施例中,如图5所示,计算机设备从版本号集合中确定最新版本号,并基于该最新版本号确定次新版本号。计算机设备将最新版本号的最新版本代码对所有原始测试用例进行测试,得到各个第一测试结果。计算机设备将次新版本号的次新版本代码对所有原始测试用例进行测试,得到各个第二测试结果。计算机设备将第一测试结果不通过、且第二测试结果为通过的原始测试用例作为丢失测试用例(即图中:需要追踪的测试用例)。对于丢失测试用例的用例序号,确定初始丢失测试用例,计算机设备将该初始丢失测试用例依次遍历所有版本代码,得到与初始丢失测试用例对应的错误版本代码,并将与该初始丢失测试用例对应的错误版本代码放入错误集合(即图中:单个追踪并得到版本号并放入错误版本集合),此时该错误集合中的元素的数量为1个。将下一个丢失测试用例作为当前丢失测试用例,并从该错误集合中确定上一错误版本代码,并确定相邻错误版本代码。计算机设备通过当前丢失测试用例分别对上一错误版本代码和相邻错误版本代码,分别得到第一验证结果和第一相邻验证结果。若该第一验证结果为不通过、且该第一相邻验证结果为通过,则确定验证通过,即该当前丢失测试用例的当前错误版本代码为上一错误版本代码,并确定下一丢失测试用例,并返回将下一个丢失测试用例作为当前丢失测试用例的步骤继续执行(即对应图中:第一个判断验证通过,若通过则返回至下一个在当前错误版本中验证)。若不通过,则计算机设备基于该错误集合中各个已验证的错误版本代码,按照一定顺序进行验证,若验证通过,则返回将下一个丢失测试用例作为当前丢失测试用例的步骤继续执行(即对应图中:第二个判断验证通过,若通过则返回至下一个在当前错误版本中验证)。若验证不通过,则通过当前丢失测试用例对所有原始测试用例进行验证,得到与当前丢失测试用例对应的当前错误版本代码,并放入错误集合中(即对应图中:返回至单个追踪并得到错误版本号并放入错误版本集合)。
在本实施例中,通过确定该丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合。基于该当前丢失测试用例,对错误集合中上一错误版本代码进行先行验证。如果验证通过,则能够直接准确确定是上一错误版本代码导致当前丢失测试用例的丢失,并将下一丢失测试用例作为当前丢失测试用例进行验证。若验证失败,则继续以一定的顺序在当前最新的错误集合中进行二次验证,若能够在当前最新的错误集合中确定二次验证通过,即能够确定当前丢失测试用例所对应的当前错误版本代码,再将下一丢失测试用例作为当前丢失测试用例进行验证。这样,避免了在先行验证不通过时遍历所有版本代码,因此,大大提高了回归测试的效率。此外,若在错误集合中无法确定与当前丢失测试用例对应的错误版本代码,即二次验证不通过,最后才遍历所有版本代码,以确定当前丢失测试用例的当前错误版本代码。这样,在确保回归测试的准确性的基础上,还减少了不必要的重复验证,降低时间成本,即,大大提高了对代码回归测试的效率。
在一个实施例中,如图6所示,该方法还包括:
步骤S602,若第一验证结果与第一相邻验证结果均为不通过,则将上一错误版本代码的版本号作为节点标号,并基于该当前最新的错误集合,判断是否存在版本号小于节点标号的错误版本代码。
具体地,若第一验证结果与第一相邻验证结果均为不通过,则计算机设备将上一错误版本的版本号作为节点标号。计算机设备基于该当前最新的错误集合,确定各个已验证的错误版本代码的版本号,并基于各个版本号,判断是否存在版本号小于节点标号的错误版本代码。
需要说明的是,若第一验证结果与第一相邻验证结果均为不通过,则能够直接确定,比上一错误版本更加新的错误版本代码也导致当前丢失测试用例的丢失,即,比上一错误版本更加新的错误版本代码不是最开始导致当前丢失测用例的丢失的目标错误版本代码。
步骤S604,若存在,则将版本号小于该节点标号的错误版本代码作为第一代码,并通过该当前丢失测试用例,且基于该第一代码进行验证,得到第二验证结果,基于第二验证结果确定与当前丢失测试用例对应的当前错误版本代码。
具体地,若存在,则计算机设备将版本号小于该节点标号的错误版本代码作为第一代码。基于至少一个第一代码的版本号的顺序,从至少一个第一代码的版本号中确定第一目标错误版本代码,则通过该当前丢失测试用例,对该第一目标错误版本代码进行验证,得到第二验证结果。计算机设备基于第二验证结果确定与当前丢失测试用例对应的当前错误版本代码。
步骤S606,若不存在,则基于该当前丢失测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第三验证结果,基于与各个版本代码分别对应的第三验证结果,确定与当前丢失测试用例对应的当前错误版本代码。
具体地,若不存在,则基于版本集合,获取包含有多个版本代码的版本集合。计算机设备基于该当前丢失测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第三验证结果。计算机设备基于与各个版本代码分别对应的第三验证结果,确定与当前丢失测试用例对应的当前错误版本代码,并将该当前错误版本代码增加至当前最新的错误集合,得到更新后的当前最新的错误集合。其中,该更新后的当前最新的错误集合,作为下一待验证的丢失测试用例对应的当前最新的错误集合。
在本实施例中,若第一验证结果与第一相邻验证结果均不通过,则将上一错误版本代码的版本号作为节点标号,并判断是否存在版本号小于节点标号的错误版本代码,从而,将当前最新的错误集合进行划分,以避免对当前最新的错误集合中的所有错误版本代码进行验证。若存在,则将小于节点标号的错误版本代码作为第一代码,并通过该当前丢失测试用例,且基于第一代码进行验证,以确定当前错误版本代码,从而,能够迅速且准确的确定当前错误版本代码,进而提高了回归测试结果的效率。若不存在,则说明该当前最新的错误集合中不存在与当前丢失测试用例对应的当前错误版本代码,并直接遍历版本集合中的所有版本代码,以使得确保找到当前错误版本代码,确保了回归测试结果的正确性。
在一个实施例中,如图7所示,该通过该当前丢失测试用例,且基于该第一代码进行验证,得到第二验证结果,基于第二验证结果确定与当前丢失测试用例对应的当前错误版本代码,包括:
步骤S702,将该第一代码中版本号最大的错误版本代码,作为第一目标错误版本代码。
具体地,计算机设备将至少一个第一代码的版本号从大到小进行排序,将该第一代码中版本号最大的错误版本代码,作为第一目标错误版本代码。其中,版本号最大,则确定该错误版本代码的版本越新。
步骤S704,基于该第一目标错误版本代码,确定与该第一目标错误版本代码对应的第一相邻目标错误版本代码。
具体地,计算机设备基于该第一目标错误版本代码,将该第一目标错误版本代码的前一个版本代码,作为第一相邻目标错误版本代码。其中,该第一相邻目标错误版本代码的版本号与该第一目标错误版本代码版本的版本号相邻,且第一相邻目标错误版本代码的版本号小于该第一目标错误版本代码的版本号。
步骤S706,通过该当前丢失测试用例对该第一目标错误版本代码进行验证,得到与该第一目标错误版本代码对应的第二验证结果。
具体地,计算机设备获取当前丢失测试用例,并通过该当前丢失测试用例对该第一目标错误版本代码进行验证,得到与该第一目标错误版本代码对应的第二验证结果。
步骤S708,通过该当前丢失测试用例对该第一相邻目标错误版本代码进行验证,得到与该第一相邻目标错误版本代码对应的第二相邻验证结果。
具体地,计算机设备获取当前丢失测试用例,通过该当前丢失测试用例对该第一相邻目标错误版本代码进行验证,得到与该第一相邻目标错误版本代码对应的第二相邻验证结果。
步骤S710,若该第二验证结果为不通过、且该第二相邻验证结果为通过,则确定与当前丢失测试用例对应的当前错误版本代码为第一目标错误版本代码。
具体地,计算机设备基于该第二验证结果确定该第二验证结果是否通过,并基于该第二相邻验证结果确定第二相邻验证结果是否通过。若该第二验证结果为不通过、且该第二相邻验证结果为通过,则确定与当前丢失测试用例对应的当前错误版本代码为第一目标错误版本代码。
需要说明的是,若该第二验证结果为不通过、且该第二相邻验证结果为通过,则说明是第一目标错误版本代码引起的当前丢失测试用例丢失。
在本实施例中,将该第一代码中版本号最大的错误版本代码,作为第一目标错误版本代码,以确定在第一代码中最新的错误版本代码,从而,能够直接从当前最新的错误集合中确定与当前丢失测试用例相关联的错误版本代码,进而,确保了验证的准确性和有效性。基于第一目标错误版本代码确定第一相邻目标错误版本代码。这样,基于第一目标错误版本代码和第一相邻目标错误版本代码,实现在当前最新的错误集合中进行二次验证。通过当前丢失测试用例对第一目标错误版本代码进行验证,得到第二验证结果,并通过当前丢失测试用例对第一相邻错误版本代码进行验证,得到第二相邻验证结果。这样,基于第二验证结果和第二相邻验证结果,能够避免直接对所有版本代码遍历验证,大大精简了回归测试的步骤,并确保回归测试结果的有效性和准确性。
在一个实施例中,该方法还包括:若第二验证结果和第二相邻验证结果均不通过,则基于第一目标错误版本代码的版本号更新节点标号,并返回该基于该当前最新的错误集合,判断是否存在版本号小于节点标号的错误版本代码的步骤继续执行。
具体地,若第二验证结果和第二相邻验证结果均不通过,则计算机设备确定该当前丢失测试用例对应的错误版本代码的版本号小于第一目标错误版本代码的版本号,计算机设备将第一目标错误版本代码的版本号更新为节点标号,并返回该基于该当前最新的错误集合,判断是否存在版本号小于节点标号的错误版本代码的步骤继续执行。
在本实施例中,若第二验证结果和第二相邻验证结果均不通过,能够迅速确定当前丢失测试用例的错误版本代码的版本号小于第一目标错误版本代码的版本号,从而,能够直接将于第一目标错误版本代码的版本号更新成节点标号,并返回该基于该当前最新的错误集合,判断是否存在版本号小于节点标号的错误版本代码的步骤继续执行,从而,基于该当前最新的错误集合,继续进行二次验证,有效避免了对版本集合中的所有版本代码进行遍历,大大提高了回归测试的效率。
在一个实施例中,该方法还包括:若第二验证结果和第二相邻验证结果均通过,则基于该当前测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第四验证结果,并基于第四验证结果确定与当前丢失测试用例对应的当前错误版本代码。
具体地,若第二验证结果和第二相邻验证结果均不通过,则计算机设备确定该当前最新的错误集合中不存在与当前丢失测试用例对应的错误版本代码,则计算机设备基于该当前测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第四验证结果。计算机设备基于第四验证结果确定与当前丢失测试用例对应的当前错误版本代码。
需要说明的是,在每个版本代码进行验证的过程中,需要结合版本代码和与该版本相邻的前一版本代码,共同确定该版本代码是否为与当前丢失测试用例对应的当前错误版本代码。
在本实施例中,若第二验证结果和第二相邻验证结果均通过,则表征该当前最新的错误集合中不存在与当前丢失测试用例对应的错误版本代码,则直接遍历版本集合中的所有版本代码,以使得确保找到当前错误版本代码,确保了回归测试结果的正确性。
在一个实施例中,如图8所示,该方法还包括:
步骤S802,若该第一验证结果与该第一相邻验证结果均为通过,则将上一错误版本代码的版本号作为节点标号,并基于该当前最新的错误集合,判断是否存在版本号大于节点标号的错误版本代码。
具体地,若第一验证结果与该第一相邻验证结果均为通过,则计算机设备将上一错误版本代码的版本号作为节点标号。计算机设备基于该当前最新的错误集合,确定各个已验证的错误版本代码的版本号,并基于各个版本号,判断是否存在版本号大于节点标号的错误版本代码。
需要说明的是,若第一验证结果与第一验证结果均通过,则能够直接确定,比上一错误版本更旧的错误版本代码不会导致当前丢失的测试用例的丢失,即,当前丢失测试用例的丢失与比上一错误版本更旧的错误版本代码无关。
步骤S804,若存在,则将版本号大于该节点标号的错误版本代码作为第二代码,并通过该当前丢失测试用例,且基于该第二代码进行验证,得到第五验证结果,基于第五验证结果确定与当前丢失测试用例对应的当前错误版本代码。
具体地,若存在,则计算机设备将版本号大于该节点标号的错误版本代码作为第二代码。基于至少一个第二代码的版本号的顺序,从至少一个第二代码的版本号中确定第二目标错误版本代码,则通过该当前丢失测试用例,对该第二目标错误版本代码进行验证,得到第五验证结果。计算机设备基于第五验证记过确定与当前丢失测试用例对应的当前错误版本代码。
步骤S806,若不存在,则基于该当前丢失测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第六验证结果。
具体地,若不存在,则计算机设备基于版本集合,获取包含有多个版本代码的版本集合。计算机设备基于该当前丢失测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第六验证结果。
步骤S808,基于与各个版本代码分别对应的第六验证结果,确定与当前丢失测试用例对应的当前错误版本代码。
具体地,计算机设备基于各个版本代码分别对应的第六验证结果,确定与当前丢失测试用例对应的当前错误版本代码,并将该当前错误版本代码增加至当前最新的错误集合,得到更新后的当前最新的错误集合。其中,该更新后的当前最新的错误集合,作为下一待验证的丢失测试用例对应的当前最新的错误集合。
在本实施例中,若该第一验证结果与该第一相邻验证结果均为通过,则将上一错误版本代码的版本号作为节点标号,并判断是否存在版本号大于节点标号的错误版本代码,从而,将当前最新的错误集合进行划分,以避免对当前最新的错误集合中的所有错误版本代码进行验证。若存在,则将大于节点标号的错误版本代码作为第二代码,并通过该当前丢失测试用例,且基于第二代码进行验证,以确定当前错误版本代码,从而,能够迅速且准确的确定当前错误版本代码,进而提高了回归测试结果的效率。若不存在,则说明该当前最新的错误集合中不存在与当前丢失测试用例对应的当前错误版本代码,并直接遍历版本集合中的所有版本代码,以使得确保找到当前错误版本代码,确保了回归测试结果的正确性。
在一个实施例中,如图9所示,该通过该当前丢失测试用例,且基于该第二代码进行验证,得到第五验证结果,基于第五验证结果确定与当前丢失测试用例对应的当前错误版本代码,包括:
步骤S902,将该第二代码中版本号最大的错误版本代码,作为第二目标错误版本代码。
具体地,计算机设备将至少一个第二代码的版本号从大到小进行排序,将该第二代码中版本号最大的错误版本代码,作为第二目标错误版本代码。其中,版本号最大,则确定该错误版本代码的版本越新。
步骤S904,基于该第二目标错误版本代码,确定与该第二目标错误版本代码对应的第二相邻目标错误版本代码。
具体地,计算机设备基于该第二目标错误版本代码,将该第二目标错误版本代码的前一版本代码,作为第二相邻目标错误版本代码。其中,该第二相邻目标错误版本代码的版本号与该第二目标错误版本代码的版本号相邻,且第二相邻目标错误版本代码的版本号小于该第二目标错误版本代码的版本号。
步骤S906,通过该当前丢失测试用例对该第二目标错误版本代码进行验证,得到与该第二目标错误版本代码对应的第五验证结果。
具体地,计算机设备获取当前丢失测试用例,并通过该当前丢失测试用例对该第二目标错误版本代码进行验证,得到与该第二目标错误版本代码对应的第五验证结果。
步骤S908,通过该当前丢失测试用例对该第二相邻目标错误版本代码进行验证,得到与该第二相邻目标错误版本代码对应的第五相邻验证结果。
具体地,计算机设备获取当前丢失测试用例,通过该当前丢失测试用例对该第二相邻目标错误版本代码进行验证,得到与该第二相邻错误版本代码对应的第五相邻验证结果。
步骤S910,若该第五验证结果为不通过、且该第五相邻验证结果为通过,则确定与当前丢失测试用例对应的当前错误版本代码为第二目标错误版本代码。
具体地,计算机设备基于该第五验证结果确定该第五验证结果是否通过,并基于该第五相邻验证结果确定第五相邻验证结果是否通过。若该第五验证结果为不通过、且该第五相邻验证结果为通过,则确定与当前丢失测试用例对应的当前错误版本代码为第二目标错误版本代码。
需要说明的是,若该第五验证结果为不通过、且该第五验证结果为通过,则说明是第二目标错误版本代码引起的当前丢失测试用例丢失。
在本实施例中,将该第二代码中版本号最大的错误版本代码,作为第二目标错误版本代码,以确定在第二代码中最新的错误版本代码,从而,能够直接从当前最新的错误集合中确定与当前丢失测试用例相关联的错误版本代码,进而,确保了验证的准确性和有效性。基于第二目标错误版本代码确定第二相邻错误版本代码,这样,基于第二目标错误版本代码和第二相邻错误版本代码,实现在当前最新的错误集合中进行二次验证。通过当前丢失测试用例对第二目标错误版本代码进行验证,得到第五验证结果,并通过当前丢失测试用对第二相邻错误版本代码进行验证,得到第五相邻验证结果。这样,基于第五验证结果和第五相邻验证结果,能够避免直接对多有版本代码遍历验证,大大精简了回归测试的步骤,并确保回归测试结果的有效性和准确性。
在一个实施例中,该方法还包括:若第五验证结果和第五相邻验证结果均通过,则基于第二目标错误版本代码的版本号更新节点标号,并返回所述基于所述当前最新的错误集合,判断是否存在版本号大于节点标号的错误版本代码的步骤继续执行。
具体地,若第五验证结果和第五相邻验证结果均通过,则计算机设备确定该当前丢失测试用例对应的错误版本代码的版本号大于第二目标错误版本代码的版本号,计算机设备将第二目标错误版本代码的版本号更新为节点标号,并返回该基于该当前最新的错误集合,判断是否存在版本号小于节点标号的错误版本代码的步骤继续执行。
在本实施例,若第五验证结果和第五相邻验证结果均通过,能够迅速确定当前丢失测试用例的错误版本代码的版本号大于第一目标错误版本代码的版本号,从而,能够直接将第二目标错误版本代码的版本号更新节点标号,并返回所述基于所述当前最新的错误集合,判断是否存在版本号大于节点标号的错误版本代码的步骤继续执行,从而,基于该当前最新的错误集合,继续进行二次验证,有效避免了对版本集合中所有版本代码进行遍历,大大提高了回归测试的效率。
在一个实施例中,该方法还包括:若第五验证结果和第五相邻验证结果均不通过,则基于该当前测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第六验证结果,并基于第六验证结果确定与当前丢失测试用例对应的当前错误版本代码。
具体地,若第五验证结果和第五相邻验证结果均不通过,则计算机设备确定该当前最新的错误集合中不存在与当前丢失测试用例对应的错误版本代码,则计算机设备基于该当前测试用例,分别对版本集合中多个版本代码进行验证,得到与各个版本代码分别对应的第六验证结果。计算机设备基于第六验证结果确定与当前丢失测试用例对应的当前错误版本代码。
需要说明的是,在每个版本代码进行验证的过程中,需要结合版本代码和与该版本相邻的前一版本代码,共同确定该版本代码是否为与当前丢失测试用例对应的当前错误版本代码。
在本实施例中,若第五验证结果和第五相邻验证结果均不通过,则表征该当前最新的错误集合中不存在与当前丢失测试用例对应的错误版本代码,则直接遍历版本集合中的所有版本代码,以使得确保找到当前错误版本代码,确保了回归测试结果的正确性。
在一个实施例中,如图10所示,以丢失测试集合TF:{TF0,TF1,TF2}为例。
步骤(a):从丢失测试用例TF0开始,通过丢失测试用例TF0遍历版本集合中的所有版本代码进行验证,若版本代码Ci的验证结果为不通过、且版本代码Ci-1的验证结果为通过,则确定丢失测试用例TF0的错误版本代码为版本代码Ci,记为错误版本代码Ci。将错误版本代码Ci记入当前最新的错误集合CF。
步骤(b):对于丢失测试用例TF1,先在错误版本代码Ci的验证、与错误版本代码Ci相邻的版本代码Ci-1中进行验证,若错误版本代码Ci的验证结果为不通过、且版本代码Ci-1验证结果为通过,则确定丢失测试用例TF1的错误版本代码Ci,并继续追踪下一个丢失测试用例TF2。若错误版本代码Ci和版本代码Ci-1验证结果均通过或不通过,则通过丢失测试用例TF1遍历版本集合中的所有版本代码进行验证,直到找到版本代码Cj不通过、且版本代码Cj-1通过,则确定丢失测试用例TF1的错误版本代码为版本代码Cj,即为错误版本代码Cj。将版本代码Cj记入当前最新的错误集合CF,即存在有两个错误版本代码。
步骤(c):对于丢失测试用例TF2,首先通过丢失测试用例TF2对错误版本代码Cj和相邻版本代码Cj-1进行验证,若错误版本代码Cj不通过、且版本代码Cj-1通过,则确定丢失测试用例TF2的错误版本代码为Cj。若错误版本代码Cj和版本代码Cj-1均通过或均不通过,则验证失败,并在当前最新的错误集合进行验证,具体地存在两种情况,如表1所示:
表1验证情况
其中,在表1中,若经过验证确定当前更新的错误集合CF中不存在丢失测试用例TF2的错误版本代码,则通过丢失测试用例TF2遍历版本集合中的所有版本代码Cn进行验证,直到找到版本代码Cx不通过、且版本代码Cx-1通过,则确定丢失测试用例TF2的错误版本代码为版本代码Cx,即为错误版本代码Cx。将版本代码Cx记入当前最新的错误集合CF。
在本实施例中,通过确定该丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合。基于该当前丢失测试用例,对错误集合中上一错误版本代码进行先行验证。如果验证通过,则能够直接准确确定是上一错误版本代码导致当前丢失测试用例的丢失,并将下一丢失测试用例作为当前丢失测试用例进行验证。若验证失败,则继续以一定的顺序在当前最新的错误集合中进行二次验证,若能够在当前最新的错误集合中确定二次验证通过,即能够确定当前丢失测试用例所对应的当前错误版本代码,再将下一丢失测试用例作为当前丢失测试用例进行验证。这样,避免了在先行验证不通过时遍历所有版本代码,因此,大大提高了回归测试的效率。此外,若在错误集合中无法确定与当前丢失测试用例对应的错误版本代码,即二次验证不通过,最后才遍历所有版本代码,以确定当前丢失测试用例的当前错误版本代码。这样,在确保回归测试的准确性的基础上,还减少了不必要的重复验证,降低时间成本,即,大大提高了对代码回归测试的效率。
为了便于更加清楚的了解本申请的技术方案,提供了一个更为详细实施例进行解释。如图11所示,现需要确定当前丢失测试用例为TFk的错误版本代码。
步骤1:若上一丢失测试用例对应的上一错误版本代码为CFx,若通过当前丢失测试用例TFk对CFx进行验证,即分别验证CFx、以及与CFx相邻的版本代码CFx-1。若CFx的验证结果为不通过、且CFx-1的验证结果为通过,则确定CFx验证通过,则确定当前丢失测试用例TFk的错误版本代码为CFx。
步骤2:若CFx验证不通过,则判断CFx和CFx-1的验证结果是否均通过。
步骤3:若CFx和CFx-1的验证结果均为不通过,则将CFx作为节点标号,并从当前最新的错误集合CF中确定是否存在版本号小于节点标号的错误版本代码,若不存在,则直接遍历版本集合中所有版本代码,以确定TFk的错误版本代码,并将TFk的错误版本代码增加至当前最新的错误集合,以得到更新的当前最新的错误集合。若存在,则将版本号小于该节点标号的错误版本代码作为第一代码,即对应图中第一代码为CF0到CFy(从旧到新)。将第一代码中最新的CFy作为第一目标错误版本代码。若CFy的验证结果为不通过、且CFy-1的验证结果为通过,则确定CFy验证通过,则确定当前丢失测试用例TFk的错误版本代码为CFy(即对应图中确认错误版本)。若CFy的验证结果为通过、且CFy-1的验证结果为通过,则直接遍历版本集合中所有版本代码,以确定TFk的错误版本代码,并将TFk的错误版本代码增加至当前最新的错误集合,以得到更新的当前最新的错误集合。若CFy的验证结果为不通过、且CFy-1的验证结果为不通过,则将CFy更新为节点标号,并返回从当前最新的错误集合CF中确定是否存在版本号小于节点标号的错误版本代码步骤继续执行。其中,若第一目标错误版本代码测试到第一代码中最旧的CF0、且CF0仍然不通过,则直接遍历版本集合中所有版本代码,以确定TFk的错误版本代码,并将TFk的错误版本代码增加至当前最新的错误集合,以得到更新的当前最新的错误集合。
步骤3:若CFx和CFx-1的验证结果均为通过,则将CFx作为节点标号,并从当前最新的错误集合CF中确定是否存在版本号大于节点标号的错误版本代码,若不存在,则直接遍历版本集合中所有版本代码,以确定TFk的错误版本代码,并将TFk的错误版本代码增加至当前最新的错误集合,以得到更新的当前最新的错误集合。
若存在,则将版本号大于该节点标号的错误版本代码作为第二代码,即对应图中第二代码为CFz到CFp(从旧到新)。将第二代码中最新的CFp作为第二目标错误版本代码。若CFp的验证结果为不通过、且CFp-1的验证结果为通过,则确定CFp验证通过,则确定当前丢失测试用例TFk的错误版本代码为CFp。若CFp的验证结果为通过、且CFp-1的验证结果为通过,则直接遍历版本集合中所有版本代码,以确定TFk的错误版本代码,并将TFk的错误版本代码增加至当前最新的错误集合,以得到更新的当前最新的错误集合。若CFp的验证结果为通过、且CFp-1的验证结果为通过,则将CFp更新为节点标号,并返回从当前最新的错误集合CF中确定是否存在版本号大于节点标号的错误版本代码步骤继续执行。其中,若第二目标错误版本代码测试到第二代码中最旧的CFz、且CFz仍然不通过,则直接遍历版本集合中所有版本代码,以确定TFk的错误版本代码,并将TFk的错误版本代码增加至当前最新的错误集合,以得到更新的当前最新的错误集合。
此外,在上述实施例中,假如有13个丢失测试用例,则各个丢失测试用例确定错误版本代码的结果,如下表2所示:
表2各个丢失测试用例的测试结果
在上述的表2中,经计算可知,测试所有丢失测试用例所使用的时间为1.63小时。对于现有技术中,对于每个丢失测试用例,均遍历所有版本代码,以确定各个丢失测试用例的错误版本代码,所花费的时间5.83小时。此外,对于每个丢失测试用例,确定上一丢失测试用例的上一错误版本代码,在基于上一错误版本代码对该当前丢失测试用例进行测试,若测试不成功,则遍历所有版本代码,此时,花费的时间为2.55小时。因此,本申请中通过构建出错误集合来进行回归测试,很显然,时间成本最小且避免重复测试,大大提高了回归测试的效率。
在本实施例中,通过确定该丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合。基于该当前丢失测试用例,对错误集合中上一错误版本代码进行先行验证。如果验证通过,则能够直接准确确定是上一错误版本代码导致当前丢失测试用例的丢失,并将下一丢失测试用例作为当前丢失测试用例进行验证。若验证失败,则继续以一定的顺序在当前最新的错误集合中进行二次验证,若能够在当前最新的错误集合中确定二次验证通过,即能够确定当前丢失测试用例所对应的当前错误版本代码,再将下一丢失测试用例作为当前丢失测试用例进行验证。这样,避免了在先行验证不通过时遍历所有版本代码,因此,大大提高了回归测试的效率。此外,若在错误集合中无法确定与当前丢失测试用例对应的错误版本代码,即二次验证不通过,最后才遍历所有版本代码,以确定当前丢失测试用例的当前错误版本代码。这样,在确保回归测试的准确性的基础上,减少不必要的重复测试,节约了测试资源,从而大大提高了对代码回归测试的效率。此外,对于每个当前丢失测试用例,基于当前最新的错误集合进行先行验证和二次验证,能够确定错误版本代码的范围,以减少误判,使得差错准确率提高。与此同时,通过还能够实现快速差错,推进了研发进程。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的代码回归测试方法的代码回归测试装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个代码回归测试装置实施例中的具体限定可以参见上文中对于代码回归测试方法的限定,在此不再赘述。
在一个实施例中,如图12所示,提供了一种代码回归测试装置,包括:获取模块1202、第一确定模块1204、验证模块1206、执行模块1208和第二确定模块1210,其中:
获取模块1202,用于获取丢失测试用例集合,该丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合。
第一确定模块1204,用于确定该丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合,该当前最新的错误集合包含已验证的错误版本代码。
验证模块1206,用于基于该当前丢失测试用例对该当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与该当前丢失测试用例对应的当前错误版本代码;该当前错误版本代码用于更新该错误集合。
执行模块1208,用于将该丢失测试用例集合中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回该获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止。
第二确定模块1210,用于基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。
在一个实施例中,该获取模块1202,用于获取最新版本代码和次新版本代码。通过该最新版本代码对每个原始测试用例分别进行测试,得到与该最新版本代码对应的第一测试结果。通过该次新版本代码对每个原始测试用例分别进行测试,得到与该次新版本代码对应的第二测试结果。根据该第一测试结果和该第二测试结果,确定该原始测试用例中丢失的丢失测试用例集合。
在一个实施例中,该获取模块1202,用于将第一测试结果为不通过、且该第二测试结果为通过的原始测试用例,确定为丢失测试用例。基于多个丢失测试用例,确定丢失测试用例集合。
在一个实施例中,该验证模块1206,用于从该当前最新的错误集合中,确定与上一丢失测试用例对应的上一错误版本代码,并确定该上一错误版本代码的版本号。基于上一错误版本代码的版本号,确定与该上一错误版本代码相邻的相邻错误版本代码。通过该当前丢失测试用例对该上一错误版本代码进行验证,得到与该上一错误版本代码对应的第一验证结果。通过该当前丢失测试用例对该相邻错误版本代码进行验证,得到与该相邻错误版本代码对应的第一相邻验证结果。若该第一验证结果为不通过、且该第一相邻验证结果为通过,则确定与该当前丢失测试用例对应的当前错误版本代码为上一错误版本代码。
在一个实施例中,该验证模块1206,还用于若第一验证结果与第一相邻验证结果均为不通过,则将上一错误版本代码的版本号作为节点标号,并基于该当前最新的错误集合,判断是否存在版本号小于节点标号的错误版本代码。若存在,则将版本号小于该节点标号的错误版本代码作为第一代码,并通过该当前丢失测试用例,且基于该第一代码进行验证,得到第二验证结果,基于第二验证结果确定与当前丢失测试用例对应的当前错误版本代码。若不存在,则基于该当前丢失测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第三验证结果,基于与各个版本代码分别对应的第三验证结果,确定与当前丢失测试用例对应的当前错误版本代码。
在一个实施例中,该验证模块1206,还用于将该第一代码中版本号最大的错误版本代码,作为第一目标错误版本代码。基于该第一目标错误版本代码,确定与该第一目标错误版本代码对应的第一相邻目标错误版本代码。通过该当前丢失测试用例对该第一目标错误版本代码进行验证,得到与该第一目标错误版本代码对应的第二验证结果。通过该当前丢失测试用例对该第一相邻目标错误版本代码进行验证,得到与该第一相邻目标错误版本代码对应的第二相邻验证结果。若该第二验证结果为不通过、且该第二相邻验证结果为通过,则确定与当前丢失测试用例对应的当前错误版本代码为第一目标错误版本代码。
在一个实施例中,该验证模块1206,还用于若第二验证结果和第二相邻验证结果均不通过,则基于第一目标错误版本代码的版本号更新节点标号,并返回该基于该当前最新的错误集合,判断是否存在版本号小于节点标号的错误版本代码的步骤继续执行。
在一个实施例中,该验证模块1206,还用于若第二验证结果和第二相邻验证结果均通过,则基于该当前测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第四验证结果,并基于第四验证结果确定与当前丢失测试用例对应的当前错误版本代码。
在一个实施例中,该验证模块1206,还用于若该第一验证结果与该第一相邻验证结果均为通过,则将上一错误版本代码的版本号作为节点标号,并基于该当前最新的错误集合,判断是否存在版本号大于节点标号的错误版本代码。若存在,则将版本号大于该节点标号的错误版本代码作为第二代码,并通过该当前丢失测试用例,且基于该第二代码进行验证,得到第五验证结果,基于第五验证结果确定与当前丢失测试用例对应的当前错误版本代码。若不存在,则基于该当前丢失测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第六验证结果。基于与各个版本代码分别对应的第六验证结果,确定与当前丢失测试用例对应的当前错误版本代码。
在一个实施例中,该验证模块1206,还用于将该第二代码中版本号最大的错误版本代码,作为第二目标错误版本代码。基于该第二目标错误版本代码,确定与该第二目标错误版本代码对应的第二相邻目标错误版本代码。通过该当前丢失测试用例对该第二目标错误版本代码进行验证,得到与该第二目标错误版本代码对应的第五验证结果。通过该当前丢失测试用例对该第二相邻目标错误版本代码进行验证,得到与该第二相邻目标错误版本代码对应的第五相邻验证结果。若该第五验证结果为不通过、且该第五相邻验证结果为通过,则确定与当前丢失测试用例对应的当前错误版本代码为第二目标错误版本代码。
在一个实施例中,该验证模块1206,还用于若第五验证结果和第五相邻验证结果均通过,则基于第二目标错误版本代码的版本号更新节点标号,并返回该基于该当前最新的错误集合,判断是否存在版本号大于节点标号的错误版本代码的步骤继续执行。
在一个实施例中,该验证模块1206,还用于若第五验证结果和第五相邻验证结果均不通过,则基于该当前测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第六验证结果,并基于第六验证结果确定与当前丢失测试用例对应的当前错误版本代码。
上述代码回归测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储代码回归测试数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种代码回归测试方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (16)
1.一种代码回归测试方法,其特征在于,所述方法包括:
获取丢失测试用例集合,所述丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合;
确定所述丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合,所述当前最新的错误集合包含已验证的错误版本代码;
基于所述当前丢失测试用例对所述当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与所述当前丢失测试用例对应的当前错误版本代码;所述当前错误版本代码用于更新所述错误集合;
将所述丢失测试用例集合中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回所述获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止;
基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。
2.根据权利要求1所述的方法,其特征在于,所述获取丢失测试用例集合,包括:
获取最新版本代码和次新版本代码;
通过所述最新版本代码对每个原始测试用例分别进行测试,得到与所述最新版本代码对应的第一测试结果;
通过所述次新版本代码对每个原始测试用例分别进行测试,得到与所述次新版本代码对应的第二测试结果;
根据所述第一测试结果和所述第二测试结果,确定所述原始测试用例中丢失的丢失测试用例集合。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一测试结果和所述第二测试结果,确定所述原始测试用例中丢失的丢失测试用例集合,包括:
将第一测试结果为不通过、且所述第二测试结果为通过的原始测试用例,确定为丢失测试用例;
基于多个丢失测试用例,确定丢失测试用例集合。
4.根据权利要求1所述的方法,其特征在于,所述基于所述当前丢失测试用例对所述当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与所述当前丢失测试用例对应的当前错误版本代码,包括:
从所述当前最新的错误集合中,确定与上一丢失测试用例对应的上一错误版本代码,并确定所述上一错误版本代码的版本号;
基于上一错误版本代码的版本号,确定与所述上一错误版本代码相邻的相邻错误版本代码;
通过所述当前丢失测试用例对所述上一错误版本代码进行验证,得到与所述上一错误版本代码对应的第一验证结果;
通过所述当前丢失测试用例对所述相邻错误版本代码进行验证,得到与所述相邻错误版本代码对应的第一相邻验证结果;
若所述第一验证结果为不通过、且所述第一相邻验证结果为通过,则确定与所述当前丢失测试用例对应的当前错误版本代码为上一错误版本代码。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若第一验证结果与第一相邻验证结果均为不通过,则将上一错误版本代码的版本号作为节点标号,并基于所述当前最新的错误集合,判断是否存在版本号小于节点标号的错误版本代码;
若存在,则将版本号小于所述节点标号的错误版本代码作为第一代码,并通过所述当前丢失测试用例,且基于所述第一代码进行验证,得到第二验证结果,基于第二验证结果确定与当前丢失测试用例对应的当前错误版本代码;
若不存在,则基于所述当前丢失测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第三验证结果,基于与各个版本代码分别对应的第三验证结果,确定与当前丢失测试用例对应的当前错误版本代码。
6.根据权利要求5所述的方法,其特征在于,所述通过所述当前丢失测试用例,且基于所述第一代码进行验证,得到第二验证结果,基于第二验证结果确定与当前丢失测试用例对应的当前错误版本代码,包括:
将所述第一代码中版本号最大的错误版本代码,作为第一目标错误版本代码;
基于所述第一目标错误版本代码,确定与所述第一目标错误版本代码对应的第一相邻目标错误版本代码;
通过所述当前丢失测试用例对所述第一目标错误版本代码进行验证,得到与所述第一目标错误版本代码对应的第二验证结果;
通过所述当前丢失测试用例对所述第一相邻目标错误版本代码进行验证,得到与所述第一相邻目标错误版本代码对应的第二相邻验证结果;
若所述第二验证结果为不通过、且所述第二相邻验证结果为通过,则确定与当前丢失测试用例对应的当前错误版本代码为第一目标错误版本代码。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若第二验证结果和第二相邻验证结果均不通过,则基于第一目标错误版本代码的版本号更新节点标号,并返回所述基于所述当前最新的错误集合,判断是否存在版本号小于节点标号的错误版本代码的步骤继续执行。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若第二验证结果和第二相邻验证结果均通过,则基于所述当前测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第四验证结果,并基于第四验证结果确定与当前丢失测试用例对应的当前错误版本代码。
9.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第一验证结果与所述第一相邻验证结果均为通过,则将上一错误版本代码的版本号作为节点标号,并基于所述当前最新的错误集合,判断是否存在版本号大于节点标号的错误版本代码;
若存在,则将版本号大于所述节点标号的错误版本代码作为第二代码,并通过所述当前丢失测试用例,且基于所述第二代码进行验证,得到第五验证结果,基于第五验证结果确定与当前丢失测试用例对应的当前错误版本代码;
若不存在,则基于所述当前丢失测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第六验证结果;
基于与各个版本代码分别对应的第六验证结果,确定与当前丢失测试用例对应的当前错误版本代码。
10.根据权利要求9所述的方法,其特征在于,所述通过所述当前丢失测试用例,且基于所述第二代码进行验证,得到第五验证结果,基于第五验证结果确定与当前丢失测试用例对应的当前错误版本代码,包括:
将所述第二代码中版本号最大的错误版本代码,作为第二目标错误版本代码;
基于所述第二目标错误版本代码,确定与所述第二目标错误版本代码对应的第二相邻目标错误版本代码;
通过所述当前丢失测试用例对所述第二目标错误版本代码进行验证,得到与所述第二目标错误版本代码对应的第五验证结果;
通过所述当前丢失测试用例对所述第二相邻目标错误版本代码进行验证,得到与所述第二相邻目标错误版本代码对应的第五相邻验证结果;
若所述第五验证结果为不通过、且所述第五相邻验证结果为通过,则确定与当前丢失测试用例对应的当前错误版本代码为第二目标错误版本代码。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
若第五验证结果和第五相邻验证结果均通过,则基于第二目标错误版本代码的版本号更新节点标号,并返回所述基于所述当前最新的错误集合,判断是否存在版本号大于节点标号的错误版本代码的步骤继续执行。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若第五验证结果和第五相邻验证结果均不通过,则基于所述当前测试用例,分别对版本集合中的多个版本代码进行验证,得到与各个版本代码分别对应的第六验证结果,并基于第六验证结果确定与当前丢失测试用例对应的当前错误版本代码。
13.一种代码回归测试装置,其特征在于,所述装置包括:
获取模块,用于获取丢失测试用例集合,所述丢失测试用例集合是基于不同版本的代码对原始测试用例进行测试后而确定丢失的测试用例集合;
第一确定模块,用于确定所述丢失测试用例集合中待验证的当前丢失测试用例,并获取当前最新的错误集合,所述当前最新的错误集合包含已验证的错误版本代码;
验证模块,用于基于所述当前丢失测试用例对所述当前最新的错误集合中的错误版本代码进行验证,并根据验证结果确定与所述当前丢失测试用例对应的当前错误版本代码;所述当前错误版本代码用于更新所述错误集合;
执行模块,用于将所述丢失测试用例集合中的下一个待验证的丢失测试用例,作为下一次验证所对应的当前丢失测试用例,并返回所述获取当前最新的错误集合的步骤继续执行,直至得到所有丢失测试用例分别对应的错误版本代码为止;
第二确定模块,用于基于多个丢失测试用例分别对应的错误版本代码,确定代码回归测试结果。
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
16.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210809878.4A CN117421200B (zh) | 2022-07-11 | 2022-07-11 | 代码回归测试方法、装置、计算机设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210809878.4A CN117421200B (zh) | 2022-07-11 | 2022-07-11 | 代码回归测试方法、装置、计算机设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117421200A true CN117421200A (zh) | 2024-01-19 |
CN117421200B CN117421200B (zh) | 2024-09-06 |
Family
ID=89531240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210809878.4A Active CN117421200B (zh) | 2022-07-11 | 2022-07-11 | 代码回归测试方法、装置、计算机设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117421200B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106201857A (zh) * | 2015-05-05 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 测试用例的选取方法及装置 |
US20180052725A1 (en) * | 2015-03-04 | 2018-02-22 | Verifyter Ab | A method for identifying a cause for a failure of a test |
CN113342651A (zh) * | 2021-06-01 | 2021-09-03 | 南京大学 | 一种用于测试用例缺陷与用例模糊关联关系的恢复方法 |
-
2022
- 2022-07-11 CN CN202210809878.4A patent/CN117421200B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180052725A1 (en) * | 2015-03-04 | 2018-02-22 | Verifyter Ab | A method for identifying a cause for a failure of a test |
CN106201857A (zh) * | 2015-05-05 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 测试用例的选取方法及装置 |
CN113342651A (zh) * | 2021-06-01 | 2021-09-03 | 南京大学 | 一种用于测试用例缺陷与用例模糊关联关系的恢复方法 |
Non-Patent Citations (2)
Title |
---|
G.ROTHERMEL: "Prioritizing test cases for regression testing", 《IEEE TRANSACTION ON SOFTWARE ENGINEERING》, vol. 27, no. 10, 31 October 2001 (2001-10-31), XP093147345, DOI: 10.1109/32.962562 * |
熊志男: "回归测试中的缺陷定位", Retrieved from the Internet <URL:http://www.testwo.com/blog/6067> * |
Also Published As
Publication number | Publication date |
---|---|
CN117421200B (zh) | 2024-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110781231A (zh) | 基于数据库的批量导入方法、装置、设备及存储介质 | |
CN113946986B (zh) | 基于加速退化试验的产品平均失效前时间评估方法和装置 | |
CN112579591B (zh) | 数据校验方法、装置、电子设备及计算机可读存储介质 | |
CN117421200B (zh) | 代码回归测试方法、装置、计算机设备、存储介质 | |
CN116561003A (zh) | 测试数据生成方法、装置、计算机设备和存储介质 | |
CN115409070A (zh) | 离散数据序列临界点的确定方法、装置以及设备 | |
CN114490415A (zh) | 业务测试方法、计算机设备、存储介质和计算机程序产品 | |
CN112380127A (zh) | 测试用例回归方法、装置、设备和存储介质 | |
CN113468187B (zh) | 多方数据整合方法、装置、计算机设备和存储介质 | |
CN112380203B (zh) | 数据比对方法、装置和存储介质 | |
CN114528045B (zh) | 插件操作方法、装置、计算机设备和存储介质 | |
CN116795723B (zh) | 链式单元测试处理方法、装置及计算机设备 | |
CN115270425B (zh) | 逻辑模型与物理模型故障特性映射关系的处理方法和装置 | |
CN117331812A (zh) | 业务代码验证方法、装置、计算机设备、存储介质和产品 | |
CN118467642A (zh) | 数据同步的确定方法、装置、设备、存储介质和程序产品 | |
CN118626301A (zh) | 进程执行异常问题定位方法、装置、设备、介质和产品 | |
CN118295664A (zh) | 代码生成方法、装置、计算机设备、存储介质和产品 | |
CN115687074A (zh) | 业务系统测试方法、装置、计算机设备和存储介质 | |
CN117667648A (zh) | 代码分支的合线检测方法、装置、计算机设备和存储介质 | |
CN117370160A (zh) | 代码审核方法、装置、计算机设备、存储介质和程序产品 | |
CN117474008A (zh) | 一种数据订正方法及装置 | |
CN115827478A (zh) | 代码检视方法、装置、计算机设备和存储介质 | |
CN116880852A (zh) | 基于机器学习的代码数据检查方法、装置及计算机设备 | |
CN116680281A (zh) | 数据一致性校验方法、装置、计算机设备和存储介质 | |
CN116737541A (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 |
Country or region after: China Address after: 200135, 11th Floor, Building 3, No. 889 Bibo Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai Applicant after: Granfei Intelligent Technology Co.,Ltd. Address before: 200135 Room 201, No. 2557, Jinke Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Applicant before: Gryfield Intelligent Technology Co.,Ltd. Country or region before: China |
|
GR01 | Patent grant | ||
GR01 | Patent grant |