持续交付与自动化测试一体化集成的软件质量保障方法与流程

文档序号:16880292发布日期:2019-02-15 22:04阅读:637来源:国知局
持续交付与自动化测试一体化集成的软件质量保障方法与流程

本发明涉及一种提高软件质量的方法,具体说是一种持续交付与自动化测试一体化集成的软件质量保障方法。

技术背景

随着企业软件系统不断增多,软件测试的复杂程度、测试周期和测试成本也越来越高,许多企业引入了持续交付和自动化测试方法。

持续交付以jenkins软件为代表,通过该软件来实现软件产品在交付过程中的构建、测试以及部署。

自动化测试方法包括以下几类测试及其相应的软件:

功能测试:以qtp、robot、selenium、soapui为代表的功能测试软件,提供了自动化测试脚本的录制、编辑、运行、测试报告生成、管理;

性能测试:以loadrunner、jmeter为代表的性能测试软件,提供了模拟访问并发的方式来执行压力测试,提供了性能测试脚本的录制、编辑、运行、报告生成;

代码静态测试:以findbugs、eslint、checkstyle和sonarqube为代表的代码静态漏洞扫描,可以在软件交付过程中来扫描软件代码中存在的漏洞,提供了详细的漏洞扫描报告;

兼容性测试:以robot作为支撑,提供对不同浏览器的测试运行,检验脚本在不同浏览器的执行结果;

动态安全测试:以appscan、fortify和checkmarx为代表的安全性测试软件,提供了对部署的软件安全漏洞自动化测试,提供了详细的漏洞检查报告。

以上的测试流程和全面的自动化测试方法为企业软件系统保障了质量,提供了更加可靠的软件交付,但是在软件的交付过程、各阶段的测试过程,都需要有更加专业的人员提供软件环境的配置、脚本运行环境的配置、测试结果的管理,这降低了测试的执行效率,亟需提供一种全自动化的、实现了持续交付与自动化测试一体化集成的系统。



技术实现要素:

本发明的目的是提供一种持续交付与自动化测试一体化集成的软件质量保障方法。该方法以自动化的方式集成了持续集成、功能测试、性能测试、代码静态测试、兼容性测试和安全性测试,最大限度的保障了软件开发交付质量。

本发明的目的通过以下技术方案实现:

一种持续交付与自动化测试一体化集成的软件质量保障方法,其特征在于:该方法提供给用户单独定制软件质量检测流水线的功能,流水线由源码配置、静态代码扫描、持续构建、持续部署、功能测试、性能测试、兼容性测试以及动态安全测试组成;具体如下:

1)测试人员从源码配置开始,通过配置源码仓库地址(svn、git)自动下载源代码进行持续构建,通过构建工具集成了findbugs、eslint、checkstyle和sonarqube静态代码扫描;

2)构建完成后,使用docker创建部署环境或者与现有环境进行集成,然后通过qtp、robot、selenium、soapui功能测试软件,进行自动化测试脚本的录制、编辑、运行、测试报告生成和管理;

3)通过loadrunner、jmeter性能测试软件,提供模拟访问并发的方式来执行压力测试,并且提供性能测试脚本的录制、编辑、运行、报告生成和性能测试脚本的管理;

4)通过robot工具,提供对不同浏览器的测试运行,检验脚本在不同浏览器的执行结果,从而进行兼容性的测试和管理;

5)通过appscan、fortify和checkmarx安全性测试软件,提供对部署的软件安全漏洞进行自动化扫描,并且提供详细的安全漏洞检查报告。

本发明通过软件质量检测流水线的配置,为测试人员提供了源代码审计、持续构建、持续部署、功能测试、性能测试、兼容性测试、动态安全测试一体化的集成环境,方便了测试人员执行自动化的测试计划,同时也兼顾了测试人员单独执行各阶段测试的需求,并且为每个测试阶段生成相应的测试报告,提供人工判读和误判规则过滤的功能。

通过使用该软件质量保障体系,测试人员不需要搭建复杂的持续集成与测试环境,可以快速实现一个项目各个维度的自动化测试,或者预定义一条软件质量检测流水线进行自动化测试,并提供整个项目全面的测试结果,大幅度提升了测试效率,降低了测试配置的复杂度。

附图说明

图1是软件质量保障系统的架构图。

具体实施方式

