CN107741908A - 一种基于自动化测试的持续集成方法及装置 - Google Patents

一种基于自动化测试的持续集成方法及装置 Download PDF

Info

Publication number
CN107741908A
CN107741908A CN201710948191.8A CN201710948191A CN107741908A CN 107741908 A CN107741908 A CN 107741908A CN 201710948191 A CN201710948191 A CN 201710948191A CN 107741908 A CN107741908 A CN 107741908A
Authority
CN
China
Prior art keywords
code
continuous integrating
automatic test
test
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710948191.8A
Other languages
English (en)
Inventor
王亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710948191.8A priority Critical patent/CN107741908A/zh
Publication of CN107741908A publication Critical patent/CN107741908A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3604Analysis of software for verifying properties of programs
    • G06F11/3612Analysis of software for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种基于自动化测试的持续集成方法,属于自动化测试技术领域,要解决软件开发中存在bug不能及时处理从而降低测试效率的问题,采用技术方案:在版本控制服务器上配置SVN的钩子脚本;开发人员通过SVN提交测试代码,版本控制服务器通过钩子脚本检测到代码已经提交;SVN的钩子脚本触发编译服务器开始工作,完成代码的编译和打包;打包完成后,通知Jenkins持续集成工具的持续集成服务器工作;持续集成服务器通过网络传送的方式取到刚刚编译服务器生成的安装包,并执行安装程序;安装完成后,启动自动化测试,对安装后的产品进行自动化测试并分析出测试结果,由此从测试的源头检测bug,提高测试的效率。本发明还提供一种基于自动化测试的持续集成装置。

Description

