CN105320599A - 一种web自动化测试的系统及方法 - Google Patents
一种web自动化测试的系统及方法 Download PDFInfo
- Publication number
- CN105320599A CN105320599A CN201510843902.6A CN201510843902A CN105320599A CN 105320599 A CN105320599 A CN 105320599A CN 201510843902 A CN201510843902 A CN 201510843902A CN 105320599 A CN105320599 A CN 105320599A
- Authority
- CN
- China
- Prior art keywords
- test
- automatic test
- node
- web
- automatic
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种web自动化测试的系统及方法,包括源代码管理模块、持续集成模块、自动化测试控制面板和分布式运行系统;所述源代码管理模块用于管理由自动化测试人员提供的源代码;所述持续集成模块用于将构建的测试代码部署到所有的从节点上,以控制自动化测试的执行;所述自动化测试控制面板用于展示测试的运行状态和结果,以及触发所述持续集成模块;所述分布式运行系统用于运行若干个执行自动化测试的从节点。本发明的web自动化测试的系统及方法包括测试代码的持续集成、开发,执行;减少了后期自动化测试人员的人为干预,降低里自动化测试的成本;增强了web自动化测试的适用性。
Description
技术领域
本发明涉及自动化测试的技术领域,特别是涉及一种web自动化测试的系统及方法。
背景技术
现有技术中,web测试一般采用的方式是:针对待测试的web项目页面,在web项目页面的代码中打好标记,再以编码方式定义测试逻辑,最后完成自动化测试。
因此,现有的web自动化测试方法具有以下不足:
(1)测试逻辑使用代码编写,仅开发人员可读,他人难以理解;
(2)需要在原web项目页面的代码中插入标记代码,可能会影响原web项目页面的功能或性能;
(3)需要有编码能力的测试人员较早介入开发过程,并需要开发人员提供相应的配合方才能实现,技术门槛高;
(4)由于业务需求变更频繁,导致测试逻辑代码同步变更的复杂度高;
(5)需要为每个web项目页面单独编写测试逻辑的代码,代码难以重复使用。
也就是说,现有的web自动化测试仅仅是针对web页面的元素实现自动化,具有一定的局限性。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种web自动化测试的系统及方法,包括测试代码的持续集成、分发、执行等,减少了后期自动化测试人员的人为干预,使得web自动化测试具有更加广泛的应用领域。
为实现上述目的及其他相关目的,本发明提供一种web自动化测试的系统,包括源代码管理模块、持续集成模块、自动化测试控制面板和分布式运行系统;所述源代码管理模块用于管理由自动化测试人员提供的源代码;所述持续集成模块用于将构建的测试代码部署到所有的从节点上,以控制自动化测试的执行;所述自动化测试控制面板用于展示测试的运行状态和结果,以及触发所述持续集成模块;所述分布式运行系统用于运行若干个执行自动化测试的从节点。
根据上述的web自动化测试的系统,其中:所述源代码管理模块通过采用git服务器来实现。
根据上述的web自动化测试的系统,其中:所述持续集成模块采用Jenkins来实现。
根据上述的web自动化测试的系统,其中:所述持续集成模块的处理流程如下:
1)从源代码管理模块上获取并构建测试代码;
2)将构建的测试代码部署到所有的从节点上;
3)启动或停止所有从节点上的自动化服务节点,从而控制自动化测试的执行。
根据上述的web自动化测试的系统,其中:所述自动化测试控制面板展示的测试结果包括发生错误的测试用例、出错时间、错误信息、代码回溯以及出错时的截图。
同时,本发明还提供一种web自动化测试的方法,包括
1)通过源代码管理模块管理由自动化测试人员提供的源代码;
2)通过持续集成模块将构建的测试代码部署到所有的从节点上,以控制自动化测试的执行;
3)通过自动化测试控制面板展示测试的运行状态和结果,以及触发持续集成模块;
4)通过分布式运行系统运行若干个执行自动化测试的从节点。
根据上述的web自动化测试的方法,其中:所述源代码管理模块通过采用git服务器来实现。
根据上述的web自动化测试的方法,其中:所述持续集成模块采用Jenkins来实现。
根据上述的web自动化测试的方法,其中:所述持续集成模块的处理流程如下:
1)从源代码管理模块上获取并构建测试代码;
2)将构建的测试代码部署到所有的从节点上;
3)启动或停止所有从节点上的自动化服务节点,从而控制自动化测试的执行。
根据上述的web自动化测试的方法,其中:所述自动化测试控制面板展示的测试结果包括发生错误的测试用例、出错时间、错误信息、代码回溯以及出错时的截图。
如上所述,本发明的web自动化测试的系统及方法,具有以下有益效果:
(1)包括测试代码的持续集成、开发,执行;
(2)减少了后期自动化测试人员的人为干预,降低里自动化测试的成本;
(3)增强了web自动化测试的适用性。
附图说明
图1显示为本发明的web自动化测试的系统的结构示意图。
元件标号说明
1源代码管理模块
2持续集成模块
3自动化测试控制面板
4分布式运行系统
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的web自动化测试的系统及方法在进行web自动化测试时,绝大多数操作都是在系统内部循环运作,所需的人为干涉很少。自动化测试人员只需要提交代码,查看分析运行结果即可。
本发明的web自动化测试的系统及方法通过源代码管理模块管理由自动化测试人员提供的源代码;通过持续集成模块将构建的测试代码部署到所有的从节点上,以控制自动化测试的执行;通过自动化测试控制面板展示测试的运行状态和结果,以及触发持续集成模块;通过分布式运行系统用于运行若干个从节点。
参照图1,本发明的web自动化测试的系统包括源代码管理模块1、持续集成模块2、自动化测试控制面板3和分布式运行系统4。
源代码管理模块1(SourceCodeManagement,SCM)用于管理由自动化测试人员提供的源代码。
优选地,在本发明中,源代码管理模块通过采用git服务器来实现。
持续集成模块2(continuousintegration,CI)与源代码管理模块相连,用于将构建的测试代码部署到所有的从节点(slave节点)上,以控制自动化测试的执行。其中,从节点用于执行自动化测试。
优选地,在本发明中,持续集成模块采用部署方便、插件丰富的Jenkins来实现。Jenkins是基于java开发的一种持续集成工具,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
持续集成模块2的具体处理流程如下:
(1)从源代码管理模块上获取并构建测试代码;
(2)将构建的测试代码部署到所有的从节点上;
(3)启动或停止所有从节点上的自动化服务(AutomationService),从而控制自动化测试的执行。
自动化测试控制面板3(AutomationDashboard)与持续集成模块2相连,用于展示测试的运行状态和结果,以及触发持续集成模块。
具体地,自动化测试控制面板的主要功能如下:
(1)展示测试的运行状况
自动化测试控制面板能够展示有多少测试正在运行/执行完毕,分别在哪台从节点上执行等等。
(2)触发持续集成模块
具体地,自动化测试控制面板通过调用Jenkins的API来触发Jenkins,从而间接控制自动化测试的执行。
(3)展示测试的结果
自动化测试控制面板用于展示发生错误的测试用例、出错时间、错误信息、代码回溯(stacktrace)、甚至可以包含一张出错时的截图。
分布式运行系统4(Distributedrunningsystem)与持续集成模块2和自动化测试控制面板3相连,用于运行若干个执行自动化测试的从节点。
每一个从节点包含两部分,自动化服务节点(AutomationService节点)和Jenkins从服务节点(JenkinsSlaveService节点)。其中自动化服务节点用于部署自动化服务,Jenkins控制自动化服务的启动与停止,从而控制测试执行。自动化测试控制面板将测试用例下发到从节点执行,而自动化服务节点将测试用例执行的结果分析上传到自动化测试控制面板。而Jenkins从服务节点用于控制自动化测试的执行。Jenkins从服务节点则是通过Jenkins部署到每一台PC,系统可以是windows,也可以是linux。
通过采用本发明的web自动化测试的系统,能够达到以下的技术效果:
(1)产品的管理者能够从自动化回归测试知道这次发布有无推迟风险;
(2)团队的管理者能够从自动化的日回退/周回退知道最近的代码质量如何;
(3)开发人员能够通过快速回退知道自己刚提交的代码有没有破坏系统的基本功能;
(4)对于自动化测试技术人员,无需深究自动化测试的内部机制,只需根据输入的测试代码查看分析运行结果即可。
本发明的web自动化测试的方法包括以下内容:
1)通过源代码管理模块(SourceCodeManagement,SCM)管理由自动化测试人员提供的源代码。
优选地,在本发明中,源代码管理模块通过采用git服务器来实现。
2)通过持续集成模块(continuousintegration,CI)将构建的测试代码部署到所有的从节点上,以控制自动化测试的执行。
优选地,在本发明中,持续集成模块采用部署方便、插件丰富的Jenkins来实现。Jenkins是基于java开发的一种持续集成工具,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
持续集成模块的具体处理流程如下:
(1)从源代码管理模块上获取并构建测试代码;
(2)将构建的测试代码部署到所有的从节点上;
(3)启动或停止所有从节点上的自动化服务节点,从而控制自动化测试的执行。
3)通过自动化测试控制面板展示测试的运行状态和结果,以及触发持续集成模块。
具体地,自动化测试控制面板的主要功能如下:
(1)展示测试的运行状况
自动化测试控制面板能够展示有多少测试正在运行/执行完毕,分别在哪台从节点上执行等等。
(2)触发持续集成模块
具体地,自动化测试控制面板通过调用Jenkins的API来触发Jenkins,从而间接控制自动化测试的执行。
(3)展示测试的结果
自动化测试控制面板用于展示发生错误的测试用例、出错时间、错误信息、代码回溯(stacktrace)、甚至可以包含一张出错时的截图。
4)通过分布式运行系统运行若干个执行自动化测试的从节点。
每一个从节点包含两部分,自动化服务节点和Jenkins从服务节点。其中自动化服务节点用于部署自动化服务,Jenkins控制自动化服务的启动与停止,从而控制测试执行。自动化测试控制面板将测试用例下发到从节点执行,而自动化服务节点将测试用例执行的结果分析上传到自动化测试控制面板。而Jenkins从服务节点用于控制自动化测试的执行。Jenkins从服务节点则是通过Jenkins部署到每一台PC,系统可以是windows,也可以是linux。
综上所述,本发明的web自动化测试的系统及方法包括测试代码的持续集成、开发,执行;减少了后期自动化测试人员的人为干预,降低里自动化测试的成本;增强了web自动化测试的适用性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种web自动化测试的系统,其特征在于:包括源代码管理模块、持续集成模块、自动化测试控制面板和分布式运行系统;
所述源代码管理模块用于管理由自动化测试人员提供的源代码;
所述持续集成模块用于将构建的测试代码部署到所有的从节点上,以控制自动化测试的执行;
所述自动化测试控制面板用于展示测试的运行状态和结果,以及触发所述持续集成模块;
所述分布式运行系统用于运行若干个执行自动化测试的从节点。
2.根据权利要求1所述的web自动化测试的系统,其特征在于:所述源代码管理模块通过采用git服务器来实现。
3.根据权利要求1所述的web自动化测试的系统,其特征在于:所述持续集成模块采用Jenkins来实现。
4.根据权利要求1所述的web自动化测试的系统,其特征在于:所述持续集成模块的处理流程如下:
1)从源代码管理模块上获取并构建测试代码;
2)将构建的测试代码部署到所有的从节点上;
3)启动或停止所有从节点上的自动化服务节点,从而控制自动化测试的执行。
5.根据权利要求1所述的web自动化测试的系统,其特征在于:所述自动化测试控制面板展示的测试结果包括发生错误的测试用例、出错时间、错误信息、代码回溯以及出错时的截图。
6.一种web自动化测试的方法,其特征在于:包括
1)通过源代码管理模块管理由自动化测试人员提供的源代码;
2)通过持续集成模块将构建的测试代码部署到所有的从节点上,以控制自动化测试的执行;
3)通过自动化测试控制面板展示测试的运行状态和结果,以及触发持续集成模块;
4)通过分布式运行系统运行若干个执行自动化测试的从节点。
7.根据权利要求6所述的web自动化测试的方法,其特征在于:所述源代码管理模块通过采用git服务器来实现。
8.根据权利要求6所述的web自动化测试的方法,其特征在于:所述持续集成模块采用Jenkins来实现。
9.根据权利要求6所述的web自动化测试的方法,其特征在于:所述持续集成模块的处理流程如下:
1)从源代码管理模块上获取并构建测试代码;
2)将构建的测试代码部署到所有的从节点上;
3)启动或停止所有从节点上的自动化服务节点,从而控制自动化测试的执行。
10.根据权利要求6所述的web自动化测试的方法,其特征在于:所述自动化测试控制面板展示的测试结果包括发生错误的测试用例、出错时间、错误信息、代码回溯以及出错时的截图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510843902.6A CN105320599A (zh) | 2015-11-26 | 2015-11-26 | 一种web自动化测试的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510843902.6A CN105320599A (zh) | 2015-11-26 | 2015-11-26 | 一种web自动化测试的系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105320599A true CN105320599A (zh) | 2016-02-10 |
Family
ID=55248017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510843902.6A Pending CN105320599A (zh) | 2015-11-26 | 2015-11-26 | 一种web自动化测试的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105320599A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955749A (zh) * | 2016-05-10 | 2016-09-21 | 北京启明星辰信息安全技术有限公司 | 软件项目的持续集成方法和装置 |
CN107315689A (zh) * | 2017-07-04 | 2017-11-03 | 上海爱数信息技术股份有限公司 | 基于Git代码文件检索粒度的自动化回归测试方法 |
CN107608760A (zh) * | 2017-09-14 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种kvm虚拟机部署方法、系统及计算机可读存储介质 |
CN107608886A (zh) * | 2017-09-14 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种自动报录软件缺陷的方法及系统 |
CN107678773A (zh) * | 2017-09-28 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种基于git的代码开发与测试流程管理方法 |
CN107797919A (zh) * | 2017-07-24 | 2018-03-13 | 平安普惠企业管理有限公司 | 一种自动化测试的方法及计算设备 |
CN108519952A (zh) * | 2018-04-13 | 2018-09-11 | 南京新贝金服科技有限公司 | 一种分布式的web自动化测试系统及方法 |
CN109408392A (zh) * | 2018-11-06 | 2019-03-01 | 北京京航计算通讯研究所 | 基于持续集成技术的软件集成测试方法 |
CN109408357A (zh) * | 2017-12-04 | 2019-03-01 | 深圳市珍爱网信息技术有限公司 | 一种接口自动化测试方法及装置 |
CN110851356A (zh) * | 2019-10-30 | 2020-02-28 | 河海大学 | 一种基于Selenium的Web应用自动化测试框架及其构建方法、系统 |
CN112631909A (zh) * | 2020-12-22 | 2021-04-09 | 上海冠凯软件技术有限公司 | 一种基于互联网的代码检查工具用数据处理服务器 |
CN107463362B (zh) * | 2016-06-03 | 2021-08-03 | 北京京东尚科信息技术有限公司 | 基于多个Jenkins的持续部署的方法和系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336688A (zh) * | 2013-06-20 | 2013-10-02 | 中标软件有限公司 | 面向云计算软件研发过程中的软件集成方法及系统 |
CN104461743A (zh) * | 2014-12-17 | 2015-03-25 | 用友软件股份有限公司 | 资源和配置的自动生成装置和方法 |
CN104794048A (zh) * | 2014-01-17 | 2015-07-22 | 阿里巴巴集团控股有限公司 | 一种ui自动化测试方法和系统 |
US20150212932A1 (en) * | 2010-10-06 | 2015-07-30 | International Business Machines Corporation | Asynchronous code testing |
CN105045710A (zh) * | 2015-06-30 | 2015-11-11 | 吉林大学 | 一种云计算环境下的自动化测试数据生成方法 |
CN105095089A (zh) * | 2015-09-14 | 2015-11-25 | 北京金山安全软件有限公司 | 一种测试应用软件性能的方法及装置 |
-
2015
- 2015-11-26 CN CN201510843902.6A patent/CN105320599A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150212932A1 (en) * | 2010-10-06 | 2015-07-30 | International Business Machines Corporation | Asynchronous code testing |
CN103336688A (zh) * | 2013-06-20 | 2013-10-02 | 中标软件有限公司 | 面向云计算软件研发过程中的软件集成方法及系统 |
CN104794048A (zh) * | 2014-01-17 | 2015-07-22 | 阿里巴巴集团控股有限公司 | 一种ui自动化测试方法和系统 |
CN104461743A (zh) * | 2014-12-17 | 2015-03-25 | 用友软件股份有限公司 | 资源和配置的自动生成装置和方法 |
CN105045710A (zh) * | 2015-06-30 | 2015-11-11 | 吉林大学 | 一种云计算环境下的自动化测试数据生成方法 |
CN105095089A (zh) * | 2015-09-14 | 2015-11-25 | 北京金山安全软件有限公司 | 一种测试应用软件性能的方法及装置 |
Non-Patent Citations (2)
Title |
---|
李真辉 等: "基于CI的Web自动化测试平台设计", 《科技导报》 * |
王焱 等: "基于持续集成的Android自动化测试", 《计算机系统应用》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105955749A (zh) * | 2016-05-10 | 2016-09-21 | 北京启明星辰信息安全技术有限公司 | 软件项目的持续集成方法和装置 |
CN107463362B (zh) * | 2016-06-03 | 2021-08-03 | 北京京东尚科信息技术有限公司 | 基于多个Jenkins的持续部署的方法和系统 |
CN107315689A (zh) * | 2017-07-04 | 2017-11-03 | 上海爱数信息技术股份有限公司 | 基于Git代码文件检索粒度的自动化回归测试方法 |
CN107797919A (zh) * | 2017-07-24 | 2018-03-13 | 平安普惠企业管理有限公司 | 一种自动化测试的方法及计算设备 |
CN107608760A (zh) * | 2017-09-14 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种kvm虚拟机部署方法、系统及计算机可读存储介质 |
CN107608886A (zh) * | 2017-09-14 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种自动报录软件缺陷的方法及系统 |
CN107678773A (zh) * | 2017-09-28 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种基于git的代码开发与测试流程管理方法 |
CN109408357A (zh) * | 2017-12-04 | 2019-03-01 | 深圳市珍爱网信息技术有限公司 | 一种接口自动化测试方法及装置 |
CN108519952A (zh) * | 2018-04-13 | 2018-09-11 | 南京新贝金服科技有限公司 | 一种分布式的web自动化测试系统及方法 |
CN108519952B (zh) * | 2018-04-13 | 2019-05-17 | 南京新贝金服科技有限公司 | 一种分布式的web自动化测试系统及方法 |
CN109408392A (zh) * | 2018-11-06 | 2019-03-01 | 北京京航计算通讯研究所 | 基于持续集成技术的软件集成测试方法 |
CN110851356A (zh) * | 2019-10-30 | 2020-02-28 | 河海大学 | 一种基于Selenium的Web应用自动化测试框架及其构建方法、系统 |
CN112631909A (zh) * | 2020-12-22 | 2021-04-09 | 上海冠凯软件技术有限公司 | 一种基于互联网的代码检查工具用数据处理服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105320599A (zh) | 一种web自动化测试的系统及方法 | |
CN110795219B (zh) | 适用于多种计算框架的资源调度方法及系统 | |
KR101132560B1 (ko) | 로봇 소프트웨어 컴포넌트를 위한 시뮬레이션 기반 인터페이스 테스팅 자동화 시스템 및 그 방법 | |
US10289535B2 (en) | Software testing integration | |
CN109726132A (zh) | 一种软件测试方法及软件测试自动化管理系统 | |
CN106201878B (zh) | 测试程序的执行方法和装置 | |
US9703687B2 (en) | Monitor usable with continuous deployment | |
CN106446412B (zh) | 一种航空电子系统基于模型的测试方法 | |
US20140331202A1 (en) | Software Analysis Program and Software Analysis System | |
CN100353327C (zh) | 通过由测试集组成的测试环境来实现产品自动测试的方法 | |
CN103389939B (zh) | 一种针对堆可控分配漏洞的检测方法及系统 | |
EP3151122A1 (en) | Method and apparatus for generating a fault tree | |
CN111124927B (zh) | 一种多分区机载软件的测试方法 | |
CN105630563A (zh) | 基于xml的继电保护装置规约的动态模型配置方法 | |
CN112306880A (zh) | 测试方法、装置、电子设备和计算机可读存储介质 | |
CN114818565A (zh) | 基于python的仿真环境管理平台、方法、设备及介质 | |
KR20090099977A (ko) | 예약된 컴포넌트 컨테이너 기반 소프트웨어 개발 방법 및장치 | |
CN105446752A (zh) | 应用程序中控件的触发方法、装置及移动终端 | |
Gambi et al. | Poster: Improving cloud-based continuous integration environments | |
CN106649106A (zh) | 一种测试用例的生成方法及装置 | |
KR20140084698A (ko) | 철강 공정용 소프트웨어 자동 테스트 시스템 | |
Dubey | Towards adopting ODC in automation application development projects | |
CN109144849A (zh) | 一种嵌入式软件调测方法 | |
Doornbos et al. | A domain model-centric approach for the development of large-scale office lighting systems | |
CN103678066A (zh) | 测试信号集的测试方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160210 |
|
RJ01 | Rejection of invention patent application after publication |