一种持续交付与自动化测试一体化集成的软件质量保障方法,提供给用户单独定制软件质量检测流水线的功能,流水线由源码配置、静态代码扫描、持续构建、持续部署、功能测试、性能测试、兼容性测试以及动态安全测试组成。测试人员从源码配置开始,通过配置源码仓库地址(svn、git)自动下载源代码进行持续构建,通过构建工具集成了findbugs、eslint、checkstyle和sonarqube静态代码扫描;构建完成后,使用docker创建部署环境或者与现有环境进行集成,然后通过qtp、robot、selenium、soapui功能测试软件,进行自动化测试脚本的录制、编辑、运行、测试报告生成和管理;通过loadrunner、jmeter性能测试软件,提供模拟访问并发的方式来执行压力测试,并且提供性能测试脚本的录制、编辑、运行、报告生成和性能测试脚本的管理;通过robot工具,提供对不同浏览器的测试运行,检验脚本在不同浏览器的执行结果,从而进行兼容性的测试和管理;通过appscan、fortify和checkmarx安全性测试软件,提供对部署的软件安全漏洞进行自动化扫描,并且提供详细的安全漏洞检查报告。

该软件质量保障系统的实现需要集成以下现有软件:docker虚拟化软件、jenkins持续集成软件(集成了findbugs插件)、部署软件、qtp、robot、selenium和soapui功能测试软件、loadrunner和jmeter性能测试软件、findbugs、eslint、checkstyle和sonarqube静态代码扫描软件、appscan、fortify和checkmarx安全性测试软件、robotselenium兼容性测试软件。agent:代理程序,实现软件的控制和管理,并暴露远程的restapi。

集成方法描述如下:

docker软件提供了restapi供集成,包括虚拟机创建、虚拟机销毁、镜像相关的api,通过docker的restapi调用,可以实现所需的环境动态创建;

jenkins软件提供了restapi供集成,包括构建项目对应作业的创建、静态代码扫描的触发、构建的触发等api,通过jenkins的restapi调用,可以实现项目的持续集成与自动化部署;

jenkins软件提供了sonarqube插件用于集成,需要配置好sonarqube服务地址以及静态代码扫描命令用于静态代码扫描;

qtp、robot、loadrunner、jmeter等软件提供了命令行或者activex控件的支持,通过命令行可以实现测试的执行,或者通过创建activex控件并调用控件的api实现测试的执行;

集成的软件环境安装一个agent程序,该agent程序用于暴露restapi,实现对软件的控制,从而进行集成。

集成实现持续交付验收的过程描述如下:

用户创建一个项目时,调用docker的api,创建一个jenkins虚拟机,jenkins虚拟机包含了jenkins软件和对应的agent——jenkinsagent;

调用jenkins软件的restapi创建一个自动构建的作业,可以连接到源码配置管理,下载源码进行构建;

调用jenkins软件的restapi构建创建的作业,编译代码并执行findbugs测试,通过jenkinsagent将编译的结果文件从输出目录获取,基于jenkins的部署插件,将编译结果部署到部署环境;

调用docker创建一个robot功能测试虚拟机,该虚拟机包含robot测试环境和对应的agent——robotagent;

调用robotagent的restapi执行测试,robotagent从平台下载测试脚本,然后通过命令行,执行robot测试将测试结果进行解析,将测试的结果数据保存到数据库,将测试的输出报告也打包存储;

调用docker创建一个jmeter性能测试虚拟机,该虚拟机包含jmeter测试环境和对应的agent——jmeteragent;

调用jmeteragent的restapi执行性能测试,jmeteragent从平台下载性能测试脚本,然后通过命令行执行性能测试,对测试的报告进行解析,将解析的测试结果保存到数据库,同时也将测试报告进行打包存储;

qtp安装在单独的windows机器,安装一个对应的agent——qtpagent。运行测试时连接到qtpagent,由qtpagent下载测试脚本运行qtp命令行执行测试,解析测试报告,将解析的测试结果保存到数据库,同时将测试报告进行打包存储;

loadrunner安装在单独的windows机器,安装一个对应的agent——loadrunneragent。运行测试时,连接到loadrunneragent,由loadrunneragent下载测试脚本,运行loadrunner命令行执行测试,解析测试报告,将解析的结果保存到数据库,并打包测试报告进行存储;

appscan安装在单独的windows机器,安装一个对应的agent——appscanagent。运行测试时,连接到appscanagent,由appscanagent下载测试脚本,运行appscan命令行执行测试,解析测试报告,将解析的结果保存到数据库,并打包测试报告进行存储;

fortify安装在单独的windows机器,安装一个对应的agent——fortifyagent。运行测试时,连接到fortifyagent,由fortifyagent连接到配置管理工具下载代码,然后执行fortify命令行扫描下载的代码文件,解析扫描报告,保存到数据库,并将测试报告进行存储;

兼容性测试的robotselenium安装在单独的windows机器,安装一个对应的agent——robotseleniumagent。运行测试时,连接到robotseleniumagent,由robotseleniumagent下载测试脚本,运行robotselenium命令行在ie、chrome、firefox浏览器下运行脚本,判断各个脚本在不同浏览器的执行结果,保存兼容性测试结果和测试报告到数据库。

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