一种基于自动化测试的持续集成方法及装置
技术领域
本发明涉及自动化测试技术领域,具体地说是一种基于自动化测试的持续集成方法及装置。
背景技术
软件开发过程中,采用较多的是瀑布式开发模式,即按照需求分析、设计、编码,然后到最后的测试。这种测试的流程往往存在着一定的弊端,有些原本存在的bug,没有在第一时间内进行处理,而是到最后集成测试的时候再去测试和处理bug。这样处理bug的方式比较浪费时间和精力,效率低下。
基于上述测试过程中存在的问题,提出一种基于自动化测试的持续集成方法及装置,实现代码提取,软件打包安装,运行自动化测试,发现bug、代码上传自动化流程。
发明内容
本发明的技术任务是解决现有技术的不足,提供一种基于自动化测试的持续集成方法,以从测试的源头检测bug,提高测试的效率,减少测试bug的时间。
本发明的技术方案是按以下方式实现的:
一种基于自动化测试的持续集成方法,该方法通过Jenkins持续集成工具,判断SVN上的代码提交情况,判断是否启动自动化测试,然后通过自动化测试的情况分析bug和决定代码是否有提交的权限。
该方法的实现过程包括:
1)在版本控制服务器上配置SVN的钩子脚本;
2)开发人员通过SVN提交测试代码,版本控制服务器通过钩子脚本会检测到代码已经提交;
3)SVN的钩子脚本触发编译服务器开始工作,完成代码的编译和打包;
4)打包完成后,通知Jenkins持续集成工具的持续集成服务器工作;
5)持续集成服务器通过网络传送的方式取到刚刚编译服务器生成的安装包,并执行安装程序;
6)安装完成后,启动自动化测试,对安装后的产品进行自动化测试并分析出测试结果。
在步骤3)中,钩子脚本触发编译服务器工作的内容包括:
检出SVN上的代码,调用ANT工具,实现检出代码的编译和打包。
在步骤6)中,自动化测试全部通过时,系统通知提交代码的用户代码提交成功;自动化测试失败时,系统会通知用户代码提交失败,并会告知版本控制服务器取消刚刚用户上传的代码。
在该方法的实现过程中,当有大量的用户提交代码时,每一次提交都会触发一次持续集成的操作,检验新的代码是否对系统产生影响。
在该方法的实现过程中,在同时有多个用户提交代码的时,持续集成服务器会根据提交的先后顺序来逐个的处理持续集成流程。
本发明还提供一种基于自动化测试的持续集成装置,包括:
配置模块,用于将SVN的钩子脚本配置在版本控制服务器上;
提交模块,用于调用SVN完成测试代码的提交;
检测编译模块,用于检测已经提交的代码并完成该代码的编译和打包工作;
执行模块,用于调用Jenkins持续集成工具,并借助Jenkins持续集成工具的持续集成服务器通过网络传送的方式取到刚刚编译服务器生成的安装包执行安装程序;
测试分析模块,用于对安装后的产品进行自动化测试并分析出测试结果。
判断处理模块,用于判断测试结果,在测试结果通过时,用于通知提交代码的用户代码提交成功,在测试结果失败时,用于通知用户并会告知版本控制服务器取消刚刚用户上传的代码。
持续集成装置还包括:
响应模块,在有大量的用户提交代码时,确保每一次提交都会触发一次持续集成的操作。
持续集成装置还包括:
排队模块,在同时有多个用户提交代码的时,持续集成服务器会根据提交的先后顺序来逐个的处理持续集成流程。
本发明的一种基于自动化测试的持续集成方法及装置与现有技术相比所产生的有益效果是:
1)本发明的持续集成方法通过Jenkins持续集成工具,判断svn上的代码提交情况,判断是否启动自动化测试,然后通过自动化测试的情况分析bug和决定代码是否有提交的权限,实现了代码的提取、软件的打包安装、运行的自动化测试、以及发现bug、代码上传自动化流程,由此能从测试的源头检测bug,大大的提高了测试的效率,减少了测试bug的时间;
2)本发明的持续集成装置同样实现了代码的提取、软件的打包安装、运行的自动化测试、以及发现bug、代码上传自动化流程,并实现了一个无人值守的发现bug的机制,从最源头就杜绝了bug产生的机会,提升了测试效率。
附图说明
附图1是本发明的方法流程图;
附图2是本发明的结构连接框图。
附图中的标记分别表示:
1、配置模块,2、提交模块,3、检测编译模块,4、执行模块,
5、测试分析模块,6、判断处理模块,7、响应模块,8、排队模块。
具体实施方式
下面结合附图,对本发明的一种基于自动化测试的持续集成方法及装置作以下详细说明。
实施例一:
如附图1所示,本发明的一种基于自动化测试的持续集成方法,该方法通过Jenkins持续集成工具,判断SVN上的代码提交情况,判断是否启动自动化测试,然后通过自动化测试的情况分析bug和决定代码是否有提交的权限。
该方法的实现过程包括:
S10:在版本控制服务器上配置SVN的钩子脚本;
S20:开发人员通过SVN提交测试代码,版本控制服务器通过钩子脚本会检测到代码已经提交;
S30:SVN的钩子脚本触发编译服务器开始工作,完成代码的编译和打包;
S40:打包完成后,通知Jenkins持续集成工具的持续集成服务器工作;
S50:持续集成服务器通过网络传送的方式取到刚刚编译服务器生成的安装包,并执行安装程序;
S60:安装完成后,启动自动化测试,对安装后的产品进行自动化测试并分析出测试结果。
在步骤S30中,钩子脚本触发编译服务器工作的内容包括:
检出SVN上的代码,调用ANT工具,实现检出代码的编译和打包。
在步骤S60中,自动化测试全部通过时,系统通知提交代码的用户代码提交成功;自动化测试失败时,系统会通知用户代码提交失败,并会告知版本控制服务器取消刚刚用户上传的代码。
在该方法的实现过程中,当有大量的用户提交代码时,每一次提交都会触发一次持续集成的操作,检验新的代码是否对系统产生影响。
在该方法的实现过程中,在同时有多个用户提交代码的时,持续集成服务器会根据提交的先后顺序来逐个的处理持续集成流程。
本发明的持续集成方法完成了自动化持续集成的一个循环流程,这样的持续集成流程杜绝了提交代码过程中引入bug的问题,在前期的每一个环节做好把关,从而大大的提高了测试效率。
本发明的持续集成方法通过Jenkins持续集成工具,判断svn上的代码提交情况,判断是否启动自动化测试,然后通过自动化测试的情况分析bug和决定代码是否有提交的权限,实现了代码的提取、软件的打包安装、运行的自动化测试、以及发现bug、代码上传自动化流程,由此能从测试的源头检测bug,大大的提高了测试的效率,减少了测试bug的时间。
实施例二:
如附图2所示,本发明的一种基于自动化测试的持续集成装置,包括:
配置模块1,用于将SVN的钩子脚本配置在版本控制服务器上;
提交模块2,用于调用SVN完成测试代码的提交;
检测编译模块3,用于检测已经提交的代码并完成该代码的编译和打包工作;
执行模块4,用于调用Jenkins持续集成工具,并借助Jenkins持续集成工具的持续集成服务器通过网络传送的方式取到刚刚编译服务器生成的安装包执行安装程序;
测试分析模块5,用于对安装后的产品进行自动化测试并分析出测试结果。
判断处理模块6,用于判断测试结果,在测试结果通过时,用于通知提交代码的用户代码提交成功,在测试结果失败时,用于通知用户并会告知版本控制服务器取消刚刚用户上传的代码。
持续集成装置还包括:
响应模块7,在有大量的用户提交代码时,确保每一次提交都会触发一次持续集成的操作。
持续集成装置还包括:
排队模块8,在同时有多个用户提交代码的时,持续集成服务器会根据提交的先后顺序来逐个的处理持续集成流程。
本发明的持续集成装置采用了Jenkins持续集成工具对自动化测试的流程进行二次集成,每一次代码提交前都会触发系统进行一次产品的自动化测试过程。与传统的测试相比,本发明的持续集成装置提高了测试的密度,很大程度上优化了测试方式,提高了测试效率,同时,还能在开发初期发现系统bug,减少测试的时间,加快产品的开发效率,并实现了一个无人值守的发现bug的机制。
综上所述,以上内容仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管该具体实施方式部分对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

