CN112306843A - 一种测试方法、装置以及存储介质 - Google Patents
一种测试方法、装置以及存储介质 Download PDFInfo
- Publication number
- CN112306843A CN112306843A CN201910691396.1A CN201910691396A CN112306843A CN 112306843 A CN112306843 A CN 112306843A CN 201910691396 A CN201910691396 A CN 201910691396A CN 112306843 A CN112306843 A CN 112306843A
- Authority
- CN
- China
- Prior art keywords
- container
- time
- test
- modifying
- generating
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 149
- 238000010998 test method Methods 0.000 title claims abstract description 7
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000012986 modification Methods 0.000 claims description 16
- 230000004048 modification Effects 0.000 claims description 16
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005034 decoration Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种测试方法。其中,该方法包括:根据测试任务的类型,确定相应的容器镜像,其中容器镜像包含用于修改时间的编译文件;利用容器镜像生成用于测试的容器;调用与编译文件对应的用于修改时间的指令,利用编译文件修改容器的时间;以及在容器中执行测试任务。从而实现了不同的测试任务运行在不同的容器中,相互不会干扰,更加灵活、高效。
Description
技术领域
本申请涉及服务器测试领域,特别是涉及一种测试方法、装置以及存储介质。
背景技术
随着软件行业的高速发展,web应用程序已经得到广泛的应用,业务流程越来越复杂,应用系统越来越多,所以测试的场景也是越来越复杂,需要的测试环境也越来越多。而且还有很多需求需要在一定时间内才能触发某些特定接口进行测试的,这就需要修改系统时间。但由于成本的限制,一般在一套测试环境中不止部署一个系统,强制修改时间会影响到其他系统的测试工作,使用容器技术(例如docker)可以解决环境,应用部署容易出错且效率低的问题。但无法修改容器时间,而在物理机修改时间又会影响所有的容器时间,不同的应用系统和自动化测试任务需要用户编写相应的Dockerfile,技术成本较高,不利于标准化,需要较多的人工干预。
针对上述的现有技术中存在的使用容器无法修改容器时间,在物理机修改时间又会影响所有容器时间,不同的应用系统和自动化测试任务需要用户编写相应的Dockerfile,技术成本较高,不利于标准化,需要较多的人工干预的技术问题,目前尚未提出有效的解决方案。
发明内容
本公开的实施例提供了一种测试方法,以至少解决现有技术中存在的使用容器无法修改容器时间,在物理机修改时间又会影响所有容器时间,不同的应用系统和自动化测试任务需要用户编写相应的Dockerfile,技术成本较高,不利于标准化,需要较多的人工干预的技术问题。
根据本公开实施例的一个方面,提供了一种测试方法,包括:根据测试任务的类型,确定相应的容器镜像,其中容器镜像包含用于修改时间的编译文件;利用容器镜像生成用于测试的容器;调用与编译文件对应的用于修改时间的指令,利用编译文件修改容器的时间;以及在容器中执行测试任务。
根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
根据本公开实施例的另一个方面,还提供了一种测试装置,包括:确定模块,用于根据测试任务的类型,确定相应的容器镜像,其中容器镜像包含用于修改时间的编译文件;生成模块,用于利用容器镜像生成用于测试的容器;修改模块,用于调用与编译文件对应的用于修改时间的指令,利用编译文件修改容器的时间;以及执行模块,用于在容器中执行测试任务。
在本公开实施例中,基于容器技术的方式,通过调用用于修改时间的指令,达到了可以自动化平台独立管理测试用例,更加灵活的目的,从而实现了不同的测试任务运行在不同的容器中,相互不会干扰,更加灵活、高效,并且测试结构更加持久化的技术效果。进而解决了现有技术中存在的使用docker无法修改时间,在物理机修改时间又会影响所有容器时间,不同的应用系统和自动化测试任务需要用户编写相应的Dockerfile,技术成本较高,不利于标准化,需要较多的人工干预的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是用于实现根据本公开实施例1所述的方法的计算机终端的硬件结构框图;
图2是根据本公开实施例1所述的一种测试方法的流程示意图;
图3是根据本公开实施例1所述的一种测试方法的架构示意图;
图4是根据本公开实施例2所述的一种测试装置的示意图;以及
图5是根据本公开实施例3所述的一种测试装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本公开实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
docker:Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Libfacktime:libfaketime拦截程序用来检索的各种系统调用当前日期和时间。然后报告修改(伪造)的日期和时间(如由您(用户)指定给这些程序。这意味着你可以修改程序看到的系统时间,而不必改变系统范围内的时间。
实施例1
根据本实施例,还提供了一种测试方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现测试方法的计算机终端(或移动设备)的硬件结构框图。如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本公开实施例中的对回复短视频进行展示的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的对回复短视频进行展示的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,根据本实施例的第一个方面,提供了一种测试方法,该方法由图1中所示的计算设备实现,其中图1中所示的计算设备例如可以是能够自动执行测试任务的测试平台。图3示出了该方法的流程示意图,参考图3所示,该方法包括:
S102:根据测试任务的类型,确定相应的容器镜像,其中容器镜像包含用于修改时间的编译文件;
S104:利用容器镜像生成用于测试的容器;
S106:调用与编译文件对应的用于修改时间的指令,利用编译文件修改容器的时间;以及
S108:在容器中执行测试任务。
图3是执行根据本实施例所述的测试方法的测试系统的架构示意图。其中,图3所示的测试系统运行于图1所示的计算设备上。参照图3所示,自动化测试平台根据测试任务的类型,确定相应的容器镜像,例如数据库类型的容器镜像、中间件类型的容器镜像以及应用类型的容器镜像。并且其中,其中容器镜像包含用于修改时间的编译文件(例如,Libfaketime.so.1)。
然后,自动化测试平台利用容器镜像生成用于测试的容器,并且调用与编译文件Libfaketime.so.1对应的用于修改时间的指令(例如,FAKETIME),从而利用编译文件Libfaketime.so.1修改容器的时间。然后,自动化测试平台在容器中执行测试任务。
正如背景技术中所述的,现有技术中存在着不能单独修改容器的容器时间,而在物理机修改时间又会影响所有容器时间的问题。
针对现有技术中存在的技术问题。参考图3所示,根据测试任务的类型,在自动化测试平台中设置相应的容器镜像,并且将用于修改时间的编译文件设置于容器镜像中。例如,根据数据库测试任务、中间件测试任务以及应用测试任务的类型,制作数据库容器镜像、中间件容器镜像以及应用容器镜像。用于修改时间的编译文件例如可以是将Libfaketime编译的Libfaketime.so.1及其依赖包,然后将Libfaketime编译的Libfaketime.so.1及其依赖包都设置于容器镜像中。
进一步地,然后在需要修改容器的容器时间时,自动化测试平台调用与编译文件对应的用于修改时间的指令(例如,编译文件Libfaketime.so.1对应的用于修改时间的指令FAKETIME)。从而,能够利用FAKETIME修改容器的时间。通过这种方式,在改变预定容器的容器时间时,不会对其他容器的容器时间产生影响。从而解决了现有技术中存在的不能单独修改容器的容器时间,而在物理机修改时间又会影响所有容器时间的问题。
需要说明的是,尽管在本实施例中,是以FAKETIME作为用于修改时间的指令的例子来描述本实施例的方案。但是本实施例的方案同样适用于其他类型的用于修改时间的指令。
需要说明的是,尽管在本实施例中,是以数据库、中间件以及应用作为不同类型容器的例子来描述本实施例的方案。但是本实施例的方案同样适用于其他类型的容器。
可选地,在生成测试容器之前,还包括:根据第一配置信息,编译生成用于部署测试环境的配置文件,其中第一配置信息至少包括与容器镜像相关的信息。
具体地,自动化测试平台根据测试任务的类型配置容器镜像,其中配置信息包括:编译容器镜像的类型,代码git地址,commit版本,内存分配,启动脚本等信息。根据配置信息生成编译文件Libfaketime.so.1。并且执行编译文件Libfaketime.so.1,生成dockerfile。
从而,确定容器镜像的配置信息,以便配置给不同类型的容器镜像不同的时间。并且基于云容器技术,自动生成镜像,解决了现有技术中存在的,需要测试人员手动编写dockerfile,导致技术成本高的问题。
可选地,利用容器镜像生成用于测试的容器的操作,包括:根据配置文件,部署测试环境,并生成容器。
具体地,自动化测试平台能够根据配置文件dockerfile,部署测试环境,并生成不同类型的容器。例如数据库容器,中间件容器,应用容器等。从而通过这种方式,在生成容器的时候,不需要再手动编写配置文件dockerfile,而是根据自动化测试平台生成的配置文件dockerfile来部署测试环境并生成容器。解决了现有技术中存在的,需要测试人员手动编写dockerfile,导致技术成本高的问题。
可选地,在生成容器之后,还包括:获取容器的时间,并且调用与编译文件对应的用于修改时间的指令,利用编译文件修改容器的时间的操作,还包括:调用指令,对所获取的容器的时间以增加或减少的方式进行修改;以及利用编译文件,基于修改后的时间,对容器的时间进行修改。
具体地,在生成不同的容器之后,参考图3所示,生成数据库容器、中间件容器、以及应用容器之后。在需要修改某个容器的时间时(例如,数据库容器),自动化测试平台获取该容器的时间,并且调用FAKETIME指令,对所获取的容器的时间以增加或减少的方式进行修改。然后,自动化测试平台利用编译文件(例如Libfaketime.so.1),基于修改后的时间,对容器的时间进行修改。
从而通过这种方式,使用FAKETIME,可以便利地修改不同容器的内部时间,解决容器内无法修改时间,在物理机修改时间会影响所有的容器的时间的问题。从而能够节约人力成本。
可选地,在修改容器的时间之前,还包括:在容器中建立并启动测试任务。具体地,在修改容器的时间之前,需要在容器中建立并启动测试任务。从而,使用自动化平台独立管理测试用例,更加灵活、方便。
可选地,在容器中建立并启动测试任务的操作,包括:根据测试任务,编译生成与测试任务对应的第二配置信息;以及根据第二配置信息,建立并启动测试任务。
具体地,不同类型的容器根据不同类型的测试任务,编译生成与测试任务对应的配置信息,并且根据配置信息,建立并启动不同的测试任务。例如,数据库类型的容器,中间件类型的容器,应用类型的容器根据各自相对应类型的测试任务,建立并启动数据库类型的测试任务,中间件类型的测试任务,应用类型的任务。
从而,启动并建立测试任务,自动化测试,节约人力成本。
可选地,还包括:将测试结果放入文件服务器,在所述测试任务完成后,删除容器,并释放相应的资源。
具体地,测试结果是放在文件服务器的,在需要测试的任务测试完成后,删除容器,并且释放资源。
从而,当需要测试的任务已经完成后,完全可以不需要再占用资源,从而可以节约资源。
可选地,还包括:将测试结果从文件服务器提出,并且展示。
具体地,最后将测试结果从文件服务器提出后,并且展示在自动化平台。从而有利于测试人员查看和使用,方便平台展示和结果对比。
从而根据本实施例,基于容器技术的方式,通过调用用于修改时间的指令,达到了可以自动化平台独立管理测试用例,更加灵活的目的,从而实现了不同的测试任务运行在不同的容器中,相互不会干扰,更加灵活、高效,并且测试结构更加持久化的技术效果。进而解决了现有技术中存在的使用容器无法修改时间,在物理机修改时间又会影响所有容器时间,不同的应用系统和自动化测试任务需要用户编写相应的Dockerfile,技术成本较高,不利于标准化,需要较多的人工干预的技术问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
图4示出了根据本实施例的第一个方面所述的测试装置400,该装置400与根据实施例1的第一个方面所述的方法相对应。参考图4所示,该装置400包括:确定模块410,用于根据测试任务的类型,确定相应的容器镜像,其中容器镜像包含用于修改时间的编译文件;生成模块420,用于利用容器镜像生成用于测试的容器;修改模块430,用于调用与编译文件对应的用于修改时间的指令,利用编译文件修改容器的时间;以及执行模块440,用于在容器中执行测试任务。
可选地,还包括:编译模块,用于在生成模块420在生成测试容器之前,根据第一配置信息,编译生成用于部署测试环境的配置文件,其中第一配置信息至少包括与容器镜像相关的信息。
可选地,生成模块420,包括:生成子模块,用于根据配置文件,部署测试环境,并生成容器。
可选地,还包括:获取模块,用于在生成模块生成容器之后,获取容器的时间,并且修改模块,还包括:调用子模块,用于调用指令,对所获取的容器的时间以增加或者减少的方式进行修改;以及修改子模块,用于利用编译文件,基于修改后的时间,对容器的时间进行修改。
可选地,还包括:启动模块,用于在修改容器的时间之前,在容器中建立并启动测试任务。
可选地,执行模块440,包括:编译子模块,用于根据测试任务,编译生成与测试任务对应的第二配置信息;以及建立子模块,用于根据第二配置信息,建立并启动测试任务。
可选地,还包括:放入模块,用于将测试结果放入文件服务器;以及删除模块,用于在测试任务完成后,删除容器,并释放相应的资源。
可选地,还包括:展示模块,用于将测试结果从文件服务器提出,并且展示。
从而根据本实施例,从而根据本实施例,基于容器技术的方式,通过调用用于修改时间的指令,达到了可以自动化平台独立管理测试用例,更加灵活的目的,从而实现了不同的测试任务运行在不同的容器中,相互不会干扰,更加灵活、高效,并且测试结构更加持久化的技术效果。进而解决了现有技术中存在的使用容器无法修改时间,在物理机修改时间又会影响所有容器时间,不同的应用系统和自动化测试任务需要用户编写相应的Dockerfile,技术成本较高,不利于标准化,需要较多的人工干预的技术问题。
实施例3
图5示出了根据本实施例的第一个方面所述的测试装置500,该装置500与根据实施例1的第一个方面所述的方法相对应。参考图5所示,该装置500包括:处理器510;以及存储器520,与处理器510连接,用于为处理器510提供处理以下处理步骤的指令:
根据测试任务的类型,确定相应的容器镜像,其中容器镜像包含用于修改时间的编译文件;利用容器镜像生成用于测试的容器;调用与编译文件对应的用于修改时间的指令,利用编译文件修改容器的时间;以及在容器中执行测试任务。
可选地,在生成测试容器之前,还包括:根据第一配置信息,编译生成用于部署测试环境的配置文件,其中第一配置信息至少包括与容器镜像相关的信息。
可选地,利用容器镜像生成用于测试的容器的操作,包括:根据配置文件,部署测试环境,并生成容器。
可选地,在生成容器之后,还包括:获取容器的时间,并且调用与编译文件对应的用于修改时间的指令,利用编译文件修改容器的时间的操作,还包括:调用指令,对所获取的容器的时间以增加或者减少的方式进行修改;以及利用编译文件,基于修改后的时间,对容器的时间进行修改。
可选地,在修改容器的时间之前,还包括:在容器中建立并启动测试任务。
可选地,在容器中建立并启动测试任务的操作,包括:根据测试任务,编译生成与测试任务对应的第二配置信息;以及根据第二配置信息,建立并启动测试任务。
可选地,还包括:将测试结果放入文件服务器;以及在测试任务完成后,删除容器,并释放相应的资源。
可选地,还包括:将测试结果从文件服务器提出,并且展示。
从而根据本实施例,基于容器技术的方式,通过调用用于修改时间的指令,达到了可以自动化平台独立管理测试用例,更加灵活的目的,从而实现了不同的测试任务运行在不同的容器中,相互不会干扰,更加灵活、高效,并且测试结构更加持久化的技术效果。进而解决了现有技术中存在的使用容器无法修改时间,在物理机修改时间又会影响所有容器时间,不同的应用系统和自动化测试任务需要用户编写相应的Dockerfile,技术成本较高,不利于标准化,需要较多的人工干预的技术问题。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种测试方法,其特征在于,包括:
根据测试任务的类型,确定相应的容器镜像,其中所述容器镜像包含用于修改时间的编译文件;
利用所述容器镜像生成用于测试的容器;
调用与所述编译文件对应的用于修改时间的指令,利用所述编译文件修改所述容器的时间;以及
在所述容器中执行所述测试任务。
2.根据权利要求1所述的方法,其特征在于,在生成所述测试容器之前,还包括:根据第一配置信息,编译生成用于部署测试环境的配置文件,其中
所述第一配置信息至少包括与所述容器镜像相关的信息。
3.根据权利要求2所述的方法,其特征在于,利用所述容器镜像生成用于测试的容器的操作,包括:
根据所述配置文件,部署测试环境,并生成所述容器。
4.根据权利要求1所述的方法,其特征在于,在生成所述容器之后,还包括:获取所述容器的时间,并且
调用与所述编译文件对应的用于修改时间的指令,利用所述编译文件修改所述容器的时间的操作,还包括:
调用所述指令,对所获取的所述容器的时间以增加或者减少的方式进行修改;以及
利用所述编译文件,基于修改后的时间,对所述容器的时间进行修改。
5.根据权利要求1所述的方法,其特征在于,在修改所述容器的时间之前,还包括:在所述容器中建立并启动所述测试任务。
6.根据权利要求5所述的方法,其特征在于,在所述容器中建立并启动所述测试任务的操作,包括:
根据所述测试任务,编译生成与所述测试任务对应的第二配置信息;以及
根据所述第二配置信息,建立并启动所述测试任务。
7.根据权利要求1所述的方法,其特征在于,还包括:将测试结果放入文件服务器;以及在所述测试任务完成后,删除所述容器,并释放相应的资源。
8.根据权利要求1所述的方法,其特征在于,还包括:将所述测试结果从所述文件服务器提出,并且展示。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行权利要求1至8中任意一项所述的方法。
10.一种测试装置,其特征在于,包括:
确定模块,用于根据测试任务的类型,确定相应的容器镜像,其中所述容器镜像包含用于修改时间的编译文件;
生成模块,用于利用所述容器镜像生成用于测试的容器;
修改模块,用于调用与所述编译文件对应的用于修改时间的指令,利用所述编译文件修改所述容器的时间;以及
执行模块,用于在所述容器中执行所述测试任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910691396.1A CN112306843A (zh) | 2019-07-29 | 2019-07-29 | 一种测试方法、装置以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910691396.1A CN112306843A (zh) | 2019-07-29 | 2019-07-29 | 一种测试方法、装置以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112306843A true CN112306843A (zh) | 2021-02-02 |
Family
ID=74328990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910691396.1A Pending CN112306843A (zh) | 2019-07-29 | 2019-07-29 | 一种测试方法、装置以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112306843A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501652A (zh) * | 2023-06-29 | 2023-07-28 | 绿城科技产业服务集团有限公司 | 基于saas系统的可持续集成的自动化测试方法及系统 |
CN118228272A (zh) * | 2024-04-08 | 2024-06-21 | 中国人民解放军61660部队 | 一种基于容器的漏洞挖掘活体库扩展方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020770A1 (zh) * | 2015-07-31 | 2017-02-09 | 中兴通讯股份有限公司 | 基于lxc的持续集成方法及装置 |
CN106933635A (zh) * | 2017-03-15 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
CN107515783A (zh) * | 2016-06-16 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 基于应用容器集群工具的应用容器管控方法及装置 |
CN107766126A (zh) * | 2017-11-15 | 2018-03-06 | 腾讯科技(深圳)有限公司 | 容器镜像的构建方法、系统、装置及存储介质 |
CN108427641A (zh) * | 2018-01-29 | 2018-08-21 | 中国互联网络信息中心 | 一种基于Docker容器的多任务调度自动化测试方法及系统 |
US20190034313A1 (en) * | 2017-07-31 | 2019-01-31 | Oracle International Corporation | System and method to execute and manage load tests using containers |
CN109324799A (zh) * | 2018-09-25 | 2019-02-12 | 珠海市筑巢科技有限公司 | 一种代码编译方法、计算机装置及计算机可读存储介质 |
CN109344079A (zh) * | 2018-10-31 | 2019-02-15 | 广东高云半导体科技股份有限公司 | 布局布线回归测试方法、系统、设备及存储介质 |
CN109491662A (zh) * | 2018-10-31 | 2019-03-19 | 珠海市筑巢科技有限公司 | 代码打包方法、计算机装置及计算机可读存储介质、代码打包系统 |
CN109684194A (zh) * | 2018-10-25 | 2019-04-26 | 北京中关村科金技术有限公司 | 一种自动化流程回归测试系统 |
CN110008106A (zh) * | 2018-01-04 | 2019-07-12 | 北京奇虎科技有限公司 | 代码测试方法、装置和计算机可读存储介质 |
-
2019
- 2019-07-29 CN CN201910691396.1A patent/CN112306843A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020770A1 (zh) * | 2015-07-31 | 2017-02-09 | 中兴通讯股份有限公司 | 基于lxc的持续集成方法及装置 |
CN107515783A (zh) * | 2016-06-16 | 2017-12-26 | 阿里巴巴集团控股有限公司 | 基于应用容器集群工具的应用容器管控方法及装置 |
CN106933635A (zh) * | 2017-03-15 | 2017-07-07 | 北京搜狐新媒体信息技术有限公司 | Docker镜像生成方法及Docker容器 |
US20190034313A1 (en) * | 2017-07-31 | 2019-01-31 | Oracle International Corporation | System and method to execute and manage load tests using containers |
CN107766126A (zh) * | 2017-11-15 | 2018-03-06 | 腾讯科技(深圳)有限公司 | 容器镜像的构建方法、系统、装置及存储介质 |
CN110008106A (zh) * | 2018-01-04 | 2019-07-12 | 北京奇虎科技有限公司 | 代码测试方法、装置和计算机可读存储介质 |
CN108427641A (zh) * | 2018-01-29 | 2018-08-21 | 中国互联网络信息中心 | 一种基于Docker容器的多任务调度自动化测试方法及系统 |
CN109324799A (zh) * | 2018-09-25 | 2019-02-12 | 珠海市筑巢科技有限公司 | 一种代码编译方法、计算机装置及计算机可读存储介质 |
CN109684194A (zh) * | 2018-10-25 | 2019-04-26 | 北京中关村科金技术有限公司 | 一种自动化流程回归测试系统 |
CN109344079A (zh) * | 2018-10-31 | 2019-02-15 | 广东高云半导体科技股份有限公司 | 布局布线回归测试方法、系统、设备及存储介质 |
CN109491662A (zh) * | 2018-10-31 | 2019-03-19 | 珠海市筑巢科技有限公司 | 代码打包方法、计算机装置及计算机可读存储介质、代码打包系统 |
Non-Patent Citations (1)
Title |
---|
MARKSUGAR: "linuxea:如何单单修改docker容器的系统时间", Retrieved from the Internet <URL:https://www.linuxea.com/2316.html> * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116501652A (zh) * | 2023-06-29 | 2023-07-28 | 绿城科技产业服务集团有限公司 | 基于saas系统的可持续集成的自动化测试方法及系统 |
CN116501652B (zh) * | 2023-06-29 | 2023-09-12 | 绿城科技产业服务集团有限公司 | 基于saas系统的可持续集成的自动化测试方法及系统 |
CN118228272A (zh) * | 2024-04-08 | 2024-06-21 | 中国人民解放军61660部队 | 一种基于容器的漏洞挖掘活体库扩展方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111527474B (zh) | 软件功能的动态交付 | |
CN105164644A (zh) | 钩子框架 | |
CN110096424B (zh) | 测试的处理方法、装置、电子设备及存储介质 | |
CN108920370B (zh) | 兼容性问题检测方法、装置及设备 | |
CN111930382B (zh) | 应用页面的接入方法、装置及设备 | |
CN112217731B (zh) | 目标应用的生成方法及装置、存储介质 | |
CN109656572A (zh) | 安装包的打包方法及装置、计算机设备、存储介质 | |
CN107741904A (zh) | 测试机自动配置方法、装置、设备及存储介质 | |
CN110162464A (zh) | Mcok测试方法及系统、电子设备及可读存储介质 | |
CN110908652A (zh) | 创建活动页面以及对活动页面进行编译的方法、装置 | |
CN110597717A (zh) | 代码测试方法、装置以及存储介质 | |
CN112068850A (zh) | 服务产品实例的创建方法、装置及电子设备 | |
CN113312083B (zh) | 应用生成方法、装置及设备 | |
CN112306843A (zh) | 一种测试方法、装置以及存储介质 | |
CN112631649A (zh) | 智能合约管理方法、装置、终端设备及介质 | |
CN110083366B (zh) | 应用运行环境的生成方法、装置、计算设备及存储介质 | |
CN110941634A (zh) | 数据的处理方法及装置、存储介质和电子装置 | |
CN114637549A (zh) | 基于服务网格的应用的数据处理方法、系统和存储介质 | |
CN113449031A (zh) | 数据同步的管理方法、装置及服务器 | |
CN110673879A (zh) | 组态软件的元件样式的一键调整方法及装置 | |
CN115268969A (zh) | 安卓系统升级方法及装置、终端设备 | |
CN114296939A (zh) | 应用程序的处理方法、装置、存储介质、处理器及设备 | |
CN113934552A (zh) | 功能代码的确定方法及装置、存储介质、电子装置 | |
CN110609781A (zh) | 接口测试方法、装置以及存储介质 | |
CN113110982A (zh) | 数据访问层验证方法及装置、存储介质及电子装置 |
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 |