CN112596760A - 软件维护方法、装置和设备 - Google Patents

软件维护方法、装置和设备 Download PDF

Info

Publication number
CN112596760A
CN112596760A CN202011430147.6A CN202011430147A CN112596760A CN 112596760 A CN112596760 A CN 112596760A CN 202011430147 A CN202011430147 A CN 202011430147A CN 112596760 A CN112596760 A CN 112596760A
Authority
CN
China
Prior art keywords
version
code
candidate
test
client
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
CN202011430147.6A
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.)
Wuhan United Imaging Healthcare Co Ltd
Original Assignee
Wuhan United Imaging Healthcare 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 Wuhan United Imaging Healthcare Co Ltd filed Critical Wuhan United Imaging Healthcare Co Ltd
Priority to CN202011430147.6A priority Critical patent/CN112596760A/zh
Publication of CN112596760A publication Critical patent/CN112596760A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种软件维护方法、装置、计算机设备和存储介质。所述方法包括:对第一版本代码进行更新操作后上传至远程仓库;所述第一版本代码为所述远程仓库中的最新版本的代码;所述远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码;所述候选版本的代码为对所述第二版本的代码进行至少一次更新操作后的代码;所述候选版本的代码包含所述第一版本代码;在满足设定维护条件时,采用所述候选版本的代码对所述第二版本的代码进行维护操作。采用本方法能够降低代码维护的复杂度。

Description

软件维护方法、装置和设备
技术领域
本申请涉及计算机技术领域,特别是涉及一种软件维护方法、装置和设备。
背景技术
在医疗软件开发持续集成的过程中,同一个软件在开发的过程中会拥有多个不同版本的功能源代码,因此一般会部署多个版本的测试代码,以供测试人员对不同版本的功能源代码进行自动化测试。
相关技术中,不同版本的功能源代码会存在一定的功能差异,因此为了保证所有版本的功能源代码均能测试成功,一般测试人员会为每套功能源代码编写一套测试代码。在对不同版本的功能源代码测试时,找到对应版本的测试代码对功能源代码进行测试,就可以完成功能源代码的测试。
然而上述技术在维护各版本的功能源代码和测试代码时,存在维护复杂的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低软件代码维护复杂度的软件维护方法、装置、设备和存储介质。
一种软件维护方法,该方法包括:
对第一版本代码进行更新操作后上传至远程仓库;上述第一版本代码为上述远程仓库中的最新版本的代码;上述远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码;上述候选版本的代码为对上述第二版本的代码进行至少一次更新操作后的代码;上述候选版本的代码包含上述第一版本代码;
在满足设定维护条件时,采用上述候选版本的代码对上述第二版本的代码进行维护操作。
在其中一个实施例中,上述第一版本代码包括具有匹配关系的第一版本功能源代码和第一版本测试代码;上述第二版本的代码包括具有匹配关系的第二版本功能源代码和第二版本测试代码。
在其中一个实施例中,上述对上述第一版本代码进行更新操作后上传至上述远程仓库,包括:
对上述第一版本功能源代码进行更新操作,得到更新后的功能源代码;
基于上述更新后的功能源代码,对上述第一版本测试代码进行更新操作,得到更新后的测试代码;
将上述更新后的功能源代码和上述更新后的测试代码上传至上述远程仓库。
在其中一个实施例中,上述方法还包括:
获取待测试版本的功能源代码;
根据上述待测试版本的功能源代码,在上述远程仓库中获取上述待测试版本的功能源代码匹配的目标版本的测试代码;上述待测试版本的功能源代码和上述目标版本的测试代码的版本号一致;
根据上述目标版本的测试代码对上述待测试版本的功能源代码进行测试,生成测试报告。
在其中一个实施例中,上述方法还包括:
在上述远程仓库中获取第二版本的代码,并根据上述第二版本的代码部署对应版本的客户端。
在其中一个实施例中,上述在满足设定维护条件时,采用上述候选版本的代码对上述第二版本的代码进行维护操作,包括:
若上述第二版本的代码对应版本的客户端出现故障,则获取上述远程仓库中候选版本的代码;上述候选版本的代码为对上述出现故障的第二版本的代码进行至少一次更新操作后的代码;
根据上述候选版本的代码部署候选版本的客户端,并采用上述候选版本的客户端替换出现故障的上述第二版本的代码对应版本的客户端。
在其中一个实施例中,上述在满足设定维护条件时,采用上述候选版本的代码对上述第二版本的代码进行维护操作,包括:
若上述第二版本的代码对应版本的客户端出现故障,则获取故障信息,以及在上述远程仓库中获取最新版本的代码;上述最新版本的代码作为上述候选版本的代码;
根据上述故障信息对上述最新版本的代码进行修改,并将修改后的代码上传至上述远程仓库中,根据上述修改后的代码对上述第二版本的代码进行维护操作。
在其中一个实施例中,上述方法还包括:
若上述第二版本的代码对应版本的客户端需要进行更新,则获取上述远程仓库中最新版本的代码;
根据上述最新版本的代码部署最新版本的客户端,并采用上述最新版本的客户端更新上述第二版本的代码对应版本的客户端。
一种软件维护装置,该装置包括:
更新模块,用于对第一版本代码进行更新操作后上传至远程仓库;上述第一版本代码为上述远程仓库中的最新版本的代码;上述远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码;上述候选版本的代码为对上述第二版本的代码进行至少一次更新操作后的代码;上述候选版本的代码包含上述第一版本代码;
维护模块,用于在满足设定维护条件时,采用上述候选版本的代码对上述第二版本的代码进行维护操作。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
对第一版本代码进行更新操作后上传至远程仓库;上述第一版本代码为上述远程仓库中的最新版本的代码;上述远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码;上述候选版本的代码为对上述第二版本的代码进行至少一次更新操作后的代码;上述候选版本的代码包含上述第一版本代码;
在满足设定维护条件时,采用上述候选版本的代码对上述第二版本的代码进行维护操作。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
对第一版本代码进行更新操作后上传至远程仓库;上述第一版本代码为上述远程仓库中的最新版本的代码;上述远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码;上述候选版本的代码为对上述第二版本的代码进行至少一次更新操作后的代码;上述候选版本的代码包含上述第一版本代码;
在满足设定维护条件时,采用上述候选版本的代码对上述第二版本的代码进行维护操作。
上述软件维护方法、装置、计算机设备和存储介质,通过获取第一版本代码,并对第一版本代码进行更新操作后上传至远程仓库,在满足设定维护条件时,采用远程仓库中的候选版本的代码对第二版本的代码进行维护操作,其中,第一版本代码为远程仓库中的最新版本的代码,远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码,候选版本的代码为对第二版本的代码进行至少一次更新操作后的代码,候选版本的代码包含第一版本代码。在该方法中,由于只需要对最新版本的代码进行更新操作,即在本地只需要维护一套代码,因此该方法可以简化对代码的维护难度,即可以降低维护代码的复杂度。同时,由于可以将最新版本的代码的所有第二版本的代码均上传至远程仓库中进行维护,这样在各个版本的代码运行过程中可以快速获得对应版本的代码,便于对各个版本的代码进行测试,从而可以保证后续代码运行和测试的质量。进一步地,可以采用对第二版本的代码进行过更新操作的候选版本的代码对第二版本的代码进行维护,因此可以保证代码维护的准确执行。
附图说明
图1为一个实施例中计算机设备的内部结构图;
图2为一个实施例中软件维护方法的流程示意图;
图3为另一个实施例中软件维护方法的流程示意图;
图3a为另一个实施例中软件维护的具体过程示例图;
图4为另一个实施例中软件维护方法的流程示意图;
图5为另一个实施例中软件维护到发布的具体流程示例图;
图6为一个实施例中软件维护装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
目前,在软件代码测试方面,由于不同版本的功能源代码会存在一定的功能差异,因此为了保证所有版本的功能源代码均能测试成功,一般测试人员会维护一套测试代码,该测试代码中包括所有版本的功能源代码对应的测试代码。在对不同版本的功能源代码进行测试时,会临时注释掉与当前功能源代码中存在差异会导致测试失败的部分测试代码,在测试完成之后再将被注释掉的测试代码修改维护后开放进行测试;但是该方法存在耗时耗力的问题。另外,也有测试人员会为每套功能源代码编写一套测试代码。在对不同版本的功能源代码测试时,找到对应版本的测试代码对功能源代码进行测试,就可以完成功能源代码的测试;然而该技术在维护各版本的功能源代码和测试代码时,存在维护复杂的问题。本申请实施例提供一种软件代码维护复杂度的软件维护方法、装置、设备和存储介质,可以解决上述技术问题。
本申请实施例提供的软件维护方法,可以应用于计算机设备,该计算机设备可以是服务器或终端,以服务器为例,其内部结构图可以如图1所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储软件维护数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种软件维护方法。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
需要说明的是,本申请实施例的执行主体可以是计算机设备,也可以是软件维护装置,以下就以计算机设备为执行主体对本申请的技术方案进行说明。
在一个实施例中,提供了一种软件维护方法,本实施例涉及的是如何对最新版本的代码进行更新以及对第二版本的代码进行维护的具体过程。如图2所示,该方法可以包括以下步骤:
S202,对第一版本代码进行更新操作后上传至远程仓库;上述第一版本代码为上述远程仓库中的最新版本的代码;上述远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码;上述候选版本的代码为对上述第二版本的代码进行至少一次更新操作后的代码;上述候选版本的代码包含上述第一版本代码。
在本步骤中,在上传代码之前,可以预先获取第一版本代码;上述第一版本代码为远程仓库中的最新版本的代码。
其中,远程仓库可以是一个远程服务器,其与本地服务器是一个相对的概念,本地服务器可以是开发人员或测试人员所在的服务器。这里的本地服务器可以和远程服务器进行通信,通信方式可以是有线或无线。同时这里的本地服务器与远程服务器均可以称为计算机设备。
另外,这里远程仓库中的代码为医疗管理软件的代码,该医疗管理软件可以是医院登记软件、叫号软件、打印报告软件等等。
具体的,开发人员在本地服务器上对医疗管理软件进行代码开发,在代码开发完成以及测试完成之后,可以在本地服务器上保留开发的代码,同时可以通过本地服务器将代码传输至远程仓库中。在将开发完成的代码上传至远程仓库之后,远程仓库中会默认当前传输的代码为最新版本的代码,同时会记录上传的代码的版本。
那么在开发人员后续需要对最新版本的代码进行更新时,就可以从远程仓库中通过代码的版本号等方式获取到最新版本的代码,并将该最新版本的代码从远程仓库中传输至本地服务器,这样就可以获得最新版本的代码。当然,也可以是在远程仓库中通过代码的版本号等方式获取到最新版本的代码,然后在本地服务器中通过代码的版本号找到该最新版本的代码;该最新版本的代码记为第一版本代码。
进一步地,在本地服务器获取到最新版本的代码,即第一版本代码之后,同时可以获取到需要对代码进行更新的数据信息,例如可以是对代码进行功能改进的数据信息等。之后,开发人员可以在本地服务器上,基于更新的数据信息对第一版本代码进行更新操作,得到更新后的代码,对更新后的代码进行测试,测试完成之后可以将更新后的代码上传至远程仓库中,此时,远程仓库中的最新版本的代码变更为对第一版本代码更新后的代码。其中,更新操作可以包括删除代码和/或增加代码,和/或在原代码基础上修改代码等等。
同时远程仓库中会保存更新前的代码,也就是说,远程仓库中会保存最新版本的代码的任意一个第二版本的代码;这里第二版本的代码即是最新版本的代码对应的历史版本的代码。同时也会对所有版本的代码进行维护和管理。其中对任意第二版本的代码进行过至少一次更新操作的代码就可以记为该第二版本的代码的候选版本的代码,自然,第一版本代码即最新版本的代码必然为候选版本的代码。示例地,假设任一第二版本的代码为V2,最新版本的代码为V5,那么V3、V4、V5均是该V2版本代码的候选版本的代码。
另外,需要说明的是,上述远程仓库中的代码可以包括功能源代码和测试代码,同样的,本地服务器中的代码也可以是包括功能源代码和测试代码。
示例地,假设医疗管理软件代码的版本经历了V1-V2-V3-V4,在远程仓库中存储有V1、V2、V3、V4共4个版本代码,其中V4版本代码为最新版本代码,V1、V2、V3为V4版本代码的历史版本代码,即V1、V2、V3均为第二版本的代码。同时,本地服务器中只保存V4版本代码。那么在更新时,可以在本地服务器上对V4版本进行更新,更新完成之后形成V5,可以把V5上传至远程仓库中。在远程仓库中可以对V1、V2、V3、V4、V5等版本的代码共同进行维护管理。
S204,在满足设定维护条件时,采用上述候选版本的代码对上述第二版本的代码进行维护操作。
在本步骤中,设定维护条件可以是预先设定的故障条件,例如,某个第二版本的代码部署的客户端发生故障,则认为满足设定维护条件,当然还可以是其他维护条件,这里不作具体限定。
总之在某个第二版本的代码满足设定维护条件时,可以从远程仓库中获取到该第二版本的代码对应的候选版本的代码,然后采用该候选版本的代码对该第二版本的代码进行维护操作。这里的维护操作可以是采用该候选版本的代码重新部署客户端,替换第二版本的代码对应的客户端;也可以是直接采用候选版本的代码替换第二版本的代码,然后采用替换后的代码重新部署客户端等操作;当然还可以是其他操作,这里不作具体限定。
上述软件维护方法中,通过获取第一版本代码,并对第一版本代码进行更新操作后上传至远程仓库,在满足设定维护条件时,采用远程仓库中的候选版本的代码对第二版本的代码进行维护操作,其中,第一版本代码为远程仓库中的最新版本的代码,远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码,候选版本的代码为对第二版本的代码进行至少一次更新操作后的代码,候选版本的代码包含第一版本代码。在该方法中,由于只需要对最新版本的代码进行更新操作,即在本地只需要维护一套代码,因此该方法可以简化对代码的维护难度,即可以降低维护代码的复杂度。同时,由于可以将最新版本的代码的所有第二版本的代码均上传至远程仓库中进行维护,这样在各个版本的代码运行过程中可以快速获得对应版本的代码,便于对各个版本的代码进行测试,从而可以保证后续代码运行和测试的质量。进一步地,可以采用对第二版本的代码进行过更新操作的候选版本的代码对第二版本的代码进行维护,因此可以保证代码维护的准确执行。
在上述实施例说明中,提到了远程仓库中包括第一版本代码的任意一个第二版本代码,但并未具体说明代码包含的内容,这里进行具体说明。在这里,上述第一版本代码包括具有匹配关系的第一版本功能源代码和第一版本测试代码;上述第二版本的代码包括具有匹配关系的第二版本功能源代码和第二版本测试代码。
也就是说,上述最新版本的代码包括最新版本的功能源代码和最新版本的测试代码,且该最新版本的功能源代码和最新版本的测试代码是相互匹配的,示例地,假设最新版本的功能源代码为V4版本源代码,那么最新版本的测试代码就是对V4版本源代码进行测试的V4版本测试代码。
相应的,上述第二版本的代码即为最新版本的代码对应的第二版本的代码,其中每个第二版本的代码均包括该版本下的功能源代码和测试代码。示例地,假设第二版本的代码有V1、V2、V3,那么V1版本的代码包括V1版本的功能源代码以及对V1版本的功能源代码进行测试的V1版本测试代码,相应的,V2版本的代码和V3版本的代码也是如此。
在上述代码包括功能源代码和测试代码的基础上,进一步地,提供了另一种软件维护方法,本实施例涉及的是如何对第一版本代码进行更新操作后上传至远程仓库的具体过程。在上述实施例的基础上,如图3所示,上述S202可以包括以下步骤:
S302,对上述第一版本功能源代码进行更新操作,得到更新后的功能源代码。
其中,这里的更新操作和上述相同,可以包括删除代码和/或增加代码,和/或在原代码基础上修改代码等等。
具体的,这里在对第一版本代码进行更新之前,可以获取到需要对功能源代码进行更新的数据信息,即对哪些功能进行改进的数据信息等。之后,可以基于这些更新的数据信息,在本地服务器上对第一版本功能源代码进行删除代码和/或增加代码,和/或在第一版本功能源代码基础上修改代码等操作,得到更新后的功能源代码。
S304,基于上述更新后的功能源代码,对上述第一版本测试代码进行更新操作,得到更新后的测试代码。
具体的,上述在对第一版本功能源代码更新完成之后,为了便于快速对测试代码进行更新,这里可以基于更新后的功能源代码以及更新的数据信息,编写更新的数据信息对应的测试代码,然后利用编写的测试代码对第一版本测试代码进行删除代码和/或增加代码,和/或在第一版本测试代码基础上修改代码等操作,得到更新后的测试代码。
S306,将上述更新后的功能源代码和上述更新后的测试代码上传至上述远程仓库。
具体的,在对第一版本功能源代码和第一版本测试代码进行更新完成之后,可以利用更新后的测试代码对更新后的功能源代码进行测试,在测试成功之后,可以将更新后的测试代码和更新后的功能源代码上传至远程仓库中记性维护和管理。
示例地,参见图3a所示,在具体开发更新过程中,开发人员与测试人员在本地所开发的代码均从各自本地服务器的代码仓库中更新放入同一个云上的远程仓库中。开发人员在本地针对已发布的V4版本代码进行源代码开发更新形成V5版本(V4版本代码加上更新的部分代码),测试人员针对这些更新的功能完成测试代码开发并通过测试后(此时V5版本功能正常,测试正常),由人员将源代码及测试代码的更新代码上传到远程仓库已经发布的V4版本中,完成对V4的更新(更新完成的瞬间,V5版本与V4版本的源代码与测试代码是一致的,但是由于开发人员与测试人员依然在本地进行持续的开发,所以仅仅只有在V4版本更新完成的瞬间,V4与V5版本代码是一致的)。图中的远程仓库V3版本是基于V4版本分离出去的一个版本,分离的瞬间,两个版本的代码是一致的,但是V4版本在这之后可能经历过了多次更新,如果V3版本也需要更新到最新的功能版本(这里指的V4版本的代码,因为V5版本代码可能还在开发中,未通过测试并且未更新到远程仓库V4版本中),此时可以将V4版本在V3版本分离出去后所有的更新代码(V4版本比V3版本多出或修改的代码)均传到V3版本中,完成对V3版本的更新。其中的更新代码为相邻两个版本之间的不一致的代码。例如,V4版本与V3版本之间不一致的代码,为V3的更新代码。以此类推,最终开发及测试的代码的修改都会被更新到远程仓库的所有旧版本代码中。
在整个流程进行的过程中,远程仓库中各个不同的代码版本,由于测试代码的更新与功能源代码的更新是一起更新到远程仓库的(以仓库V4版本为例,当V5版本中测试代码功能源代码同时更新完,并且测试通过后才会推送更新至V4版本),因此,每个远程仓库的代码版本均可以随时进行测试并且测试代码均运行通过,保证了测试的质量。
进一步地,开发和测试在每个功能更新迭代中,都是基于远程仓库最新的版本V4进行开发更新的,也就是说V5与V4版本的区别实际是V5版本针对V4版本增加或修改部分功能源代码与测试代码,在测试通过后这些基于V4版本新增或修改的代码或代码会被一起更新到远程仓库V4版本中,这就成为一次迭代。实际项目中代码版本会存在多个版本,这是为了能及时交付给用户使用,将云上的仓库代码分为多个版本,例如图3a中从V4版本中完全复制代码形成V3版本,在一些功能还没完成开发前先将V3版本交付给用户使用,等到在下一个迭代或者几个迭代之后,这些功能已经通过测试并被更新到了V4版本,那么此时可以将V4版本所有的更新代码都更新到V3版本中,直接交付给用户使用。
由上述描述可知,本实施例中的软件维护方法,由于开发完成后功能源代码与测试代码是放在同一个远程仓库中,每一次功能源代码与测试代码的更新代码都会被同时推送更新到远程仓库中,所以远程仓库中代码版本每一次更新,测试代码的版本都是与功能源代码的版本是匹配的,因此保障了测试的质量,从而保障了医疗管理软件的质量。相比现有技术,由于测试代码始终不与功能源代码放在同一个仓库并且只维护一个版本,而功能源代码实际上是有多个版本的,如果每个版本的功能都不同,那么这一套测试代码肯定是不能适用于所有功能源代码版本的,必须修改测试代码,删除那些不适用所有源代码功能的代码,或者放弃测试一些源代码版本,优先保障一些重要的版本,不管是那种做法,都无法保障软件测试的质量,并且维护多个版本的用例会消耗大量的测试人力资源,因此,本实施例中的功能源代码与测试代码共同进行版本管理的方式可以更有效的让测试用例对多个功能源代码版本进行有效的测试,保障了测试质量以及医疗管理软件质量,并且由于始终只需要维护最新版本的测试代码,因此可以节约大量的测试人力资源,以及节省测试人员的时间成本。
在另一个实施例中,提供了另一种软件维护方法,本实施例涉及的是如何对待测试版本的功能源代码进行测试的具体过程。在上述实施例的基础上,如图4所示,该方法还可以包括以下步骤:
S402,获取待测试版本的功能源代码。
在本步骤中,在需要对任意版本的功能源代码进行测试之前,可以先获取想要测试的功能源代码的版本,这里的获取方式可以通过用户在计算机设备上输入版本形式获得,当然也可以通过其他方式获得,总之,可以获得需要测试的功能源代码的版本,进而也可以获得对应的功能源代码,这里记为待测试版本的功能源代码。
S404,根据上述待测试版本的功能源代码,在上述远程仓库中获取上述待测试版本的功能源代码匹配的目标版本的测试代码;上述待测试版本的功能源代码和上述目标版本的测试代码的版本号一致。
在本步骤中,通过上述说明可知,远程仓库中包括每个版本的功能源代码以及与每个版本的功能源代码匹配的测试代码,这里远程仓库中在保存这些功能源代码和测试代码时,可以通过版本号的形式存储这些代码,即通过版本号就可以找到对应的功能源代码和测试代码。
示例地,V1版本的功能源代码记为V1-y,V1版本的测试代码记为V1-c,可以通过V1版本号找到功能源代码V1-y和测试代码V1-c。
具体的,可以通过待测试版本的功能源代码的版本号,在远程仓库中获得对应的待测试版本功能源代码和测试代码,并通过功能源代码和测试代码的名称或其他信息区分得到待测试版本功能源代码对应的测试代码,记为目标版本测试代码。
S406,根据上述目标版本的测试代码对上述待测试版本的功能源代码进行测试,生成测试报告。
在本步骤中,通常开发人员在本地服务器中进行功能源代码和测试代码开发完成之后,会利用测试代码对功能源代码进行测试,一般在测试通过/成功之后才会将功能源代码和测试代码上传至远程仓库中。那么这里在获得目标版本的测试代码之后,就可以对待测试功能源代码进行测试,一般是会测试成功的,在测试完成之后,就可以将测试过程的数据以及测试结果等生成一个测试报告。
本实施例的软件维护方法,可以获取待测试版本的功能源代码,并基于待测试版本的功能源代码在远程仓库中获得匹配的目标版本的测试代码,采用目标版本的测试代码对待测试版本的功能源代码进行测试,生成测试报告。在本实施例中,由于远程仓库中的功能源代码与测试代码版本是匹配的,那么这里在对任意版本的功能源代码进行测试时,可以在远程仓库中快速找到匹配的测试代码,并对功能源代码进行测试,从而可以提高对功能源代码进行测试的效率;同时由于一般测试代码与功能源代码是匹配的,且是测试通过后上传至远程仓库的,这样在对功能源代码进行测试时,就可以对功能源代码进行有效测试,保证测试的质量。
通过上述描述说明可知,上述在本地服务器中采用测试代码对功能源代码进行测试通过之后,可以将功能源代码和测试代码上传至远程仓库中,那么在上传之后,也就可以基于远程仓库中的功能源代码部署客户端。在部署客户端时,可以在上述远程仓库中获取第二版本的代码,并根据上述第二版本的代码部署对应版本的客户端。也就是说,可以获取到远程仓库中的所有第二版本的功能源代码,并将各第二版本的功能源代码部署在服务器上,形成产品或者客户端,并发布给用户使用。
当然,也可以在远程仓库中获取到最新版本的功能源代码,并将最新版本的功能源代码部署在服务器上,形成最新的产品或最新的客户端,发布给用户使用,用户可以利用最新版本的客户端进行更新旧的客户端。
这里可以通过将第二版本的功能源代码部署客户端发布给用户使用,从可以保证用户能够及时使用到产品,提高用户体验。
进一步地,在上述将第二版本的代码部署的客户端发布给用户使用之后,可能会存在用户的客户端出现故障,或者对用户的客户端进行更新的问题,即满足设定维护条件时出现的问题,以下就进一步对这些问题进行说明。
首先说明用户的客户端出现故障的问题,以下给出两种可能的解决故障的实施方式:
在一种可能的实施方式中,可选的,若上述第二版本的代码对应版本的客户端出现故障,则获取上述远程仓库中候选版本的代码;上述候选版本的代码为对上述出现故障的第二版本的代码进行至少一次更新操作后的代码;根据上述候选版本的代码部署候选版本的客户端,并采用上述候选版本的客户端替换出现故障的上述第二版本的代码对应版本的客户端。
在本实施方式中,通常比出现故障的第二版本的代码更新版本的代码默认是没有故障的,那么在第二版本的代码对应版本的客户端出现故障时,可以在远程仓库中直接拉取到比当前出现故障的第二版本的代码更高版本的功能源代码,这里更高版本的功能源代码为对出现故障的第二版本的功能源代码进行过至少一次更新操作的功能源代码,这里可以将找到的所有更高版本的功能源代码均记为候选版本的代码,并部署各候选版本的代码对应的客户端,然后采用任意一个候选版本的客户端直接替换掉出现故障的客户端。
示例地,例如V3版本的客户端出现故障,V5版本的功能源代码是最新版本的代码,V4版本的功能源代码也是比V3版本的功能源代码更高版本的代码,即V4和V5均是对V3进行过更新操作的功能源代码,那么这里V4版本和V5版本均是候选版本,那么就可以采用V4版本的功能源代码部署V4版本的客户端,并将V3版本的客户端直接更新为V4版本的客户端,或者,采用V5版本的功能源代码部署V5版本的客户端,并将V3版本的客户端直接更新为V5版本的客户端。
这里采用比出现故障的第二版本的客户端更高版本的客户端,来替换掉出现故障的客户端,该过程比较简单直接,因此可以提高对故障客户端的修复速度,从而可以进一步提高用户对产品的使用体验。
在另一种可能的实施方式中,可选的,若上述第二版本的代码对应版本的客户端出现故障,则获取故障信息,以及在上述远程仓库中获取最新版本的代码;上述最新版本的代码作为上述候选版本的代码;根据上述故障信息对上述最新版本的代码进行修改,并将修改后的代码上传至上述远程仓库中,根据上述修改后的代码对上述第二版本的代码进行维护操作。
在本实施方式中,示例地,假设V5版本的功能源代码是最新版本的代码,V3版本的客户端出现故障,那么可以获得出现的故障类型、故障内容等故障信息,之后可以在远程仓库中获取到V5版本的功能源代码和匹配的测试代码,然后基于该故障信息对V5版本的功能源代码进行修改,得到修改后的V5版本的功能源代码;同时,基于该故障信息对V5版本的测试代码进行修改,得到修改后的V5版本的测试代码,并在V5版本的功能源代码测试通过之后,可以将该修改后的V5版本的功能源代码和修改后的V5版本的测试代码上传至远程仓库中,之后,可以采用修改后的V5版本的功能源代码部署V5版本的客户端,并发布给用户使用,用户可以采用该新发布的V5版本的客户端替换原来的V3版本的客户端。
这里采用对最新版本的代码进行修改,过程比较简单,而且只需要维护最新版本的代码,因此可以进一步降低代码维护的复杂度,同时可以提高故障修复的效率。
当然,也可以是在V3版本的客户端出现故障,并且获得出现的故障类型、故障内容等故障信息之后,在远程仓库中获取到V3版本的功能源代码和匹配的测试代码,然后基于该故障信息获知在V3版本的功能源代码哪里出现故障,然后有针对性地对该出现故障的代码进行修改,得到修改后的V3版本的功能源代码;同时,基于该故障信息对V3版本的测试代码进行修改,得到修改后的V3版本的测试代码,并采用修改后的V3版本的测试代码对修改后的V3版本的功能源代码进行测试,在测试通过之后,可以将该修改后的V3版本的功能源代码和修改后的V3版本的测试代码上传至远程仓库中,替换掉修改之前的V3版本的功能源代码和测试代码。在替换之后,可以采用修改后的V3版本的功能源代码部署新的V3版本的客户端,并发布给用户使用,用户可以采用该新发布的V3版本的客户端替换原来的V3版本的客户端。
这里采用故障信息对相同第二版本的功能源代码进行修改,并部署新的相同第二版本的客户端,替换掉出现故障的相同第二版本的客户端,这样在用户的设备对客户端软件版本有限制的情况下,尽可能地解决故障问题,从而可以保证用户不需要升级硬件设备,节省用户的硬件成本,进一步提高用户产品使用体验。
以下说明对用户的客户端进行更新的问题:
可选的,若上述第二版本的代码对应版本的客户端需要进行更新,则获取上述远程仓库中最新版本的代码;根据上述最新版本的代码部署最新版本的客户端,并采用上述最新版本的客户端更新上述第二版本的代码对应版本的客户端。
在这里,示例地,假设用户端是V2版本的客户端,最新版本的代码为V5版本,那么在用户想要对V2版本的客户端进行更新时,可以直接在远程仓库中拉取V5版本的功能源代码,并部署V5版本的客户端,发布给用户,替换掉用户的V2版本客户端。这样可以使用户使用到最新版本的客户端,带给用户全新的体验。
当然,若上述第二版本的代码对应版本的客户端需要进行更新,也可以获取该第二版本的代码对应的下一版本的代码,然后根据该下一版本的代码部署相应的客户端,并采用该下一版本的代码部署的客户端更新第二版本的代码对应版本的客户端。
示例地,假设用户端是V2版本的客户端,最新版本的代码为V5版本,那么可以在远程仓库中获取到V3版本的功能源代码,并部署V3版本的客户端,发布给用户,替换掉用户的V2版本客户端。这样可以最大限度降低对用户的硬件设备的要求,在保证用户使用到新版本客户端的情况下,降低用户的硬件成本。
在上述实施例的基础上,以下为了便于对本申请的方案进行详述,以下给出一个具体的示例,参见图5所示,图中远程代码存储服务器中的三个版本分别代表着整个仓库中所存储代码存在功能差异的多个版本,版本V1.0象征着最早发布给用户使用的代码版本,此版本功能落后于代码版本V2.0,同样,代码版本V2.0功能落后于代码版本V3.0。开发人员和测试人员分别在各自的本地代码存储服务器(即本地服务器)中完成源代码和测试代码的更新后,将更新的数据包传到远程代码存储服务器中的版本V3.0中,此版本中功能最完善,如客户需要,可直接拉取代码部署在服务器上将最新的产品发布给用户使用。而版本2.0如果需要更新功能,可从版本3.0中拉取数据包更新版本2.0,同样版本2.0也可随时拉取代码部署在服务器上提供给用户使用,以此类推,当有需要时更新最旧的版本1.0,部署代码在服务器上并挺高给客户使用。对各个版本的代码功能而言,由于最初的数据更新包中已经包含了针对功能更新而更新的测试代码,即每次版本功能更新时测试代码也随之更新,因此保障了版本之间更新时测试的质量,测试人员不用在关注后续旧版本的功能更新而花费额外的人力资源去保障版本间更新后测试代码的适用性。
应该理解的是,虽然图2、3、4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、3、4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种软件维护装置,包括:更新模块10和维护模块11,其中:
更新模块10,用于对第一版本代码进行更新操作后上传至远程仓库;上述第一版本代码为上述远程仓库中的最新版本的代码;上述远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码;上述候选版本的代码为对上述第二版本的代码进行至少一次更新操作后的代码;上述候选版本的代码包含上述第一版本代码;
维护模块11,用于在满足设定维护条件时,采用上述候选版本的代码对上述第二版本的代码进行维护操作。
关于软件维护装置的具体限定可以参见上文中对于软件维护方法的限定,在此不再赘述。
在另一个实施例中,上述第一版本代码包括具有匹配关系的第一版本功能源代码和第一版本测试代码;上述第二版本的代码包括具有匹配关系的第二版本功能源代码和第二版本测试代码。
可选的,上述维护模块11可以包括第一更新单元、第二更新单元和上传单元,其中:
第一更新单元,用于对上述第一版本功能源代码进行更新操作,得到更新后的功能源代码;
第二更新单元,用于基于上述更新后的功能源代码,对上述第一版本测试代码进行更新操作,得到更新后的测试代码;
上传单元,用于将上述更新后的功能源代码和上述更新后的测试代码上传至上述远程仓库。
在另一个实施例中,提供了另一种软件维护装置,在上述实施例的基础上,上述装置还可以包括待测试源代码获取模块、测试代码确模块和测试模块,其中:
待测试源代码获取模块,用于获取待测试版本的功能源代码;
测试代码确定模块,用于根据上述待测试版本的功能源代码,在上述远程仓库中获取上述待测试版本的功能源代码匹配的目标版本的测试代码;上述待测试版本的功能源代码和上述目标版本的测试代码的版本号一致;
测试模块,用于根据上述目标版本的测试代码对上述待测试版本的功能源代码进行测试,生成测试报告。
在另一个实施例中,提供了另一种软件维护装置,在上述实施例的基础上,上述装置还可以包括部署模块,该部署模块,用于在上述远程仓库中获取第二版本的代码,并根据上述第二版本的代码部署对应版本的客户端。
可选的,上述维护模块11可以包括候选代码获取单元和替换单元,其中:
候选代码获取单元,用于在上述第二版本的代码对应版本的客户端出现故障的情况下,获取上述远程仓库中候选版本的代码;上述候选版本的代码为对上述出现故障的第二版本的代码进行至少一次更新操作后的代码;
替换单元,用于根据上述候选版本的代码部署候选版本的客户端,并采用上述候选版本的客户端替换出现故障的上述第二版本的代码对应版本的客户端。
可选的,上述维护模块11可以包括故障信息获取单元和修改单元,其中:
故障信息获取单元,用于在上述第二版本的代码对应版本的客户端出现故障的情况下,获取故障信息,以及在上述远程仓库中获取最新版本的代码;上述最新版本的代码作为上述候选版本的代码;
修改单元,用于根据上述故障信息对上述最新版本的代码进行修改,并将修改后的代码上传至上述远程仓库中,根据上述修改后的代码对上述第二版本的代码进行维护操作。
可选的,上述装置还可以包括更新模块,
上述最新代码获取模块,还用于在上述第二版本的代码对应版本的客户端需要进行更新的情况下,获取上述远程仓库中最新版本的代码;
更新模块,用于根据上述最新版本的代码部署最新版本的客户端,并采用上述最新版本的客户端更新上述第二版本的代码对应版本的客户端。
关于软件维护装置的具体限定可以参见上文中对于软件维护方法的限定,在此不再赘述。
上述软件维护装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
对第一版本代码进行更新操作后上传至远程仓库;上述第一版本代码为上述远程仓库中的最新版本的代码;上述远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码;上述候选版本的代码为对上述第二版本的代码进行至少一次更新操作后的代码;上述候选版本的代码包含上述第一版本代码;在满足设定维护条件时,采用上述候选版本的代码对上述第二版本的代码进行维护操作。
在一个实施例中,上述第一版本代码包括具有匹配关系的第一版本功能源代码和第一版本测试代码;上述第二版本的代码包括具有匹配关系的第二版本功能源代码和第二版本测试代码。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
对上述第一版本功能源代码进行更新操作,得到更新后的功能源代码;基于上述更新后的功能源代码,对上述第一版本测试代码进行更新操作,得到更新后的测试代码;将上述更新后的功能源代码和上述更新后的测试代码上传至上述远程仓库。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取待测试版本的功能源代码;根据上述待测试版本的功能源代码,在上述远程仓库中获取上述待测试版本的功能源代码匹配的目标版本的测试代码;上述待测试版本的功能源代码和上述目标版本的测试代码的版本号一致;根据上述目标版本的测试代码对上述待测试版本的功能源代码进行测试,生成测试报告。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在上述远程仓库中获取第二版本的代码,并根据上述第二版本的代码部署对应版本的客户端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若上述第二版本的代码对应版本的客户端出现故障,则获取上述远程仓库中候选版本的代码;上述候选版本的代码为对上述出现故障的第二版本的代码进行至少一次更新操作后的代码;根据上述候选版本的代码部署候选版本的客户端,并采用上述候选版本的客户端替换出现故障的上述第二版本的代码对应版本的客户端。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若上述第二版本的代码对应版本的客户端出现故障,则获取故障信息,以及在上述远程仓库中获取最新版本的代码;上述最新版本的代码作为上述候选版本的代码;根据上述故障信息对上述最新版本的代码进行修改,并将修改后的代码上传至上述远程仓库中,根据上述修改后的代码对上述第二版本的代码进行维护操作。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若上述第二版本的代码对应版本的客户端需要进行更新,则获取上述远程仓库中最新版本的代码;根据上述最新版本的代码部署最新版本的客户端,并采用上述最新版本的客户端更新上述第二版本的代码对应版本的客户端。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
对第一版本代码进行更新操作后上传至远程仓库;上述第一版本代码为上述远程仓库中的最新版本的代码;上述远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码;上述候选版本的代码为对上述第二版本的代码进行至少一次更新操作后的代码;上述候选版本的代码包含上述第一版本代码;在满足设定维护条件时,采用上述候选版本的代码对上述第二版本的代码进行维护操作。
在一个实施例中,上述第一版本代码包括具有匹配关系的第一版本功能源代码和第一版本测试代码;上述第二版本的代码包括具有匹配关系的第二版本功能源代码和第二版本测试代码。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
对上述第一版本功能源代码进行更新操作,得到更新后的功能源代码;基于上述更新后的功能源代码,对上述第一版本测试代码进行更新操作,得到更新后的测试代码;将上述更新后的功能源代码和上述更新后的测试代码上传至上述远程仓库。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取待测试版本的功能源代码;根据上述待测试版本的功能源代码,在上述远程仓库中获取上述待测试版本的功能源代码匹配的目标版本的测试代码;上述待测试版本的功能源代码和上述目标版本的测试代码的版本号一致;根据上述目标版本的测试代码对上述待测试版本的功能源代码进行测试,生成测试报告。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在上述远程仓库中获取第二版本的代码,并根据上述第二版本的代码部署对应版本的客户端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若上述第二版本的代码对应版本的客户端出现故障,则获取上述远程仓库中候选版本的代码;上述候选版本的代码为对上述出现故障的第二版本的代码进行至少一次更新操作后的代码;根据上述候选版本的代码部署候选版本的客户端,并采用上述候选版本的客户端替换出现故障的上述第二版本的代码对应版本的客户端。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若上述第二版本的代码对应版本的客户端出现故障,则获取故障信息,以及在上述远程仓库中获取最新版本的代码;上述最新版本的代码作为上述候选版本的代码;根据上述故障信息对上述最新版本的代码进行修改,并将修改后的代码上传至上述远程仓库中,根据上述修改后的代码对上述第二版本的代码进行维护操作。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若上述第二版本的代码对应版本的客户端需要进行更新,则获取上述远程仓库中最新版本的代码;根据上述最新版本的代码部署最新版本的客户端,并采用上述最新版本的客户端更新上述第二版本的代码对应版本的客户端。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种软件维护方法,其特征在于,所述方法包括:
对第一版本代码进行更新操作后上传至远程仓库;所述第一版本代码为所述远程仓库中的最新版本的代码;所述远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码;所述候选版本的代码为对所述第二版本的代码进行至少一次更新操作后的代码;所述候选版本的代码包含所述第一版本代码;
在满足设定维护条件时,采用所述候选版本的代码对所述第二版本的代码进行维护操作。
2.根据权利要求1所述的方法,其特征在于,所述第一版本代码包括具有匹配关系的第一版本功能源代码和第一版本测试代码;所述第二版本的代码包括具有匹配关系的第二版本功能源代码和第二版本测试代码。
3.根据权利要求2所述的方法,其特征在于,所述对第一版本代码进行更新操作后上传至远程仓库,包括:
对所述第一版本功能源代码进行更新操作,得到更新后的功能源代码;
基于所述更新后的功能源代码,对所述第一版本测试代码进行更新操作,得到更新后的测试代码;
将所述更新后的功能源代码和所述更新后的测试代码上传至所述远程仓库。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
获取待测试版本的功能源代码;
根据所述待测试版本的功能源代码,在所述远程仓库中获取所述待测试版本的功能源代码匹配的目标版本的测试代码;所述待测试版本的功能源代码和所述目标版本的测试代码的版本号一致;
根据所述目标版本的测试代码对所述待测试版本的功能源代码进行测试,生成测试报告。
5.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:
在所述远程仓库中获取第二版本的代码,并根据所述第二版本的代码部署对应版本的客户端。
6.根据权利要求5所述的方法,其特征在于,所述在满足设定维护条件时,采用所述候选版本的代码对所述第二版本的代码进行维护操作,包括:
若所述第二版本的代码对应版本的客户端出现故障,则获取所述远程仓库中候选版本的代码;所述候选版本的代码为对所述出现故障的第二版本的代码进行至少一次更新操作后的代码;
根据所述候选版本的代码部署候选版本的客户端,并采用所述候选版本的客户端替换出现故障的所述第二版本的代码对应版本的客户端。
7.根据权利要求5所述的方法,其特征在于,所述在满足设定维护条件时,采用所述候选版本的代码对所述第二版本的代码进行维护操作,包括:
若所述第二版本的代码对应版本的客户端出现故障,则获取故障信息,以及在所述远程仓库中获取最新版本的代码;所述最新版本的代码作为所述候选版本的代码;
根据所述故障信息对所述最新版本的代码进行修改,并将修改后的代码上传至所述远程仓库中,根据所述修改后的代码对所述第二版本的代码进行维护操作。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
若所述第二版本的代码对应版本的客户端需要进行更新,则获取所述远程仓库中最新版本的代码;
根据所述最新版本的代码部署最新版本的客户端,并采用所述最新版本的客户端更新所述第二版本的代码对应版本的客户端。
9.一种软件维护装置,其特征在于,所述装置包括:
更新模块,用于对第一版本代码进行更新操作后上传至远程仓库;所述第一版本代码为所述远程仓库中的最新版本的代码;所述远程仓库中包括至少一个第二版本的代码和至少一个候选版本的代码;所述候选版本的代码为对所述第二版本的代码进行至少一次更新操作后的代码;所述候选版本的代码包含所述第一版本代码;
维护模块,用于在满足设定维护条件时,采用所述候选版本的代码对所述第二版本的代码进行维护操作。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
CN202011430147.6A 2020-12-09 2020-12-09 软件维护方法、装置和设备 Pending CN112596760A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011430147.6A CN112596760A (zh) 2020-12-09 2020-12-09 软件维护方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011430147.6A CN112596760A (zh) 2020-12-09 2020-12-09 软件维护方法、装置和设备