Claims (9)

1.一种基于自动化测试的持续集成方法,其特征在于,该方法通过Jenkins持续集成工具,判断SVN上的代码提交情况,判断是否启动自动化测试,然后通过自动化测试的情况分析bug和决定代码是否有提交的权限。
2.根据权利要求1所述的一种基于自动化测试的持续集成方法,其特征在于,该方法的实现过程包括:
1)在版本控制服务器上配置SVN的钩子脚本;
2)开发人员通过SVN提交测试代码,版本控制服务器通过钩子脚本会检测到代码已经提交;
3)SVN的钩子脚本触发编译服务器开始工作,完成代码的编译和打包;
4)打包完成后,通知Jenkins持续集成工具的持续集成服务器工作;
5)持续集成服务器通过网络传送的方式取到刚刚编译服务器生成的安装包,并执行安装程序;
6)安装完成后,启动自动化测试,对安装后的产品进行自动化测试并分析出测试结果。
3.根据权利要求2所述的一种基于自动化测试的持续集成方法,其特征在于,在步骤3)中,钩子脚本触发编译服务器工作的内容包括:
检出SVN上的代码,调用ANT工具,实现检出代码的编译和打包。
4.根据权利要求2所述的一种基于自动化测试的持续集成方法,其特征在于,在步骤6)中,自动化测试全部通过时,系统通知提交代码的用户代码提交成功;自动化测试失败时,系统会通知用户代码提交失败,并会告知版本控制服务器取消刚刚用户上传的代码。
5.根据权利要求2所述的一种基于自动化测试的持续集成方法,其特征在于,在该方法的实现过程中,当有大量的用户提交代码时,每一次提交都会触发一次持续集成的操作,检验新的代码是否对系统产生影响。
6.根据权利要求2所述的一种基于自动化测试的持续集成方法,其特征在于,在该方法的实现过程中,在同时有多个用户提交代码的时,持续集成服务器会根据提交的先后顺序来逐个的处理持续集成流程。
7.一种基于自动化测试的持续集成装置,其特征在于,包括:
配置模块,用于将SVN的钩子脚本配置在版本控制服务器上;
提交模块,用于调用SVN完成测试代码的提交;
检测编译模块,用于检测已经提交的代码并完成该代码的编译和打包工作;
执行模块,用于调用Jenkins持续集成工具,并借助Jenkins持续集成工具的持续集成服务器通过网络传送的方式取到刚刚编译服务器生成的安装包执行安装程序;
测试分析模块,用于对安装后的产品进行自动化测试并分析出测试结果;
判断处理模块,用于判断测试结果,在测试结果通过时,用于通知提交代码的用户代码提交成功,在测试结果失败时,用于通知用户并会告知版本控制服务器取消刚刚用户上传的代码。
8.根据权利要求7所述的一种基于自动化测试的持续集成装置,其特征在于,该装置还包括:
响应模块,在有大量的用户提交代码时,确保每一次提交都会触发一次持续集成的操作。
9.根据权利要求7所述的一种基于自动化测试的持续集成装置,其特征在于,该装置还包括:
排队模块,在同时有多个用户提交代码的时,持续集成服务器会根据提交的先后顺序来逐个的处理持续集成流程。
CN201710948191.8A 2017-10-12 2017-10-12 一种基于自动化测试的持续集成方法及装置 Pending CN107741908A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710948191.8A CN107741908A (zh) 2017-10-12 2017-10-12 一种基于自动化测试的持续集成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710948191.8A CN107741908A (zh) 2017-10-12 2017-10-12 一种基于自动化测试的持续集成方法及装置

