CN111159006B - 一种自动化测试方法及装置 - Google Patents
一种自动化测试方法及装置 Download PDFInfo
- Publication number
- CN111159006B CN111159006B CN201811321499.0A CN201811321499A CN111159006B CN 111159006 B CN111159006 B CN 111159006B CN 201811321499 A CN201811321499 A CN 201811321499A CN 111159006 B CN111159006 B CN 111159006B
- Authority
- CN
- China
- Prior art keywords
- test
- script
- preset
- topology
- 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
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/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—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
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
本发明提供了一种自动化测试方法及装置,涉及软件自动化测试技术领域。所述自动化测试方法包括:读取测试任务列表中的测试任务;确定所述测试任务对应的测试拓扑信息集合,所述测试拓扑信息集合中的每个测试拓扑信息对应一种测试拓扑;构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑,创建每个测试拓扑对应的测试脚本集合;确定每个测试脚本集合对应的所有预置环境的信息,依次创建所述所有预置环境,分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本。该自动化测试方法在预置环境中执行与其对应的所有测试脚本,通过对预置环境的复用提高自动化测试效率。
Description
技术领域
本发明涉及软件自动化测试技术领域,具体而言,涉及一种自动化测试方法及装置。
背景技术
随着计算机软件和互联网的迅速发展,软件程序的测试工作量也呈爆发式增长,因此自动化测试在通讯、互联网行业已经是大势所趋,对于迭代开发,功能稳定的产品,有效的利用自动化测试工具能够极大的加快版本测试验证,节约测试成本。
但是传统的数据通信设备自动化测试框架下,每条测试用例相互独立(测试用例对应的测试脚本也相互独立),多条测试脚本在设备上以串行的方式进行执行。每条脚本执行之前都会清除所有配置,释放占用的设备,否则执行脚本的先后关系将对执行结果产生影响,造成测试结果不正确。因此存在脚本对应配置创建耗时长,自动化测试效率低的问题。
发明内容
有鉴于此,本发明实施例的目的在于提供一种自动化测试方法及装置,以解决上述问题。
第一方面,本发明实施例提供了一种自动化测试方法,所述自动化测试方法包括:读取测试任务列表中的测试任务;确定所述测试任务对应的测试拓扑信息集合,所述测试拓扑信息集合中的每个测试拓扑信息对应一种测试拓扑;构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑,创建每个测试拓扑对应的测试脚本集合;确定每个测试脚本集合对应的所有预置环境的信息,依次创建所述所有预置环境,分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本。
本发明实施例将测试任务对应的测试拓扑进行区分,将测试任务对应的测试脚本与匹配的测试拓扑相关联,基于该测试拓扑信息创建测试拓扑后,在该测试拓扑中创建所有测试脚本对应的全部预置环境,并在多个测试脚本对应一个预置环境时复用预置环境执行多个测试脚本,提高了自动化测试效率。
综合第一方面,在所述创建每个测试拓扑对应的测试脚本集合之前,所述方法还包括:确定所述测试拓扑的测试设备分配成功。
本发明实施例在创建测试脚本之前判断测试拓扑的测试设备分配是否成功,在测试设备分配成功之后再创建每个测试拓扑对应的测试脚本,从而能够在测试设备分配失败时再次进行测试设备的分配,保证了测试脚本、测试拓扑以及测试设备的匹配程度,同时避免了因为在测试设备未完成分配时就创建测试脚本而降低了自动化测试效率。
综合第一方面,所述构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑,包括:读取所述测试拓扑信息集合中的每个测试拓扑信息中需要分配的测试设备信息和连接信息,基于所述测试设备信息和连接信息进行对应的测试拓扑的构建。
本发明实施例基于测试设备信息进行测试拓扑构建,极大地增强了测试设备和测试拓扑的匹配程度,从而提高了自动化测试准确度。
综合第一方面,在所述构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑之前,所述方法还包括:判断所述测试拓扑对应的测试脚本集合对应的预置环境是否为空;若是,将所述测试拓扑及所述预置环境对应的测试脚本标上执行完成标识;若否,执行所述“构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑”的步骤。
本发明实施例在确定对应测试脚本的预置环境不为空时,才进行预置环境的构建,避免耗费时间进行不必要的拓扑构建,提高了自动化测试效率,同时还对为空的预置环境及其对应的测试脚本标记上执行完成的标识,避免再次对为空的预置环境及其对应的测试脚本进行判断或其他操作,进一步提高了自动化测试的效率。
综合第一方面,在所述分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本之前,所述方法还包括:创建与每个预置环境关联的由所述测试脚本集合中的脚本构成的测试脚本子集合;所述分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本,包括:分别在每个预置环境中依次执行与所述预置环境关联的测试脚本子集合中的每个测试脚本。
本发明实施例在一个预置环境中依次执行所有与该预置环境相关联的测试脚本,对预置环境进行复用,避免在每执行完一个测试脚本后就对下一个测试脚本再次单独创建脚本测试拓扑,从而提高了自动化测试的效率。
综合第一方面,在所述依次创建所述所有预置环境之后,以及所述分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本之前,所述方法还包括:确定所述预置环境构建成功,并对所述预置环境设置预置环境构建成功标识。
本发明实施例在执行测试脚本前需要确定预置环境构建成功,以保证测试脚本在对应的正确的预置环境中执行,提高了自动化测试的准确性,并且在预置环境构建成功后设置预置环境构建成功标识,避免再次进行预置环境是否构建成功的判断,从而提高了自动化测试效率。
综合第一方面,在所述分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本之后,所述方法还包括:在每个测试脚本被执行后判断所述测试脚本的测试是否正常结束;若是,收集所述测试脚本的配置信息并删除所述测试脚本的配置信息,然后检查所述测试脚本对应的预置环境;若否,清除所述测试脚本的配置并重置所述测试脚本对应的预置环境及预置环境构建成功标识。
本发明实施例在执行完一个测试脚本后还需要确定该测试脚本是否被正常执行,以对该测试脚本及其对应的测试拓扑进行正确处理,且在测试脚本未正常执行时直接清除预置环境的相关配置,重置预置环境构建成功标识,以进行其他测试脚本的执行工作,进而提高了自动化测试的效率。
第二方面,本发明实施例提供了一种自动化测试装置,所述自动化测试装置包括:读取模块,用于读取测试任务列表中的测试任务;拓扑创建模块,用于确定所述测试任务对应的测试拓扑信息集合,所述测试拓扑信息集合中的每个测试拓扑信息对应一种测试拓扑;脚本创建模块,用于构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑,创建每个测试拓扑对应的测试脚本集合;执行模块,用于确定每个测试脚本集合对应的所有预置环境的信息,依次创建所述所有预置环境,分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本。
综合第二方面,所述执行模块包括:脚本子集合创建单元,用于创建与每个预置环境关联的由所述测试脚本集合中的脚本构成的测试脚本子集合;脚本执行单元,用于分别在每个预置环境中依次执行与所述预置环境关联的测试脚本子集合中的每个测试脚本。
综合第二方面,所述自动化测试装置还包括预置环境重置模块,所述预置环境重置模块包括:判断单元,用于在每个测试脚本被执行后判断所述测试脚本的测试是否正常结束;正常重置单元,用于在所述测试脚本的测试是正常结束时,收集所述测试脚本的配置信息并删除所述测试脚本的配置信息,然后检查所述测试脚本对应的预置环境;异常重置单元,用于在所述测试脚本的测试不是正常结束时,清除所述测试脚本的配置并重置所述测试脚本对应的预置环境及预置环境构建成功标识。
第三方面,本发明实施例还提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一方面所述方法中的步骤。
本发明提供的有益效果是:
本发明提供了一种自动化测试方法及装置,所述自动化测试方法包括:读取测试任务列表中的测试任务;读取测试任务列表中的测试任务;确定所述测试任务对应的测试拓扑信息集合,所述测试拓扑信息集合中的每个测试拓扑信息对应一种测试拓扑;构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑,创建每个测试拓扑对应的测试脚本集合;确定每个测试脚本集合对应的所有预置环境的信息,依次创建所述所有预置环境,分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本。
通过将测试任务对应的测试拓扑进行区分,将测试任务对应的测试脚本与匹配的测试拓扑相关联,基于该测试拓扑信息创建测试拓扑后,在该测试拓扑中创建所有测试脚本对应的全部预置环境,并在多个测试脚本对应一个预置环境时复用预置环境执行多个测试脚本,提高了自动化测试效率。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明第一实施例提供的一种自动化测试方法的流程示意图;
图2为本发明第一实施例提供的一种测试拓扑信息集合确定步骤的流程示意图;
图3为本发明第一实施例提供的一种预置环境判定步骤的流程示意图;
图4为本发明第一实施例提供的一种测试脚本执行后预置环境处理步骤的流程示意图;
图5为本发明第二实施例提供的一种自动化测试装置的模块示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
第一实施例
经本申请人研究发现,现有的通信软件自动化测试中由于不同测试脚本对应的拓扑环境不同,执行不同的测试脚本时需要在不同的拓扑环境中为每一个测试脚本单独创建测试环境,传统数据通信设备自动化测试框架执行方式的简单流程为:1)手动/自动提交需要执行的脚本;2)调度进程根据提交的脚本进行调度,按照使用的拓扑分配空闲的测试设备,并对分配了的设备进行占用,设备占用后不能再进行分配;3)设备分配后由脚本执行进程使用分配的测试设备进行脚本执行,当脚本执行完成后清除所有设备配置,并释放设备,释放后的设备处于空闲状态,可以再次进行分配。每次都需要对测试脚本进行拓扑环境判断并对拓扑环境和测试环境进行完全清除和重建,因此,全量测试脚本执行时间与测试脚本总量和测试设备总量正相关,即当测试设备数量一定的情况下,全量测试脚本的执行时间会随着测试脚本总量的增加而增加。在实际的项目中,自动化测试的一个基本要求就是不断增加测试用例的自动化覆盖率,即不断增加测试脚本数量,这就导致项目中全量测试脚本的执行时间越来越长,不断拉长项目的自动化执行周期,在项目总测试时间节点固定的情况下,自动化测试轮次不断被压缩,增加问题遗漏风险。为了解决上述问题,本发明第一实施例提供了一种自动化测试方法,该自动化测试方法的执行主体可以是计算机、智能手机、云处理器或其他处理设备。
请参考图1,图1为本发明第一实施例提供的一种自动化测试方法的流程示意图。该自动化测试方法具体步骤可以如下:
步骤S10:读取测试任务列表中的测试任务。
该测试任务列表可以是设置在自动化平台内的数据库模块,每个测试任务的不同功能部分可能需要不同的测试拓扑,可以将不同功能部分作为多个测试子任务,每个测试子任务则对应一个测试脚本。
步骤S20:确定所述测试任务对应的测试拓扑信息集合,所述测试拓扑信息集合中的每个测试拓扑信息对应一种测试拓扑。
测试拓扑信息即为硬件设备和通信网络的类型、数量以及连接方式,例如两台通过局域网连接的计算机与通过互联网连接的一台计算机和一台云服务器就是不同的测试拓扑。预置环境则是基于测试拓扑中设置好的硬件、软件及连接设置构建的预置环境。不同的测试子任务对应的测试脚本需要在不同的预置环境中执行,因此测试任务中的一个或多个测试子任务与一个预置环境对应,测试任务中所有的测试子任务关联的所有的预置环境的集合即为该测试任务的测试拓扑信息对应的所有测试拓扑的集合。
步骤S30:构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑,创建每个测试拓扑对应的测试脚本集合。
步骤S40:确定每个测试脚本集合对应的所有预置环境的信息,依次创建所述所有预置环境,分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本。
拆分出相同拓扑环境下公共基础环境类的配置和检查、业务特征测试类的配置和检查,将多条相同拓扑环境下拥有相同公共基础环境的的测试脚本归为一组,并将提取的拓扑和公共基础环境作为该组测试脚本的预置环境。
本发明实施例提供的自动化测试方法通过将测试任务对应的测试拓扑进行区分,将测试任务对应的测试脚本与匹配的测试拓扑相关联,基于该测试拓扑信息创建测试拓扑后,在该测试拓扑中创建所有测试脚本对应的全部预置环境,并在多个测试脚本对应一个预置环境时复用预置环境执行多个测试脚本,提高了自动化测试效率。
作为一种可选的实施方式,在执行步骤S10之前,还需要将测试任务按模块的功能点和测试点进行整合,拆分出相同拓扑环境下公共基础环境类的配置和检查、业务特征测试类的配置和检查,其中,模块可以根据通信协议的不同进行划分。在本实施例中,其具体步骤可以为:按通信协议提交测试任务集合至自动化平台,为所述测试任务集合进行任务创建并将创建后的测试任务添加至测试任务列表。该测试任务列表可以是存储在本地数据库中,也可以是从云端进行获取。
针对步骤S10,对测试任务的读取可以是由调度进程周期性地对测试任务列表中的内容进行获取。同时,在测试任务列表为空时,可以等待一段时间再次进行读取,在测试任务列表不为空时读取测试任务列表中的第一个测试任务。
针对步骤S20,如图2所示,所述“确定所述测试任务对应的测试拓扑信息集合”可以具体包括如下步骤:
步骤S21:扫描所述测试任务是否包含未测试完的测试拓扑。
步骤S22:若所述测试任务包含未测试完的测试拓扑,确定所述测试任务的测试拓扑信息集合。
步骤S23:若所述测试任务不包含未测试完的测试拓扑,给所述测试任务添加任务完成标记。
作为一种可选的实施方式,步骤S23在给测试任务添加任务完成标记之后,将测试任务从测试任务列表中移除。
本实施例中通过判断测试任务是否包含未测试完的测试拓扑,并在测试任务不包含未测试完的测试拓扑时给测试拓扑添加任务完成标记,避免再次对判定过的测试任务进行判断或其他不必要的操作,从而提高了测试效率。
在执行完步骤S23之后,执行步骤S30之前,本实施例还可以包括如下步骤:确定所述测试拓扑的测试设备分配成功。其中,为所述测试拓扑分配的测试设备应当具备与该测试拓扑匹配的硬件设备及其通信连接关系。进一步地,若该测试拓扑的测试设备分配失败,则返回步骤S21重新获取其他测试拓扑;若该测试拓扑的测试设备分配成功,则可以继续执行步骤S30。
针对步骤S30:构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑,创建每个测试拓扑对应的测试脚本集合。所述的“构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑”可以具体为:读取所述测试拓扑信息集合中的每个测试拓扑信息中需要分配的测试设备信息和连接信息,基于所述测试设备信息和连接信息进行对应的测试拓扑的构建。该测试拓扑的构建可以是在测试拓扑的固定硬件设备和连接关系中进行通信软件或通信指令的调整和设置。
作为一种可选的实施方式,在步骤S23之后,在执行步骤S30构建拓扑环境之前,该自动化测试方法还可以包括如图3所示的预置环境判定步骤,该预置环境判定步骤具体如下:
步骤S24:判断所述测试拓扑对应的测试脚本集合对应的预置环境是否为空。
步骤S25:若是,将所述测试拓扑及所述预置环境对应的测试脚本标上执行完成标识。
测试脚本对应的预置环境集合为空时,则表示该预置环境下没有要执行的测试脚本或所有测试脚本已经执行完成,从而设置执行完成表示避免浪费运算能力和时间再次处理该预置环境下的测试脚本。
步骤S26:若否,执行所述“构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑”的步骤。
作为一种可选的实施方式,在步骤S40之前还包括如下步骤:创建与每个预置环境关联的由所述测试脚本集合中的脚本构成的测试脚本子集合。
针对步骤S40,在所述“分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本”之前,本实施例还应当对每个预置环境对应的测试脚本子集合进行判定,若该脚本子集合为空,则清除该预置环境下的设备配置,并标识该预置环境对应的测试脚本子集合已执行结束。
作为一种可选的实施方式,步骤S40中的所述“分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本”的步骤具体可以为:分别在每个预置环境中依次执行与所述预置环境关联的测试脚本子集合中的每个测试脚本。
进一步地,为了保证测试脚本是在匹配的预置环境中执行,在对每个预置环境对应的测试脚本子集合进行判定之后,以及在所述“分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本”之前,本实施例还会确定该预置环境是否构建成功,若否,则重新构建该预置环境,并设置该预置环境构建成功的标识。
作为一种可选的实施方式,在执行完步骤S40之后还需要对测试脚本的运行数据和预置环境进行处理,以确保自动测试效率以及自动测试结果的正确收集。请参考图4,图4为本发明第一实施例提供的一种测试脚本执行后预置环境处理步骤的流程示意图。该处理步骤具体可以如下:
步骤S51:在每个测试脚本被执行后判断所述测试脚本的测试是否正常结束。
步骤S52:若是,收集所述测试脚本的配置信息并删除所述测试脚本的配置信息,然后检查所述测试脚本对应的预置环境。
步骤S53:若否,清除所述测试脚本的配置并重置所述测试脚本对应的预置环境及预置环境构建成功标识。
第二实施例
为了配合本发明第一实施例提供的自动化测试方法,本发明第二实施例还提供了一种自动化测试装置100。
请参考图5,图5为本发明第二实施例提供的一种自动化测试装置的模块示意图。
自动化测试装置100包括读取模块110、拓扑创建模块120、脚本创建模块130和执行模块140。
读取模块110,用于读取测试任务列表中的测试任务。
拓扑创建模块120,用于确定所述测试任务对应的测试拓扑信息集合,所述测试拓扑信息集合中的每个测试拓扑信息对应一种测试拓扑。
脚本创建模块130,用于构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑,创建每个测试拓扑对应的测试脚本集合。
执行模块140,用于确定每个测试脚本集合对应的所有预置环境的信息,依次创建所述所有预置环境,分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本。
作为一种可选的实施方式,本实施例提供的执行模块140包括脚本子集合创建单元和脚本执行单元。
脚本子集合创建单元,用于创建与每个预置环境关联的由所述测试脚本集合中的脚本构成的测试脚本子集合。
脚本执行单元,用于分别在每个预置环境中依次执行与所述预置环境关联的测试脚本子集合中的每个测试脚本。
进一步地,本实施例提供的自动化测试装置100还包括预置环境重置模块150,预置环境重置模块150包括判断单元、正常重置单元和异常重置单元。
判断单元,用于在每个测试脚本被执行后判断所述测试脚本的测试是否正常结束。
正常重置单元,用于在所述测试脚本的测试是正常结束时,收集所述测试脚本的配置信息并删除所述测试脚本的配置信息,然后检查所述测试脚本对应的预置环境。
异常重置单元,用于在所述测试脚本的测试不是正常结束时,清除所述测试脚本的配置并重置所述测试脚本对应的预置环境及预置环境构建成功标识。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
综上所述,本发明实施例提供了一种自动化测试方法及装置,所述自动化测试方法包括:读取测试任务列表中的测试任务;创建所述测试任务的测试拓扑集合,所述测试拓扑集合中的每个测试拓扑对应一种拓扑环境;构建每个测试拓扑对应的拓扑环境,创建每个测试拓扑对应的测试脚本;确定所述测试脚本中的所有预置环境,创建所述所有预置环境,分别在每个预置环境中依次执行与所述预置环境对应的测试脚本。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (8)
1.一种自动化测试方法,其特征在于,所述方法包括:
读取测试任务列表中的测试任务,所述测试任务列表是设置在自动化平台内的数据库;
确定所述测试任务对应的测试拓扑信息集合,所述测试拓扑信息集合中的每个测试拓扑信息对应一种测试拓扑;
构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑,创建每个测试拓扑对应的测试脚本集合;
确定每个测试脚本集合对应的所有预置环境的信息,依次创建所述所有预置环境,分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本;
其中,将所述测试任务按照通信协议的不同进行划分的模块的功能点和测试点进行整合,拆分出相同拓扑环境下公共基础环境的配置和检查,将多条所述相同拓扑环境下拥有所述公共基础环境的测试脚本归为一组,并将所述公共基础环境作为该组测试脚本的预置环境,所述自动化平台中的测试任务是按照所述通信协议提交的;
在所述分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本之后,在每个测试脚本被执行后判断所述测试脚本的测试是否正常结束;若是,收集所述测试脚本的配置信息并删除所述测试脚本的配置信息,然后检查所述测试脚本对应的预置环境;若否,清除所述测试脚本的配置并重置所述测试脚本对应的预置环境及预置环境构建成功标识。
2.根据权利要求1所述的自动化测试方法,其特征在于,在所述创建每个测试拓扑对应的测试脚本集合之前,所述方法还包括:
确定所述测试拓扑的测试设备分配成功。
3.根据权利要求2所述的自动化测试方法,其特征在于,所述构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑,包括:
读取所述测试拓扑信息集合中的每个测试拓扑信息中需要分配的测试设备信息和连接信息,基于所述测试设备信息和连接信息进行对应的测试拓扑的构建。
4.根据权利要求1所述的自动化测试方法,其特征在于,在所述构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑之前,所述方法还包括:
判断所述测试拓扑对应的测试脚本集合对应的预置环境是否为空;
若是,将所述测试拓扑及所述预置环境对应的测试脚本标上执行完成标识;
若否,执行所述“构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑”的步骤。
5.根据权利要求1所述的自动化测试方法,其特征在于,在所述分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本之前,所述方法还包括:
创建与每个预置环境关联的由所述测试脚本集合中的脚本构成的测试脚本子集合;
所述分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本,包括:
分别在每个预置环境中依次执行与所述预置环境关联的测试脚本子集合中的每个测试脚本。
6.根据权利要求1所述的自动化测试方法,其特征在于,在所述依次创建所述所有预置环境之后,以及所述分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本之前,所述方法还包括:
确定所述预置环境构建成功,并对所述预置环境设置预置环境构建成功标识。
7.一种自动化测试装置,其特征在于,所述自动化测试装置包括:
读取模块,用于读取测试任务列表中的测试任务,所述测试任务列表是设置在自动化平台内的数据库;
拓扑创建模块,用于确定所述测试任务对应的测试拓扑信息集合,所述测试拓扑信息集合中的每个测试拓扑信息对应一种测试拓扑;
脚本创建模块,用于构建所述测试拓扑信息集合中的每个测试拓扑信息对应的测试拓扑,创建每个测试拓扑对应的测试脚本集合;
执行模块,用于确定每个测试脚本集合对应的所有预置环境的信息,依次创建所述所有预置环境,分别在每个预置环境中依次执行与所述预置环境对应的所述测试脚本集合中的测试脚本;
其中,所述执行模块还用于:将所述测试任务按照通信协议的不同进行划分的模块的功能点和测试点进行整合,拆分出相同拓扑环境下公共基础环境的配置和检查,将多条所述相同拓扑环境下拥有所述公共基础环境的测试脚本归为一组,并将所述公共基础环境作为该组测试脚本的预置环境,所述自动化平台中的测试任务是按照所述通信协议提交的;
所述自动化测试装置还包括预置环境重置模块,所述预置环境重置模块包括:判断单元,用于在每个测试脚本被执行后判断所述测试脚本的测试是否正常结束;正常重置单元,用于在所述测试脚本的测试是正常结束时,收集所述测试脚本的配置信息并删除所述测试脚本的配置信息,然后检查所述测试脚本对应的预置环境;异常重置单元,用于在所述测试脚本的测试不是正常结束时,清除所述测试脚本的配置并重置所述测试脚本对应的预置环境及预置环境构建成功标识。
8.根据权利要求7所述的自动化测试装置,其特征在于,所述执行模块包括:
脚本子集合创建单元,用于创建与每个预置环境关联的由所述测试脚本集合中的脚本构成的测试脚本子集合;
脚本执行单元,用于分别在每个预置环境中依次执行与所述预置环境关联的测试脚本子集合中的每个测试脚本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811321499.0A CN111159006B (zh) | 2018-11-07 | 2018-11-07 | 一种自动化测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811321499.0A CN111159006B (zh) | 2018-11-07 | 2018-11-07 | 一种自动化测试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159006A CN111159006A (zh) | 2020-05-15 |
CN111159006B true CN111159006B (zh) | 2022-10-18 |
Family
ID=70554962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811321499.0A Active CN111159006B (zh) | 2018-11-07 | 2018-11-07 | 一种自动化测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159006B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112769810B (zh) * | 2020-12-31 | 2023-04-07 | 山石网科通信技术股份有限公司 | 防火墙测试方法、装置、非易失性存储介质和电子装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706799A (zh) * | 2009-11-20 | 2010-05-12 | 中兴通讯股份有限公司 | 一种实现自动化测试的方法和装置 |
CN102118281A (zh) * | 2011-03-16 | 2011-07-06 | 北京星网锐捷网络技术有限公司 | 自动化测试方法、装置及网络设备 |
CN108055161A (zh) * | 2017-12-28 | 2018-05-18 | 新华三技术有限公司 | 一种组网优化方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330412B (zh) * | 2008-07-29 | 2011-01-19 | 中兴通讯股份有限公司 | 一种基于拓扑发现的自动化测试方法及系统 |
CN101404596B (zh) * | 2008-11-17 | 2010-12-08 | 福建星网锐捷网络有限公司 | 一种多拓扑环境测试方法、系统及设备 |
US8495425B2 (en) * | 2011-03-01 | 2013-07-23 | International Business Machines Corporation | System and method to efficiently identify bad components in a multi-node system utilizing multiple node topologies |
US8639978B2 (en) * | 2011-05-04 | 2014-01-28 | Aruba Networks, Inc. | Topology independent network-based automation infrastructure |
US9176852B2 (en) * | 2012-12-10 | 2015-11-03 | International Business Machines Corporation | Role-oriented testbed environments for use in test automation |
CN108075938A (zh) * | 2016-11-17 | 2018-05-25 | 迈普通信技术股份有限公司 | 一种自动化测试方法和装置 |
-
2018
- 2018-11-07 CN CN201811321499.0A patent/CN111159006B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706799A (zh) * | 2009-11-20 | 2010-05-12 | 中兴通讯股份有限公司 | 一种实现自动化测试的方法和装置 |
CN102118281A (zh) * | 2011-03-16 | 2011-07-06 | 北京星网锐捷网络技术有限公司 | 自动化测试方法、装置及网络设备 |
CN108055161A (zh) * | 2017-12-28 | 2018-05-18 | 新华三技术有限公司 | 一种组网优化方法及装置 |
Non-Patent Citations (2)
Title |
---|
Using reliability risk analysis to prioritize test cases;YingWang 等;《Journal of Systems and Software》;20180202;14-31页 * |
服务端压力测试工具选型的一些经验;AwesomeOcean;《https://blog.csdn.net/kuangshow0227/article/details/73195051》;20170613;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111159006A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11295228B2 (en) | Methods for creating automated dynamic workflows of interoperable bots and devices thereof | |
CN106294120B (zh) | 测试代码的方法、设备和计算机程序产品 | |
CN109947641B (zh) | 自动化测试方法及装置 | |
CN109739527B (zh) | 一种客户端灰度发布的方法、装置、服务器和存储介质 | |
CN109684211B (zh) | 一种基于店铺维度的订单调度系统压力测试方法及装置 | |
CN110297767B (zh) | 测试用例自动执行方法、装置、设备及存储介质 | |
CN112785194B (zh) | 工作流程的推荐方法、装置、可读存储介质及电子设备 | |
CN107203464B (zh) | 业务问题的定位方法以及装置 | |
CN113420537A (zh) | 电子表格数据处理方法、装置、设备及存储介质 | |
CN111124911A (zh) | 一种自动化测试方法、装置、设备及可读存储介质 | |
CN111159006B (zh) | 一种自动化测试方法及装置 | |
US9612944B2 (en) | Method and system for verifying scenario based test selection, execution and reporting | |
CN111913824A (zh) | 确定数据链路故障原因的方法及相关设备 | |
CN109241042B (zh) | 数据处理方法、装置以及电子设备 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及系统 | |
CN111159028A (zh) | 网页测试方法及装置 | |
CN114020642A (zh) | 大数据任务的测试方法、装置、存储介质和电子设备 | |
CN106445784B (zh) | 一种信息监控方法及装置 | |
CN111400245B (zh) | 美术资源迁移方法及装置 | |
US20130006568A1 (en) | Test Operation | |
CN113110991A (zh) | 页面元素的定位方法及装置、存储介质及电子装置 | |
CN107465762B (zh) | 一种分布式存储系统的测试方法及系统 | |
CN113836037B (zh) | 界面交互的测试方法、装置、设备及存储介质 | |
CN112214409B (zh) | 一种用于测试环境下的运维方法及装置 | |
CN114071450B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |