CN111061641B - 自动测试方法及系统 - Google Patents
自动测试方法及系统 Download PDFInfo
- Publication number
- CN111061641B CN111061641B CN201911316822.XA CN201911316822A CN111061641B CN 111061641 B CN111061641 B CN 111061641B CN 201911316822 A CN201911316822 A CN 201911316822A CN 111061641 B CN111061641 B CN 111061641B
- Authority
- CN
- China
- Prior art keywords
- test
- automatic test
- automatic
- environment
- test environment
- 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.)
- Active
Links
- 238000010998 test method Methods 0.000 title claims abstract description 15
- 238000012360 testing method Methods 0.000 claims abstract description 146
- 238000013515 script Methods 0.000 claims abstract description 31
- 238000013521 GUI testing Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 abstract description 11
- 238000009826 distribution Methods 0.000 abstract description 4
- 238000000034 method Methods 0.000 abstract description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000000306 component Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000000275 quality assurance Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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)
- Test And Diagnosis Of Digital Computers (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种自动测试方法及系统。所述方法包括:由docker仓库拉取测试环境数据;对拉取到的测试环境数据进行重新编译,以构建自动测试的测试环境;读取测试配置文件以及自动测试脚本;根据读取的结果,运行自动测试。本发明提供的自动测试方法及系统能够解决测试环境的版本管理以及保存分发的难题。
Description
技术领域
本发明涉及软件测试技术领域,特别是涉及一种自动测试方法及系统。
背景技术
在存储行业中,软件测试是质量保障体系中不可缺少的一环,随着软件自动化测试技术的进展,测试系统所依赖的第三方库以及中间件越来越多,当需要使用一套完备的测试系统时,首先需要保障所依赖的各种软件,以及软件的版本都需要与测试系统的要求保持一致,否则就会出现各种问题。随着时间的流逝,可能会遇到某些软件版本已经丢失的情况,从而导致整个测试系统无法使用。因此,使用docker技术连通测试环境打包分发,成为了一种新的解决方案。
现有的存储自动化测试方案,主要是测试人员通过在一台常用的服务器上安装各种所需的编译环境,构建出整个自动化测试系统,每当遇到新增第三方依赖时,则需要手动从互联网上下载编译;当自动化测试用例编写完成后,测试人员则需要手动执行测试命令,开始整个自动化测试。
在一台服务器上安装编译所需的测试环境,难以管理此环境所使用的各种依赖的版本,当希望在一台全新的服务器搭建测试环境需要一系列的操作迁移安装测试所需的依赖库,如果该服务器意外损坏,可能会因为无法找到相应的依赖版本导致整个测试环境构建失败。
常规的测试脚本管理方案,只能管理测试脚本的版本而不能管理测试环境的版本,一个常见的问题是,随着版本的升级,测试脚本为了优化可能升级或者降级了某个第三方依赖,当后续工作需要回退测试用例的时候,由于没有管理测试环境,会导致测试系统的启动失败或测试结果异常。对应常见的自动化测试,一些关键的数据经常需要变动,并且由于后期引用关键数据的脚本增多,频繁修改脚本数据必然导致维护困难,也会增加人为疏忽导致的测试失败情况。
发明内容
本发明要解决的技术问题是提供一种自动测试方法及系统,能够解决测试环境的版本管理以及保存分发的难题。
为解决上述技术问题,本发明提供了一种自动测试方法,所述方法包括:由docker仓库拉取测试环境数据;对拉取到的测试环境数据进行重新编译,以构建自动测试的测试环境;读取测试配置文件以及自动测试脚本;根据读取的结果,运行自动测试。
在一些实施方式中,docker仓库用于管理测试环境数据的docker镜像的版本。
在一些实施方式中,由docker仓库拉取测试环境数据,包括:通过版本管理引擎,由docker仓库拉取测试环境数据。
在一些实施方式中,docker镜像封装有该版本构建时的所有库、依赖以及对应的测试脚本。
在一些实施方式中,读取测试配置文件以及自动测试脚本,包括:通过测试引擎读取测试配置文件以及自动测试脚本。
在一些实施方式中,所述自动测试包括:GUI测试、接口测试、其他测试。
在一些实施方式中,还包括:在对拉取到的测试环境数据进行重新编译,以构建自动测试的测试环境之后,将重新编译后的测试环境数据上传至docker仓库。
此外,本发明还提供了一种自动测试系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的自动测试方法。
采用这样的设计后,本发明至少具有以下优点:
1、通过docker技术将测试环境与测试脚本统一封装在一起,解决了测试系统部署时的环境不一致难题;
2、通过读取配置自动构建存储环境的方案,避免了测试人员手动编写不同的测试脚本,只需简单修改配置就可以快速构建出测试所需的存储环境。
附图说明
上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
图1是本发明实施例提供的自动测试方法的流程图;
图2是本发明实施例提供的自动测试方法的流程示意图;
图3是本发明实施例提供的自动测试系统的结构图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明为一种本程序主要核心包括四个部分,版本管理仓库、版本管理引擎、配置文件以及测试脚本、测试引擎。
版本管理仓库以及版本管理引擎用于封装和拉取测试环境以及对应的测试脚本。当测试脚本添加了新的功能或者依赖的第三方库进行了升级,可以将当前的环境构建为docker镜像,并添加版本标签,比如1.2.1,然后推送到版本管理仓库中。当希望拉取某一版本的镜像时,只需要执行一条命令就可以将此版本的环境以及脚本一同拉取到本地,并可以立即进行测试。
配置文件以及相应的测试脚本是用于自动化测试的核心组成部分,测试人员通过编写特定的自动化测试脚本或者修改配置文件的相关内容,进行自动化存储系统的测试。随着脚本的增加,对应功能的覆盖点也逐渐增多。
测试引擎用于读取配置文件和测试脚本,并根据测试人员的命令执行相应的自动化测试脚本,比如GUI测试以及接口测试,并根据测试的结果自动化生成测试报告以供测试人员分析。本发明提供的自动测试方法又被称为:基于docker容器的环境分发与存储测试的方法。
图1示出了本发明实施例提供的自动测试方法的流程。参见图1,程序启动后,首先会由测试人员选择相应的测试版本,之后进入测试环境,该环境封装了该版本构建时的所有库和依赖以及对应的测试脚本。同时,程序对测试人员提供了所需的CLI接口,可以使之轻易的执行需要的测试脚本,当测试人员执行某种测试时,测试程序会首先解析配置文件,然后根据配置文件执行所有的测试脚本并生成测试报告。
参见图2,本发明自动测试方法的执行过程具体包括:
1.执行主程序后,进入版本管理引擎;
2.版本管理引擎有两个功能,一是从docker仓库拉取数据,构建测试测试环境;二是可编辑测试环境,并重新编译后,上传到docker仓库,构建新的测试环境。此步骤中,可以同时部署N套测试环境,且只需一条命令即可;在测试环境更新后,无需手动去更新每一套测试环境,只需一条命令,即可拉取数据,重新部署所有测试环境。这两点极大的减少因测试环境部署而耗费的大量人力,且保障了测试环境的一致性。
3.测试环境构建完成后,测试引擎会自动去读取测试配置文件及测试脚本,进行相应的测试工作,如GUI测试、接口测试等。可根据不同的测试任务及测试环境,编辑测试配置文件和测试脚本,使测试更加灵活。
4.最后主程序会根据测试结果,生产测试报告。
在测试中,需要在服务器上部署多个测试环境,这时只需运行此程序,通过一条命令,便可以从docker仓库中抓取数据来构建多个测试环境,无需手动部署多个测试环境。每个测试环境通过主程序去读取各自测试配置及测试脚本,进行相应的测试任务。
图3示出了本发明自动测试系统的结构图。参见图3,自动测试系统包括:中央处理单元(CPU)301,其可以根据存储在只读存储器(ROM)中的程序或者从存储部分308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有系统操作所需的各种程序和数据。CPU 301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装入存储部分308。
还有,图3示出的自动测试系统又被称为:基于docker容器的环境分发与存储测试的系统。
本发明具有以下的有益效果:
1.通过docker技术将测试环境与测试脚本统一封装在一起,解决了测试系统部署时的环境不一致难题;
2.通过读取配置自动构建存储环境的方案,避免了测试人员手动编写不同的测试脚本,只需简单修改配置就可以快速构建出测试所需的存储环境。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。
Claims (4)
1.一种自动测试方法,其特征在于,包括:
通过版本管理引擎,由docker仓库拉取测试环境数据;其中,docker仓库用于管理测试环境数据的docker镜像的版本;docker镜像封装有该版本构建时的所有库、依赖以及对应的测试脚本;对拉取到的测试环境数据进行重新编译,以构建自动测试的测试环境;
通过测试引擎读取测试配置文件以及自动测试脚本;
根据读取的结果,运行自动测试。
2.根据权利要求1所述的自动测试方法,其特征在于,所述自动测试包括:GUI测试、接口测试。
3.根据权利要求1所述的自动测试方法,其特征在于,还包括:
在对拉取到的测试环境数据进行重新编译,以构建自动测试的测试环境之后,将重新编译后的测试环境数据上传至docker仓库。
4.一种自动测试系统,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至3任意一项所述的自动测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911316822.XA CN111061641B (zh) | 2019-12-19 | 2019-12-19 | 自动测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911316822.XA CN111061641B (zh) | 2019-12-19 | 2019-12-19 | 自动测试方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111061641A CN111061641A (zh) | 2020-04-24 |
CN111061641B true CN111061641B (zh) | 2023-11-03 |
Family
ID=70302423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911316822.XA Active CN111061641B (zh) | 2019-12-19 | 2019-12-19 | 自动测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061641B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224466A (zh) * | 2015-11-17 | 2016-01-06 | 广州亦云信息技术有限公司 | 一种基于Docker的集成测试方法及系统 |
CN105760167A (zh) * | 2016-02-23 | 2016-07-13 | 浪潮软件集团有限公司 | 一种基于Docker的持续集成方法 |
CN106874159A (zh) * | 2016-12-30 | 2017-06-20 | 北京同有飞骥科技股份有限公司 | 一种集群式自动化测试方法 |
CN108549590A (zh) * | 2018-03-15 | 2018-09-18 | 北京雷石天地电子技术有限公司 | 一种ktv本地服务器测试方法和系统 |
CN108733553A (zh) * | 2017-04-18 | 2018-11-02 | 北京嘀嘀无限科技发展有限公司 | 基于docker的测试装置的配置方法、装置和系统 |
CN108763072A (zh) * | 2018-05-18 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种高效的自动化测试环境搭建方法 |
CN108829399A (zh) * | 2018-04-13 | 2018-11-16 | 杭州朗和科技有限公司 | 一种应用的测试方法、测试装置、介质和计算设备 |
CN109710524A (zh) * | 2018-12-19 | 2019-05-03 | 上海华兴数字科技有限公司 | 一种自动测试方法、系统和计算机存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10055339B2 (en) * | 2016-09-28 | 2018-08-21 | Wipro Limited | Methods and systems for testing mobile applications |
-
2019
- 2019-12-19 CN CN201911316822.XA patent/CN111061641B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105224466A (zh) * | 2015-11-17 | 2016-01-06 | 广州亦云信息技术有限公司 | 一种基于Docker的集成测试方法及系统 |
CN105760167A (zh) * | 2016-02-23 | 2016-07-13 | 浪潮软件集团有限公司 | 一种基于Docker的持续集成方法 |
CN106874159A (zh) * | 2016-12-30 | 2017-06-20 | 北京同有飞骥科技股份有限公司 | 一种集群式自动化测试方法 |
CN108733553A (zh) * | 2017-04-18 | 2018-11-02 | 北京嘀嘀无限科技发展有限公司 | 基于docker的测试装置的配置方法、装置和系统 |
CN108549590A (zh) * | 2018-03-15 | 2018-09-18 | 北京雷石天地电子技术有限公司 | 一种ktv本地服务器测试方法和系统 |
CN108829399A (zh) * | 2018-04-13 | 2018-11-16 | 杭州朗和科技有限公司 | 一种应用的测试方法、测试装置、介质和计算设备 |
CN108763072A (zh) * | 2018-05-18 | 2018-11-06 | 郑州云海信息技术有限公司 | 一种高效的自动化测试环境搭建方法 |
CN109710524A (zh) * | 2018-12-19 | 2019-05-03 | 上海华兴数字科技有限公司 | 一种自动测试方法、系统和计算机存储介质 |
Non-Patent Citations (3)
Title |
---|
Test Environment Construction Method Using Parameterized Test Environments;Dong Hun song;2017 24th Asia-Pacific Software Engineering Conference(APSEC);第667-682页 * |
基于Jenkins的项目持续集成方案研究与实现;张力文;《中国优秀硕士学位论文全文数据库 信息科技辑》(第2017年07期);I138-164 * |
软件自动化测试环境搭建中的Docker应用;胡湘菲;《计算机时代》(第2017年03期);第26-29页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111061641A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10095489B1 (en) | GUI-based application template for containerized application software development | |
US8286154B2 (en) | Apparatus and method for live loading of version upgrades in a process control environment | |
US7503043B2 (en) | Method of building dynamic installation packages using a declarative authoring tool | |
CN111580832A (zh) | 应用于异构多云环境的应用发布系统及方法 | |
US6948164B2 (en) | Method and system for modifying executable code to add additional functionality | |
US20180113799A1 (en) | Model generation for model-based application testing | |
US8464246B2 (en) | Automation of mainframe software deployment | |
US20120291132A1 (en) | System, method and program product for dynamically performing an audit and security compliance validation in an operating environment | |
CN108984161B (zh) | 一种统一且可分类拓展的软件安装包构建方法和装置 | |
US9542173B2 (en) | Dependency handling for software extensions | |
US10896109B2 (en) | Non-monotonic eventual convergence for desired state configuration | |
US8024707B2 (en) | Facilitating self-remediation for software applications | |
US8904346B1 (en) | Method and system for automated load testing of web applications | |
Railić et al. | Architecting continuous integration and continuous deployment for microservice architecture | |
US11989542B2 (en) | Enhancing operator installation and upgrade management and verification | |
CN115686634A (zh) | 一种测发控流程指令的处理方法、装置、终端及存储介质 | |
US9760364B2 (en) | Checks for software extensions | |
CN111061641B (zh) | 自动测试方法及系统 | |
CN110806891A (zh) | 嵌入式设备软件版本的生成方法及装置 | |
US20140282492A1 (en) | Information processing apparatus and information processing method | |
CN113238735A (zh) | 一种可定义流水的项目交付任务创建方法、平台及系统 | |
US20240192974A1 (en) | Simulation of one or more pipeline jobs in a software deployment pipeline | |
CN111857765B (zh) | 用于药物设计系统的插件系统及其生成方法和更新方法 | |
CN118012446A (zh) | 软件版本自动集成部署方法及系统 | |
JP2008176803A (ja) | レベルダウン検出プログラム、レベルダウン検出方法、及び、管理プログラム |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |