CN110597717A - 代码测试方法、装置以及存储介质 - Google Patents

代码测试方法、装置以及存储介质 Download PDF

Info

Publication number
CN110597717A
CN110597717A CN201910810678.9A CN201910810678A CN110597717A CN 110597717 A CN110597717 A CN 110597717A CN 201910810678 A CN201910810678 A CN 201910810678A CN 110597717 A CN110597717 A CN 110597717A
Authority
CN
China
Prior art keywords
branch
code segment
code
testing
development
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.)
Pending
Application number
CN201910810678.9A
Other languages
English (en)
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.)
Fanpu Digital Technology Co Ltd
Original Assignee
Fanpu Digital 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 Fanpu Digital Technology Co Ltd filed Critical Fanpu Digital Technology Co Ltd
Priority to CN201910810678.9A priority Critical patent/CN110597717A/zh
Publication of CN110597717A publication Critical patent/CN110597717A/zh
Pending legal-status Critical Current

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/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3692Test management for test results analysis

Abstract

本申请公开了一种代码测试方法、装置以及存储介质。其中,该方法,包括:从上线主分支的线上产品程序获取第一代码段;在开发分支基于对第一代码段的修改得到开发分支代码段;在发布分支,将从开发分支获取的开发分支代码段与从上线主分支获取的第二代码段合并,并进行测试,得到第一测试结果;以及根据第一测试结果,对第二代码段和开发分支代码段进行进一步的测试。达到了当多个开发人员分别对不同的程序段进行开发时,可以有效的对多个开发人员提交的多个代码段进行协调测试的技术效果。

Description

代码测试方法、装置以及存储介质
技术领域
本申请涉及代码测试技术领域,特别是涉及一种代码测试方法、装置以及存储介质。
背景技术
在科技化的今天,为了满足人们生活、工作、娱乐等各方面对便捷性和高效性的需求,越来越多的设备趋向于采用计算机软件进行智能化控制。对于电视、手机等系列开发的智能设备,往往通过变更软件代码就可以实现功能调整,满足用户的多样化需求。在完成软件代码的开发或者变更之后,需要对代码进行测试,只有在测试结果满足要求的情况下,才会进行发布。由于在同一个软件代码的开发周期内,当多个开发人员分别对不同的程序段进行开发时,会存在多个开发人员提交的多个代码段,关于如何对这多个代码段进行协调测试的问题,目前还没有一个合理的解决方案。
针对上述的现有技术中存在的当多个开发人员分别对不同的程序段进行开发时,如何对多个开发人员提供的多个代码段进行协调测试的技术问题,目前尚未提出有效的解决方案。
发明内容
本公开的实施例提供了一种代码测试方法、装置以及存储介质,以至少解决现有技术中存在的当多个开发人员分别对不同的程序段进行开发时,如何对多个开发人员提供的多个代码段进行协调测试的技术问题。
根据本公开实施例的一个方面,提供了一种代码测试方法,包括:从上线主分支的线上产品程序获取第一代码段;在开发分支基于对第一代码段的修改得到开发分支代码段;在发布分支,将从开发分支获取的开发分支代码段与从上线主分支获取的第二代码段合并,并进行测试,得到第一测试结果;以及根据第一测试结果,对第二代码段和开发分支代码段进行进一步的测试。
根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
根据本公开实施例的另一个方面,还提供了一种代码测试装置,包括:获取模块,用于从上线主分支的线上产品程序获取第一代码段;修改模块,用于在开发分支基于对第一代码段的修改得到开发分支代码段;第一测试模块,用于在发布分支,将从开发分支获取的开发分支代码段与从上线主分支获取的第二代码段合并,并进行测试,得到第一测试结果;以及第二测试模块,用于根据第一测试结果,对第二代码段和开发分支代码段进行进一步的测试。
根据本公开实施例的另一个方面,还提供了一种代码测试装置,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:从上线主分支的线上产品程序获取第一代码段;在开发分支基于对第一代码段的修改得到开发分支代码段;在发布分支,将从开发分支获取的开发分支代码段与从上线主分支获取的第二代码段合并,并进行测试,得到第一测试结果;以及根据第一测试结果,对第二代码段和开发分支代码段进行进一步的测试。
在本公开实施例中,当多个开发人员分别对不同的程序段进行开发时,代码测试服务器在对当前的开发人员所开发出的代码段进行测试的过程中,获取上线主分支上存在的其他开发人员提交的代码段,然后在发布分支将当前的开发人员所开发出的代码段与其他开发人员提交的代码段进行合并,对合并后的代码段进行测试,得到第一测试结果,并根据第一测试结果对第二代码段和开发分支代码段进行进一步的测试。达到了当多个开发人员分别对不同的程序段进行开发时,可以有效的对多个开发人员提交的多个代码段进行协调测试的技术效果。进而解决了现有技术中存在的当多个开发人员分别对不同的程序段进行开发时,如何对多个开发人员提供的多个代码段进行协调测试的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是用于实现根据本公开实施例1所述的方法的计算设备的硬件结构框图;
图2是根据本公开实施例1的第一个方面所述的代码测试方法的流程示意图;
图3是根据本公开实施例1的第一个方面所述的代码测试的测试流程图;
图4是根据本公开实施例1的第一个方面所述的代码测试的整体流程示意图;
图5是根据本公开实施例2的所述的代码测试装置的示意图;以及
图6是根据本公开实施例3所述的代码测试装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本公开实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
上线主分支:本申请中所述的上线主分支为“Master”分支的中文翻译;
发布分支:本申请中所述的发布分支为“Release”分支的中文翻译;
测试分支:本申请中所述的测试分支为“Test”分支的中文翻译;以及
开发分支:本申请中所述的开发分支为“Development”分支的中文翻译,后文中也称为“Dev分支”。
实施例1
根据本实施例,还提供了一种代码测试方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现代码测试方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的代码测试方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的代码测试方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
在上述运行环境下,根据本实施例的第一个方面,提供了一种代码测试方法。图2示出了该方法的流程示意图,参考图2所示,该方法包括:
S202:从上线主分支的线上产品程序获取第一代码段;
S204:在开发分支基于对第一代码段的修改得到开发分支代码段;
S206:在发布分支,将从开发分支获取的开发分支代码段与从上线主分支获取的第二代码段合并,并进行测试,得到第一测试结果;以及
S208:根据第一测试结果,对第二代码段和开发分支代码段进行进一步的测试。
正如前面背景技术中所述的,在科技化的今天,为了满足人们生活、工作、娱乐等各方面对便捷性和高效性的需求,越来越多的设备趋向于采用计算机软件进行智能化控制。对于电视、手机等系列开发的智能设备,往往通过变更软件代码就可以实现功能调整,满足用户的多样化需求。在完成软件代码的开发或者变更之后,需要对代码进行测试,只有在测试结果满足要求的情况下,才会进行发布。由于在同一个软件代码的开发周期内,当多个开发人员分别对不同的程序段进行开发时,会存在多个开发人员提交的多个代码段,关于如何对这多个代码段进行协调测试的问题,目前还没有一个合理的解决方案。
图3示出了本实施例所述的代码测试的测试流程图。针对上述背景技术中存在的问题,结合图3所示,代码测试服务器首先从上线主分支(Master分支)的线上产品程序获取第一代码段,其中第一代码段例如为A。然后代码测试服务器在开发分支(Dev分支)基于对第一代码段(A)的修改得到开发分支代码段(例如,B和C),即对应于图3所示的步骤一。
进一步地,由于在开发人员对B和C进行开发的过程中,存在其他的开发人员也在对不同的程序段进行开发,此时上线主分支上存在其他开发人员提交的已完成开发的多个代码段,例如:代码段A1和A2。因此,代码测试服务器需要从上线主分支(Master分支)获取第二代码段(A1和A2),然后在发布分支(Release分支),将从开发分支(Dev分支)获取的开发分支代码段(即,B和C)与从上线主分支(Master分支)获取的第二代码段(即,A1和A2)合并,并进行测试,得到第一测试结果,即对应于图3所示的步骤二。例如:对合并后的代码段B、C、A1和A2进行单元测试、集成测试等。然后代码测试服务器根据第一测试结果,对第二代码段(A1和A2)和开发分支代码段(B和C)进行进一步的测试。例如:测试合并后的代码段是否存在合并代码冲突的问题。
从而,通过这种方式,当多个开发人员分别对不同的程序段进行开发时,代码测试服务器在对当前的开发人员所开发出的代码段进行测试的过程中,获取上线主分支上存在的其他开发人员提交的代码段,在发布分支将当前的开发人员所开发出的代码段与其他开发人员提交的代码段进行合并,对合并后的代码段进行测试,得到第一测试结果,并根据第一测试结果对第二代码段(A1和A2)和开发分支代码段(B和C)进行进一步的测试。达到了当多个开发人员分别对不同的程序段进行开发时,可以有效的对多个开发人员提交的多个代码段进行协调测试的技术效果。进而解决了现有技术中存在的当多个开发人员分别对不同的程序段进行开发时,如何对多个开发人员提供的多个代码段进行协调测试的技术问题。
可选地,根据第一测试结果,对第二代码段和开发分支代码段进行进一步的测试的操作,包括在第一测试结果满足要求的情况下,执行以下操作:在测试分支将从上线主分支获取的第二代码段以及从开发分支获取的开发分支代码段合并,并进行测试和修改,得到修改后的开发分支代码;在发布分支,对修改后的开发分支代码进行测试,得到第二测试结果;以及在第二测试结果满足要求的情况下,在上线主分支将修改后的开发分支代码与线上产品程序进行合并。
具体地,参照图3所示,代码测试服务器在判定第一测试结果满足要求的情况下,在测试分支(Test分支)将从上线主分支获取的第二代码段(A1、A2)以及从开发分支获取的开发分支代码段(B、C)合并,并进行测试和修改,得到修改后的开发分支代码,即对应于图3所示的步骤三。例如:在测试的过程中,若是发现代码存在bug,测试人员可以进行bug的修复,从而得到修改后的开发分支代码(例如,c1)。然后代码测试服务器在发布分支(Release分支),对修改后的开发分支代码(c1)进行测试,得到第二测试结果,即对应于图3所示的步骤四。以及在第二测试结果满足要求的情况下,在上线主分支(Master分支)将修改后的开发分支代码(c1)与线上产品程序进行合并,即对应于图3所示的步骤五。从而,通过这种方式,可以有效的对多个开发人员提交的多个代码段进行协调测试。
可选地,将从开发分支获取的开发分支代码段与从上线主分支获取的第二代码段合并,并进行测试的操作,包括:在发布分支,对合并后的开发分支代码段以及第二代码段进行单元测试;在发布分支,对合并后的开发分支代码段以及第二代码段进行集成测试;以及在发布分支,对合并后的开发分支代码段以及第二代码段进行技术债测试。
具体地,代码测试服务器在发布分支(Release分支),对合并后的开发分支代码段(B、C)以及第二代码段(A1、A2)进行单元测试,即对代码中的最小单元进行检查和验证。然后,代码测试服务器在发布分支(Release分支),对合并后的开发分支代码段(B、C)以及第二代码段(A1、A2)进行集成测试,即在单元测试的基础上,将所有模块按照设计的要求(如根据结构图)组装成为小系统或系统进行集成测试。最后,代码测试服务器在发布分支,对合并后的开发分支代码段以及第二代码段进行技术债测试,即测试在未来给系统带来的额外开发负担。通过这种方式,有效的对合并后的开发分支代码段(B、C)以及第二代码段(A1、A2)进行测试,及时发现代码中的问题。
可选地,还包括在第一测试结果不满足要求的情况下,执行以下操作:在开发分支,重新对开发分支代码段进行修改,得到重新修改后的开发分支代码段;以及在发布分支,将重新修改后的开发分支代码段与第二代码段合并,并进行测试。
具体地,在第一测试结果不满足要求的情况下,代码测试服务器在开发分支(Dev分支),重新对开发分支代码段进行修改,得到重新修改后的开发分支代码段。即代码测试服务器重新回到Dev分支对代码段进行修改。然后,代码测试服务器在发布分支(Release分支),将重新修改后的开发分支代码段与第二代码段合并,并进行测试,直至满足要求为止。通过这种方式,保障了合并后的开发分支代码段和第二代码段能够满足要求。
可选地,还包括在第二测试结果不满足要求的情况下,执行以下操作:在开发分支重新对开发分支代码段进行修改。
具体地,代码测试服务器在第二测试结果不满足要求的情况下,在开发分支(Dev分支)重新对开发分支代码段进行修改。即,在第二测试结果不满足要求的情况下,需要重新回到Dev分支,重新进行代码段的开发,然后进行新一轮的协调测试。通过这种方式,保障了合并至上线主分支的代码段能够正执行。
可选地,在发布分支,对修改后的开发分支代码进行测试的操作,包括:在发布分支,对修改后的开发分支代码进行单元测试;在发布分支,对修改后的开发分支代码进行集成测试;以及在发布分支,对修改后的开发分支代码进行技术债测试。
具体地,代码测试服务器在发布分支(Release分支)对修改后的开发分支代码(c1)进行测试的操作,即对应与图3所示的步骤四,包括:在Release分支,对修改后的开发分支代码进行单元测试、集成测试以及技术债测试。通过这种方式,进一步对修改后的开发分支代码(c1)进行测试,及时发现修改后的开发分支代码(c1)中的问题。从而,保障了合并至上线主分支的代码段能够正执行。
此外,图4示出了本实施例所述的代码测试的整体流程示意图。参照图4所示,为了便于理解,对本实施例的技术方案按时间顺序步骤的补充说明如下:
步骤一:新需求从Master主分支拉取Dev分支,在Dev分支上进行代码段的开发。此外,开发人员还可以在本地对开发的代码段进行单测;
步骤二:开发完成,把代码段合并到Release分支,在CI环境下进行单测、技术债、集成测试,若满足不了要求,重新回Dev分支进行修改直到满足要求为止;
步骤三:完成第二步,从Master分支新建Test分支,合并待测的Dev分支,进行QA测试并修改,即解决合并代码冲突的问题,若代码段存在bug,测试人员可以从Test分支进行修改;
步骤四:在修改完成之后,把Test分支合并到Release分支,再次对修改后的代码段进行单测、技术债、集成测试;以及
步骤五:在测试结果满足要求的情况下,合并Test分支到Master主分支,从而实现产品的上线。在测试结果不满足要求的情况下,重新退回到Dev分支,重新进行代码段的修改或开发。
此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
从而,本实施例达到了当多个开发人员分别对不同的程序段进行开发时,可以有效的对多个开发人员提交的多个代码段进行协调测试的技术效果。进而解决了现有技术中存在的当多个开发人员分别对不同的程序段进行开发时,如何对多个开发人员提供的多个代码段进行协调测试的技术问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图5示出了根据本实施例所述的代码测试装置500,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:获取模块510,用于从上线主分支的线上产品程序获取第一代码段;修改模块520,用于在开发分支基于对第一代码段的修改得到开发分支代码段;第一测试模块530,用于在发布分支,将从开发分支获取的开发分支代码段与从上线主分支获取的第二代码段合并,并进行测试,得到第一测试结果;以及第二测试模块540,用于根据第一测试结果,对第二代码段和开发分支代码段进行进一步的测试。
可选地,第二测试模块540,包括:第一测试子模块,用于在第一测试结果满足要求的情况下,在测试分支将从上线主分支获取的第二代码段以及从开发分支获取的开发分支代码段合并,并进行测试和修改,得到修改后的开发分支代码;第二测试子模块,用于在发布分支,对修改后的开发分支代码进行测试,得到第二测试结果;以及合并子模块,用于在第二测试结果满足要求的情况下,在上线主分支将修改后的开发分支代码与线上产品程序进行合并。
可选地,第一测试模块530,包括:单元测试子模块,用于在发布分支,对合并后的开发分支代码段以及第二代码段进行单元测试;集成测试子模块,用于在发布分支,对合并后的开发分支代码段以及第二代码段进行集成测试;以及技术债测试子模块,用于在发布分支,对合并后的开发分支代码段以及第二代码段进行技术债测试。
可选地,还包括:第一重新修改模块,用于在第一测试结果不满足要求的情况下,在开发分支,重新对开发分支代码段进行修改,得到重新修改后的开发分支代码段;以及合并修改模块,用于在发布分支,将重新修改后的开发分支代码段与第二代码段合并,并进行测试。
可选地,还包括第二重新修改模块,用于在第二测试结果不满足要求的情况下,在开发分支重新对开发分支代码段进行修改。
可选地,第二测试子模块,包括:第一测试单元,用于在发布分支,对修改后的开发分支代码进行单元测试;第二测试单元,用于在发布分支,对修改后的开发分支代码进行集成测试;以及第三测试单元,用于在发布分支,对修改后的开发分支代码进行技术债测试。
从而根据本实施例,当多个开发人员分别对不同的程序段进行开发时,装置500在对当前的开发人员所开发出的代码段进行测试的过程中,获取上线主分支上存在的其他开发人员提交的代码段,然后在发布分支将当前的开发人员所开发出的代码段与其他开发人员提交的代码段进行合并,对合并后的代码段进行测试,得到第一测试结果,并根据第一测试结果对第二代码段和开发分支代码段进行进一步的测试。达到了当多个开发人员分别对不同的程序段进行开发时,可以有效的对多个开发人员提交的多个代码段进行协调测试的技术效果。进而解决了现有技术中存在的当多个开发人员分别对不同的程序段进行开发时,如何对多个开发人员提供的多个代码段进行协调测试的技术问题。
实施例3
图6示出了根据本实施例所述的代码测试装置600,该装置600与根据实施例1的第一个方面所述的方法相对应。参考图6所示,该装置600包括:处理器610;以及存储器620,与处理器610连接,用于为处理器610提供处理以下处理步骤的指令:从上线主分支的线上产品程序获取第一代码段;在开发分支基于对第一代码段的修改得到开发分支代码段;在发布分支,将从开发分支获取的开发分支代码段与从上线主分支获取的第二代码段合并,并进行测试,得到第一测试结果;以及根据第一测试结果,对第二代码段和开发分支代码段进行进一步的测试。
可选地,根据第一测试结果,对第二代码段和开发分支代码段进行进一步的测试的操作,包括在第一测试结果满足要求的情况下,执行以下操作:在测试分支将从上线主分支获取的第二代码段以及从开发分支获取的开发分支代码段合并,并进行测试和修改,得到修改后的开发分支代码;在发布分支,对修改后的开发分支代码进行测试,得到第二测试结果;以及在第二测试结果满足要求的情况下,在上线主分支将修改后的开发分支代码与线上产品程序进行合并。
可选地,将从开发分支获取的开发分支代码段与从上线主分支获取的第二代码段合并,并进行测试的操作,包括:在发布分支,对合并后的开发分支代码段以及第二代码段进行单元测试;在发布分支,对合并后的开发分支代码段以及第二代码段进行集成测试;以及在发布分支,对合并后的开发分支代码段以及第二代码段进行技术债测试。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:在第一测试结果不满足要求的情况下,执行以下操作:在开发分支,重新对开发分支代码段进行修改,得到重新修改后的开发分支代码段;以及在发布分支,将重新修改后的开发分支代码段与第二代码段合并,并进行测试。
可选地,存储器620还用于为处理器610提供处理以下处理步骤的指令:在第二测试结果不满足要求的情况下,执行以下操作:在开发分支重新对开发分支代码段进行修改。
可选地,在发布分支,对修改后的开发分支代码进行测试的操作,包括:在发布分支,对修改后的开发分支代码进行单元测试;在发布分支,对修改后的开发分支代码进行集成测试;以及在发布分支,对修改后的开发分支代码进行技术债测试。
从而根据本实施例,当多个开发人员分别对不同的程序段进行开发时,装置600在对当前的开发人员所开发出的代码段进行测试的过程中,获取上线主分支上存在的其他开发人员提交的代码段,然后在发布分支将当前的开发人员所开发出的代码段与其他开发人员提交的代码段进行合并,对合并后的代码段进行测试,得到第一测试结果,并根据第一测试结果对第二代码段和开发分支代码段进行进一步的测试。达到了当多个开发人员分别对不同的程序段进行开发时,可以有效的对多个开发人员提交的多个代码段进行协调测试的技术效果。进而解决了现有技术中存在的当多个开发人员分别对不同的程序段进行开发时,如何对多个开发人员提供的多个代码段进行协调测试的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种代码测试方法,其特征在于,包括:
从上线主分支的线上产品程序获取第一代码段;
在开发分支基于对所述第一代码段的修改得到开发分支代码段;
在发布分支,将从所述开发分支获取的所述开发分支代码段与从所述上线主分支获取的第二代码段合并,并进行测试,得到第一测试结果;以及
根据所述第一测试结果,对所述第二代码段和所述开发分支代码段进行进一步的测试。
2.根据权利要求1所述的代码测试方法,其特征在于,根据所述第一测试结果,对所述第二代码段和所述开发分支代码段进行进一步的测试的操作,包括在所述第一测试结果满足要求的情况下,执行以下操作:
在测试分支将从所述上线主分支获取的所述第二代码段以及从所述开发分支获取的所述开发分支代码段合并,并进行测试和修改,得到修改后的开发分支代码;
在所述发布分支,对所述修改后的开发分支代码进行测试,得到第二测试结果;以及
在所述第二测试结果满足要求的情况下,在所述上线主分支将所述修改后的开发分支代码与所述线上产品程序进行合并。
3.根据权利要求1所述的方法,其特征在于,将从所述开发分支获取的所述开发分支代码段与从所述上线主分支获取的第二代码段合并,并进行测试的操作,包括:
在所述发布分支,对合并后的所述开发分支代码段以及所述第二代码段进行单元测试;
在所述发布分支,对合并后的所述开发分支代码段以及所述第二代码段进行集成测试;以及
在所述发布分支,对合并后的所述开发分支代码段以及所述第二代码段进行技术债测试。
4.根据权利要求1所述的方法,其特征在于,还包括在所述第一测试结果不满足要求的情况下,执行以下操作:
在所述开发分支,重新对所述开发分支代码段进行修改,得到重新修改后的开发分支代码段;以及
在所述发布分支,将所述重新修改后的开发分支代码段与所述第二代码段合并,并进行测试。
5.根据权利要求2所述的方法,其特征在于,还包括在所述第二测试结果不满足要求的情况下,执行以下操作:在所述开发分支重新对所述开发分支代码段进行修改。
6.根据权利要求2所述的方法,其特征在于,在所述发布分支,对所述修改后的开发分支代码进行测试的操作,包括:
在所述发布分支,对所述修改后的开发分支代码进行单元测试;
在所述发布分支,对所述修改后的开发分支代码进行集成测试;以及
在所述发布分支,对所述修改后的开发分支代码进行技术债测试。
7.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行权利要求1至6中任意一项所述的方法。
8.一种代码测试装置,其特征在于,包括:
获取模块,用于从上线主分支的线上产品程序获取第一代码段;
修改模块,用于在开发分支基于对所述第一代码段的修改得到开发分支代码段;
第一测试模块,用于在发布分支,将从所述开发分支获取的所述开发分支代码段与从所述上线主分支获取的第二代码段合并,并进行测试,得到第一测试结果;以及
第二测试模块,用于根据所述第一测试结果,对所述第二代码段和所述开发分支代码段进行进一步的测试。
9.根据权利要求8所述的装置,其特征在于,所述第二测试模块,包括:
第一测试子模块,用于在所述第一测试结果满足要求的情况下,在测试分支将从所述上线主分支获取的所述第二代码段以及从所述开发分支获取的所述开发分支代码段合并,并进行测试和修改,得到修改后的开发分支代码;
第二测试子模块,用于在所述发布分支,对所述修改后的开发分支代码进行测试,得到第二测试结果;以及
合并子模块,用于在所述第二测试结果满足要求的情况下,在所述上线主分支将所述修改后的开发分支代码与所述线上产品程序进行合并。
10.一种代码测试装置,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
从上线主分支的线上产品程序获取第一代码段;
在开发分支基于对所述第一代码段的修改得到开发分支代码段;
在发布分支,将从所述开发分支获取的所述开发分支代码段与从所述上线主分支获取的第二代码段合并,并进行测试,得到第一测试结果;以及
根据所述第一测试结果,对所述第二代码段和所述开发分支代码段进行进一步的测试。
CN201910810678.9A 2019-08-29 2019-08-29 代码测试方法、装置以及存储介质 Pending CN110597717A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910810678.9A CN110597717A (zh) 2019-08-29 2019-08-29 代码测试方法、装置以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910810678.9A CN110597717A (zh) 2019-08-29 2019-08-29 代码测试方法、装置以及存储介质

Publications (1)

Publication Number Publication Date
CN110597717A true CN110597717A (zh) 2019-12-20

Family

ID=68856422

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910810678.9A Pending CN110597717A (zh) 2019-08-29 2019-08-29 代码测试方法、装置以及存储介质

Country Status (1)

Country Link
CN (1) CN110597717A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767209A (zh) * 2020-06-11 2020-10-13 Oppo广东移动通信有限公司 代码测试方法、装置、存储介质以及终端
CN113377660A (zh) * 2021-06-23 2021-09-10 北京百度网讯科技有限公司 测试方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302716A (zh) * 2014-07-30 2016-02-03 腾讯科技(深圳)有限公司 合流开发模式下的测试方法、装置
US20160054983A1 (en) * 2014-08-25 2016-02-25 International Business Machines Corporation Correcting non-compliant source code in an integrated development environment
CN107450933A (zh) * 2017-08-18 2017-12-08 郑州云海信息技术有限公司 一种软件持续集成方法和系统
CN108681504A (zh) * 2018-04-13 2018-10-19 深圳壹账通智能科技有限公司 自动化测试方法、测试服务器及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105302716A (zh) * 2014-07-30 2016-02-03 腾讯科技(深圳)有限公司 合流开发模式下的测试方法、装置
US20160054983A1 (en) * 2014-08-25 2016-02-25 International Business Machines Corporation Correcting non-compliant source code in an integrated development environment
CN107450933A (zh) * 2017-08-18 2017-12-08 郑州云海信息技术有限公司 一种软件持续集成方法和系统
CN108681504A (zh) * 2018-04-13 2018-10-19 深圳壹账通智能科技有限公司 自动化测试方法、测试服务器及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
彭迪: "软件测试自动化方法研究", 《电子质量》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111767209A (zh) * 2020-06-11 2020-10-13 Oppo广东移动通信有限公司 代码测试方法、装置、存储介质以及终端
CN113377660A (zh) * 2021-06-23 2021-09-10 北京百度网讯科技有限公司 测试方法和装置

