CN112328470A - 一种自动化运维测试方法、装置、设备及存储介质 - Google Patents
一种自动化运维测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112328470A CN112328470A CN202011140927.7A CN202011140927A CN112328470A CN 112328470 A CN112328470 A CN 112328470A CN 202011140927 A CN202011140927 A CN 202011140927A CN 112328470 A CN112328470 A CN 112328470A
- Authority
- CN
- China
- Prior art keywords
- test
- processing function
- data
- type
- function set
- 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 262
- 238000012423 maintenance Methods 0.000 title claims abstract description 87
- 238000012545 processing Methods 0.000 claims abstract description 117
- 230000006870 function Effects 0.000 claims abstract description 105
- 230000004044 response Effects 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000013507 mapping Methods 0.000 claims description 31
- 230000000007 visual effect Effects 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000010998 test method Methods 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 2
- 238000007726 management method Methods 0.000 abstract description 5
- 238000013024 troubleshooting Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 7
- 238000009434 installation Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011990 functional testing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 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—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- 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/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—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)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及对象存储技术领域,尤其涉及一种自动化运维测试方法、装置、设备及存储介质,方法包括:接收测试请求,所述测试请求携带有测试类型的标识,所述测试类型至少包括软件开发包类测试、命令行类测试和脚本类测试;通过URL控制器调用业务逻辑层中与所述测试类型的标识对应的目标处理函数集合;通过模型数据层获取所述目标处理函数集合所需的测试数据;根据所述目标处理函数集合和所述测试数据得到所述测试请求的响应数据;通过所述业务逻辑层将所述响应数据发送至用户界面层进行处理得到测试结果。运维人员通过点击前端按钮即可完成功能工具故障排查与定位的操作,方便运维人员高效的在网络上进行产品功能方面的自动化运维管理。
Description
技术领域
本申请涉及对象存储技术领域,尤其涉及一种自动化运维测试方法、装置、设备及存储介质。
背景技术
对象存储(COS)是一种无目录层次结构、无数据格式限制,可容纳海量数据且支持HTTP/HTTPS协议访问的分布式存储服务。目前,对象存储产品提供丰富的API接口,用户可以直接通过HTTP/HTTPS发出请求和接受响应,实现与对象存储云服务器后台的交互操作。同时,对象存储产品提供了丰富的SDK,支持多种主流的编程语言,如Java、Python等,供广大用户使用。除此之外,对象存储产品还支持如COSCMD,S3CMD等命令行工具进行上传、下载等操作。
由于对象存储产品的API接口和调用方式种类较多,且不同调用方法所依赖的环境配置各不相同,这在一定程度上给运维人员的日常运维工作造成了难度。例如,运维人员需要掌握一定的编程语言基础,然后配置相应的环境,才能对该SDK的功能进行排障检查,耗费时间较长,运维的效率较低。
发明内容
本发明要解决的技术问题是对象存储的运维中运维耗时长、效率低的问题。
为解决上述技术问题,第一方面,本申请实施例公开了一种自动化运维测试方法,所述方法包括:
接收测试请求,所述测试请求携带有测试类型的标识,所述测试类型至少包括软件开发包类测试、命令行类测试和脚本类测试;
通过URL控制器调用业务逻辑层中与所述测试类型的标识对应的目标处理函数集合;其中,所述业务逻辑层包括多个处理函数集合,每个所述处理函数集合对应一种测试类型;
通过模型数据层获取所述目标处理函数集合所需的测试数据;
根据所述目标处理函数集合和所述测试数据得到所述测试请求的响应数据;
通过所述业务逻辑层将所述响应数据发送至用户界面层进行处理得到测试结果。
进一步的,所述通过URL控制器调用业务逻辑层中与所述测试类型的标识对应的目标处理函数集合,包括:
通过所述URL控制器根据所述测试类型的标识确定业务逻辑层中与所述测试类型的标识对应的目标处理函数集合的映射路径;
根据所述映射路径调用所述目标处理函数集合。
进一步的,所述目标处理函数集合中包括至少一个处理函数,每个所述处理函数对应至少一项测试;所述映射路径包括至少一个映射子路径,每个所述映射子路径对应一个所述处理函数,至少一个所述映射子路径按照预设排序规则进行排序;所述根据所述映射路径调用所述目标处理函数集合,包括:
根据至少一个所述映射子路径依次调用所述目标处理函数集合中的每个所述处理函数进行测试。
进一步的,所述通过模型数据层获取所述目标处理函数集合所需的测试数据,包括:
通过模型数据层确定数据库连接信息;
根据所述数据库连接信息在数据库中获取所述目标处理函数集合所需的测试数据。
进一步的,所述测试数据包括程序配置信息和运行数据信息,所述根据所述目标处理函数集合和所述测试数据得到所述测试请求的响应数据,包括:
根据所述程序配置信息进行配置测试程序;
通过所述运行数据信息对所述测试程序进行测试,得到所述测试请求的响应数据。
进一步的,所述通过所述业务逻辑层将所述响应数据发送至用户界面层进行处理得到测试结果之前,还包括:
通过所述模型数据层将所述响应数据存储在所述数据库中。
进一步的,所述通过所述业务逻辑层将所述响应数据发送至用户界面层进行处理得到测试结果,包括:
将所述响应数据发送至用户界面层,所述用户界面层将所述响应数据转换成可视化文件;
通过所述业务逻辑层将所述可视化文件反馈至交互界面,所述可视化文件中含有所述测试结果。
第二方面,本申请实施例公开了一种自动化运维测试装置,所述装置包括:
接收模块,用于接收测试请求,所述测试请求携带有测试类型的标识,所述测试类型至少包括软件开发包类测试、命令行类测试和脚本类测试;
处理函数集合调用模块,用于通过URL控制器调用业务逻辑层中与所述测试类型的标识对应的目标处理函数集合;其中,所述业务逻辑层包括多个处理函数集合,每个所述处理函数集合对应一种测试类型;
测试数据获取模块,用于通过模型数据层获取所述目标处理函数集合所需的测试数据;
响应数据获取模块,用于根据所述目标处理函数集合和所述测试数据获得所述测试请求的响应数据;
测试结果获取模块,用于通过所述业务逻辑层将所述响应数据发送至用户界面层进行处理得到测试结果。
第三方面,本申请实施例公开了一种电子设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行如上所述的自动化运维测试方法。
第四方面,本申请实施例公开了一种计算机可读存储介质,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如上所述的自动化运维测试方法。
本申请实施例提供的自动化运维测试方法、装置、设备及存储介质,具有如下技术效果:
本申请实施例所述的自动化运维测试方法,通过搭建一个集成平台,把软件开发包类测试、命令行类工具测试和脚本类测试等集成在一起,实现在集成平台上进行一键测试,运维人员通过点击前端按钮即可完成功能工具故障排查与定位的操作,不需要耗费时间在工具安装和配置上,降低运维时间和运维复杂度,实现对象存储功能工具的故障定位简便化,方便运维人员高效的在网络上进行产品功能方面的自动化运维管理。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本申请实施例提供的一种应用环境的示意图;
图2是本申请实施例提供的一种自动化运维测试工具的框架结构示意图;
图3是本申请实施例提供的一种自动化运维测试方法的流程示意图;
图4为本申请实施例提供的一种自动化运维测试工具的界面示意图;
图5为本申请实施例提供的一种自动化运维测试装置的结构示意图;
图6是本申请实施例提供的一种自动化运维测试方法的服务器的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前在众多自动化运维工具中,Ansible工具是较为热门的,用户可以通过该运维工具对多台主机进行批量操作。在对象存储产品中,同样会使用到Ansible工具对多台机器进行操作,完成如agent等模块的安装以及其他类型的批量操作。Ansible工具主要由控制节点、受控节点、host文件、模块、playbook等5个部分组成。其中,控制节点指的是安装Ansible工具的主机,用于发布运行任务,执行控制命令;受控节点为被执行Ansible任务的服务器;host文件是用来保存清单列表的文件,里面写着所有受控节点的IP信息和认证信息;模块是Ansible工具执行特定任务的代码块;Playbook为利用YAML标记语言编写的可重复执行的任务的列表,Ansible工具可以通过Playbook对受控节点进行批量操作。Ansible工具是基于ssh模块的软件,用户先配置需要批量操作的机器信息,然后创建Playbook的yaml文件,接着执行Playbook文件对所有机器进行任务执行并返回结果,Ansible的批量操作流程就完成了。
虽然现在Ansible自动化运维工具运用范围较为广泛,但是更多运用在批量处理方面。对于对象存储功能测试的一键化处理,Ansible工具也只能通过创建不同Playbook文件完成不同编程语言、命令行工具类的操作,无法做到集成。这些操作同样需要耗费大量的时间和人力成本。并且Ansible工具目前没有给普通用户提供前端界面,所以该自动化运维工具的操作页面友好程度较低。除此之外,目前市面上也没有其他针对对象存储产品一键测试的自动化运维工具。
请参阅图1,图1是本申请实施例提供的一种应用环境的示意图,包括测试设备101和对象存储系统102。其中,测试设备101可以是台式电脑、笔记本电脑、手机、平板电脑等可以装载有自动化运维测试工具的设备。对象存储系统102是基于云服务为企业和个人开发者们提供的一种能够存储海量数据的分布式存储服务系统,用户可随时通过互联网对大量数据进行批量存储和处理。用户可以使用控制台、API(Application ProgrammingInterface,应用程序接口)、SDK(即软件开发工具包,一般是软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合)等多种方式连接到对象存储系统102,实时存储和管理业务数据。
请参阅图2,图2是本申请实施例提供的一种自动化运维测试工具的框架结构示意图,本申请实施例所述的自动化运维测试工具主要有四个部分组成,分别为URL控制器(uniform resource locator,统一资源定位系统)、业务逻辑层、模型数据层和用户界面层。其中,URL控制器的作用是将一个个URL的页面请求分发给业务逻辑层中不同的处理函数集合进行处理。模型数据层主要负责处理业务对象和数据库对象,它封装了对数据库的访问。用户界面层负责封装返回的结果,将其转化为前端页面。业务逻辑层负责接收前端请求,处理业务逻辑,与模型数据层和用户界面层两个部分进行交互,返回请求结果。
作为一个示例,自动化运维测试工具是依托Django框架,利用MTV(ModelTemplate View,MTV)设计模式设计。其中,模型(Model)为模型数据层,主要负责处理业务对象和数据库对象,它封装了对数据库层的访问。当对数据库的数据进行增删改查等操作时,会通过创建模型去生成对应的数据库表,从而避免了直接操作数据库,保障了数据的安全。视图(View)为业务逻辑层,负责接收前端请求,处理业务逻辑,与模型和模版两个部分进行交互,返回请求结果;模板(Template)为用户界面层,负责封装返回的结果,将其转化为前端页面展示给用户。在一些实施例中,自动化运维测试工具还可以是利用MVC(ModelView Controller,MVC)设计模式设计,模型(Model)为模型数据层,视图(View)用户界面层,控制器(Controller)为业务逻辑层。
通过上述设计模式,本申请实施例提供了一种自动化运维测试工具,即搭建一个集成平台,可以把软件开发包类工具(如Java,Python等SDK),命令行类工具(如COSCMD,S3CMD等)和脚本类工具(如通过HTTP/HTTPS发送及接受请求)等集成在一起,实现在集成平台上进行一键测试,快速定位故障处,省去环境配置等工作,降低运维时间开销和运维复杂度,方便运维人员高效的在underlay网络以及overlay网络进行产品功能方面的自动化运维管理。
本申请实施例中,测试设备101和对象存储系统102之间可以通过有线链路或无线链路连接。当运维人员启动测试设备101上的自动化运维测试工具时,测试设备101可以直接通过测试设备101和对象存储系统102两者之间建立的通信链路对对象存储系统102中的API接口进行测试。通过上述框架结构将业务逻辑层、模型数据层和用户界面层三个部分的分工解耦,降低了不同代码块之间的耦合性,增强了代码的可扩展性和可移植性,从而将多种编程语言、不同的环境配置要求的工具集成在一起,形成一个多种类别测试工具的集成平台工具。运维人员通过使用该自动化运维工具,在页面上进行一键化测试,对对象存储产品的API接口、SDK语言方法和命令行工具进行测试,快速定位故障点,提高运维效率。
以下介绍本申请一种自动化运维测试方法的具体实施例,图3是本申请实施例提供的一种自动化运维测试方法的流程示意图,本说明书提供了如实施例或流程图的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图3所示,该方法可以包括:
S301:接收测试请求,测试请求携带有测试类型的标识,测试类型至少包括软件开发包类测试、命令行类测试和脚本类测试;
本申请实施例中,运维人员打开测试设备101上的自动化运维工具,可选的,自动化运维工具的前端界面为浏览器界面。运维人员通过点击浏览器界面上的测试按钮发送相应的测试请求,该测试请求会到达URL控制器,测试请求中携带有测试类型的标识。可选的,为了便捷运维人员操作,不同的测试按钮发送不同类型的测试请求。在一些实施例中,还可以在浏览器界面上输入需要进行的测试类型信息,然后浏览器发送测试请求至URL控制器。具体的,图4为本申请实施例提供的一种自动化运维测试工具的界面示意图,如图4所示,图中可以看到有三个黑色椭圆形框,分别代表HTTP请求测试、Java SDK测试和COSCMD测试的测试按钮,需要说明的是,图4中示出的仅为本申请实施例提供的一种应用示例,实际运用中还可以定义更多或更少的功能测试按钮,根据实际运维需求,实际测试中需要有几个功能测试就可以在界面上设计几个按钮,支持横向扩展。例如,还可以设有HTTPS请求测试、Python SDK测试、S3CMD测试等测试按钮。运维人员点击该按钮就会自动发送请求给后端进行测试操作,并将响应结果反馈在界面上。
S303:通过URL控制器调用业务逻辑层中与测试类型的标识对应的目标处理函数集合;
本申请实施例中,运维人员通过点击自动化运维测试工具界面上的不同按钮,发送测试请求,该测试请求通过约定的通信协议发送,该测试请求的形式可以为HTTP请求或HTTPS请求等。该测试请求会达到URL控制器,通过URL控制器中的映射关系文件,调用业务逻辑层中与测试类型的标识对应的目标处理函数集合。业务逻辑层包括多个处理函数集合,每个处理函数集合能够处理一种测试类型的测试。
映射关系文件中包含有不同的测试类型与对应的处理函数集合的映射路径,URL控制器根据测试请求携带的测试类型的标识,确定出与接收到的测试请求相对应的目标处理函数集合的映射路径,然后根据映射路径调用目标处理函数集合。具体的,目标处理函数集合中包括至少一个处理函数,每个处理函数对应至少一项测试;映射路径包括至少一个映射子路径,每个映射子路径对应一个处理函数,至少一个映射子路径按照预设排序规则进行排序。根据至少一个映射子路径依次调用目标处理函数集合中的每个处理函数进行测试。
作为一个示例,业务逻辑层为MTV设计模式中的视图(views),视图(views)中具有多个与测试类型相对应的类视图(Class Base View,CBV)。每一种测试类型作为一个类,不同测试类型通过不同的类视图进行测试。即同一个类会定义多个处理函数,每个处理函数对应该测试类型下的一个至多个调用接口。每个类视图中具有多个处理函数,每个处理函数对应至少一项测试。如图4所示,当测试请求中携带的测试类型的标识为HTTP测试时,URL控制器根据测试类型的标识确定出HTTP测试的类视图,HTTP测试的类视图包含了多个进行具体测试的处理函数,如GET Sercice测试处理函数、PUT Bucket测试处理函数、GETObject测试处理函数等。然后确定每个处理函数的映射子路径,依据代码读取顺序依次调用相应的处理函数进行测试。本申请实施例通过定义基于类的视图,通过CBV将不同类别的工具定义成视图里的不同类,实现将需要不同配置环境的测试工具集成在同一个平台上进行自动化运维的目的。当运维人员在前端发送对不同测试类型进行测试的请求,通过映射关系文件,将每个处理函数的调用路径映射到对应的目标函数集合的映射路径中。
S305:通过模型数据层获取目标处理函数集合所需的测试数据;
本申请实施例中,调用目标处理函数集合进行测试时,根据处理函数中的测试需求,通过调用模型数据层来获取相关数据。具体的,通过模型数据层获取目标处理函数集合所需的测试数据,包括:通过模型数据层确定数据库连接信息;根据数据库连接信息在数据库中获取目标处理函数集合所需的测试数据。
作为一个示例,模型数据层为MTV设计模式中的模型(Model),视图根据视图中处理函数的需要,去调用模型来获取数据库中的相关数据。模型通过创建模型,避免了直接对数据库进行操作,数据模型的设计也不需要依赖特定的数据库,通过配置文件便可以方便的更换数据库。模型里面里面主要由两个模块构成,分别是数据库模型创建模块和数据库连接模块。其中,数据库模型创建模块主要是用来创建数据库模型,生成每个测试需要用的数据库表,表里包含调用需要的安装包、AKSK、bucket-name等信息;而数据库连接模块则是用来配置数据库连接,里面填写如数据库名、数据库主机、用户名密码等信息。
S307:根据目标处理函数集合和测试数据得到测试请求的响应数据;
本申请实施例中,处理函数获取相关的测试数据进行测试后,得到该处理函数的响应数据。目标处理函数集合中的全部处理函数测试完成后即可得到测试请求的响应数据。具体的,测试数据包括程序配置信息和运行数据信息,根据目标处理函数集合和测试数据得到测试请求的响应数据,包括:根据程序配置信息进行配置测试程序;通过运行数据信息对测试程序进行测试,得到测试请求的响应数据。
作为一个示例,根据处理函数需要,模型调用数据库中的程序配置信息(例如当前测试接口的安装包)配置测试程序,然后再通过运行数据信息(例如测试账户密钥)对测试程序进行测试。通过视图和模型的交互,视图会获得测试请求的响应数据。可选的,视图获得的响应数据可分为三类,2XX代表工具测试成功无故障,例如200(成功),服务器已成功处理了请求;201(已创建),请求成功并且服务器创建了新的资源。4XX代表请求有问题,需要检查视图文件中的代码,例如400(错误请求),服务器不理解请求的语法;404(未找到),服务器找不到请求的网页。5XX代表工具本身有问题,定位故障并报错,例如500(服务器内部错误),服务器遇到错误,无法完成请求;501(尚未实施),服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
本申请实施例中,业务逻辑层获取响应数据后,会通过模型数据层将响应数据存储在数据库中。
S309:通过业务逻辑层将响应数据发送至用户界面层进行处理得到测试结果。
本申请实施例中,业务逻辑层获取响应数据后,将响应数据发送至用户界面层进行处理,得到可视化的响应结果。具体的,通过业务逻辑层将响应数据发送至用户界面层进行处理得到测试结果,包括:将响应数据发送至用户界面层,用户界面层将响应数据转换成可视化文件;通过业务逻辑层将可视化文件反馈至交互界面,可视化文件中含有测试结果。
作为一个示例,用户界面层为MTV设计模式中的模板(Template),视图将响应结果发送至模板。模板的作用是可以通过一些逻辑控制代码减少一些重复的操作从而更快速的生成转换字符串(包括HTML、CSS、JS等),并且实现简单的逻辑判断。模板主要包括两个模块,逻辑控制模块和转换模块。视图首先将响应数据填充到模板中转换成HTML形式字符串,然后通过逻辑控制模块调用模板里面的经过渲染的网页文件。此时视图将网页文件发送给浏览器,对其测试请求进行响应,运维人员就可以就可以在页面上看到工具测试的结果是成功、接口故障还是请求故障三种情况。
本申请实施例所述的自动化运维测试方法,通过将软件开发包类、命令行类和脚本类三个类别的对象存储测试工具集成在一个平台上,运维人员通过点击前端测试按钮即可完成相应测试功能的操作,实现对故障排查与定位。运维人员不需要耗费时间在工具安装和配置上,也不需要了解后端命令行、脚本以及编程语言代码的具体逻辑实现,仅仅只在前端进行点击按钮的操作,后端会自动寻找映射关系,执行对应代码模块并返回结果,实现了对运维过程中故障的快速定位,将对象存储功能工具的故障定位简便化。此外,模型数据层、用户界面层和业务逻辑层三个部分交互,降低了数据与表现之间的耦合度,有利于进行横向扩展和纵向扩展,增加发明本身的适用范围和能力。
本申请实施例还公开了一种自动化运维测试装置,图5为本申请实施例提供的一种自动化运维测试装置的结构示意图,如图5所示,该装置包括:
接收模块501,用于接收测试请求,测试请求携带有测试类型的标识,测试类型至少包括软件开发包类测试、命令行类测试和脚本类测试;
处理函数集合调用模块503,用于通过URL控制器调用业务逻辑层中与测试类型的标识对应的目标处理函数集合;其中,业务逻辑层包括多个处理函数集合,每个处理函数集合对应一种测试类型;
测试数据获取模块505,用于通过模型数据层获取目标处理函数集合所需的测试数据;
响应数据获取模块507,用于根据目标处理函数集合和测试数据获得测试请求的响应数据;
测试结果获取模块509,用于通过业务逻辑层将响应数据发送至用户界面层进行处理得到测试结果。
本申请实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图6是本申请实施例提供的一种自动化运维测试方法的服务器的硬件结构框图。如图6所示,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)610(处理器610可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器630,一个或一个以上存储应用程序623或数据622的存储介质620(例如一个或一个以上海量存储设备)。其中,存储器630和存储介质620可以是短暂存储或持久存储。存储在存储介质620的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器610可以设置为与存储介质620通信,在服务器600上执行存储介质620中的一系列指令操作。服务器600还可以包括一个或一个以上电源660,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口640,和/或,一个或一个以上操作系统621,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口640可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器600的通信供应商提供的无线网络。在一个实例中,输入输出接口640包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口640可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器600还可包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。
本申请的实施例还提供了一种存储介质,所述存储介质可设置于服务器之中以保存用于实现方法实施例中一种自动化运维测试方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述自动化运维测试方法。
可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
对象存储产品具有丰富的API接口,同时支持多种SDK和命令行工具,且每类工具的适配环境和编程语言并不相同,这对于运维人员来说,在管理上造成了一定难度,且当前并没有关于对象存储产品功能工具管理有关的自动化运维工具。本申请实施例提供的自动化运维测试方法、装置、设备或存储介质,将业务逻辑层、模型数据层、用户界面层分离开,实现数据与表现的解耦,构建对象存储的自动化运维工具。将三种类别的测试工具(软件开发包类、命令行类和脚本类)在页面上进行一键测试。后端涉及的代码块之间的耦合度低,从而可以很好的将其进行横向和纵向扩展。运维人员在进行运维时,通过点击前端页面上的测试按钮,后端自动寻求映射关系,执行响应的代码模块。最后以页面视图的形式进行直观展示,从而快速定位故障点,提升日常运维效率。
需要说明的是:上述本申请实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种自动化运维测试方法,其特征在于,所述方法包括:
接收测试请求,所述测试请求携带有测试类型的标识,所述测试类型至少包括软件开发包类测试、命令行类测试和脚本类测试;
通过URL控制器调用业务逻辑层中与所述测试类型的标识对应的目标处理函数集合;其中,所述业务逻辑层包括多个处理函数集合,每个所述处理函数集合对应一种测试类型;
通过模型数据层获取所述目标处理函数集合所需的测试数据;
根据所述目标处理函数集合和所述测试数据得到所述测试请求的响应数据;
通过所述业务逻辑层将所述响应数据发送至用户界面层进行处理得到测试结果。
2.根据权利要求1所述的自动化运维测试方法,其特征在于,所述通过URL控制器调用业务逻辑层中与所述测试类型的标识对应的目标处理函数集合,包括:
通过所述URL控制器根据所述测试类型的标识确定业务逻辑层中与所述测试类型的标识对应的目标处理函数集合的映射路径;
根据所述映射路径调用所述目标处理函数集合。
3.根据权利要求2所述的自动化运维测试方法,其特征在于,所述目标处理函数集合中包括至少一个处理函数,每个所述处理函数对应至少一项测试;所述映射路径包括至少一个映射子路径,每个所述映射子路径对应一个所述处理函数,至少一个所述映射子路径按照预设排序规则进行排序;所述根据所述映射路径调用所述目标处理函数集合,包括:
根据至少一个所述映射子路径依次调用所述目标处理函数集合中的每个所述处理函数进行测试。
4.根据权利要求3所述的自动化运维测试方法,其特征在于,所述通过模型数据层获取所述目标处理函数集合所需的测试数据,包括:
通过模型数据层确定数据库连接信息;
根据所述数据库连接信息在数据库中获取所述目标处理函数集合所需的测试数据。
5.根据权利要求4所述的自动化运维测试方法,其特征在于,所述测试数据包括程序配置信息和运行数据信息,所述根据所述目标处理函数集合和所述测试数据得到所述测试请求的响应数据,包括:
根据所述程序配置信息进行配置测试程序;
通过所述运行数据信息对所述测试程序进行测试,得到所述测试请求的响应数据。
6.根据权利要求1所述的自动化运维测试方法,其特征在于,所述通过所述业务逻辑层将所述响应数据发送至用户界面层进行处理得到测试结果之前,还包括:
通过所述模型数据层将所述响应数据存储在所述数据库中。
7.根据权利要求6所述的自动化运维测试方法,其特征在于,所述通过所述业务逻辑层将所述响应数据发送至用户界面层进行处理得到测试结果,包括:
将所述响应数据发送至用户界面层,所述用户界面层将所述响应数据转换成可视化文件;
通过所述业务逻辑层将所述可视化文件反馈至交互界面,所述可视化文件中含有所述测试结果。
8.一种自动化运维测试装置,其特征在于,所述装置包括:
接收模块,用于接收测试请求,所述测试请求携带有测试类型的标识,所述测试类型至少包括软件开发包类测试、命令行类测试和脚本类测试;
处理函数集合调用模块,用于通过URL控制器调用业务逻辑层中与所述测试类型的标识对应的目标处理函数集合;其中,所述业务逻辑层包括多个处理函数集合,每个所述处理函数集合对应一种测试类型;
测试数据获取模块,用于通过模型数据层获取所述目标处理函数集合所需的测试数据;
响应数据获取模块,用于根据所述目标处理函数集合和所述测试数据获得所述测试请求的响应数据;
测试结果获取模块,用于通过所述业务逻辑层将所述响应数据发送至用户界面层进行处理得到测试结果。
9.一种电子设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令或至少一段程序,所述至少一条指令或所述至少一段程序由所述处理器加载并执行如权利要求1-7任一所述的自动化运维测试方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如权利要求1-7任一所述的自动化运维测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011140927.7A CN112328470A (zh) | 2020-10-22 | 2020-10-22 | 一种自动化运维测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011140927.7A CN112328470A (zh) | 2020-10-22 | 2020-10-22 | 一种自动化运维测试方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112328470A true CN112328470A (zh) | 2021-02-05 |
Family
ID=74311355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011140927.7A Pending CN112328470A (zh) | 2020-10-22 | 2020-10-22 | 一种自动化运维测试方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328470A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965711A (zh) * | 2021-03-04 | 2021-06-15 | 北京金山云网络技术有限公司 | 作业测试方法和装置、电子设备和存储介质 |
CN113204199A (zh) * | 2021-04-26 | 2021-08-03 | 武汉卓尔信息科技有限公司 | 一种工业设备的远程运维系统及方法 |
CN113407234A (zh) * | 2021-06-30 | 2021-09-17 | 广州江南科友科技股份有限公司 | 跨平台跨浏览器的运维访问方法、系统和存储介质 |
CN113448656A (zh) * | 2021-07-12 | 2021-09-28 | 中国银行股份有限公司 | 基于Ansible的在线脚本执行方法及装置 |
CN118132639A (zh) * | 2024-04-30 | 2024-06-04 | 深圳市鼎阳科技股份有限公司 | 一种自动化产测系统、产测方法和计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156137A1 (en) * | 2004-12-23 | 2006-07-13 | Honeywell International Inc. | Test program set generation tool |
CN107256195A (zh) * | 2017-06-08 | 2017-10-17 | 武汉斗鱼网络科技有限公司 | 网页前端测试方法及装置 |
CN107832206A (zh) * | 2017-10-16 | 2018-03-23 | 深圳市牛鼎丰科技有限公司 | 测试方法、装置、计算机可读存储介质和计算机设备 |
CN108845925A (zh) * | 2018-03-30 | 2018-11-20 | 新华三技术有限公司 | web页面测试方法、装置、电子设备及计算机可读介质 |
CN109144799A (zh) * | 2018-08-14 | 2019-01-04 | 深圳壹账通智能科技有限公司 | 一体化测试方法、装置、计算机设备和存储介质 |
CN110309058A (zh) * | 2019-05-24 | 2019-10-08 | 平安银行股份有限公司 | 业务端测试方法、装置、计算机装置及计算机存储介质 |
CN110716919A (zh) * | 2019-09-23 | 2020-01-21 | 贝壳技术有限公司 | 一种Mock测试方法、装置及存储介质 |
-
2020
- 2020-10-22 CN CN202011140927.7A patent/CN112328470A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156137A1 (en) * | 2004-12-23 | 2006-07-13 | Honeywell International Inc. | Test program set generation tool |
CN107256195A (zh) * | 2017-06-08 | 2017-10-17 | 武汉斗鱼网络科技有限公司 | 网页前端测试方法及装置 |
CN107832206A (zh) * | 2017-10-16 | 2018-03-23 | 深圳市牛鼎丰科技有限公司 | 测试方法、装置、计算机可读存储介质和计算机设备 |
CN108845925A (zh) * | 2018-03-30 | 2018-11-20 | 新华三技术有限公司 | web页面测试方法、装置、电子设备及计算机可读介质 |
CN109144799A (zh) * | 2018-08-14 | 2019-01-04 | 深圳壹账通智能科技有限公司 | 一体化测试方法、装置、计算机设备和存储介质 |
CN110309058A (zh) * | 2019-05-24 | 2019-10-08 | 平安银行股份有限公司 | 业务端测试方法、装置、计算机装置及计算机存储介质 |
CN110716919A (zh) * | 2019-09-23 | 2020-01-21 | 贝壳技术有限公司 | 一种Mock测试方法、装置及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112965711A (zh) * | 2021-03-04 | 2021-06-15 | 北京金山云网络技术有限公司 | 作业测试方法和装置、电子设备和存储介质 |
CN113204199A (zh) * | 2021-04-26 | 2021-08-03 | 武汉卓尔信息科技有限公司 | 一种工业设备的远程运维系统及方法 |
CN113407234A (zh) * | 2021-06-30 | 2021-09-17 | 广州江南科友科技股份有限公司 | 跨平台跨浏览器的运维访问方法、系统和存储介质 |
CN113407234B (zh) * | 2021-06-30 | 2023-11-24 | 广州江南科友科技股份有限公司 | 跨平台跨浏览器的运维访问方法、系统和存储介质 |
CN113448656A (zh) * | 2021-07-12 | 2021-09-28 | 中国银行股份有限公司 | 基于Ansible的在线脚本执行方法及装置 |
CN118132639A (zh) * | 2024-04-30 | 2024-06-04 | 深圳市鼎阳科技股份有限公司 | 一种自动化产测系统、产测方法和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112328470A (zh) | 一种自动化运维测试方法、装置、设备及存储介质 | |
US11630646B2 (en) | Software defined network controller | |
CN109933522B (zh) | 一种自动化用例的测试方法、测试系统及存储介质 | |
CN110324169B (zh) | 一种接口管理的方法和装置 | |
CN107832207A (zh) | 接口性能测试方法、装置、存储介质和计算机设备 | |
CN114064152B (zh) | 基于动态加载的嵌入式多核调试系统及其调试方法 | |
KR20170059468A (ko) | 운행 환경의 배치 방법 및 장치, 시스템 | |
CN111290753A (zh) | 前端开发环境的搭建方法、装置、设备及存储介质 | |
CN104821954A (zh) | 一种跨平台远程过程调用方法 | |
US20100235493A1 (en) | Extendable distributed network management system and method | |
CN115114044B (zh) | 消息推送方法、装置、设备和介质 | |
CN111367804B (zh) | 基于云计算及网络编程实现前端协作调试的方法 | |
US20200293502A1 (en) | Systems and methods for database management system (dbms) discovery | |
US20060120353A1 (en) | Systems and methods for VolP service delivery | |
CN114501501A (zh) | 移动通信网络靶场的配置管理方法、装置、设备及介质 | |
Nakimuli et al. | Automatic deployment, execution and analysis of 5G experiments using the 5G EVE platform | |
CN113419818B (zh) | 基础组件部署方法、装置、服务器及存储介质 | |
CN113127335A (zh) | 一种系统测试的方法和装置 | |
CN111104181A (zh) | 一种可视化编辑任务流程的网页数据填报系统 | |
CN118093007A (zh) | 一种定制Web端集成开发环境的方法及相关产品 | |
CN112579406B (zh) | 一种日志调用链生成方法和装置 | |
CN110389886B (zh) | 一种主体应用程序的附加功能测试方法、装置及存储介质 | |
CN112650815B (zh) | 环境数据的同步方法及装置、存储介质及电子装置 | |
CN114461337A (zh) | 一种云仿真系统、方法、电子设备及存储介质 | |
CN112433938A (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 |