Publications (1)

Publication Number Publication Date
CN107741908A true CN107741908A (zh) 2018-02-27

Family

ID=61237395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710948191.8A Pending CN107741908A (zh) 2017-10-12 2017-10-12 一种基于自动化测试的持续集成方法及装置

Country Status (1)

Country Link
CN (1) CN107741908A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491210A (zh) * 2018-03-27 2018-09-04 无锡华云数据技术服务有限公司 代码持续集成方法、装置、系统及服务器
CN108509346A (zh) * 2018-04-13 2018-09-07 郑州云海信息技术有限公司 一种双系统bios持续集成平台及方法
CN108519951A (zh) * 2018-04-13 2018-09-11 郑州云海信息技术有限公司 一种三节点bios持续集成平台及方法
CN108536558A (zh) * 2018-04-13 2018-09-14 郑州云海信息技术有限公司 一种bios持续集成平台及方法
CN109408391A (zh) * 2018-11-06 2019-03-01 北京京航计算通讯研究所 基于持续集成技术的软件集成测试系统
CN109542769A (zh) * 2018-10-25 2019-03-29 武汉精立电子技术有限公司 一种持续集成的自动化测试方法
CN109753287A (zh) * 2018-12-29 2019-05-14 航天信息股份有限公司 一种svn代码双重检验的方法及系统
CN109766258A (zh) * 2018-11-30 2019-05-17 北京奇艺世纪科技有限公司 一种性能测试方法、装置及计算机可读存储介质
CN111858330A (zh) * 2020-07-16 2020-10-30 苏州浪潮智能科技有限公司 一种测试脚本的部署方法、装置、设备及可读介质
CN113534764A (zh) * 2020-04-16 2021-10-22 广州汽车集团股份有限公司 一种电动汽车整车控制器持续集成测试方法及系统
CN113934640A (zh) * 2021-11-10 2022-01-14 合众新能源汽车有限公司 一种软件自动化测试的方法和系统
CN117573235A (zh) * 2024-01-17 2024-02-20 山东浪潮数据库技术有限公司 一种持续集成构建配置管理方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150106790A1 (en) * 2013-10-15 2015-04-16 International Business Machines Corporation Detecting merge conflicts and compilation errors in a collaborative integrated development environment
CN105138386A (zh) * 2015-08-26 2015-12-09 浪潮集团有限公司 基于Jenkins与vManager的逻辑设计验证持续集成平台
CN105550001A (zh) * 2015-12-24 2016-05-04 厦门市美亚柏科信息股份有限公司 分布式自动构建方法及系统
CN105608012A (zh) * 2016-03-10 2016-05-25 武汉斗鱼网络科技有限公司 一种自动化测试方法及系统
CN106293811A (zh) * 2016-07-28 2017-01-04 北京中电普华信息技术有限公司 一种自动打包发布方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150106790A1 (en) * 2013-10-15 2015-04-16 International Business Machines Corporation Detecting merge conflicts and compilation errors in a collaborative integrated development environment
CN105138386A (zh) * 2015-08-26 2015-12-09 浪潮集团有限公司 基于Jenkins与vManager的逻辑设计验证持续集成平台
CN105550001A (zh) * 2015-12-24 2016-05-04 厦门市美亚柏科信息股份有限公司 分布式自动构建方法及系统
CN105608012A (zh) * 2016-03-10 2016-05-25 武汉斗鱼网络科技有限公司 一种自动化测试方法及系统
CN106293811A (zh) * 2016-07-28 2017-01-04 北京中电普华信息技术有限公司 一种自动打包发布方法及装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491210A (zh) * 2018-03-27 2018-09-04 无锡华云数据技术服务有限公司 代码持续集成方法、装置、系统及服务器
CN108509346B (zh) * 2018-04-13 2021-10-22 郑州云海信息技术有限公司 一种双系统bios持续集成平台及方法
CN108519951A (zh) * 2018-04-13 2018-09-11 郑州云海信息技术有限公司 一种三节点bios持续集成平台及方法
CN108536558A (zh) * 2018-04-13 2018-09-14 郑州云海信息技术有限公司 一种bios持续集成平台及方法
CN108509346A (zh) * 2018-04-13 2018-09-07 郑州云海信息技术有限公司 一种双系统bios持续集成平台及方法
CN109542769A (zh) * 2018-10-25 2019-03-29 武汉精立电子技术有限公司 一种持续集成的自动化测试方法
CN109408391A (zh) * 2018-11-06 2019-03-01 北京京航计算通讯研究所 基于持续集成技术的软件集成测试系统
CN109766258A (zh) * 2018-11-30 2019-05-17 北京奇艺世纪科技有限公司 一种性能测试方法、装置及计算机可读存储介质
CN109753287A (zh) * 2018-12-29 2019-05-14 航天信息股份有限公司 一种svn代码双重检验的方法及系统
CN113534764A (zh) * 2020-04-16 2021-10-22 广州汽车集团股份有限公司 一种电动汽车整车控制器持续集成测试方法及系统
CN111858330A (zh) * 2020-07-16 2020-10-30 苏州浪潮智能科技有限公司 一种测试脚本的部署方法、装置、设备及可读介质
CN111858330B (zh) * 2020-07-16 2023-01-06 苏州浪潮智能科技有限公司 一种测试脚本的部署方法、装置、设备及可读介质
CN113934640A (zh) * 2021-11-10 2022-01-14 合众新能源汽车有限公司 一种软件自动化测试的方法和系统
CN117573235A (zh) * 2024-01-17 2024-02-20 山东浪潮数据库技术有限公司 一种持续集成构建配置管理方法

Similar Documents

Publication Publication Date Title
CN107741908A (zh) 一种基于自动化测试的持续集成方法及装置
CN103312850B (zh) 一种手机自动化测试系统及工作方法
CN109885499B (zh) 一种机器人自动化测试系统及测试方法
US8738967B2 (en) System and method for grammar based test planning
US8898647B2 (en) Method and apparatus for test coverage analysis
CN109101680B (zh) 基于GitLab-CI的FPGA原型自动验证方法及系统
CN112025766B (zh) 一种机器人系统健康自检的方法、装置以及电子设备
CN107329889B (zh) 一种c编译器自动化测试的方法
CN107678971B (zh) 代码味道驱动的基于克隆和耦合检测的代码缺陷预测方法
CN106445803A (zh) 一种安全关键嵌入式软件目标码覆盖率分析方法
CN104699617A (zh) 一种游戏用自动化测试方法
CN106933572B (zh) 一种基于llvm中间表示程序切片的度量模型
CN106855844B (zh) 一种性能测试方法和系统
CN106526367A (zh) 一种电子设备测试方法及装置
CN103218277A (zh) 服务器环境的自动检测方法与装置
CN113064618A (zh) 一种模拟新能源车辆符合性检测的系统及方法
CN110955605A (zh) 一种cpu验证单步动态执行的方法
CN115934559A (zh) 表单智能测试系统的测试方法
Singhal et al. A critical review of various testing techniques in aspect-oriented software systems
CN114116466B (zh) 一种基于操作日志的单元测试方法、装置及介质
CN113591909B (zh) 电力系统的异常检测方法、异常检测装置以及存储介质
CN111459803B (zh) 一种信息处理方法、装置、电子设备和存储介质
CN112416807A (zh) 一种测试用例结果分析及关联的系统及方法
CN112416666B (zh) 自检随机测试方法及随机循环测试装置
Shahrokni et al. Robustest: Towards a framework for automated testing of robustness in software

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180227

RJ01 Rejection of invention patent application after publication