一种用于软件系统开发的方法及系统与流程

文档序号:11176871阅读:398来源:国知局
一种用于软件系统开发的方法及系统与流程

本申请涉及系统开发领域,特别涉及一种用于软件系统开发的方法及系统。



背景技术:

在软件开发的过程中,一个完整的软件系统开发,需要经过需求分析、软件编码、系统软件集成、系统测试、系统发布等流程。随着系统软件模块的不断增加和软件系统开发规模的不断扩大,软件系统开发的版本也在频繁的更新和迭代。

传统的软件系统开发模式,是通过需求分析,软件编码,软件系统集成人员进行软件的集成,测试人员开始软件系统的测试,版本维护人员进行版本的发布。整个流程中都是通过人为操作完成整个软件系统版本的开发和测试流程,特别是在软件系统的软件模块集成和测试的过程中,所占用的人力和时间资源相当大。而过多的人为干预,难免会导致一些操作上的失误,难以保证开发的软件系统质量和测试的效率。

因此,如何在开发过程中保证开发的软件系统质量和提高测试的效率,是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种软件系统开发的方法及系统,该方法能够保证开发的软件系统质量和提高测试的效率。

为解决上述技术问题,本申请提供一种软件系统开发的方法,该方法包括:

持续集成平台接收到用户在源码仓库上提交的代码版本并将所述代码版本发送至构建服务器;

所述构建服务器根据所述代码版本构建软件版本并将所述软件版本发送至指定主机;所述构建服务器为根据所述代码版本构建的构建服务器;

所述指定主机安装所述软件版本得到对应的软件系统,并对所述软件系统进行测试;若所述软件系统执行所述测试对应的测试用例的成功率不小于第一阈值,则触发所述软件版本的发布任务;所述第一阈值为触发所述软件版本的发布任务所允许的所述成功率的最小值。

可选的,所述构建服务器根据所述代码版本构建软件版本并将所述软件版本发送至指定主机,包括:

所述构建服务器根据所述代码版本构建软件版本并将所述软件版本发送至tftp服务器;

所述tftp服务器保存所述软件版本并将所述软件版本发送至所述指定主机。

可选的,所述指定主机安装所述软件版本得到对应的软件系统,并对所述软件系统进行测试,包括:

所述指定主机安装所述软件版本得到对应的软件系统;

dhcp服务器为所述指定主机分配ip地址;

测试服务器获取所述dhcp服务器为所述指定主机分配的所述ip地址和所述tftp服务器保存的所述软件版本;

所述测试服务器根据所述ip地址和所述软件版本对所述指定主机进行测试环境的配置;

所述指定主机根据所述测试环境对所述软件系统进行测试。

可选的,触发所述软件版本的发布任务,包括:

所述指定主机发送测试通过信息至所述tftp服务器;

所述tftp服务器将所述软件版本发送至ftp服务器;

所述ftp服务器保存所述软件版本,以便客服人员通过所述ftp服务器获取所述软件版本安装所述软件系统。

可选的,在对所述软件系统进行测试之后,还包括:

所述指定主机将所述软件系统执行所述测试对应的测试用例的成功率通过邮箱服务器发送给研发测试人员。

本申请还提供一种用于软件系统开发的系统,该系统包括源码仓库、持续集成平台、构建服务器、指定主机:

所述源码仓库,用于接收所述用户提交的所述代码版本并将所述代码版本发送至所述持续集成平台;

所述持续集成平台,用于将所述代码版本发送至所述构建服务器;

所述构建服务器,用于根据所述代码版本构建所述软件版本并将所述软件版本发送至所述指定主机;所述构建服务器为根据所述代码版本构建的构建服务器;

所述指定主机,用于安装所述软件版本得到对应的软件系统,并对所述软件系统进行测试;若所述软件系统执行所述测试用例的成功率不小于所述第一阈值,则触发所述软件版本的发布任务;所述第一阈值为触发所述软件版本的发布任务所允许的所述成功率的最小值。

可选的,所述系统还包括:

tftp服务器,用于接收到所述构建服务器根据所述代码版本构建并发送的所述软件版本;保存所述软件版本并将所述软件版本发送至所述指定主机。

可选的,所述系统还包括:

