基于持续集成技术的软件集成测试系统的制作方法

文档序号:16998911发布日期:2019-03-02 01:36阅读:160来源:国知局
基于持续集成技术的软件集成测试系统的制作方法

本发明属于软件持续集成与软件工程技术领域,具体涉及一种基于持续集成技术的软件集成测试系统。



背景技术:

传统的软件测试工具使用方式主要是:软件测试人员手动打开桌面版测试工具,建立测试工程,导入被测试文件,进行测试规则配置,等待浮动许可证释放,等待工具完成分析工作,最终输出测试结果。如果使用多个软件测试工具进行软件测试,则测试人员需要不断重复以上的操作过程。随着信息技术的快速发展,用户对便捷、可靠、安全的应用系统需求越来越高,同时软件测试工具呈现多样化、复杂化的特点,传统的软件工具使用方式繁杂低效,难以对软件进行集中有效的验证测试,造成软件测试工具在整个软件研制过程中的质量保障作用相对有限

当前软件研制企业在使用软件测试工具的过程中存在以下问题:

1)工具分散使用,企业中使用的的测试工具种类繁多、部署分散,在进行测试时需要对多个测试工具进行多次操作,无法实现对软件的一站式流程化测试;

2)工具使用繁琐,软件测试工具一般专业性较强,工具在使用操作时一般相对复杂,比如需要繁杂的配置导入工作等;

3)自动化程度低,在软件测试行业中,软件测试工具的自动化使用程度较低,大量的重复性工具操作依然通过人工手段完成。

4)许可证数量冲突,由于成本限制的原因,企业采购的商用测试工具许可证数量有限,容易造成测试工具使用冲突,无法及时对软件进行工具分析测试。



技术实现要素:

(一)要解决的技术问题

本发明要解决的技术问题是:如何解决当前软件研发企业的研发测试工具使用方式分散、使用过程繁琐、自动化程度低,许可证数量冲突等问题,提升工具使用与软件测试效率。

(二)技术方案

为解决上述技术问题,本发明提供一种基于持续集成技术的软件集成测试系统,所述系统包括:测试参数设置模块、代码托管模块、持续集成模块、测试工具集成模块、测试结果发布模块;其中,

所述测试参数设置模块用于接收外部输入的各类测试参数信息;

所述代码托管模块用于推送代码、生成代码推送标识;

所述持续集成模块用于检测代码托管模块的代码推送标识,查看代码是否有推送更新,同时读取测试参数设置模块输入的测试参数作为测试工具的运行参数,然后采用命令行接口的形式调用测试工具集成模块的测试工具进行软件测试,并在测试工具运行完成后将测试结果存储到指定位置;

所述测试工具集成模块用于对测试工具进行集成,在持续集成模块对测试工具的集成调用中进行源程序集搜索、测试工程建立、测试工具执行以及测试结果生成;

所述测试结果发布模块用于将测试工具生成的各种测试结果进行发布,测试结果发布之前首先识别测试工具类型和测试结果格式,接着根据测试工具类型与测试结果格式进行文本解析,最终将解析完成的测试结果进行显示。

其中,所述测试参数设置模块包括:测试参数设置单元;

所述测试参数设置单元用于接收外部输入的各类测试参数信息,测试参数包括测试触发方式、测试工具选择、测试规则选择、测试类型选择。

其中,所述代码托管模块包括:代码推送单元、推送标识生成单元;

所述代码推送单元用于将外部输入的代码推送到服务器仓库,供后续的持续集成模块进行拉取;

所述推送标识生成单元用于当外部输入的代码推送到服务器仓库后,生成推送标识。

其中,所述持续集成模块包括:测试参数读取单元、推送标识识别单元、代码拉取单元、测试工具调用单元、测试结果存储单元;

所述测试参数读取单元用于读取测试参数设置模块输入的各种测试参数,用作测试工具的运行参数;

所述推送标识识别单元用于识别代码托管模块中由代码推送行为驱动产生的推送标识;

所述代码拉取单元用于在识别到推送标识后从代码托管模块获取源程序的代码;

所述测试工具调用单元用于通过命令行交互形式对测试工具集成模块内不同类型的测试工具进行参数化调用;

所述测试结果存储单元用于将测试工具的测试结果存储到指定存储空间,后续由测试结果发布模块进行解析发布。

其中,所述测试工具集成模块包括:源程序集搜索单元、测试工程建立单元、测试工具执行单元、测试结果生成单元;

所述源程序集搜索单元用于从代码拉取单元获取的源程序的代码中搜索可用于分析的文件,剔除上传的说明性文件和其他非程序类文件;

所述测试工程建立单元用于在测试工具中以待分析文件集和测试参数读取单元读取的各种测试参数为基础建立工程项目;

所述测试工具执行单元用于执行测试工具的命令行指令,操作测试工具进行各种不同类型的测试动作;

所述测试结果生成单元用于汇总测试工具对源程序的代码进行测试后生成的各种测试结果。

其中,所述测试结果发布模块包括:测试工具识别单元、文本格式识别单元、文本解析单元、结果显示单元;

所述测试工具识别单元用于识别生成测试结果的测试工具类型,并根据测试工具类型选择适合于该测试工具类型的解析模板;

所述文本格式识别单元用于识别测试结果的文本格式,并根据文本格式选择适合于该文本格式的解析器;

所述文本解析单元用于解析测试工具产生的测试结果,并将测试结果转换为可以进行显示的固定格式;

所述结果显示单元用于将经过解析后的测试结果进行显示。

(三)有益效果

本发明技术方案通过采取上述技术措施,可有效解决目前软件测试工具分散使用、工具使用繁琐、自动化程度低以及工具许可证冲突的问题。具体来说:

(1)该技术方案采用持续集成的方式对测试工具进行集中调用,测试人员在对同一项目进行软件测试时仅需操作一次,而非原先的多次操作多种测试工具,因此在工具使用方式上趋于集中化,提高了软件测试效率。

(2)该技术方案对工具的调用采用脚本方式进行自动化调用,减少了测试人员在操作工具时进行的大量操作与详细配置工作,降低了测试人员操作工具的复杂程度。

(3)该技术方案建立了从测试人员提交代码、自动识别代码变更、调用测试工具进行自动测试、自动发布测试结果的一整套自动化工具调用过程,实现了测试工具使用方式的高度自动化。

(4)该技术方案通过脚本方式调用工具,能够在多个测试请求同时产生时进行自动排队,实现对有限数量许可证的分时复用,解决了测试工具许可证冲突的问题。

附图说明

图1为本发明技术方案所提供的系统结构示意图;

图2为本发明技术方案所提供的系统流程图;

图3为本发明技术方案所提供的系统中代码托管模块流程图;

图4为本发明技术方案所提供的系统中持续集成模块流程图;

图5为本发明技术方案所提供的系统中测试工具集成模块流程图;

图6为本发明技术方案所提供的系统中测试结果发布模块流程图。

具体实施方式

为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。

为解决现有技术问题,本发明提供一种基于持续集成技术的软件集成测试系统,如图1所示,所述系统包括:测试参数设置模块、代码托管模块、持续集成模块、测试工具集成模块、测试结果发布模块;其中,

所述测试参数设置模块用于接收外部输入的各类测试参数信息;

所述代码托管模块用于推送代码、生成代码推送标识;

所述持续集成模块用于检测代码托管模块的代码推送标识,查看代码是否有推送更新,同时读取测试参数设置模块输入的测试参数作为测试工具的运行参数,然后采用命令行接口的形式调用测试工具集成模块的测试工具进行软件测试,并在测试工具运行完成后将测试结果存储到指定位置;

所述测试工具集成模块用于对测试工具进行集成,在持续集成模块对测试工具的集成调用中进行源程序集搜索、测试工程建立、测试工具执行以及测试结果生成;

所述测试结果发布模块用于将测试工具生成的各种测试结果进行发布,测试结果发布之前首先识别测试工具类型和测试结果格式,接着根据测试工具类型与测试结果格式进行文本解析,最终将解析完成的测试结果进行显示。

其中,所述测试参数设置模块包括:测试参数设置单元;

所述测试参数设置单元用于接收外部输入的各类测试参数信息,测试参数包括测试触发方式、测试工具选择、测试规则选择、测试类型选择。

其中,所述代码托管模块包括:代码推送单元、推送标识生成单元;

所述代码推送单元用于将外部输入的代码推送到服务器仓库,供后续的持续集成模块进行拉取;

所述推送标识生成单元用于当外部输入的代码推送到服务器仓库后,生成推送标识。

其中,所述持续集成模块包括:测试参数读取单元、推送标识识别单元、代码拉取单元、测试工具调用单元、测试结果存储单元;

所述测试参数读取单元用于读取测试参数设置模块输入的各种测试参数,用作测试工具的运行参数;

所述推送标识识别单元用于识别代码托管模块中由代码推送行为驱动产生的推送标识;