Publications (1)

Publication Number Publication Date
CN112596760A true CN112596760A (zh) 2021-04-02

Family

ID=75191325

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011430147.6A Pending CN112596760A (zh) 2020-12-09 2020-12-09 软件维护方法、装置和设备

Country Status (1)

Country Link
CN (1) CN112596760A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116594862A (zh) * 2023-04-04 2023-08-15 平凯星辰(北京)科技有限公司 Dbms的测试方法、装置、电子设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279084A (zh) * 2014-06-24 2016-01-27 Sap欧洲公司 软件集成测试中的缺陷定位
CN105653287A (zh) * 2015-12-31 2016-06-08 北京元心科技有限公司 一种程序自动版本发布方法和装置
CN106648823A (zh) * 2016-12-30 2017-05-10 东软集团股份有限公司 代码发布的方法及装置
CN106648718A (zh) * 2015-11-02 2017-05-10 天脉聚源(北京)科技有限公司 一种服务器代码部署的方法和系统
CN110134431A (zh) * 2019-04-16 2019-08-16 深圳壹账通智能科技有限公司 代码数据管理方法和系统
CN110377334A (zh) * 2019-07-25 2019-10-25 北京奇艺世纪科技有限公司 持续集成方法及设备
CN110750463A (zh) * 2019-10-29 2020-02-04 百度在线网络技术(北京)有限公司 一种小程序测试方法、装置、系统、设备及介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105279084A (zh) * 2014-06-24 2016-01-27 Sap欧洲公司 软件集成测试中的缺陷定位
CN106648718A (zh) * 2015-11-02 2017-05-10 天脉聚源(北京)科技有限公司 一种服务器代码部署的方法和系统
CN105653287A (zh) * 2015-12-31 2016-06-08 北京元心科技有限公司 一种程序自动版本发布方法和装置
CN106648823A (zh) * 2016-12-30 2017-05-10 东软集团股份有限公司 代码发布的方法及装置
CN110134431A (zh) * 2019-04-16 2019-08-16 深圳壹账通智能科技有限公司 代码数据管理方法和系统
CN110377334A (zh) * 2019-07-25 2019-10-25 北京奇艺世纪科技有限公司 持续集成方法及设备
CN110750463A (zh) * 2019-10-29 2020-02-04 百度在线网络技术(北京)有限公司 一种小程序测试方法、装置、系统、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116594862A (zh) * 2023-04-04 2023-08-15 平凯星辰(北京)科技有限公司 Dbms的测试方法、装置、电子设备及可读存储介质
CN116594862B (zh) * 2023-04-04 2024-05-03 平凯星辰(北京)科技有限公司 Dbms的测试方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN110609732B (zh) 应用程序部署方法、装置、计算机设备和存储介质
US7500234B2 (en) System-updating method and computer system adopting the method
CN105511911B (zh) 系统固件升级包的生成方法及装置
CN105468393B (zh) 模块版本升级方法及终端装置
CN109558160A (zh) 升级方法、嵌入式系统
CN106980565B (zh) 升级过程监控方法及装置
CN109062598A (zh) 一种安全的ota升级方法及系统
CN108829431A (zh) iOS应用程序的更新方法、装置、设备及存储介质
CN109840194B (zh) 一种配置文件的检测方法及系统
CN110727446A (zh) 自动部署方法、装置、设备及介质
CN104780076B (zh) 一种代码检查方法和设备
CN112702195A (zh) 网关配置方法、电子设备及计算机可读存储介质
CN114880220A (zh) 车辆自动驾驶软件的开发系统和方法
CN112596760A (zh) 软件维护方法、装置和设备
CN112286543B (zh) 一种应用服务部署方法及装置
CN115145596A (zh) 一种机器人升级包ota升级方法及设备
CN114579473B (zh) 应用测试方法、装置、设备及存储介质
CN107229650B (zh) 测试方法及装置
CN110347609B (zh) 一种测试区块链软件的方法及装置
CN114003250A (zh) 一种软件部署方法及装置
CN113672258A (zh) 车辆的系统升级方法、装置、计算机设备和存储介质
CN113127022A (zh) 一种代码的自动更新方法及装置、计算机设备、存储介质
CN112764964A (zh) 一种解决fota升级失败后无法重刷的方法及其系统
CN111611000A (zh) 一种高可靠的固件空中升级方法及系统
CN112114837B (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