一种持续集成中的自动化功能测试装置及其方法与流程

文档序号:12719421阅读:170来源:国知局
一种持续集成中的自动化功能测试装置及其方法与流程

本发明涉及程序测试技术领域,特别是涉及一种持续集成中的自动化功能测试装置及其方法。



背景技术:

在系统开发的过程中的持续集成,指的是在每一次最新代码提交后都进行一次测试,从而尽早发现最新代码bug,大大减少系统集成时的问题,让复杂软件的开发效率更高,并且可以在任何时间发布可以部署的软件,增强开发人员的信心。

目前的持续集成过程中,主要采用的是人为测试,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。耗费人力,测试时间长,测试效率低,且影响开发进度。

因此,如何提供一种节省人力、提高测试效率的持续集成中的自动化功能测试装置及其方法是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种持续集成中的自动化功能测试装置及其方法,能够依据工作人员每次提交的最新代码自动进行功能测试,节省人力,加快测试速度,提高测试效率。

为解决上述技术问题,本发明提供了一种持续集成中的自动化功能测试装置,包括:

接收模块,用于接收提交的最新代码,将所述最新代码存储于临时代码库内并触发测试管理模块;

所述测试管理模块,用于发送测试请求至所述临时代码库,接收所述临时代码库返回的测试代码,所述测试代码包括测试类库以及测试用例;依据所述测试代码生成测试任务并发送至测试执行模块;对所述测试结果进行输出显示;

所述测试执行模块,用于发送最新代码请求至所述临时代码库,接收所述临时代码库返回的所述最新代码;将所述最新代码进行打包、安装,依据所述测试任务对所述最新代码进行功能测试,生成测试结果返回所述测试管理模块。

优选地,包括多个测试执行模块;

所述测试管理模块具体包括:

测试请求单元,用于发送测试请求至所述临时代码库,接收所述临时代码库返回的测试代码,所述测试代码包括测试类库以及测试用例;

任务生成单元,用于将所述测试代码进行划分,得到多段测试代码;分别依据各段测试代码生成多个测试任务并分别发送至各个所述测试执行模块;

结果显示单元,用于对各个所述测试执行模块返回的测试结果进行汇总并进行输出显示,若测试全部通过,将所述最新代码提交至代码库进行存储。

优选地,每个所述测试执行模块分别位于一台测试机内。

优选地,具体包括4~6个所述测试执行模块。

为解决上述技术问题,本发明还提供了一种持续集成中的自动化功能测试方法,包括:

接收模块接收提交的最新代码,将所述最新代码存储于临时代码库内,并触发测试管理模块;

所述测试管理模块发送测试请求至所述临时代码库,接收所述临时代码库返回的测试代码,所述测试代码包括测试类库以及测试用例;

所述测试管理模块依据所述测试代码生成测试任务并发送至测试执行模块;

所述测试执行模块发送最新代码请求至所述临时代码库,接收所述临时代码库返回的所述最新代码;将所述最新代码进行打包、安装,依据所述测试任务对所述最新代码进行功能测试,生成测试结果返回所述测试管理模块进行显示。

优选地,所述测试管理模块依据所述测试代码生成测试任务并发送至测试执行模块的过程具体为:

将所述测试代码进行划分,得到多段测试代码;

分别依据各段测试代码生成多个测试任务并分别发送至多个所述测试执行模块;

相应的,所述测试管理模块接收各个所述测试执行模块返回的测试结果后进行汇总并进行输出显示,若测试全部通过,将所述最新代码提交至代码库进行存储。

本发明提供了一种持续集成中的自动化功能测试装置及其方法,包括接收模块、测试管理模块以及测试执行模块,当接收模块接收到提交的最新代码后,存储于临时代码库中,并触发测试管理模块,测试管理模块从临时代码库内获取测试代码,并据此生成测试任务发送至测试执行模块,测试执行模块从临时代码库内获取提交的最新代码后,将最新代码进行打包、安装,依据接收的测试任务对该最新代码进行功能测试,然后将测试结果返回测试管理模块进行输出显示。可见,工作人员只需要输入最新代码以及在前期将编写好的测试用例存入临时代码库内即可,本发明能够依据工作人员每次提交的最新代码自动进行功能测试,提高了软件测试过程中的自动化程度,大大节省了人力,加快了测试速度,提高了测试效率,避免了由于测试效率低下而对开发进程的影响。

附图说明

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

图1为本发明提供的一种持续集成中的自动化功能测试装置的结构示意图;

图2为本发明提供的一种持续集成中的自动化功能测试方法的过程的流程图。

具体实施方式

本发明的核心是提供一种持续集成中的自动化功能测试装置及其方法,能够依据工作人员每次提交的最新代码自动进行功能测试,节省人力,加快测试速度,提高测试效率。

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

本发明提供了一种持续集成中的自动化功能测试装置,参见图1所示,图1为本发明提供的一种持续集成中的自动化功能测试装置的结构示意图;该装置包括:

接收模块1,用于接收提交的最新代码,将最新代码存储于临时代码库4内并触发测试管理模块2;

测试管理模块2,用于发送测试请求至临时代码库4,接收临时代码库4返回的测试代码,测试代码包括测试类库以及测试用例;依据测试代码生成测试任务并发送至测试执行模块3;对测试结果进行输出显示;