所述代码拉取单元用于在识别到推送标识后从代码托管模块获取源程序的代码;

所述测试工具调用单元用于通过命令行交互形式对测试工具集成模块内不同类型的测试工具进行参数化调用;

所述测试结果存储单元用于将测试工具的测试结果存储到指定存储空间,后续由测试结果发布模块进行解析发布。

其中,所述测试工具集成模块包括:源程序集搜索单元、测试工程建立单元、测试工具执行单元、测试结果生成单元;

所述源程序集搜索单元用于从代码拉取单元获取的源程序的代码中搜索可用于分析的文件,剔除上传的说明性文件和其他非程序类文件;

所述测试工程建立单元用于在测试工具中以待分析文件集和测试参数读取单元读取的各种测试参数为基础建立工程项目;

所述测试工具执行单元用于执行测试工具的命令行指令,操作测试工具进行各种不同类型的测试动作;

所述测试结果生成单元用于汇总测试工具对源程序的代码进行测试后生成的各种测试结果。

其中,所述测试结果发布模块包括:测试工具识别单元、文本格式识别单元、文本解析单元、结果显示单元;

所述测试工具识别单元用于识别生成测试结果的测试工具类型,并根据测试工具类型选择适合于该测试工具类型的解析模板;

所述文本格式识别单元用于识别测试结果的文本格式,并根据文本格式选择适合于该文本格式的解析器;

所述文本解析单元用于解析测试工具产生的测试结果,并将测试结果转换为可以进行显示的固定格式;

所述结果显示单元用于将经过解析后的测试结果进行显示。

此外,本发明还提供一种基于持续集成技术的软件集成测试方法,所述方法基于软件集成测试系统来实施,如图1所示,所述系统包括:测试参数设置模块、代码托管模块、持续集成模块、测试工具集成模块、测试结果发布模块;

如图2所示,所述方法包括如下步骤:

步骤1:测试参数设置模块接收外部输入的各类测试参数信息;

步骤2:代码托管模块推送代码、生成代码推送标识;

步骤3:持续集成模块检测代码托管模块的代码推送标识,查看代码是否有推送更新,同时读取测试参数设置模块输入的测试参数作为测试工具的运行参数,然后采用命令行接口的形式调用测试工具集成模块的测试工具进行软件测试;

步骤4:测试工具集成模块对测试工具进行集成,在持续集成模块对测试工具的集成调用中进行源程序集搜索、测试工程建立、测试工具执行以及测试结果生成;

步骤5:持续集成模块在测试工具运行完成后将测试结果存储到指定位置;

步骤6:测试结果发布模块将测试工具生成的各种测试结果进行发布,测试结果发布之前首先识别测试工具类型和测试结果格式,接着根据测试工具类型与测试结果格式进行文本解析,最终将解析完成的测试结果进行显示。

其中,所述测试参数设置模块包括:测试参数设置单元;

所述步骤1中,测试参数设置单元接收外部输入的各类测试参数信息,测试参数包括测试触发方式、测试工具选择、测试规则选择、测试类型选择。

其中,如图3所示,所述代码托管模块包括:代码推送单元、推送标识生成单元;

所述步骤2中包括:

步骤201:代码推送单元将外部输入的代码推送到服务器仓库,供后续的持续集成模块进行拉取;

步骤202:推送标识生成单元当外部输入的代码推送到服务器仓库后,生成推送标识。

其中,如图4所示,所述持续集成模块包括:测试参数读取单元、推送标识识别单元、代码拉取单元、测试工具调用单元;

所述步骤3包括:

步骤301:测试参数读取单元读取测试参数设置模块输入的各种测试参数,用作测试工具的运行参数;

步骤302:推送标识识别单元识别代码托管模块中由代码推送行为驱动产生的推送标识;

步骤303:代码拉取单元在识别到推送标识后从代码托管模块获取源程序的代码;

步骤304:测试工具调用单元通过命令行交互形式对测试工具集成模块内不同类型的测试工具进行参数化调用。

其中,如图5所示,所述测试工具集成模块包括:源程序集搜索单元、测试工程建立单元、测试工具执行单元、测试结果生成单元;

所述步骤4包括:

步骤401:源程序集搜索单元从代码拉取单元获取的源程序的代码中搜索可用于分析的文件,剔除上传的说明性文件和其他非程序类文件;

步骤402:测试工程建立单元在测试工具中以待分析文件集和测试参数读取单元读取的各种测试参数为基础建立工程项目;

