CN108319551A - 一种软件的测试方法、装置、计算机设备及可读存储介质 - Google Patents
一种软件的测试方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN108319551A CN108319551A CN201711482554.XA CN201711482554A CN108319551A CN 108319551 A CN108319551 A CN 108319551A CN 201711482554 A CN201711482554 A CN 201711482554A CN 108319551 A CN108319551 A CN 108319551A
- Authority
- CN
- China
- Prior art keywords
- object code
- container
- version
- target requirement
- branch
- 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
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
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
技术领域
本发明涉及软件测试领域,尤其涉及一种软件的测试方法、装置、计算机设备及可读存储介质。
背景技术
现有的软件在更新成新的版本软件之后,其会新增很多的需求。以即时通信软件IM为例:IM作为一个长期的基础独立项目,其需求本身具有高耦合性。因为IM的每个版本都会新增很多需求,而且,每个需求都会新建一个分支。所以,一个新的IM版本最多可达20多个分支,测试人员在测试每个需求时都需要去相应的分支下重新进行数据打包和安装测试。在测试某个需求时,如果发现该分支中的代码数据有错误,开发人员就需要对该分支中的代码数据进行修复。
但是,在测试的过程中,在开发人员开发第一个需求后,就有测试人员测试该第一个需求,而开发人员就会继续开发第二个需求。如果测试人员在测试第一个需求时发现第一个需求中分支的代码数据有错误,则开发人员需要切换至第一个需求的分支下修复错误代码。当已开发的需求数量较多时,开发人员在修复错误代码时极易出现切错分支,导致修复失败。
发明内容
本发明实施例的主要目的在于提出一种软件的测试方法、装置、计算机设备及可读存储介质,旨在克服在修复软件的目标需求的在错误代码时出现切错分支而导致修复失败的问题。
根据本发明实施例的一个方面,提供了一种软件的测试方法,所述软件具有一个版本分支容器,所述版本分支容器用于接收所有新增的目标需求对应的目标代码,所述方法包括:将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器;对所述版本分支容器中的所述目标代码进行测试以确定所述目标代码是否满足相应的目标需求;在所述目标代码不满足相应的目标需求的情况下,在所述版本分支容器中修复所述目标代码,以得到满足相应的目标需求的目标代码。
可选的,所述将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器,包括:依据多个所述目标需求在相应的多个功能分支容器中独立开发相应的目标代码,并将开发完成后的述多个目标需求的目标代码分别上传至所述版本分支容器。
可选的,所述对所述版本分支容器中的所述目标代码进行测试以确定所述目标代码是否满足相应的目标需求,包括:当所述版本分支容器具有多个目标需求的所述目标代码时,确定每个所述目标代码是否能实现相应的目标需求的功能;合并所述多个目标需求的所述目标代码,并依据合并后的所述目标代码确定所述多个目标需求之间的关联性是否存在错误;若每个目标代码均能实现相应的目标需求的功能,且合并后的所述目标代码对应的多个目标需求之间的关联性不存在错误时,则该版本分支容器中的所有目标代码均能满足相应的目标需求;否则,该版本分支容器中的目标代码不满足相应的目标需求。
可选的,将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器之前,所述方法还包括:对所述目标需求进行冒烟测试。
可选的,在所述得到满足相应的目标需求的目标代码后,所述方法还包括:将所述版本分支容器中的所述满足相应的目标需求的目标代码存入集成分支容器;所述集成分支容器存储有旧版本软件的所有需求的代码;检查所述集成分支容器的所有目标需求的目标代码及所有旧版本软件的所有需求的代码之间的关联性是否存在错误。
根据本发明实施例的第二个方面,提供了一种软件的测试装置,所述软件具有一个版本分支容器,所述版本分支容器用于接收所有新增的目标需求对应的目标代码,所述装置包括:上传模块,用于将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器;确定模块,用于对所述版本分支容器中的所述目标代码进行测试以确定所述目标代码是否满足相应的目标需求;修复模块,用于在所述目标代码不满足相应的目标需求的情况下,在所述版本分支容器中修复所述目标代码,以得到满足相应的目标需求的目标代码。
可选的,所述上传模块包括:上传单元,用于依据多个所述目标需求在相应的多个功能分支容器中独立开发相应的目标代码,并将开发完成后的述多个目标需求的目标代码分别上传至所述版本分支容器。
可选的,所述确定模块包括:确认单元,用于当所述版本分支容器具有多个目标需求的所述目标代码时,确定每个所述目标代码是否能实现相应的目标需求的功能;合并确认单元,用于合并所述多个目标需求的所述目标代码,并依据合并后的所述目标代码确定所述多个目标需求之间的关联性是否存在错误;若每个目标代码均能实现相应的目标需求的功能,且合并后的所述目标代码对应的多个目标需求之间的关联性不存在错误时,则该版本分支容器中的所有目标代码均能满足相应的目标需求;否则,该版本分支容器中的目标代码不满足相应的目标需求。
可选的,所述装置还包括:集成模块,用于在所述得到满足相应的目标需求的目标代码后,将所述版本分支容器中的所述满足相应的目标需求的目标代码存入集成分支容器;所述集成分支容器存储有旧版本软件的所有需求的代码;检查模块,用于检查所述集成分支容器的所有目标需求的目标代码及所有旧版本软件的所有需求的代码之间的关联性是否存在错误。
根据本发明实施例的第三个方面,提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的软件的测试方法。
根据本发明实施例的第四个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的软件的测试方法。
本发明实施例有益效果如下:本发明实施例所提供的一种软件的测试方法、装置及计算机可读存储介质,通过将所有的目标需求的目标代码均传送至版本分支容器,直接依据各个目标代码的校验完成对目标代码是否满足对应的目标需求的校验,当校验出目标代码出现错误时,意味着其相应的目标代码不能满足对应的目标需求,此时,只需在版本分支容器中对该目标代码进行修复即可,而无需切换分支容器,从而避免了因切换至错误的功能分支容器而导致目标代码修复失败的现象的出现。
附图说明
图1为本发明第一实施例一种软件的测试方法的流程框图;
图2为本发明第二实施例一种软件的测试方法的流程框图;
图3为本发明第三实施例一种软件的测试方法的流程框图;
图4为本发明第四实施例一种软件的测试方法的流程框图;
图5为本发明第五实施例IM的测试方法的流程框图;
图6为本发明第六实施例一种软件的测试装置的结构示意图。
本发明实施例目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明实施例的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
为了便于理解本发明实施例,下面通过几个具体实施例对本发明实施例的实施过程进行详细的阐述。
本发明第一实施例提供一种软件的测试方法,所述软件具有一个版本分支容器,所述版本分支容器用于接收所有新增的目标需求对应的目标代码,所述方法包括:将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器;对所述版本分支容器中的所述目标代码进行测试以确定所述目标代码是否满足相应的目标需求;在所述目标代码不满足相应的目标需求的情况下,在所述版本分支容器中修复所述目标代码,以得到满足相应的目标需求的目标代码。
就此,通过将所有的目标需求的目标代码均传送至版本分支容器,直接依据各个目标代码的校验完成对目标代码是否满足对应的目标需求的校验,当校验出目标代码出现错误时,意味着其相应的目标代码不能满足对应的目标需求,此时,只需在版本分支容器中对该目标代码进行修复即可,而无需切换分支容器,从而避免了因切换至错误的功能分支容器而导致目标代码修复失败的现象的出现。
图1为本发明第一实施例的流程框图。具体的,每个软件具有多个需求,每个需求设有对应的功能分支容器。而在更新软件后,本的软件又会新增多个需求。在本实施例中,在本的软件中新增版本分支容器,该版本分支容器用于接收所有的新增的目标需求的目标代码。
对此,根据图1所示,本发明第一实施例提供了一种软件的测试方法,所述软件具有一个版本分支容器,所述版本分支容器用于接收所有新增的目标需求对应的目标代码,所述方法包括:
S1:将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器;
首先,依据目标需求建立相应的功能分支容器,然后依据该功能分支容器中开发所述目标需求对应的所述目标代码。然后再将开发完成后的目标需求的目标代码上传至版本分支容器。
优选的,在将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器之前,还需在功能分支容器中对相应的目标需求进行冒烟测试。在冒烟测试通过的情况下,再将开发完成后的目标需求的目标代码上传至版本分支容器。
在本实施例中,目标需求对应的目标代码的开发可以由开发***自主完成,也可由开发人员完成。在本实施例中,并不对开发的执行主体进行设置,只需满足本发明实施例的要求即可。而且,如果是由开发人员完成目标需求的目标代码的开发,则在将开发完成后的目标需求的目标代码上传至所述版本分支容器的同时,就会提交测试请求给相应的开发人员,以提醒开发人员完成后续操作。如果是由***完成目标需求的目标代码的开发,则可由***自动发送测试请求,也可由测试端进行相应的侦测。
S2:对所述版本分支容器中的所述目标代码进行测试以确定所述目标代码是否满足相应的目标需求;
版本分支容器在收到目标代码后,需要对目标代码进行测试,以确定该目标需求所属的目标代码是否存在错误。如果目标代码存在bug,则该目标代码不能满足所属的目标需求。如果目标代码不存在bug,则该目标代码满足所属的目标需求。
具体的,在本实施例中,目标代码的测试可以由开发***自主完成,也可由测试人员完成。在本实施例中,并不对测试的执行主体进行设置,只需满足本发明实施例的要求即可。而且,如果是由测试人员完成目标代码的测试,则测试人员在测试之前,需要收到开发人员提出的测试请求或开发***发出的测试通知。如果是由***完成目标代码的测试,则可由***自动完成目标代码的测试。
若由测试人员完成目标代码的测试,则具体的步骤为:测试人员从版本分支容器下载及安装相应的数据包,该数据包包括于该待测试的目标代码。然后再依据该数据包完成测试工作。其中,在获得安装包后,测试人员如何完成测试工作是现有技术,对此,在本实施例中并不做赘述。
S3:在所述目标代码不满足相应的目标需求的情况下,在所述版本分支容器中修复所述目标代码,以得到满足相应的目标需求的目标代码。
在确定目标代码存在错误时,就直接在版本分支容器中修复该目标代码,以得到满足相应的目标需求的目标代码。
就此,通过将所有的目标需求的目标代码均传送至版本分支容器,直接依据各个目标代码的校验完成对目标代码是否满足对应的目标需求的校验,当校验出目标代码出现错误时,意味着其相应的目标代码不能满足对应的目标需求,此时,只需在版本分支容器中对该目标代码进行修复即可,而无需切换分支容器,从而避免了因切换至错误的功能分支容器而导致目标代码修复失败的现象的出现。
图2为本发明第二实施例的流程框图。具体的,在实际过程中,可能在同时开发多个目标需求。所以,根据图2所示,本发明第二实施例提供了一种软件的测试方法,所述软件具有一个版本分支容器,所述版本分支容器用于接收所有新增的目标需求对应的目标代码,所述方法包括:
S1:将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器;
S2:对所述版本分支容器中的所述目标代码进行测试以确定所述目标代码是否满足相应的目标需求;
S3:在所述目标代码不满足相应的目标需求的情况下,在所述版本分支容器中修复所述目标代码,以得到满足相应的目标需求的目标代码。
其中,步骤S1的一种实现方式为:
S11:依据多个所述目标需求在相应的多个功能分支容器中独立开发相应的目标代码,并将开发完成后的述多个目标需求的目标代码分别上传至所述版本分支容器,如:错开上传时间或采用不同的数据传送途径,在本实施例中并不对实现分别上传的方式进行限定,只需其满足本发明实施例的保护范围。具体的,当需要同时依据多个目标需求开发在各自的功能分支容器开发相应的目标代码时,就需要依据每个功能分支容器独立开发相应的目标代码,并将开发完成后的目标需求的目标代码分别上传至所述版本分支容器。其中,功能分支容器、目标需求、目标代码对应,从而减少了合并代码的冲突问题。
图3为本发明第三实施例的流程框图。具体的,当有多个目标需求被开发完成后,版本分支容器就会收到多个目标需求的目标代码,使得版本分支容器具有多个目标需求的所述目标代码。此时,若要判断该版本分支容器中的所有目标代码是否满足各项目标需求,不仅需要判断每个目标需求的目标代码是否满足其所属的目标需求,还需要依据各个目标需求的目标代码之间的关联性判断各个目标需求之间的关联性协同是否存在错误。
即:本发明第三实施例提供了一种软件的测试方法,所述软件具有一个版本分支容器,所述版本分支容器用于接收所有新增的目标需求对应的目标代码,所述方法包括:
S1:将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器;
S2:对所述版本分支容器中的所述目标代码进行测试以确定所述目标代码是否满足相应的目标需求;
S3:在所述目标代码不满足相应的目标需求的情况下,在所述版本分支容器中修复所述目标代码,以得到满足相应的目标需求的目标代码。
其中,步骤S2的一种实现方式为:
S21:当所述版本分支容器具有多个目标需求的所述目标代码时,确定每个所述目标代码是否能实现相应的目标需求的功能;合并所述多个目标需求的所述目标代码,并依据合并后的所述目标代码确定所述多个目标需求之间的关联性是否存在错误;若每个目标代码均能实现相应的目标需求的功能,且合并后的所述目标代码对应的多个目标需求之间的关联性不存在错误时,则该版本分支容器中的所有目标代码均能满足相应的目标需求;否则,该版本分支容器中的目标代码不满足相应的目标需求。
具体的,在对每个目标需求的目标代码是否满足其所属的目标需求进行判断时,需要进行判断:每个所述目标需求的目标代码是否存在错误。而在对各个目标需求之间的关联性协同是否存在错误进行判断时,需要先合并相应的多个目标需求的目标代码,然后,依据合并后的所述目标代码是否存在错误以确定多个目标需求之间的关联性是否存在错误。若每个目标代码均未存在错误(即:所有目标代码均能实现相应目标需求的功能),且合并后的所述所有目标代码不存在错误时(即:各个目标需求之间的关联性不存在错误),则该版本分支容器中的所有目标代码均能满足相应的目标需求;否则,该版本分支容器中的目标代码不满足相应的目标需求。
可选的,步骤S1的一种实现方式为:
S11:依据多个所述目标需求在相应的多个功能分支容器中独立开发相应的目标代码,并将开发完成后的述多个目标需求的目标代码分别上传至所述版本分支容器。
图4为本发明第四实施例的流程框图。具体的,根据图4所示,本发明第四实施例提供了一种软件的测试方法,所述软件具有一个版本分支容器,所述版本分支容器用于接收所有新增的目标需求对应的目标代码,所述方法包括:
S1:将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器;
S2:对所述版本分支容器中的所述目标代码进行测试以确定所述目标代码是否满足相应的目标需求;
S3:在所述目标代码不满足相应的目标需求的情况下,在所述版本分支容器中修复所述目标代码,以得到满足相应的目标需求的目标代码。
在所述得到满足相应的目标需求的目标代码后,所述方法还包括:
S4:将所述版本分支容器中的所述满足相应的目标需求的目标代码存入集成分支容器;所述集成分支容器存储有旧版本软件的所有需求的代码;检查所述集成分支容器的所有目标需求的目标代码及所有旧版本软件的所有需求的代码之间的关联性是否存在错误。
具体的,因为在更新后的软件中,集成分支容器中包括旧版本中所有需求的代码。所以,在版本分支容器中得到满足相应的目标需求的目标代码后,还需将该满足相应的目标需求的目标代码集成至集成分支容器,然后统一对所述集成分支容器的所有满足相应的目标需求的目标代码及所有旧版本的所有需求的代码之间的关联性是否存在错误进行校验,从而实现对该软件进行整体测试。
可选的,步骤S1的一种实现方式为:
S11:依据多个所述目标需求在相应的多个功能分支容器中独立开发相应的目标代码,并将开发完成后的述多个目标需求的目标代码分别上传至所述版本分支容器。
可选的,步骤S2的一种实现方式为:
S21:当所述版本分支容器具有多个目标需求的所述目标代码时,确定每个所述目标代码是否能实现相应的目标需求的功能;合并所述多个目标需求的所述目标代码,并依据合并后的所述目标代码确定所述多个目标需求之间的关联性是否存在错误;若每个目标代码均能实现相应的目标需求的功能,且合并后的所述目标代码对应的多个目标需求之间的关联性不存在错误时,则该版本分支容器中的所有目标代码均能满足相应的目标需求;否则,该版本分支容器中的目标代码不满足相应的目标需求。
为了更好说明本实施例所述方法的实施过程,下面结合一个实施例五所记载的具体应用示例,对本实施例所述方法进行说明。
图5为本发明第五实施例的流程示意图。根据图5所示,以更新后的IM为例进行说明:
1、建立IM模块分支7.14-IM,在IM模块分支7.14-IM上创建了三个功能分支:功能分支7.14-IM-1,功能分支7.14-IM-2,功能分支7.14-IM-3。每个开发人员RD依据目标需求建立一个自己的功能分支,然后开发该功能分支对应的目标需求,依次减少合并代码的冲突问题。其中,功能分支7.14-IM-1,功能分支7.14-IM-2,功能分支7.14-IM-3即为第一实施例至及第四实施例中所记载的功能分支容器,IM模块分支即为第一实施例至及第四实施例中所记载的版本分支容器。
2、在各自功能分支对应的目标代码开发完成后,对目标需求的目标代码进行冒烟测试,如果测试通过,就提交代码到IM模块分支7.14-IM,并发送提测邮件给相应的测试人员QA;
3、QA收到邮件后直接去IM模块分支7.14-IM下载属于待测试的目标需求的安装包进行测试;
4、QA测试过程中,RD再次提测另一个目标需求,QA只需要在IM模块分支7.14-IM下载属于该另一个目标需求的安装包,即可同时进行两个目标需求的测试,QA发现bug后,RD只需要在IM模块分支7.14-IM进行修复,QA可以随时验证Bug是否修复成功,没有严重Bug即要求集成到版本分支release-7.14。其中,在该步骤4中的测试过程包括:单个目标需求的测试及各个目标需求之间的关联性系测试),而且,该版本分支release-7.14即为第一实施例至及第四实施例中所记载的集成分支容器。
5.所有IM版本需求集成后,进行版本分支release-7.14的整体测试;
6.集成分支走查跑大部分的用例,无严重bug,即可将版本分支release-7.14与版本分支release-7.15中的用例同步到主分支线master。其中,主分支线master用于对该版本软件的所有需求的用例进行汇总存储,在需要对下一版本进行开发时,开发人员从该主分支线master中拉取各需求的数据,基于该拉取的数据即可完成下一版本的开发工作。
至此,通过以上步骤可以提高整个IM项目开发测试的效率,并且降低了线上bug的风险。
图6为本发明第六实施例的结构示意图。具体的,根据图6所示,本发明第六实施例提供了一种软件的测试装置,所述软件具有一个版本分支容器,所述版本分支容器用于接收所有新增的目标需求对应的目标代码,所述装置包括:上传模块,用于将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器;确定模块,用于对所述版本分支容器中的所述目标代码进行测试以确定所述目标代码是否满足相应的目标需求;修复模块,用于在所述目标代码不满足相应的目标需求的情况下,在所述版本分支容器中修复所述目标代码,以得到满足相应的目标需求的目标代码。
可选的,所述上传模块包括:上传单元,用于依据多个所述目标需求在相应的多个功能分支容器中独立开发相应的目标代码,并将开发完成后的述多个目标需求的目标代码分别上传至所述版本分支容器。
可选的,所述确定模块包括:确认单元,用于当所述版本分支容器具有多个目标需求的所述目标代码时,确定每个所述目标代码是否能实现相应的目标需求的功能;合并确认单元,用于合并所述多个目标需求的所述目标代码,并依据合并后的所述目标代码确定所述多个目标需求之间的关联性是否存在错误;若每个目标代码均能实现相应的目标需求的功能,且合并后的所述目标代码对应的多个目标需求之间的关联性不存在错误时,则该版本分支容器中的所有目标代码均能满足相应的目标需求;否则,该版本分支容器中的目标代码不满足相应的目标需求。
可选的,所述装置还包括:集成模块,用于在所述得到满足相应的目标需求的目标代码后,将所述版本分支容器中的所述满足相应的目标需求的目标代码存入集成分支容器;所述集成分支容器存储有旧版本软件的所有需求的代码;检查模块,用于检查所述集成分支容器的所有目标需求的目标代码及所有旧版本软件的所有需求的代码之间的关联性是否存在错误。
本发明第七实施例提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的软件的测试方法。
由于在第一至第四实施例中已经对一种软件的测试方法进行了详细说明,所以在本实施例中不对该方法的实施过程进行重复阐述。
本发明第八实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的软件的测试方法。
由于在第一至第四实施例中已经对一种软件的测试方法进行了详细说明,所以在本实施例中不对该方法的实施过程进行重复阐述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行各个本发明实施例所述的方法。
上面结合附图对本发明实施例的实施例进行了描述,但是本发明实施例并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明实施例的启示下,在不脱离本发明实施例宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明实施例的保护之内。
Claims (10)
1.一种软件的测试方法,其特征在于,所述软件具有一个版本分支容器,所述版本分支容器用于接收所有新增的目标需求对应的目标代码,所述方法包括:
将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器;
对所述版本分支容器中的所述目标代码进行测试以确定所述目标代码是否满足相应的目标需求;
在所述目标代码不满足相应的目标需求的情况下,在所述版本分支容器中修复所述目标代码,以得到满足相应的目标需求的目标代码。
2.根据权利要求1所述的方法,其特征在于,所述将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器,包括:
依据多个所述目标需求在相应的多个功能分支容器中独立开发相应的目标代码,并将开发完成后的述多个目标需求的目标代码分别上传至所述版本分支容器。
3.根据权利要求1所述的方法,其特征在于,所述对所述版本分支容器中的所述目标代码进行测试以确定所述目标代码是否满足相应的目标需求,包括:
当所述版本分支容器具有多个目标需求的所述目标代码时,确定每个所述目标代码是否能实现相应的目标需求的功能;
合并所述多个目标需求的所述目标代码,并依据合并后的所述目标代码确定所述多个目标需求之间的关联性是否存在错误;
若每个目标代码均能实现相应的目标需求的功能,且合并后的所述目标代码对应的多个目标需求之间的关联性不存在错误时,则该版本分支容器中的所有目标代码均能满足相应的目标需求;
否则,该版本分支容器中的目标代码不满足相应的目标需求。
4.根据权利要求1所述的方法,其特征在于,将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器之前,所述方法还包括:
对所述目标需求进行冒烟测试。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述得到满足相应的目标需求的目标代码后,所述方法还包括:
将所述版本分支容器中的所述满足相应的目标需求的目标代码存入集成分支容器;所述集成分支容器存储有旧版本软件的所有需求的代码;
检查所述集成分支容器的所有目标需求的目标代码及所有旧版本软件的所有需求的代码之间的关联性是否存在错误。
6.一种软件的测试装置,其特征在于,所述软件具有一个版本分支容器,所述版本分支容器用于接收所有新增的目标需求对应的目标代码,所述装置包括:
上传模块,用于将依据所述目标需求在对应的功能分支容器中开发的目标代码上传至所述版本分支容器;
确定模块,用于对所述版本分支容器中的所述目标代码进行测试以确定所述目标代码是否满足相应的目标需求;
修复模块,用于在所述目标代码不满足相应的目标需求的情况下,在所述版本分支容器中修复所述目标代码,以得到满足相应的目标需求的目标代码。
7.根据权利要求6所述的装置,其特征在于,所述上传模块包括:
上传单元,用于依据多个所述目标需求在相应的多个功能分支容器中独立开发相应的目标代码,并将开发完成后的述多个目标需求的目标代码分别上传至所述版本分支容器。
8.根据权利要求6所述的装置,其特征在于,所述确定模块包括:
确认单元,用于当所述版本分支容器具有多个目标需求的所述目标代码时,确定每个所述目标代码是否能实现相应的目标需求的功能;
合并确认单元,用于合并所述多个目标需求的所述目标代码,并依据合并后的所述目标代码确定所述多个目标需求之间的关联性是否存在错误;若每个目标代码均能实现相应的目标需求的功能,且合并后的所述目标代码对应的多个目标需求之间的关联性不存在错误时,则该版本分支容器中的所有目标代码均能满足相应的目标需求;否则,该版本分支容器中的目标代码不满足相应的目标需求。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至5中任意一项所述的软件的测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1至5中任一项所述的软件的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711482554.XA CN108319551B (zh) | 2017-12-29 | 2017-12-29 | 一种软件的测试方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711482554.XA CN108319551B (zh) | 2017-12-29 | 2017-12-29 | 一种软件的测试方法、装置、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108319551A true CN108319551A (zh) | 2018-07-24 |
CN108319551B CN108319551B (zh) | 2021-12-17 |
Family
ID=62892832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711482554.XA Active CN108319551B (zh) | 2017-12-29 | 2017-12-29 | 一种软件的测试方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108319551B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035368A (zh) * | 2020-09-03 | 2020-12-04 | 携程旅游信息技术(上海)有限公司 | 自动化软件测试方法、装置、电子设备、存储介质 |
CN112817843A (zh) * | 2021-01-25 | 2021-05-18 | 上海哔哩哔哩科技有限公司 | 项目管理方法和*** |
CN113485913A (zh) * | 2021-06-10 | 2021-10-08 | 上海百胜软件股份有限公司 | 一种分支管理方法、***、设备和存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150106790A1 (en) * | 2013-10-15 | 2015-04-16 | International Business Machines Corporation | Detecting merge conflicts and compilation errors in a collaborative integrated development environment |
CN105302716A (zh) * | 2014-07-30 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 合流开发模式下的测试方法、装置 |
CN105404519A (zh) * | 2015-12-07 | 2016-03-16 | 青岛海信电器股份有限公司 | 一种版本控制方法、代码测试方法及*** |
CN105893035A (zh) * | 2016-03-30 | 2016-08-24 | 乐视控股(北京)有限公司 | 分布式代码管理方法及*** |
US20170046166A1 (en) * | 2014-06-27 | 2017-02-16 | International Business Machines Corporation | Branch synthetic generation across multiple microarchitecture generations |
CN106708740A (zh) * | 2017-01-10 | 2017-05-24 | 网易(杭州)网络有限公司 | 脚本测试方法及装置 |
CN107193677A (zh) * | 2017-04-18 | 2017-09-22 | 广州视源电子科技股份有限公司 | 代码缺陷的通知方法及*** |
CN107450933A (zh) * | 2017-08-18 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种软件持续集成方法和*** |
US20170372247A1 (en) * | 2016-06-24 | 2017-12-28 | Intuit Inc. | Methods, systems, and articles of manufacture for implementing software application development and releases |
-
2017
- 2017-12-29 CN CN201711482554.XA patent/CN108319551B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150106790A1 (en) * | 2013-10-15 | 2015-04-16 | International Business Machines Corporation | Detecting merge conflicts and compilation errors in a collaborative integrated development environment |
US20170046166A1 (en) * | 2014-06-27 | 2017-02-16 | International Business Machines Corporation | Branch synthetic generation across multiple microarchitecture generations |
CN105302716A (zh) * | 2014-07-30 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 合流开发模式下的测试方法、装置 |
CN105404519A (zh) * | 2015-12-07 | 2016-03-16 | 青岛海信电器股份有限公司 | 一种版本控制方法、代码测试方法及*** |
CN105893035A (zh) * | 2016-03-30 | 2016-08-24 | 乐视控股(北京)有限公司 | 分布式代码管理方法及*** |
US20170372247A1 (en) * | 2016-06-24 | 2017-12-28 | Intuit Inc. | Methods, systems, and articles of manufacture for implementing software application development and releases |
CN106708740A (zh) * | 2017-01-10 | 2017-05-24 | 网易(杭州)网络有限公司 | 脚本测试方法及装置 |
CN107193677A (zh) * | 2017-04-18 | 2017-09-22 | 广州视源电子科技股份有限公司 | 代码缺陷的通知方法及*** |
CN107450933A (zh) * | 2017-08-18 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种软件持续集成方法和*** |
Non-Patent Citations (2)
Title |
---|
FAN12345: "Git 分支管理规范", 《HTTPS://WWW.ITEYE.COM/BLOG/FAN12345-2301218》 * |
于彦兵: "云存储数据安全共享机制研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035368A (zh) * | 2020-09-03 | 2020-12-04 | 携程旅游信息技术(上海)有限公司 | 自动化软件测试方法、装置、电子设备、存储介质 |
CN112817843A (zh) * | 2021-01-25 | 2021-05-18 | 上海哔哩哔哩科技有限公司 | 项目管理方法和*** |
CN112817843B (zh) * | 2021-01-25 | 2024-05-17 | 上海哔哩哔哩科技有限公司 | 项目管理方法和*** |
CN113485913A (zh) * | 2021-06-10 | 2021-10-08 | 上海百胜软件股份有限公司 | 一种分支管理方法、***、设备和存储介质 |
CN113485913B (zh) * | 2021-06-10 | 2023-04-07 | 上海百胜软件股份有限公司 | 一种分支管理方法、***、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108319551B (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108319551A (zh) | 一种软件的测试方法、装置、计算机设备及可读存储介质 | |
CN104407971B (zh) | 自动化测试嵌入式软件的方法 | |
CN101295280B (zh) | 自动化软件调测方法及*** | |
CN105337674B (zh) | 一种空间测控通信***综合测试验证平台 | |
CN105302716B (zh) | 合流开发模式下的测试方法、装置 | |
CN111291504B (zh) | 一种全球卫星导航仿真试验***及建立方法 | |
CN104636254B (zh) | 生成测试用例的方法和装置、测试方法和设备 | |
CN102693183B (zh) | 一种实现软件自动化测试的方法及*** | |
CN107463362A (zh) | 基于多个Jenkins的持续部署的方法和*** | |
CN105205006B (zh) | 多平台通用测试方法、装置和*** | |
CN106095673A (zh) | 基于web接口的自动化测试方法及*** | |
CN104618502B (zh) | 一种用于卫星数据地面接收站网的联调测试平台 | |
CN109684215A (zh) | 一种自动化软件***质量检查和快速迭代方法 | |
CN105718371B (zh) | 一种回归测试方法、装置及*** | |
CN105955749A (zh) | 软件项目的持续集成方法和装置 | |
CN110704323B (zh) | 基于轨道交通线路数据的数据自动化测试方法及装置 | |
CN113111000B (zh) | 持续集成自动化测试***和方法、电子设备、存储介质 | |
CN103678116B (zh) | 用于促进自动化程序测试的方法和*** | |
CN107193730A (zh) | 一种自动化的接口测试方法 | |
CN107948942A (zh) | 一种短信业务自动化测试方法及装置 | |
CN107122293A (zh) | 软件性能测试方法、装置、服务器及*** | |
CN107562623A (zh) | 一种rest api自动化测试方法及*** | |
CN108111929A (zh) | 一种基于Python自动化测试的方法、***及测试终端 | |
KR101859129B1 (ko) | 도시 계획 정보화를 활용한 토지 적성 평가 주제도 검수 방법 | |
CN107451058A (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 |