本发明专利技术公开了一种面向软件质量提升的持续自动测试平台,包括持续集成服务器、软件配置管理系统、测试模块、自动化测试流程管理及数据分析模块;所述持续集成服务器通过插件式部署,实现版本库状态监视、定时运行、轮询触发运行测试工具集成调用;持续集成服务器调用命令接口并调用执行脚本,自动触发测试模块中的测试工具运行,完成自动化测试及报告生成。本发明专利技术通过持续集成、测试任务自动执行、测试报告自动反馈,提升软件过程管控有效性,保证软件代码始终处于一个临近发布的健康状态,将测试工作前移,降低后期质量风险。降低后期质量风险。降低后期质量风险。
【技术实现步骤摘要】
一种面向软件质量提升的持续自动测试平台
[0001]本专利技术涉及软件检测领域,具体涉及一种面向软件质量提升的持续自动测试平台。
技术介绍
[0002]对于现代的信息软件系统,用户非常关心的是:产品质量及运行稳定性。对于某一些规模大、功能复杂的信息系统软件研发,通常项目团队的开发成员各自负责不同的功能模块。而某一具体的软件项目,受项目需求变更、计划变更等因素的影响,软件研发团队的人员组成结构、短期开发目标等因素也会动态变化。这样一来,在信息系统软件研发中,一个团队往往会负责多个项目的研发,一个项目则由多个研发团队分周期协同完成。这种组织管理的方式从多个维度增加了软件研发过程的复杂度和不可控性,给软件质量提升也带来很大的挑战,主要体现在如下几个方面:
[0003]1)需求变更不能及时得到响应,对项目研制周期影响较大;
[0004]2)软件版本管理难,各版本间集成难度较大,给系统联试带来困难;
[0005]3)研发周期延长,项目进度、成本等难以控制;
[0006]4)软件缺陷在研制周期内无法充分暴露,影响代码质量提升,提高了后期质量风险。
[0007]因此,如何自动持续的监测代码质量并及时反馈给研发人员修改、反馈给产品负责人知悉,是软件系统研发过程中亟需解决的问题,也是团队研发的共性需求。
技术实现思路
[0008]为了解决上述问题,本专利技术提出了一种面向软件质量提升的持续自动测试平台,包括持续集成服务器、软件配置管理系统、测试模块、自动化测试流程管理及数据分析模块;所述持续集成服务器通过插件式部署,实现版本库状态监视、定时运行、轮询触发运行测试工具集成调用;持续集成服务器调用命令接口并调用执行脚本,自动触发测试模块中的测试工具运行,完成自动化测试及报告生成;
[0009]所述软件配置管理系统采用分布式Git配置管理工具和集中式SVN软件配置管理工具,利用GitStack为Git作建项管理、用户管理和权限控制工具,实现持续自动测试平台的项目资源管理;
[0010]所述自动化测试流程管理及数据分析模块,基于Jenkins集成服务中的插件机制,以自定义方式定制执行任务,根据自动化测试需求,完成测试流程的设计,实现轮询定时调度、全量自动测试、增量自动测试、测试分析报告自动反馈、结果报表分析反馈和执行状态通知。
[0011]进一步地,自动化测试流程管理及数据分析模块中的测试报告统计分析程序对生成的报告进行统计分析,将代码缺陷以及测试报告反馈到软件配置管理系统中的SVN、Git版本库中统一管理;所述测试模块选用Testbed、Cobot作为测试工具,用于源代码的正确性
检查、安全缺陷检测、代码优化。
[0012]进一步地,所述持续集成服务器采用Jenkins持续集成服务器。
[0013]进一步地,所述软件配置管理系统通过Git plugin和Subversion Plug
‑
in实现与Jenkins集成;
[0014]对应GitStack,在Jenkins通过NewItem、Build periodically、Poll SCM为每个项目建项设置,配置脚本运行周期;持续集成服务器利用脚本批量自动生成功能,为每个项目生成执行脚本;Jenkins通过Build
‑
Excute按运行周期调用执行脚本;执行脚本向TestBed、Cobot测试软件传递执行参数,TestBed、Cobot依据测试规则及用例和传进的执行参数对每个项目作测试,并生成测试报告。
[0015]进一步地,所述项目资源包括源码、版本库、测试报告和分析报告。
[0016]进一步地,持续集成服务器通过脚本批量自动生成功能生成执行脚本,脚本批量自动生成的过程具体包括以下步骤:
[0017]在持续自动测试平台上批量建项;
[0018]设计执行脚本原本;
[0019]将脚本原本批量自动复制项目的工作目录;
[0020]读取项目名称;
[0021]批量替换实例脚本与原本之间的差异内容;
[0022]生成具体的执行脚本。
[0023]进一步地,所述执行脚本的执行过程包括以下步骤:
[0024]在执行脚本内设置工作目录;
[0025]增量检测周期;
[0026]计算增量筛选的开始时间;
[0027]设置待检测项目路径;
[0028]创建待测集合;
[0029]遍历待测项目的源文件,判断其时间是否在增量周期内,如果不在,读取下一个源文件,直到结束;对于在增量周期内的源文件,加入待测集合;
[0030]向TestBed、Cobot传递参数;
[0031]执行测试;
[0032]输出测试报告。
[0033]进一步地,测试报告统计分析的过程包括:
[0034]批量遍历输出的测试报告文件;
[0035]设置标识关注项的标识字符串;
[0036]基于HTML DOM解析测试报告文件的内容;
[0037]根据标识搜索爬取代码缺陷项对应的数值;
[0038]处理标识的测试结果;
[0039]输出分析结果。
[0040]与现有技术相比,本专利技术具有以下有益效果:
[0041]1)利用Jenkins集成服务技术,实现了配置管理工具和测试工具集成,避免了单个工具使用带来的人力和时间资源冲突或浪费。
[0042]2)通过对自动化测试的调度执行,实现了夜间测试、空闲时段测试等,使得测试执行和结果反馈时间大大缩短,大量缩减测试人员并且无测试任务积压,提高了测试效率。
[0043]3)通过集成GIT版本管理工具,实现了开发过程中软件版本持续管控,并由于集成了入库自动测试功能,大大提升了开发库软件版本的有效管控和入库代码质量提升。
[0044]4)通过自动化手段,定期自动提取测试报告数据和开发库代码增量等关键指标,大大提高了开发过程测量分析数据的准确性,并通过统计分析,得出量化分析数据,指导开发测试过程执行。
[0045]5)通过持续集成、自动化测试、测量分析数据报告生成等功能,对研发团队开发测试过程产生正向激励、为最终的软件质量带来明显的提升。
附图说明
[0046]图1为本专利技术的系统架构示意图。
[0047]图2为本专利技术实施例一的平台架构实例图。
[0048]图3为本专利技术实施例一的平台界面图。
[0049]图4为本专利技术实施例一的平台权限控制界面图。
[0050]图5为本专利技术实施例一的平台项目运行周期配置图。
[0051]图6为本专利技术实施例一的平台调用脚本图。
[0052]图7为本专利技术实施例一的脚本批量自动生成逻辑流程图。
[0053]图8为本专利技术实施例一的脚本原本代码实现图。
[0054]图9为本专利技术实施例一的批量自动复制代码实现图。
[0055]图10为本专利技术实施例一的自动替本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种面向软件质量提升的持续自动测试平台,其特征在于,包括持续集成服务器、软件配置管理系统、测试模块、自动化测试流程管理及数据分析模块;所述持续集成服务器通过插件式部署,实现版本库状态监视、定时运行、轮询触发运行测试工具集成调用;持续集成服务器调用命令接口并调用执行脚本,自动触发测试模块中的测试工具运行,完成自动化测试及报告生成;所述软件配置管理系统采用分布式Git配置管理工具和集中式SVN软件配置管理工具,利用GitStack为Git作建项管理、用户管理和权限控制工具,实现持续自动测试平台的项目资源管理;所述自动化测试流程管理及数据分析模块,基于Jenkins集成服务中的插件机制,以自定义方式定制执行任务,根据自动化测试需求,完成测试流程的设计,实现轮询定时调度、全量自动测试、增量自动测试、测试分析报告自动反馈、结果报表分析反馈和执行状态通知。2.根据权利要求1所述的面向软件质量提升的持续自动测试平台,其特征在于,自动化测试流程管理及数据分析模块中的测试报告统计分析程序对生成的报告进行统计分析,将代码缺陷以及测试报告反馈到软件配置管理系统中的SVN、Git版本库中统一管理;所述测试模块选用Testbed、Cobot作为测试工具,用于源代码的正确性检查、安全缺陷检测、代码优化。3.根据权利要求2所述的面向软件质量提升的持续自动测试平台,其特征在于,所述持续集成服务器采用Jenkins持续集成服务器。4.根据权利要求3所述的面向软件质量提升的持续自动测试平台,其特征在于,所述软件配置管理系统通过Git plugin和Subversion Plug
‑
in实现与Jenkins集成;对应GitStack,在Jenkins通过NewItem、Build periodic...
【专利技术属性】
技术研发人员:宁立江,李旭东,饶洁,
申请(专利权)人:中国电子科技集团公司第十四研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。