本发明涉及开发技术领域,尤其涉及一种开发任务执行方法、装置、电子设备及存储介质。
背景技术:
现有技术方案中,在一项开发任务的执行过程中,项目管理者需要根据开发任务的实际情况,首先基于当前人力,合理安排开发人员进行代码的编写,在代码编写完成后,项目管理者还要继续安排测试人员对编写的代码进行测试,整个过程全部由项目管理者进行人为分配。
基于上述情况,由于人为干预的过程较多,因此,一旦项目管理者离职或者休假,开发任务将无法顺利进行下去。
技术实现要素:
鉴于以上内容,有必要提供一种开发任务执行方法、装置、电子设备及存储介质,能够实现开发过程优化,不仅节约了人力成本,还能够提高执行效率。
一种开发任务执行方法,所述方法包括:
当接收到接口文档时,获取与所述接口文档对应的开发任务;
识别所述开发任务中的至少一个子任务;
获取所述至少一个子任务中,每个子任务的任务标识;
根据每个任务标识,从配置代码库中调取每个子任务的代码;
执行调取的每段代码,得到所述开发任务的执行结果;
解析所述接口文档,生成测试脚本;
以所述测试脚本验证所述执行结果。
根据本发明优选实施例,在根据每个任务标识,从配置代码库中调取每个子任务的代码前,所述方法还包括:
每隔预设时间间隔,获取所述预设时间间隔内的历史任务数据;
从所述历史任务数据中确定所有子任务,及与所述所有子任务对应的所有代码;
为所述所有子任务配置任务标识;
确定所述任务标识与所述所有代码的对应关系;
根据所述对应关系,配置所述配置代码库。
根据本发明优选实施例,所述方法还包括:
当从所述配置代码库中不能调取到所述至少一个子任务中第一子任务对应的代码时,提示指定人员编写所述第一子任务的第一代码;
为所述第一子任务配置任务标识;
根据所述任务标识,将所述第一子任务及所述第一代码更新至所述配置代码库。
根据本发明优选实施例,所述执行调取的每段代码,得到所述开发任务的执行结果包括:
编译每段代码,得到每段代码对应的每个可执行文件;
根据所述开发任务,部署运行环境;
在所述运行环境下执行每个可执行文件,得到所述执行结果。
根据本发明优选实施例,所述解析所述接口文档,生成测试脚本包括:
从所述接口文档中获取输入项及输出项;
根据所述输入项及所述输出项,生成所述测试脚本。
根据本发明优选实施例,所述以测试脚本验证执行结果包括:
将所述执行结果与所述输出项进行比较;
当所述执行结果与所述输出项一致时,确定所述执行结果通过验证;
当所述执行结果与所述输出项不一致时,确定所述执行结果未通过验证。
根据本发明优选实施例,当确定所述执行结果未通过验证时,所述方法还包括:
获取所述开发任务的执行日志;
从所述执行日志中定位异常代码;
从所述配置代码库中获取所述异常代码的开发者;
向所述开发者发送提示信息。
一种开发任务执行装置,所述装置包括:
获取单元,用于当接收到接口文档时,获取与所述接口文档对应的开发任务;
识别单元,用于识别所述开发任务中的至少一个子任务;
所述获取单元,还用于获取所述至少一个子任务中,每个子任务的任务标识;
调取单元,用于根据每个任务标识,从配置代码库中调取每个子任务的代码;
执行单元,用于执行调取的每段代码,得到所述开发任务的执行结果;
生成单元,用于解析所述接口文档,生成测试脚本;
验证单元,用于以所述测试脚本验证所述执行结果。
根据本发明优选实施例,所述获取单元,还用于在根据每个任务标识,从配置代码库中调取每个子任务的代码前,每隔预设时间间隔,获取所述预设时间间隔内的历史任务数据;
所述装置还包括:
确定单元,用于从所述历史任务数据中确定所有子任务,及与所述所有子任务对应的所有代码;
配置单元,用于为所述所有子任务配置任务标识;
所述确定单元,还用于确定所述任务标识与所述所有代码的对应关系;
所述配置单元,还用于根据所述对应关系,配置所述配置代码库。
根据本发明优选实施例,所述装置还包括:
提示单元,用于当从所述配置代码库中不能调取到所述至少一个子任务中第一子任务对应的代码时,提示指定人员编写所述第一子任务的第一代码;
所述配置单元,还用于为所述第一子任务配置任务标识;
更新单元,用于根据所述任务标识,将所述第一子任务及所述第一代码更新至所述配置代码库。
根据本发明优选实施例,所述执行单元执行调取的每段代码,得到所述开发任务的执行结果包括:
编译每段代码,得到每段代码对应的每个可执行文件;
根据所述开发任务,部署运行环境;
在所述运行环境下执行每个可执行文件,得到所述执行结果。
根据本发明优选实施例,所述生成单元具体用于:
从所述接口文档中获取输入项及输出项;
根据所述输入项及所述输出项,生成所述测试脚本。
根据本发明优选实施例,所述验证单元具体用于:
将所述执行结果与所述输出项进行比较;
当所述执行结果与所述输出项一致时,确定所述执行结果通过验证;
当所述执行结果与所述输出项不一致时,确定所述执行结果未通过验证。
根据本发明优选实施例,所述获取单元,还用于当确定所述执行结果未通过验证时,获取所述开发任务的执行日志;
所述装置还包括:
定位单元,用于从所述执行日志中定位异常代码;
所述获取单元,还用于从所述配置代码库中获取所述异常代码的开发者;
发送单元,用于向所述开发者发送提示信息。
一种电子设备,所述电子设备包括:
存储器,存储至少一个指令;及
处理器,执行所述存储器中存储的指令以实现所述开发任务执行方法。
一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现所述开发任务执行方法。
由以上技术方案可以看出,本发明能够获取与所述接口文档对应的开发任务中每个子任务的任务标识,并根据每个任务标识,从配置代码库中调取每个子任务的代码,进一步执行调取的每段代码,得到所述开发任务的执行结果,自动获取到代码并执行,能够避免人为编写代码浪费的时间及精力,且可以有效避免编写错误,再根据接收到的接口文档生成测试脚本,以所述测试脚本验证所述执行结果,从而对每段代码进行自动验证,并进一步实现开发任务的自动执行,不仅节约了人力成本,还能够提高执行效率。
附图说明
图1是本发明开发任务执行方法的较佳实施例的流程图。
图2是本发明开发任务执行装置的较佳实施例的功能模块图。
图3是本发明实现开发任务执行方法的较佳实施例的电子设备的结构示意图。
主要元件符号说明
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
如图1所示,是本发明开发任务执行方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
所述开发任务执行方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。
所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备等。
所述电子设备还可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络服务器、多个网络服务器组成的服务器组或基于云计算(cloudcomputing)的由大量主机或网络服务器构成的云。
所述电子设备所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。
s10,当接收到接口文档时,获取与所述接口文档对应的开发任务。
现有技术方案中,在一项开发任务的执行过程中,项目管理者需要根据开发任务的实际情况,首先基于当前人力,合理安排开发人员进行代码的编写,在代码编写完成后,项目管理者还要继续安排测试人员对编写的代码进行测试,整个过程全部由项目管理者进行人为分配。
基于上述情况,由于人为干预的过程较多,因此,一旦项目管理者离职或者休假,开发任务将无法顺利进行下去。
在本发明的至少一个实施例中,所述接口文档是项目开发中,由前后端工程师共同定义的,通过编写及维护所述接口文档,使前后端工程师有一个统一的文件进行沟通,方便后期人员查看及维护。
在本发明的至少一个实施例中,所述开发任务是指根据开发需求确定的任务,所述开发需求可以包括新增需求及已有需求。
s11,识别所述开发任务中的至少一个子任务。
在本发明的至少一个实施例中,由于一个开发任务对应着至少一种开发需求,因此,通过拆分一个开发任务,能够得到至少一个子任务。
进一步地,所述电子设备识别所述开发任务,即可得到至少一个子任务。
例如:所述电子设备可以根据所述至少一个子任务的名称或者标识进行识别,本发明不限制。
s12,获取所述至少一个子任务中,每个子任务的任务标识。
在本发明的至少一个实施例中,所述任务标识可以包括,但不限于以下一种或者多种的组合:
任务名称、任务标识码(identity,id)、任务编码等。
通过所述任务标识,所述电子设备能够唯一确定一个子任务,以便对每个子任务进行区分。
s13,根据每个任务标识,从配置代码库中调取每个子任务的代码。
在本发明的至少一个实施例中,所述配置代码库中记录着子任务与代码,并且子任务与代码存在一一对应的关系。
在本发明的至少一个实施例中,在根据每个任务标识,从配置代码库中调取每个子任务的代码前,所述电子设备配置所述配置代码库。
具体地,在根据每个任务标识,所述电子设备从配置代码库中调取每个子任务的代码前,所述方法还包括:
每隔预设时间间隔,所述电子设备获取所述预设时间间隔内的历史任务数据,并从所述历史任务数据中确定所有子任务,及与所述所有子任务对应的所有代码,进一步地,所述电子设备为所述所有子任务配置任务标识,并确定所述任务标识与所述所有代码的对应关系,更进一步地,所述电子设备根据所述对应关系,配置所述配置代码库。
具体地,所述预设时间间隔可以根据实际情况进行配置,例如:所述预设时间间隔可以包括24小时等。
进一步地,所述历史任务数据包括所述预设时间间隔内的所有数据。
具体地,所述历史任务数据包括,但不限于以下一种或者多种的组合:
所述所有子任务的名称、所述所有子任务对应的所有代码、所述所有子任务的属性数据(如:所述所有子任务的简单描述等)。
当然,在其他实施例中,在将所述所有代码配置入所述配置代码库前,所述电子设备还可以调用质量检测插件对所述所有代码的形式错误及安全元素进行检测,本发明不限制。
通过上述实施方式,所述电子设备能够持续集成代码数据,以配置所述配置代码库,同时对所述配置代码库中记录的数据进行定期更新,以保证所述配置代码库中数据的高可用性,避免由于代码的陈旧影响开发任务的正常执行。
进一步地,所述方法还包括:
当从所述配置代码库中不能调取到所述至少一个子任务中第一子任务对应的代码时,所述电子设备提示指定人员编写所述第一子任务的第一代码,进一步地,所述电子设备为所述第一子任务配置任务标识,根据所述任务标识,所述电子设备将所述第一子任务及所述第一代码更新至所述配置代码库。
具体地,所述指定人员包括开发人员等,所述指定人员具备编写代码的能力。
可以理解的是,由于在所述配置代码库中没有记录所述第一子任务对应的代码,因此,所述电子设备提示所述指定人员根据所述第一子任务开发代码,以免耽误所述开发任务的进度,由于响应及时,能够有效提高所述开发任务的时效性。
通过上述实施方式,所述电子设备还能将所述配置代码库中没有记录的任务及时更新入所述配置代码库,以使所述配置代码库中的数据更加完善、具体,方便后续任务从所述配置代码库中直接调用,不仅节约了开发人员的开发时间,还能有效避免由于人为编写代码出现的错误。
s14,执行调取的每段代码,得到所述开发任务的执行结果。
在本发明的至少一个实施例中,所述电子设备在调取到每段代码后,一一执行每段代码,并在每段代码执行完毕后,最终得到所述开发任务的执行结果。
具体地,所述电子设备执行调取的每段代码,得到所述开发任务的执行结果包括:
所述电子设备编译每段代码,得到每段代码对应的每个可执行文件,进一步地,所述电子设备根据所述开发任务,部署运行环境,并在所述运行环境下执行每个可执行文件,得到所述执行结果。
例如:所述电子设备在调取到每段代码后,首先打包每段代码,从而将每段代码编译为可执行文件,并在得到每段代码对应的每个可执行文件后,进一步部署运行环境,以使每段代码顺利执行。
具体地,所述可执行文件包括,但不限于以下一种或者多种形式的组合:
“.bat”文件、“.jar”文件等。
可以理解的是,在计划实施所述开发任务前,所述开发任务的运行环境已经确定好。
具体地,所述运行环境包括,但不限于以下一种或者多种的组合:
测试环境、生产环境、开发环境等。
进一步地,所述电子设备可以将所述运行环境部署在相应服务器上,且一个服务器可以部署多个运行环境,本发明不限制。
通过上述实施方式,所述电子设备能够自动执行调取的每段代码,并得到所述执行结果,以供后续测试。
s15,解析所述接口文档,生成测试脚本。
在本发明的至少一个实施例中,所述接口文档中包括约定的开发数据,具体包括输入项、输出项等。
其中,所述输出项可以作为所述执行结果的比较基准。
在本发明的至少一个实施例中,所述电子设备解析所述接口文档,生成测试脚本包括:
所述电子设备从所述接口文档中获取输入项及输出项,并根据所述输入项及所述输出项,生成所述测试脚本。
通过上述实施方式,所述电子设备能够自动生成所述测试脚本,以供后续的测试任务使用,避免人为参与。
并且,由于所述测试脚本是在得到所述执行结果后立即生成,节约了人为编写测试脚本所花费的时间及经历,且无需测试人员与开发人员进行沟通,减少了沟通成本,也可以有效避免由于测试人员理解有误造成的错误。
s16,以所述测试脚本验证所述执行结果。
在本发明的至少一个实施例中,所述电子设备在生成所述测试脚本后,直接以所述测试脚本验证所述执行结果,提高了响应效率。
通过验证,所述电子设备不仅能够测试出接口是否有误,还能够根据所述输出项测试出每段代码是否有误。
具体地,所述电子设备以所述测试脚本验证所述执行结果包括:
所述电子设备将所述执行结果与所述输出项进行比较,当所述执行结果与所述输出项一致时,所述电子设备确定所述执行结果通过验证;
当所述执行结果与所述输出项不一致时,所述电子设备确定所述执行结果未通过验证。
可以理解的是,当所述执行结果与所述输出项一致时,首先说明所述接口是可用的,这样,所述电子设备才能根据所述接口顺利执行每段代码,以验证接口调用的正确性。其次,由于所述执行结果与所述输出项一致,说明得到的所述执行结果是正确的,也就是说,每段代码的执行是正确的。
通过上述实施方式,所述电子设备即可完成对每段代码的自动校验,用户体验更佳。
优选地,当所述电子设备确定所述执行结果未通过验证时,所述方法还包括:
所述电子设备获取所述开发任务的执行日志,并从所述执行日志中定位异常代码,进一步地,所述电子设备从所述配置代码库中获取所述异常代码的开发者,并向所述开发者发出提示信息。
具体地,所述提示信息包括,但不限于以下一种或者多种的组合:
提示代码有误的配置文本信息、所述异常代码的地址、所述执行日志中异常代码的截图等。
通过上述实施方式,当代码有误时,所述电子设备可以及时提醒对应开发者进行改进,以提高响应速度。
当然,在其他实施例中,所述电子设备还可以保存所述执行日志,并将异常的相关信息发送给相关负责人,以使所述相关负责人能够及时跟进所述开发任务的进度,并了解每个开发者的执行力。
由以上技术方案可以看出,本发明能够获取与所述接口文档对应的开发任务中每个子任务的任务标识,并根据每个任务标识,从配置代码库中调取每个子任务的代码,进一步执行调取的每段代码,得到所述开发任务的执行结果,自动获取到代码并执行,能够避免人为编写代码浪费的时间及精力,且可以有效避免编写错误,再根据接收到的接口文档生成测试脚本,以所述测试脚本验证所述执行结果,从而对每段代码进行自动验证,并进一步实现开发任务的自动执行,不仅节约了人力成本,还能够提高执行效率。
如图2所示,是本发明开发任务执行装置的较佳实施例的功能模块图。所述开发任务执行装置11包括获取单元110、识别单元111、调取单元112、执行单元113、生成单元114、验证单元115、确定单元116、配置单元117、提示单元118、更新单元119、定位单元120、发送单元121以及检测单元122。本发明所称的模块/单元是指一种能够被处理器13所执行,并且能够完成固定功能的一系列计算机程序段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。
当接收到接口文档时,获取单元110获取与所述接口文档对应的开发任务。
现有技术方案中,在一项开发任务的执行过程中,项目管理者需要根据开发任务的实际情况,首先基于当前人力,合理安排开发人员进行代码的编写,在代码编写完成后,项目管理者还要继续安排测试人员对编写的代码进行测试,整个过程全部由项目管理者进行人为分配。
基于上述情况,由于人为干预的过程较多,因此,一旦项目管理者离职或者休假,开发任务将无法顺利进行下去。
在本发明的至少一个实施例中,所述接口文档是项目开发中,由前后端工程师共同定义的,通过编写及维护所述接口文档,使前后端工程师有一个统一的文件进行沟通,方便后期人员查看及维护。
在本发明的至少一个实施例中,所述开发任务是指根据开发需求确定的任务,所述开发需求可以包括新增需求及已有需求。
识别单元111识别所述开发任务中的至少一个子任务。
在本发明的至少一个实施例中,由于一个开发任务对应着至少一种开发需求,因此,通过拆分一个开发任务,能够得到至少一个子任务。
进一步地,所述识别单元111识别所述开发任务,即可得到至少一个子任务。
例如:所述识别单元111可以根据所述至少一个子任务的名称或者标识进行识别,本发明不限制。
所述获取单元110获取所述至少一个子任务中,每个子任务的任务标识。
在本发明的至少一个实施例中,所述任务标识可以包括,但不限于以下一种或者多种的组合:
任务名称、任务标识码(identity,id)、任务编码等。
通过所述任务标识,确定单元116能够唯一确定一个子任务,以便对每个子任务进行区分。
根据每个任务标识,调取单元112从配置代码库中调取每个子任务的代码。
在本发明的至少一个实施例中,所述配置代码库中记录着子任务与代码,并且子任务与代码存在一一对应的关系。
在本发明的至少一个实施例中,在根据每个任务标识,调取单元112从配置代码库中调取每个子任务的代码前,配置单元117配置所述配置代码库。
具体地,在根据每个任务标识,所述调取单元112从配置代码库中调取每个子任务的代码前,所述方法还包括:
每隔预设时间间隔,所述获取单元110获取所述预设时间间隔内的历史任务数据,进一步地,所述确定单元116从所述历史任务数据中确定所有子任务,及与所述所有子任务对应的所有代码,所述配置单元117为所述所有子任务配置任务标识,所述确定单元116确定所述任务标识与所述所有代码的对应关系,进一步地,所述配置单元117根据所述对应关系,配置所述配置代码库。
具体地,所述预设时间间隔可以根据实际情况进行配置,例如:所述预设时间间隔可以包括24小时等。
进一步地,所述历史任务数据包括所述预设时间间隔内的所有数据。
具体地,所述历史任务数据包括,但不限于以下一种或者多种的组合:
所述所有子任务的名称、所述所有子任务对应的所有代码、所述所有子任务的属性数据(如:所述所有子任务的简单描述等)。
当然,在其他实施例中,在将所述所有代码配置入所述配置代码库前,检测单元122可以调用质量检测插件对所述所有代码的形式错误及安全元素进行检测,本发明不限制。
通过上述实施方式,所述配置单元117能够持续集成代码数据,以配置所述配置代码库,同时,更新单元119对所述配置代码库中记录的数据进行定期更新,以保证所述配置代码库中数据的高可用性,避免由于代码的陈旧影响开发任务的正常执行。
进一步地,所述方法还包括:
当所述调取单元112从所述配置代码库中不能调取到所述至少一个子任务中第一子任务对应的代码时,提示单元118提示指定人员编写所述第一子任务的第一代码,进一步地,所述配置单元117为所述第一子任务配置任务标识,更进一步地,所述更新单元119根据所述任务标识,将所述第一子任务及所述第一代码更新至所述配置代码库。
具体地,所述指定人员包括开发人员等,所述指定人员具备编写代码的能力。
可以理解的是,由于在所述配置代码库中没有记录所述第一子任务对应的代码,因此,所述提示单元118提示所述指定人员根据所述第一子任务开发代码,以免耽误所述开发任务的进度,由于响应及时,能够有效提高所述开发任务的时效性。
通过上述实施方式,所述更新单元119还能将所述配置代码库中没有记录的任务及时更新入所述配置代码库,以使所述配置代码库中的数据更加完善、具体,方便后续任务从所述配置代码库中直接调用,不仅节约了开发人员的开发时间,还能有效避免由于人为编写代码出现的错误。
执行单元113执行调取的每段代码,得到所述开发任务的执行结果。
在本发明的至少一个实施例中,所述执行单元113在调取到每段代码后,一一执行每段代码,并在每段代码执行完毕后,最终得到所述开发任务的执行结果。
具体地,所述执行单元113执行调取的每段代码,得到所述开发任务的执行结果包括:
所述执行单元113编译每段代码,得到每段代码对应的每个可执行文件,进一步地,所述执行单元113根据所述开发任务,部署运行环境,更进一步地,所述执行单元113在所述运行环境下执行每个可执行文件,得到所述执行结果。
例如:所述执行单元113在调取到每段代码后,首先打包每段代码,从而将每段代码编译为可执行文件,并在得到每段代码对应的每个可执行文件后,进一步部署运行环境,以使每段代码顺利执行。
具体地,所述可执行文件包括,但不限于以下一种或者多种形式的组合:
“.bat”文件、“.jar”文件等。
可以理解的是,在计划实施所述开发任务前,所述开发任务的运行环境已经确定好。
具体地,所述运行环境包括,但不限于以下一种或者多种的组合:
测试环境、生产环境、开发环境等。
进一步地,所述执行单元113可以将所述运行环境部署在相应服务器上,且一个服务器可以部署多个运行环境,本发明不限制。
通过上述实施方式,所述执行单元113能够自动执行调取的每段代码,并得到所述执行结果,以供后续测试。
生成单元114解析所述接口文档,生成测试脚本。
在本发明的至少一个实施例中,所述接口文档中包括约定的开发数据,具体包括输入项、输出项等。
其中,所述输出项可以作为所述执行结果的比较基准。
在本发明的至少一个实施例中,所述生成单元114解析所述接口文档,生成测试脚本包括:
所述生成单元114从所述接口文档中获取输入项及输出项,并根据所述输入项及所述输出项,生成所述测试脚本。
通过上述实施方式,所述生成单元114能够自动生成所述测试脚本,以供后续的测试任务使用,避免人为参与。
并且,由于所述测试脚本是在得到所述执行结果后立即生成,节约了人为编写测试脚本所花费的时间及经历,且无需测试人员与开发人员进行沟通,减少了沟通成本,也可以有效避免由于测试人员理解有误造成的错误。
验证单元115以所述测试脚本验证所述执行结果。
在本发明的至少一个实施例中,在生成所述测试脚本后,所述验证单元115直接以所述测试脚本验证所述执行结果,提高了响应效率。
通过验证,所述验证单元115不仅能够测试出接口是否有误,还能够根据所述输出项测试出每段代码是否有误。
具体地,所述验证单元115以所述测试脚本验证所述执行结果包括:
所述验证单元115将所述执行结果与所述输出项进行比较,当所述执行结果与所述输出项一致时,所述验证单元115确定所述执行结果通过验证;
当所述执行结果与所述输出项不一致时,所述验证单元115确定所述执行结果未通过验证。
可以理解的是,当所述执行结果与所述输出项一致时,首先说明所述接口是可用的,这样,才能根据所述接口顺利执行每段代码,以验证接口调用的正确性。其次,由于所述执行结果与所述输出项一致,说明得到的所述执行结果是正确的,也就是说,每段代码的执行是正确的。
通过上述实施方式,所述验证单元115即可完成对每段代码的自动校验,用户体验更佳。
优选地,当所述验证单元115确定所述执行结果未通过验证时,所述方法还包括:
所述获取单元110获取所述开发任务的执行日志,定位单元120从所述执行日志中定位异常代码,进一步地,所述获取单元110从所述配置代码库中获取所述异常代码的开发者,更进一步地,发送单元121向所述开发者发送提示信息。
具体地,所述提示信息包括,但不限于以下一种或者多种的组合:
提示代码有误的配置文本信息、所述异常代码的地址、所述执行日志中异常代码的截图等。
通过上述实施方式,当代码有误时,可以及时提醒对应开发者进行改进,以提高响应速度。
当然,在其他实施例中,所述发送单元121还可以保存所述执行日志,并将异常的相关信息发送给相关负责人,以使所述相关负责人能够及时跟进所述开发任务的进度,并了解每个开发者的执行力。
由以上技术方案可以看出,本发明能够获取与所述接口文档对应的开发任务中每个子任务的任务标识,并根据每个任务标识,从配置代码库中调取每个子任务的代码,进一步执行调取的每段代码,得到所述开发任务的执行结果,自动获取到代码并执行,能够避免人为编写代码浪费的时间及精力,且可以有效避免编写错误,再根据接收到的接口文档生成测试脚本,以所述测试脚本验证所述执行结果,从而对每段代码进行自动验证,并进一步实现开发任务的自动执行,不仅节约了人力成本,还能够提高执行效率。
如图3所示,是本发明实现开发任务执行方法的较佳实施例的电子设备的结构示意图。
所述电子设备1是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程门阵列(field-programmablegatearray,fpga)、数字处理器(digitalsignalprocessor,dsp)、嵌入式设备等。
所述电子设备1还可以是但不限于任何一种可与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(personaldigitalassistant,pda)、游戏机、交互式网络电视(internetprotocoltelevision,iptv)、智能式穿戴式设备等。
所述电子设备1还可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。
所述电子设备1所处的网络包括但不限于互联网、广域网、城域网、局域网、虚拟专用网络(virtualprivatenetwork,vpn)等。
在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机程序,例如开发任务执行程序。
本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。
所述处理器13可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。
所述处理器13执行所述电子设备1的操作系统以及安装的各类应用程序。所述处理器13执行所述应用程序以实现上述各个开发任务执行方法实施例中的步骤,例如图1所示的步骤s10、s11、s12、s13、s14、s15、s16。
或者,所述处理器13执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能,例如:当接收到接口文档时,获取与所述接口文档对应的开发任务;识别所述开发任务中的至少一个子任务;获取所述至少一个子任务中,每个子任务的任务标识;根据每个任务标识,从配置代码库中调取每个子任务的代码;执行调取的每段代码,得到所述开发任务的执行结果;解析所述接口文档,生成测试脚本;以所述测试脚本验证所述执行结果。
示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备1中的执行过程。例如,所述计算机程序可以被分割成获取单元110、识别单元111、调取单元112、执行单元113、生成单元114、验证单元115、确定单元116、配置单元117、提示单元118、更新单元119、定位单元120、发送单元121以及检测单元122。
所述存储器12可用于存储所述计算机程序和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机程序和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器12可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是集成电路中没有实物形式的具有存储功能的电路,如ram(random-accessmemory,随机存取存储器)、fifo(firstinfirstout,)等。或者,所述存储器12也可以是具有实物形式的存储器,如内存条、tf卡(trans-flashcard)等等。
所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。
其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
结合图1,所述电子设备1中的所述存储器12存储多个指令以实现一种开发任务执行方法,所述处理器13可执行所述多个指令从而实现:当接收到接口文档时,获取与所述接口文档对应的开发任务;识别所述开发任务中的至少一个子任务;获取所述至少一个子任务中,每个子任务的任务标识;根据每个任务标识,从配置代码库中调取每个子任务的代码;执行调取的每段代码,得到所述开发任务的执行结果;解析所述接口文档,生成测试脚本;以所述测试脚本验证所述执行结果。
根据本发明优选实施例,所述处理器13执行多个指令包括:
每隔预设时间间隔,获取所述预设时间间隔内的历史任务数据;
从所述历史任务数据中确定所有子任务,及与所述所有子任务对应的所有代码;
为所述所有子任务配置任务标识;
确定所述任务标识与所述所有代码的对应关系;
根据所述对应关系,配置所述配置代码库。
根据本发明优选实施例,所述处理器13还执行多个指令包括:
当从所述配置代码库中不能调取到所述至少一个子任务中第一子任务对应的代码时,提示指定人员编写所述第一子任务的第一代码;
为所述第一子任务配置任务标识;
根据所述任务标识,将所述第一子任务及所述第一代码更新至所述配置代码库。
根据本发明优选实施例,所述处理器13还执行多个指令包括:
编译每段代码,得到每段代码对应的每个可执行文件;
根据所述开发任务,部署运行环境;
在所述运行环境下执行每个可执行文件,得到所述执行结果。
根据本发明优选实施例,所述处理器13还执行多个指令包括:
从所述接口文档中获取输入项及输出项;
根据所述输入项及所述输出项,生成所述测试脚本。
根据本发明优选实施例,所述处理器13还执行多个指令包括:
将所述执行结果与所述输出项进行比较;
当所述执行结果与所述输出项一致时,确定所述执行结果通过验证;
当所述执行结果与所述输出项不一致时,确定所述执行结果未通过验证。
根据本发明优选实施例,所述处理器13还执行多个指令包括:
获取所述开发任务的执行日志;
从所述执行日志中定位异常代码;
从所述配置代码库中获取所述异常代码的开发者;
向所述开发者发送提示信息。
具体地,所述处理器13对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。