dhcp服务器,用于为所述指定主机分配ip地址;

测试服务器,用于获取所述dhcp服务器为所述指定主机分配的ip地址和所述tftp服务器保存的所述软件版本;根据所述ip地址和所述软件版本对所述指定主机进行测试环境的配置,以便所述指定主机根据所述测试环境对所述软件系统进行测试。

可选的,所述系统还包括:

ftp服务器,用于当所述指定主机发送测试通过信息至所述tftp服务器时,接收到所述tftp服务器发送的所述软件版本;保存所述软件版本,以便客服人员根据所述软件版本安装所述软件系统。

可选的,所述系统还包括:

邮箱服务器,用于将所述软件系统执行所述测试对应的所述测试用例的成功率从所述指定主机发送给所述研发测试人员。

本申请所提供的用于软件系统开发的方法,通过持续集成平台接收到用户在源码仓库上提交的代码版本并将该代码版本发送至构建服务器,构建服务器根据该代码版本构建软件版本并将该软件版本发送至指定主机,指定主机安装软件版本得到对应的软件系统,并对软件系统进行测试,若软件系统执行所述测试对应的测试用例的成功率不小于第一阈值,则触发该软件版本的发布任务。

显然,本申请所提供的方法中,整个软件系统构建和软件系统测试的过程均是自动实现的,极大的减少了人为的干预,节省了人力资源,保证了开发的软件系统质量并提高了测试的效率。本申请同时还提供了一种用于软件系统开发的系统,具有上述有益效果。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例所提供的一种用于软件系统开发的方法的流程图;

图2为本申请实施例所提供的另一种用于软件系统开发的方法的流程图;

图3为本申请实施例所提供的一种用于软件系统开发的系统的结构图;

图4为本申请实施例所提供的另一种用于软件系统开发的系统的结构图;

图5为一种git仓库的分支管理;

图6为一种jenkins平台管理自动构建和测试服务器;

图7为一种jenkins平台任务参数的配置。

具体实施方式

本申请的核心是提供一种用于软件系统开发的方法及系统,该方法中整个构建和测试过程基本是通过自动化实现,极大的减少了人为的干预,节省了人力资源,保证了开发的软件系统质量并提高了测试的效率。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例所提供的一种用于软件系统开发的方法的流程图。

其具体包括以下步骤:

s101:持续集成平台接收到用户在源码仓库上提交的代码版本并将该代码版本发送至构建服务器;

当用户计划开发或更新软件系统的时候,仅需在源码仓库上提交代码版本即可,持续集成平台接收到源码仓库发送的代码版本,触发软件版本的构建任务,将该代码版本发送到构建服务器;

这里提到的源码仓库为预先构建的,将开发的代码在源码仓库中进行维护,为便于整个开发流程中代码分支的适用性和可维护性,单独维护每个项目的开发分支的代码;

可选的,本申请中的源码仓库为git源码仓库,持续集成平台为jenkins平台,当然,也可使用其他的源码仓库和持续集成平台,本申请并不对此做具体限定。

s102:构建服务器根据该代码版本构建软件版本并将该软件版本发送至指定主机;

构建服务器根据接收到的代码版本进行软件版本的构建,当软件版本构建完成后,将该软件版本发送至指定主机;

这里提到的构建服务器为针对不同的项目软件版本构建的不同的构建服务器,不同的项目使用的软件版本和构建服务器的环境可能不一致,有时需要根据项目开发的需要,进行多台软件版本构建环境的部署;

可选的,为保证整个构建流程的完整性,用户可根据项目的软件版本开发持续构建脚本,以便构建服务器持续构建软件版本;

可选的,这里及下文提到的指定主机可以为多台主机。

s103:指定主机安装该软件版本得到对应的软件系统,并对软件系统进行测试;

可选的,为保证研发测试人员实时了解软件版本的测试结果,可配置邮箱服务器将指定主机将软件系统执行测试对应的测试用例的成功率发送给研发测试人员,当然,本申请并不对此做具体限定。

s104:判断软件系统执行测试用例的成功率是否小于第一阈值;

若不小于,则进入步骤s104;

这里提到的第一阈值为触发所述软件版本的发布任务所允许的所述成功率的最小值。