Similar Documents

Publication Publication Date Title
CN107203465A (zh) 系统接口测试方法及装置
CN110597717A (zh) 代码测试方法、装置以及存储介质
CN110535679A (zh) 切片的管理方法、架构、网络切片销售平台和管理系统
CN109376274B (zh) 基于区块链系统的出块方法、设备以及存储介质
CN110941634A (zh) 数据的处理方法及装置、存储介质和电子装置
CN109254803A (zh) 应用程序启动控制方法、装置、终端及可读存储介质
CN110908652A (zh) 创建活动页面以及对活动页面进行编译的方法、装置
CN112947954A (zh) 一种界面更新方法、装置和存储介质
CN110647462A (zh) 接口测试方法、装置以及存储介质
CN115202623A (zh) 一种业务能力使用方法、装置以及设备
CN112416734A (zh) 测试的方法、装置以及存储介质
CN110609781A (zh) 接口测试方法、装置以及存储介质
CN113110982B (zh) 数据访问层验证方法及装置、存储介质及电子装置
CN112306843A (zh) 一种测试方法、装置以及存储介质
CN109639792B (zh) 对资源进行共享的方法和装置
CN113094773A (zh) 为设计对象推荐应用程序的方法、装置及存储介质
CN109157840B (zh) 游戏中的数据处理方法、系统以及存储介质
CN109219035B (zh) 嵌入式芯片卡的配置平台以及数据变更系统、方法、装置
CN110955361A (zh) 显示字符的方法、装置以及存储介质
CN114978933B (zh) 一种用于三维拓扑的展示元素的展示方法及装置
CN110673879A (zh) 组态软件的元件样式的一键调整方法及装置
CN111813407A (zh) 游戏开发方法、游戏运行方法、装置和电子设备
CN112328139B (zh) 显示方法、装置以及存储介质
CN112863475B (zh) 一种语音合成方法、装置和介质
CN107577399A (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
AD01 Patent right deemed abandoned

Effective date of abandoning: 20230825

AD01 Patent right deemed abandoned