其中,这里的测试用例包含需要进行的测试内容的程序文件,该测试代码由工作人员预先存储于临时代码库4内。另外,这里可直接将测试代码作为测试任务发送至测试执行模块3,也可以对测试代码进行进一步处理后作为测试任务进行下发,具体采用哪种方式本发明不作具体限定。

另外,这里的临时代码库是用于临时放置新提交的最新代码以及最新代码的测试代码的,当然,测试代码与新提交的最新代码放置于临时代码库内不同的文件夹内。

测试执行模块3,用于发送最新代码请求至临时代码库4,接收临时代码库4返回的最新代码;将最新代码进行打包、安装,依据测试任务对最新代码进行功能测试,生成测试结果返回测试管理模块2。作为优选地,该装置包括多个测试执行模块3;

测试管理模块2具体包括:

测试请求单元,用于发送测试请求至临时代码库4,接收临时代码库4返回的测试代码,测试代码包括测试类库以及测试用例;

任务生成单元,用于将测试代码进行划分,得到多段测试代码;分别依据各段测试代码生成多个测试任务并分别发送至各个测试执行模块3;

结果显示单元,用于对各个测试执行模块3返回的测试结果进行汇总并进行输出显示,若测试全部通过,将最新代码提交至代码库进行存储。

可以理解的是,通过将一个测试任务分成多个部分,分别由多个测试执行模块3并行执行,能够大幅提高测试的速度。

另外,只有当测试全部通过时,才能表明该提交的最新代码没有问题,可以存储至代码库中,若有测试未通过,则将最新代码打回。这里的打回可以包括:将之前提交的最新代码输出显示,并删除之前临时代码库内存储的最新代码,当然,只要不将未通过测试的最新代码存储至代码库内,具体如何打回处理,本发明不作具体限定。

其中,这里的测试结果可包括测试日志等,当然,本发明对此不作限定。

作为优选地,每个测试执行模块3分别位于一台测试机内。即测试管理模块2与接收模块1位于一台主机上,而其余每个测试执行模块3分别位于一台测试机上。当然,为方便管理以及避免浪费资源,可将测试管理模块2与各个测试执行模块3设置于同一台主机上。具体采用哪种方式本发明不作限定。

作为优选地,具体包括4~6个测试执行模块3。测试执行模块3的数量可根据具体需要以及实际情况自行设定,本发明对此不作具体限定。

本发明提供了一种持续集成中的自动化功能测试装置,包括接收模块、测试管理模块以及测试执行模块,当接收模块接收到提交的最新代码后,存储于临时代码库中,并触发测试管理模块,测试管理模块从临时代码库内获取测试代码,并据此生成测试任务发送至测试执行模块,测试执行模块从临时代码库内获取提交的最新代码后,将最新代码进行打包、安装,依据接收的测试任务对该最新代码进行功能测试,然后将测试结果返回测试管理模块进行输出显示。可见,工作人员只需要输入最新代码以及在前期将编写好的测试用例存入临时代码库内即可,本发明能够依据工作人员每次提交的最新代码自动进行功能测试,提高了软件测试过程中的自动化程度,大大节省了人力,加快了测试速度,提高了测试效率,避免了由于测试效率低下而对开发进程的影响。

本发明还提供了一种持续集成中的自动化功能测试方法,参见图2所示,图2为本发明提供的一种持续集成中的自动化功能测试方法的过程的流程图。该方法包括:

步骤s101:接收模块接收提交的最新代码,将最新代码存储于临时代码库内,并触发测试管理模块;

步骤s102:测试管理模块发送测试请求至临时代码库,接收临时代码库返回的测试代码,测试代码包括测试类库以及测试用例;

步骤s103:测试管理模块依据测试代码生成测试任务并发送至测试执行模块;

步骤s104:测试执行模块发送最新代码请求至临时代码库,接收临时代码库返回的最新代码;将最新代码进行打包、安装,依据测试任务对最新代码进行功能测试,生成测试结果返回测试管理模块进行显示。

其中,步骤s103的过程具体为:

将测试代码进行划分,得到多段测试代码;

分别依据各段测试代码生成多个测试任务并分别发送至多个测试执行模块;

相应的,测试管理模块接收各个测试执行模块返回的测试结果后进行汇总并进行输出显示,若测试全部通过,将最新代码提交至代码库进行存储。

本发明提供了一种持续集成中的自动化功能测试方法,包括接收模块、测试管理模块以及测试执行模块,当接收模块接收到提交的最新代码后,即触发测试管理模块,测试管理模块从临时代码库内获取测试代码,并据此生成测试任务发送至测试执行模块,测试执行模块从临时代码库内获取提交的最新代码后,将最新代码进行打包、安装,依据接收的测试任务对该最新代码进行功能测试,然后将测试结果返回测试管理模块进行输出显示。可见,工作人员只需要输入最新代码以及在前期将编写好的测试用例存入临时代码库内即可,本发明能够依据工作人员每次提交的最新代码自动进行功能测试,提高了软件测试过程中的自动化程度,大大节省了人力,加快了测试速度,提高了测试效率,避免了由于测试效率低下而对开发进程的影响。

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

还需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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