s105:触发该软件版本的发布任务。

这里提到的触发该软件版本的发布任务具体可为:指定主机发送测试通过信息至ftp服务器,ftp服务器获取并保存该软件版本,以便客服人员通过该ftp服务器获取该软件版本安装软件系统。

基于上述技术方案,本申请实施例提供的用于软件系统开发的方法中,整个软件系统构建和软件系统测试的过程均是自动实现的,极大的减少了人为的干预,节省了人力资源,保证了开发的软件系统质量并提高了测试的效率。

下面请参见图2,图2为本申请实施例所提供的另一种用于软件系统开发的方法的流程图,其具体包括以下步骤:

s201:构建服务器根据代码版本构建软件版本并将该软件版本发送至tftp服务器;

s202:tftp服务器保存该软件版本并将该软件版本发送至指定主机;

s203:指定主机安装该软件版本得到对应的软件系统;

s204:dhcp服务器为该指定主机分配ip地址;

s205:测试服务器获取dhcp服务器为该指定主机分配的ip地址和tftp服务器保存的该软件版本;

可选的,用户可开发自动化测试脚本,以便测试服务器执行自动化测试脚本自动根据测试用例完成测试环境的配置。

s206:测试服务器根据该ip地址和该软件版本对该指定主机进行测试环境的配置;

可选的,当指定主机为多台时,为实现测试环境的自动部署,可通过测试服务器对指定主机进行配置pxe+dhcp+apache+ks的批量灌装。

s207:指定主机根据该测试环境对该软件系统进行测试。

下面请参见图3,图3为本申请实施例所提供的一种用于软件系统开发的系统的结构图。

该系统可以包括:

源码仓库100,用于接收用户提交的代码版本并将该代码版本发送至持续集成平台;

持续集成平台200,用于将代码版本发送至构建服务器;

构建服务器300,用于根据该代码版本构建软件版本并将该软件版本发送至指定主机;

指定主机400,用于安装该软件版本得到对应的软件系统,并对该软件系统进行测试;若软件系统执行测试对应的测试用例的成功率不小于第一阈值,则触发软件版本的发布任务。

请参见图4,图4为本申请实施例所提供的另一种用于软件系统开发的系统的结构图,进一步的,还包括:

tftp服务器,用于接收到构建服务器根据代码版本构建并发送的软件版本;保存该软件版本并将该软件版本发送至指定主机;当接收到指定主机发送的测试通过信息时,将该软件版本发送至ftp服务器;

dhcp服务器,用于为指定主机分配ip地址;

测试服务器,用于获取dhcp服务器为指定主机分配的ip地址和tftp服务器保存的软件版本;根据该ip地址和该软件版本对指定主机进行测试环境的配置,以便指定主机根据测试环境对软件系统进行测试;

ftp服务器,用于当接收到tftp服务器发送的软件版本时,保存该软件版本,以便客服人员通过ftp服务器根据软件版本安装软件系统;

邮箱服务器,用于将软件系统执行的测试对应的测试用例的成功率从指定主机发送给研发测试人员。

以上系统中的各个组成部分可应用于以下的一个实际流程中:

持续集成平台接收到用户在源码仓库上提交的代码版本并将该代码版本发送至构建服务器;

构建服务器根据代码版本构建软件版本并将该软件版本发送至tftp服务器;

tftp服务器保存软件版本并将软件版本发送至指定主机;

指定主机安装软件版本得到对应的软件系统;

dhcp服务器为指定主机分配ip地址;

测试服务器获取dhcp服务器为指定主机分配的ip地址和tftp服务器保存的软件版本,并根据该ip地址和该软件版本对指定主机进行测试环境的配置;

指定主机根据测试环境对软件系统进行测试,测试完成后将软件系统执行测试对应的测试用例的成功率通过邮箱服务器发送给研发测试人员,若软件系统执行测试对应的测试用例的成功率不小于第一阈值,则发送测试通过信息至tftp服务器;

tftp服务器接收到测试通过信息后,将软件版本发送至ftp服务器,ftp服务器保存软件版本,以便客服人员通过ftp服务器获取软件版本安装软件系统。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

以上对本申请所提供的用于软件系统开发的方法及系统进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1