本发明专利技术提出一种基于发布订阅机制的冒烟测试系统,包括:代码管理模块,代理服务器,编译模块,测试模块,报告生成模块,代码管理模块接收测试代码,生成对应的代码测试请求并发送到代理服务器;编译模块向代理服务器订阅对应的代码编译服务,响应于接收到测试服务的测试代码,将测试代码编译成对应的可执行文件,将可执行文件及执行信息发送到代理服务器;测试模块向代理服务器订阅对应的代码测试服务,响应于接收到可执行文件以及执行信息,执行可执行文件并将执行结果或报错信息生成测试报告发送到代理服务器;代理服务器接收代码管理模块提交的代码测试请求,将代码测试请求发布到编译模块、接收测试模块生成的测试报告并发送到报告生成模块。到报告生成模块。到报告生成模块。
【技术实现步骤摘要】
一种基于发布订阅机制的冒烟测试系统及方法
[0001]本专利技术属于计算机领域,具体涉及一种基于发布订阅机制的冒烟测试系统及方法。
技术介绍
[0002]目前软件开发的成本较高,软件测试能够拦截软件缺陷,做到过程可控,有效的提高软件开发效率,降低开发成本。在软件测试的过程中对基本功能一般采用自动化的方法进行测试,以节约重复劳动造成的浪费。
[0003]在程序设计和软件测试领域,冒烟测试(也包括信心测试、健全性测试、构建验证测试)是指初步地进行测试,并以此展示一些简单但足以影响发布软件版本的这一级别的错误。冒烟测试是测试用例的子集,测试主要为了覆盖组件或系统的最重要功能,并用于辅助评价一个软件的主要功能是否正常运行。或者,在测试部门对新版本程序进行测试之前,冒烟测试用于自动化测试新版本是否可以正常运行,是否值得测试。冒烟测试通常会快速地进行,好处就是反馈也是很快,相比之下,更为全面地套件测试通常会花费更长的时间。冒烟测试,可以是手动测试或自动化进行冒烟测试。对于自动化工具测试,构建工程的程序通常会顺带进行该测试。冒烟测试可以是功能测试或者单元测试。功能测试通常会使用各种输入设备,从而执行完整的程序。单元测试则是针对单一功能、子例程、对象的方法,可以通过调用的方式进行测试。但现有的测试方法或测试模式,一般都是在整体项目开发完成后再以整体的业务对某一部分代码的运行进行测试,通常由对应的测试人员编写测试脚本进行测试。每一个项目都要由测试人员编写对应的测试应用或测试脚本来帮助开发者找到其所编写的源代码中存在的问题,同时因不同的开发任务,不同开发者的代码所运行的条件也不尽相同,传统的测试模式使开发人员难以在开发过程中进行快速且方便的自我检测。因此现有的测试方案极其耗费测试人员的时间。
[0004]因此,亟需一种更高效的测试方案。
技术实现思路
[0005]为解决以上问题,本专利技术提出一种基于发布订阅机制的冒烟测试系统,包括代码管理模块,代理服务器,编译模块,测试模块,报告生成模块,其中:
[0006]所述代码管理模块配置用于接收至少一个开发者提交的测试代码,并根据所述测试代码所需要的执行需求生成对应的代码测试请求,并将所述代码测试请求发送到所述代理服务器;
[0007]所述编译模块配置用于向所述代理服务器订阅对应的代码编译服务,响应于接收到所述代理服务器发布的对应的测试服务的测试代码,将所述测试代码编译成对应的可执行文件,并将所述可执行文件及执行信息发送到所述代理服务器;
[0008]所述测试模块配置用于向所述代理服务器订阅对应的代码测试服务,响应于接收到所述代理服务器发布的所述对应的代码测试服务的可执行文件以及执行信息,根据所述
执行信息执行所述可执行文件并将执行结果或报错信息生成测试报告发送到所述代理服务器;
[0009]所述代理服务器配置用于接收所述代码管理模块提交的代码测试请求,并将所述代码测试请求发布到所述编译模块,接收所述编译模块编译后的可执行文件以及执行信息并发送到所述测试模块,以及接收所述测试模块生成的测试报告并将所述测试报告发送到所述报告生成模块;
[0010]所述报告生成模块配置用于向所述代理服务器订阅对应的测试报告服务,响应于接收到所述代理服务器发布的对应的测试报告,分析所述测试报告并将分析结果发送到对应的开发者。
[0011]在本专利技术的一些实施方式中,代码管理模块还配置用于分析所述测试代码的源码以获取所述测试代码的编程语言以及所述代码的业务需求逻辑,并将所述编程语言、测试代码以及业务需求逻辑生成对应的测试请求发送到代理服务器。
[0012]在本专利技术的一些实施方式中,代理服务器还配置用于根据收到的所述测试请求中的测试代码所使用的编程语言将所述测试请求发布到满足所述编程语言编译条件的所述编译模块。
[0013]在本专利技术的一些实施方式中,编译模块还配置用于:
[0014]响应于接收到所述代理服务器发布的测试代码,分析所述测试代码,并将所述测试代码中的方法块或流程块分别编译成对应的可执行文件,并根据所述方法块或流程块的所对应的业务逻辑生成执行信息,并将所述可执行文件及其对应的所述执行信息发送到所述代理服务器。
[0015]在本专利技术的一些实施方式中,编译模块还配置用于将所述编译后的可执行文件的执行环境添加到所述执行信息中,并将所述可执行文件以及其所对应的执行信息发送到所述代理服务器。
[0016]在本专利技术的一些实施方式中,代服务器还配置用于根据所述可执行文件的执行信息中的所述执行环境选择对应的测试模块并将所述执行文件以及执行信息发布到所述测试模块。
[0017]在本专利技术的一些实施方式中,报告生成模块还配置用于分析所述测试报告,响应于所述测试报告的结果为通过,将所述测试代码保存并提交到所属项目的代码仓库并同时通知所述测试代码的开发者测试结果。
[0018]在本专利技术的一些实施方式中,报告生成模块还配置用于分析所述测试报告,响应于所述测试报告的结果为失败,根据测试报告中的测试错误信息,分析所述错误信息的错误的严重程度,并生成所述代码测试的严重程度权重,并将所述严重程度权重发送到项目管理人员。
[0019]本专利技术的另一方面还提出一种基于发布订阅机制的冒烟测试方法,包括:
[0020]接收开发者提供的测试代码,并根据测试代码的编程语言信息以及所述测试代码的执行需求信息生成对应的测试请求;
[0021]编译所述测试请求中的测试代码生成对应的可执行文件及执行信息;
[0022]根据所述可执行文件的执行信息执行所述可执行文件,并根据执行结果生成执行报告;
[0023]将所述执行报告发送给所述测试代码所属的开发者。
[0024]在本专利技术的一些实施方式中,接收开发者提供的测试代码,并根据测试代码的编程语言信息以及所述测试代码的执行需求信息生成对应的测试请求,包括:
[0025]将所述测试代码中的方法块或流程块编译成对应的单独的可执行文件,并基于方法块以及流程块所对应的业务逻辑生成对应的可执行文件的调用或执行参数。
[0026]通过一种基于发布订阅机制的冒烟测试系统及方法,可以提高冒烟测试系统的兼容性和可拓展性,在后续的开发及持续改进过程中能够轻易的增加新的组件和流程,并且能够避免修改当前的已有的接口。同时通过对报告生成模块的配置,能够更加有效的反映开发质量。
附图说明
[0027]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028]图1为本专利技术实施例提供的一种基于发布订阅机制的冒烟测试系统的系统结构图;
[0029]图2为本专利技术实施例提供的一种基于发布订阅机制的冒烟测试方法的流程图。
具体实施方式
[003本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于发布订阅机制的冒烟测试系统,其特征在于,包括代码管理模块,代理服务器,编译模块,测试模块,报告生成模块,其中:所述代码管理模块配置用于接收至少一个开发者提交的测试代码,并根据所述测试代码所需要的执行需求生成对应的代码测试请求,并将所述代码测试请求发送到所述代理服务器;所述编译模块配置用于向所述代理服务器订阅对应的代码编译服务,响应于接收到所述代理服务器发布的对应的测试服务的测试代码,将所述测试代码编译成对应的可执行文件,并将所述可执行文件及执行信息发送到所述代理服务器;所述测试模块配置用于向所述代理服务器订阅对应的代码测试服务,响应于接收到所述代理服务器发布的所述对应的代码测试服务的可执行文件以及执行信息,根据所述执行信息执行所述可执行文件并将执行结果或报错信息生成测试报告发送到所述代理服务器;所述代理服务器配置用于接收所述代码管理模块提交的代码测试请求,并将所述代码测试请求发布到所述编译模块,接收所述编译模块编译后的可执行文件以及执行信息并发送到所述测试模块,以及接收所述测试模块生成的测试报告并将所述测试报告发送到所述报告生成模块;所述报告生成模块配置用于向所述代理服务器订阅对应的测试报告服务,响应于接收到所述代理服务器发布的对应的测试报告,分析所述测试报告并将分析结果发送到对应的开发者。2.根据权利要求1所述的系统,其特征在于,所述代码管理模块还配置用于分析所述测试代码的源码以获取所述测试代码的编程语言以及所述代码的业务需求逻辑,并将所述编程语言、测试代码以及业务需求逻辑生成对应的测试请求发送到代理服务器。3.根据权利要求2所述的系统,其特征在于,所述代理服务器还配置用于根据收到的所述测试请求中的测试代码所使用的编程语言将所述测试请求发布到满足所述编程语言编译条件的所述编译模块。4.根据权利要求1所述的系统,其特征在于,所述编译模块还配置用于:响应于接收到所述代理服务器发布的测试代码,分析所述测试代码,并将所述...
【专利技术属性】
技术研发人员:任鹏飞,任明刚,梁向峰,余洪斌,
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。