步骤403:测试工具执行单元执行测试工具的命令行指令,操作测试工具进行各种不同类型的测试动作;

步骤404:测试结果生成单元汇总测试工具对源程序的代码进行测试后生成的各种测试结果。

其中,所述持续集成模块还包括:测试结果存储单元;

所述步骤5包括:

步骤501:测试结果存储单元将测试工具的测试结果存储到指定存储空间,后续由测试结果发布模块进行解析发布。

其中,如图6所示,所述测试结果发布模块包括:测试工具识别单元、文本格式识别单元、文本解析单元、结果显示单元;

所述步骤6包括:

步骤601:测试工具识别单元识别生成测试结果的测试工具类型,并根据测试工具类型选择适合于该测试工具类型的解析模板;

步骤602:文本格式识别单元识别测试结果的文本格式,并根据文本格式选择适合于该文本格式的解析器;

步骤603:文本解析单元解析测试工具产生的测试结果,并将测试结果转换为可以进行显示的固定格式;

步骤604:结果显示单元将经过解析后的测试结果进行显示。

实施例1

本实施例基于上述的系统提供一种基于持续集成技术的软件集成测试方法,如图2所示,所述方法的具体流程包括如下步骤:

s1:通过代码托管模块提交代码;

s2:通过测试参数设置模块设置参数;

s3:持续集成模块从测试参数设置模块设置的读取测试参数,从代码托管模块拉取代码,调用测试工具集成模块执行软件测试,将测试结果汇总发送给测试结果发布模块;

s4:测试工具集成模块执行软件测试任务,并生成软件测试结果;

s5:测试结果发布模块获取持续集成模块输出的测试结果进行解析显示。

如图3所示,所述的代码托管模块的流程具体步骤包括:

s301:代码推送单元接收外部推送的代码,并将代码推送到服务器仓库;

s302:推送标识生成单元根据代码推送事件产生代码推送标识。

如图4所示,所述的持续集成模块的流程具体步骤包括:

s401:推送标识识别单元检测推送标识是否有效,若未发现代码推送,则结束该流程,若发现代码推送,则转入s402;

s402:代码拉取单元从代码托管模块拉取源代码程序;

s403:测试参数读取单元从测试参数设置模块读取各种测试参数;

s404:测试参数读取单元根据测试参数配置测试工具;

s405:测试工具调用单元调用测试工具进行软件测试;

s406:测试结果存储单元获取测试工具的测试结果并存储到指定位置。

如图5所示,所述的测试工具集成模块的流程具体步骤包括:

s501:源程序集搜索单元对源程序集进行搜索,选择其中的有效代码,剔除其中的说明性文件与非程序文件;

s502:测试工程建立单元根据搜索得到的源程序集建立测试工程;

s503:测试工具执行单元以命令行的方式驱动工具进行软件测试;

s504:测试结果生成单元生成软件测试结果并发送给持续集成模块。

如图6所示,所述的测试结果发布模块的流程具体步骤包括:

s601:测试工具识别单元识别测试工具,并根据测试工具选取解析模板;

s602:文本格式识别单元识别测试结果格式,并根据测试结果格式选取解析器;

s603:结果解析单元对测试结果进行文本解析;

s604:结果显示单元将解析后的测试结果进行显示。

综上,本发明属于软件持续集成与软件工程技术领域,具体涉及一种基于持续集成技术的软件集成测试方法,目标在于解决目前软件测试工具使用方式分散、使用过程繁琐、自动化程度低以及许可证冲突等方面的问题。本发明所提供的软件集成测试系统包括:测试参数设置模块,用于接收外部输入的各类参数信息;代码托管模块提供代码推送、代码推送标识生成等功能;持续集成模块,用于检测代码托管模块的推送标识,查看代码是否有更新,同时读取输入的测试参数作为测试工具的运行参数,然后调用测试工具进行软件测试,在测试工具运行完成后将测试结果存储到指定位置;测试工具集成模块,用于对测试工具采用命令行接口的方式进行调用,具体过程包括源程序集搜索、测试工程建立、测试工具执行以及测试结果生成;测试结果发布模块,用于将测试工具生成的各种测试结果进行发布,测试结果发布首先要识别测试工具类型和测试结果格式,接着根据测试工具类型与测试结果格式进行文本解析,最终将解析完成的测试结果进行显示。该技术方案对软件测试工具进行集中化自动调度管理,可有效解决目前软件测试工具使用方式分散、使用过程繁琐、自动化程度低以及许可证冲突的问题。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

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