CN114647568A - 自动化测试方法、装置、电子设备及可读存储介质 - Google Patents

自动化测试方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN114647568A
CN114647568A CN202011515766.5A CN202011515766A CN114647568A CN 114647568 A CN114647568 A CN 114647568A CN 202011515766 A CN202011515766 A CN 202011515766A CN 114647568 A CN114647568 A CN 114647568A
Authority
CN
China
Prior art keywords
test
intention
case
description file
test case
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
Application number
CN202011515766.5A
Other languages
English (en)
Inventor
邓灵莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Communications Ltd Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Communications Ltd Research Institute filed Critical China Mobile Communications Group Co Ltd
Priority to CN202011515766.5A priority Critical patent/CN114647568A/zh
Publication of CN114647568A publication Critical patent/CN114647568A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

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

自动化测试方法、装置、电子设备及可读存储介质
技术领域
本发明涉及自动化测试技术领域,特别是指一种自动化测试方法、装置、电子设备及可读存储介质。
背景技术
NFV是指借助于虚拟化技术,通过服务器、存储器和交换机承载各种各样软件化的网络功能以替代传统的专有硬件设备的技术。由于NFV架构设计的组件很多、组件本身和不同组件之间接口复杂繁多,测试和对接工作量繁重。现有技术中,对于网元进行测试的过程包括:测试用例设计、测试环境搭建、测试任务执行及测试结果分析四个环节。除了部分测试用例(比如,接口一致性测试等)的测试任务执行环节可以采用自动化脚本进行优化之外,其他步骤往往采用人工手动执行,成本高、效率低、容易出错及难以规模化。
发明内容
本发明的目的是提供一种自动化测试方法、装置、电子设备及可读存储介质,用以解决NFV自动化测试效率较低的问题。
为达到上述目的,本发明的实施例提供一种自动化测试方法,应用于测试设计***,包括:
获取测试意图;
建测试用例,所述测试用例与所述测试意图具有关联关系;
将所述测试用例的用例描述文件以及所述测试意图发布至测试设计***。
可选地,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
可选地,所述获取测试意图,包括:
获取测试设计人员输入的测试意图;
或者,
获取目标设备提供的测试用例文件;
解析所述测试用例文件,获得所述测试意图。
可选地,所述获取测试设计人员输入的测试意图,包括:
通过自然语言处理模块将测试设计人员输入的测试意图语句转换为形式化的测试意图。
可选地,所述构建测试用例,包括:
根据所述测试意图生成测试用例;
或者,
根据所述测试意图与测试用例的关联关系,由测试用例库或者目标设备中获取目标测试用例;
根据所述目标测试用例构建所述测试用例。
可选地,所述将所述测试用例的用例描述文件以及所述测试意图发布至测试设计***,包括:
将所述测试用例的用例描述文件按照第一预设格式存储至测试用例库,并将所述测试意图按照第二预设格式存储至测试意图知识库。
可选地,在所述用例描述文件包括所述测试意图字段的情况下,将所述测试意图发布至测试设计***,包括:
解析所述测试意图字段;
在测试意图知识库中建立与所述测试意图字段对应的数据记录,并记录与所述测试意图字段对应的所述用例描述文件的识别码。
可选地,在所述用例描述文件包括所述意图引用字段的情况下,将所述测试意图发布至测试设计***,包括:
解析所述意图引用字段中引用的测试意图语句;
在测试意图知识库中查找与所述测试意图语句对应的测试意图数据,并记录所述测试意图数据与所述用例描述文件的关联关系。
可选地,所述获取测试意图,包括:
在构建测试用例的情况下,输出第一提示信息;
接收测试设计人员或者目标设备根据所述第一提示信息输入的测试意图。
可选地,将所述测试意图发布至测试设计***,包括:
建立所述测试意图与所述测试用例的关联关系;
在测试意图知识库中记录所述测试意图,以及所述测试意图与所述测试用例的关联关系。
可选地,所述方法还包括:
构建供测试用例使用的拓扑描述文件;
其中,所述用例描述文件还包括:所述拓扑描述文件或者所述拓扑描述文件的引用信息。
为达到上述目的,本发明的实施例还提供一种自动化测试方法,应用于测试执行***,包括:
获取测试执行人员的测试意图;
根据所述测试意图调取测试用例;
根据所述测试用例的用例描述文件执行测试任务。
可选地,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
可选地,所述获取测试执行人员的测试意图,包括:
通过自然语言处理模块将测试执行人员输入的测试意图语句转换为形式化的测试意图。
可选地,所述根据所述测试意图调取测试用例,包括:
根据测试意图知识库中测试意图与测试用例的关联关系,确定与所述测试意图对应的测试用例集合;
提取所述测试用例集合中的测试用例的用例描述文件。
可选地,所述根据所述测试意图调取测试用例,还包括:
在所述用例描述文件中包含意图引用字段的情况下,通过测试意图知识库获取与所述意图引用字段引用的测试意图对应的测试用例。
可选地,所述根据所述测试用例的用例描述文件执行测试任务,包括:
根据所述用例描述文件构建测试任务;
基于所述测试任务中对应的测试用例集合的执行顺序进行优化调度,获得测试用例执行集合;
顺序执行所述测试用例执行集合中的测试用例,获得执行结果;
根据所述执行结果,更新所述测试用例的执行情况。
可选地,所述根据所述用例描述文件构建测试任务,包括:
接收测试执行人员输入的测试参数,所述测试参数包括意图实例化参数;
根据所述意图实例化参数和所述用例描述文件进行意图实例化处理。
为达到上述目的,本发明的实施例提供一种自动化测试装置,应用于测试设计***,其特征在于,包括:
第一获取模块,用于获取测试意图;
第一构建模块,用于构建测试用例,所述测试用例与所述测试意图具有关联关系;
处理模块,用于将所述测试用例的用例描述文件以及所述测试意图发布至测试设计***。
可选地,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
可选地,所述第一获取模块包括:
第一获取单元,用于获取测试设计人员输入的测试意图;
或者,
第二获取单元,用于获取目标设备提供的测试用例文件;
第一解析单元,用于解析所述测试用例文件,获得所述测试意图。
可选地,所述第一获取单元具体用于:通过自然语言处理模块将测试设计人员输入的测试意图语句转换为形式化的测试意图。
可选地,所述第一构建模块包括:
第一生成单元,用于根据所述测试意图生成测试用例;
或者,
第三获取单元,用于根据所述测试意图与测试用例的关联关系,由测试用例库或者目标设备中获取目标测试用例;
第二生成单元,用于根据所述目标测试用例构建所述测试用例。
可选地,所述处理模块具体用于:将所述测试用例的用例描述文件按照第一预设格式存储至测试用例库,并将所述测试意图按照第二预设格式存储至测试意图知识库。
可选地,在所述用例描述文件包括所述测试意图字段的情况下,所述处理模块包括:
第二解析单元,用于解析所述测试意图字段;
第一记录单元,用于在测试意图知识库中建立与所述测试意图字段对应的数据记录,并记录与所述测试意图字段对应的所述用例描述文件的识别码。
可选地,在所述用例描述文件包括所述意图引用字段的情况下,所述处理模块包括:
第三解析单元,用于解析所述意图引用字段中引用的测试意图语句;
第二记录单元,用于在测试意图知识库中查找与所述测试意图语句对应的测试意图数据,并记录所述测试意图数据与所述用例描述文件的关联关系。
可选地,所述第一获取模块,包括:
提示单元,用于在构建测试用例的情况下,输出第一提示信息;
接收单元,用于接收测试设计人员或者目标设备根据所述第一提示信息输入的测试意图。
可选地,所述处理模块具体用于:
建立所述测试意图与所述测试用例的关联关系;
在测试意图知识库中记录所述测试意图,以及所述测试意图与所述测试用例的关联关系。
可选地,所述装置还包括:
第二构建模块,用于构建供测试用例使用的拓扑描述文件;
其中,所述用例描述文件还包括:所述拓扑描述文件或者所述拓扑描述文件的引用信息。
为达到上述目的,本发明的实施例提供一种自动化测试装置,应用于测试执行***,包括:
第二获取模块,用于获取测试执行人员的测试意图;
第三获取模块,用于根据所述测试意图调取测试用例;
执行模块,用于根据所述测试用例的用例描述文件执行测试任务。
可选地,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
可选地,所述第二获取模块具体用于:通过自然语言处理模块将测试执行人员输入的测试意图语句转换为形式化的测试意图。
可选地,所述第三获取模块包括:
确定单元,用于根据测试意图知识库中测试意图与测试用例的关联关系,确定与所述测试意图对应的测试用例集合;
提取单元,用于提取所述测试用例集合中的测试用例的用例描述文件。
可选地,所述第三获取模块还包括:
第四获取单元,用于在所述用例描述文件中包含意图引用字段的情况下,通过测试意图知识库获取与所述意图引用字段引用的测试意图对应的测试用例。
可选地,所述执行模块包括:
构建单元,用于根据所述用例描述文件构建测试任务;
第五获取单元,用于基于所述测试任务中对应的测试用例集合的执行顺序进行优化调度,获得测试用例执行集合;
第六获取单元,用于顺序执行所述测试用例执行集合中的测试用例,获得执行结果;
更新单元,用于根据所述执行结果,更新所述测试用例的执行情况。
可选地,所述构建单元具体用于:
接收测试执行人员输入的测试参数,所述测试参数包括意图实例化参数;
根据所述意图实例化参数和所述用例描述文件进行意图实例化处理。
为达到上述目的,本发明的实施例提供一种电子设备,包括处理器和收发器,其中,
所述收发器用于:获取测试意图;
所述处理器用于:构建测试用例,所述测试用例与所述测试意图具有关联关系;将所述用例描述文件以及所述测试意图发布至测试设计***。
可选地,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
可选地,所述收发器获取测试意图时,具体包括:
获取测试设计人员输入的测试意图;
或者,
获取目标设备提供的测试用例文件;
解析所述测试用例文件,获得所述测试意图。
可选地,所述收发器获取测试设计人员输入的测试意图,具体包括:
通过自然语言处理模块将测试设计人员输入的测试意图语句转换为形式化的测试意图。
可选地,所述处理器根据所述测试意图构建测试用例,具体包括:
根据所述测试意图生成测试用例;
或者,
根据所述测试意图与测试用例的关联关系,由测试用例库或者目标设备中获取目标测试用例;
根据所述目标测试用例构建所述测试用例。
可选地,所述处理器将所述测试用例的用例描述文件以及所述测试意图发布至测试设计***时,具体用于:
将所述测试用例的用例描述文件按照第一预设格式存储至测试用例库,并将所述测试意图按照第二预设格式存储至测试意图知识库。
可选地,在所述用例描述文件包括所述测试意图字段的情况下,所述处理器将所述测试意图发布至测试设计***时具体用于:
解析所述测试意图字段;
在测试意图知识库中建立与所述测试意图字段对应的数据记录,并记录与所述测试意图字段对应的所述用例描述文件的识别码。
可选地,在所述用例描述文件包括所述意图引用字段的情况下,所述处理器将所述测试意图发布至测试设计***时,具体用于:
解析所述意图引用字段中引用的测试意图语句;
在测试意图知识库中查找与所述测试意图语句对应的测试意图数据,并记录所述测试意图数据与所述用例描述文件的关联关系。
可选地,所述收发器获取测试意图时,具体用于:在构建测试用例的情况下,输出第一提示信息;
接收测试设计人员或者目标设备根据所述第一提示信息输入的测试意图。
可选地,所述处理器将所述测试意图发布至测试设计***时具体用于:
建立所述测试意图与所述测试用例的关联关系;
在测试意图知识库中记录所述测试意图,以及所述测试意图与所述测试用例的关联关系。
可选地,所述处理器还用于:构建供测试用例使用的拓扑描述文件;
其中,所述用例描述文件还包括:所述拓扑描述文件或者所述拓扑描述文件的引用信息。
为达到上述目的,本发明的实施例还提供一种电子设备,包括处理器和收发器,其中,
所述收发器用于:获取测试执行人员的测试意图;
所述处理器用于:根据所述测试意图调取测试用例;根据所述测试用例的用例描述文件执行测试任务。
可选地,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
可选地,所述收发器获取测试执行人员的测试意图时具体用于:
通过自然语言处理模块将测试执行人员输入的测试意图语句转换为形式化的测试意图。
可选地,所述处理器根据所述测试意图调取测试用例时,具体用于:
根据测试意图知识库中测试意图与测试用例的关联关系,确定与所述测试意图对应的测试用例集合;
提取所述测试用例集合中的测试用例的用例描述文件。
可选地,所述处理器根据所述测试意图调取测试用例时,还用于:
在所述用例描述文件中包含意图引用字段的情况下,通过测试意图知识库获取与所述意图引用字段引用的测试意图对应的测试用例。
可选地,所述处理器根据所述测试用例的用例描述文件执行测试任务时,具体用于:
根据所述用例描述文件构建测试任务;
基于所述测试任务中对应的测试用例集合的执行顺序进行优化调度,获得测试用例执行集合;
顺序执行所述测试用例执行集合中的测试用例,获得执行结果;
根据所述执行结果,更新所述测试用例的执行情况。
可选地,所述收发器还用于:接收测试执行人员输入的测试参数,所述测试参数包括意图实例化参数;
所述处理器还用于:根据所述意图实例化参数和所述用例描述文件进行意图实例化处理。
为达到上述目的,本发明的实施例提供一种电子设备,包括收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;所述处理器执行所述程序或指令时实现上述的自动化测试方法。
为达到上述目的,本发明的实施例提供一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的自动化测试方法中的步骤。
本发明的上述技术方案的有益效果如下:
本申请的实施例,通过获取测试意图,构建测试用例,且测试用例与测试意图具有关联关系,根据所述关联关系,能够实现第三方设备或者测试用例库中已有用例的复用,从而简化复杂用例设计,简化测试设计人员的操作复杂度;通过对测试意图的引用或描述,进一步避免测试用例执行过程中的人工操作,简化测试执行人员的操作复杂度,提高测试效率。
附图说明
图1为本发明实施例的自动化测试方法的流程示意图之一;
图2为本发明实施例的自动化测试方法的流程示意图之二;
图3为本发明实施例的测试设计***和测试执行***的示意图之一;
图4为本发明实施例的测试设计***和测试执行***的示意图之二;
图5为本发明实施例的测试设计***和测试执行***的示意图之三;
图6为本发明实施例的测试设计***和测试执行***的示意图之四;
图7为本发明实施例的自动化测试装置的示意图之一;
图8为本发明实施例的自动化测试装置的示意图之二;
图9为本发明实施例的电子设备的示意图之一;
图10为本发明实施例的电子设备的示意图之二;
图11为本发明实施例的电子设备的示意图之三;
图12为本发明实施例的电子设备的示意图之四。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“***”和“网络”在本文中常可互换使用。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
如图1所示,本发明实施例的一种自动化测试方法,应用于测试设计***,包括:
步骤101、获取测试意图。
所述测试意图可以为测试设计人员输入,也可以由第三方设备提供。所述测试意图可以用于构建测试用例,即根据测试意图构建测试用例;所述测试意图可以单独存储在测试意图知识库中。
步骤102、构建测试用例,所述测试用例与所述测试意图具有关联关系。
所述测试用例可以为基于所述测试意图构建生成的,也可以不基于所述测试意图,按照现有方式构建,例如测试设计人员根据测试规范进行测试用例的设计,但是需要在获取到测试意图时建立所述测试用例与所述测试意图的关联关系。
需要说明的是,步骤102与步骤101不具有先后顺序的限定,可以首先获取所述测试意图,也可以首先构建测试用例,也可以同时获取测试意图和构建测试用例。
所述测试意图与所述测试用例之间关联关系的建立,包括但不限于如下方式:
方式一:扩展测试用例的用例描述文件,例如,在所述用例描述文件增加测试意图字段和/或意图引用字段,例如:增加测试意图字段,则可以在某个测试用例的用例描述文件中的测试意图字段,输入相应的测试意图内容;增加意图引用字段,则可以在某个测试用例的用例描述文件中的意图引用字段,输入该测试用例引用的测试意图,可以通过特定意图语句指示,也可以通过特定识别码指示。
这样,由于在所述测试用例的用例描述文件中额外扩展了测试意图相关的内容,则表示所述测试用例与所述测试意图具有关联关系。
方式二:不扩展测试用例的用例描述文件,即可以通过现有的测试用例的构建方式构建测试用例,在构建测试用例时获取相应的测试意图,将测试意图独立存储在测试意图知识库中,并在意图知识库中保存该测试意图与测试用例的关联关系。
步骤103、将所述测试用例的用例描述文件以及所述测试意图发布至测试设计***。
获取到的测试意图与构建的测试用例具有关联关系,该测试用例设计流程中,可以将输出的测试用例模板,存放在测试用例库;并在测试意图知识库中存储对应测试意图知识条目,记录与测试意图关联的测试用例模板的通用位移识别码(Universally UniqueIdentifier,UUID),并支持以动作(action)、对象(object)等意图字段的关键字检索与匹配功能。
这样,基于测试意图知识库和测试用例库中提供的关键字检索与匹配功能,可以进一步扩展测试用例设计流程,在测试设计人员进行用例意图录入以及前置条件/测试步骤/判决条件编制过程中提供基于意图的已有用例查找、匹配提示与复用确认,从而支持复杂用例设计中对已有用例的复用。
本申请的实施例,通过获取测试意图,构建测试用例,且测试意图与测试用例具有关联关系,根据所述关联关系,能够实现第三方设备或者测试用例库中已有用例的复用,从而简化复杂用例设计;通过对测试意图的描述,避免了测试用例前置条件的人工操作,简化测试测试人员和执行人员的操作复杂度,提高测试效率。
作为一个可选实施例,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
该实施例通过扩展测试用例描述文件,增加测试意图的相关字段,建立测试意图与测试用例的关联关系。测试设计人员可以在所述测试意图字段输入测试意图,或者在所述意图引用字段输入测试意图相关的引用信息,从而形成包含测试意图的用例描述文件。
需要说明的是,所述测试意图知识库中可以存储测试意图的意图描述文件,并存储该测试意图描述文件与测试用例的关联关系;所述测试意图知识库中也可以仅存储测试意图与测试用例的关联关系。则所述测试意图引用字段可以包括对于测试意图知识库中存储的测试意图描述文件的引用,也可以包括对于其他测试用例的测试意图的引用,实现复用简单测试意图构建复杂测试意图。例如:所述测试意图引用字段包括对于测试意图描述文件的引用,则测试执行***可以根据测试执行人员的测试意图在测试意图知识库中匹配相应的意图描述文件,从而根据该意图描述文件与测试用例的关联关系调取相应的测试用例。
例如:所述测试意图引用字段包括对于其他测试意图的引用,例如在意图引用字段写入某个测试意图对应的识别码,这样,测试执行***可以根据测试执行人员的测试意图,由意图知识库中匹配测试用例,该测试用例可以为复杂的测试用例,然后根据复杂的测试用例中引用的其他测试意图,获取该复杂测试用例引用的多个其他简单测试用例,从而实现复杂测试用例中对于简单测试用例的复用。
具体地,测试设计***向测试设计人员提供参照测试规范(文字描述)进行测试用例的设计的图形化网络拓扑设计交互界面,根据用户的输入,测试设计***将测试用例和对应的测试组网描述转换为***可以自动化处理的形式化描述文件,所述测试用例中可以包含测试意图描述。
在测试用例设计流程中,根据形式化模型提供测试用例意图录入的UI或命令行输入界面、提供针对输入意图描述的语法校验和语义检查工具、并根据校验/检查结果按需提示设计人员完成包含意图关联关系描述的测试用例设计流程。
其中,可选地,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段,可以将测试设计人员的测试意图写入相应的测试意图字段;或者在意图引用字段写入测试设计人员将要引用的测试意图,可以是第三方设备提供的测试用例的测试意图,即根据引用的测试意图可以获得第三方设备提供的测试用例;也可以是意图知识库中存储的测试意图。在测试用例模板中,增加测试意图的描述字段和/或测试意图的引用字段,并利用形式化模型规范其描述语法与语义,以便于***自动读取、解析并存储相关信息,形成测试意图知识库。
具体地,测试用例可以采用用例描述文件描述,用例描述文件除所述测试意图字段和/或意图引用字段外,还可以包括:
测试环境/测试拓扑/拓扑配置:用于描述执行测试步骤之前需要搭建的测试拓扑,通常包含待测组件、通用设备、仪表设备、周围组件以及他们之间的网络连接。
前置条件/输入条件/先验条件:在完成测试环境搭建之后,执行测试步骤之前,需要对待测组件、通用设备、仪表设备、周围组件以及他们之间的网络连接进行的业务或者资源参数配置。
测试步骤/测试流程/执行步骤:利用针对测试环境中元素的一系列的操作过程,模拟实际环境中发生的业务流程、信息交互或者设备故障等特定情境,验证待测***/组件是否满足预期的特定功能、性能、可靠性、接口合规性等要求。
判决条件/检查点/观察项:判决待测组件的行为是否满足预期的条件。具体可以体现为,每个测试步骤设计的事前、事中、事后观察项及其逻辑组合。
其中,在所述前置条件、测试步骤或者判决条件等字段还可以包含对其他测试意图的引用,即将所述前置条件、测试步骤或者判决条件等字段作为意图引用字段引用其他测试意图。
具体地,所述获取测试意图可以包括但不限于以下实现方式:
方式一:获取测试设计人员输入的测试意图。该实施例中,测试设计人员可以根据需求直接输入具体的测试意图。
具体地,所述获取测试设计人员输入的测试意图,可以包括:通过自然语言处理模块将测试设计人员输入的测试意图语句转换为形式化的测试意图。该实施例对于测试设计人员输入的测试意图,逐一解析测试意图语句,调用自然语言处理模块翻译成测试设计***和执行***可用的形式化测试意图。
方式二:获取目标设备提供的测试用例文件;解析所述测试用例文件,获得所述测试意图。该实施例中,所述目标设备可以为第三方设备,所述测试意图可以为第三方设备提供的测试用例文件,测试设计***通过解析测试用例文件,获得第三方设备提供的测试意图。这样,可以通过加载第三方设备提供的测试用例/组件,引用第三方设备提供的测试用例,从而可以调用简单用例实现复杂用例设计。
进一步地,所述步骤102可以包括:
(1):根据所述测试意图生成测试用例。获取到测试设计人员提供的测试意图后,可以将测试意图写入测试用例的用例描述文件中的测试意图字段,根据用户的输入,将每个测试用例的测试脚本,输入和输出参数转换成形式化测试用例描述文件,生成的测试用例描述文件包括形式化描述的测试意图字段。
或者,(2):根据所述测试意图与测试用例的关联关系,由测试用例库或者目标设备中获取目标测试用例;根据所述目标测试用例构建所述测试用例。
由于所述测试意图和测试用例具有关联关系,可以在测试用例的用例描述文件的意图引用字段,写入对于测试意图的引用,对于测试意图的引用可以是对于意图知识库中的测试意图描述文件的引用,也可以是对于其他测试意图的引用,也即:设计的测试用例引用了其他测试用例的测试意图。例如在所述意图引用字段写入引用的所述其他测试意图的唯一标识,这样,可以通过关键字检索与匹配功能调用与所述其他测试意图相关联的目标测试用例,所述目标测试用例可以为存储在测试用例库中或者由第三方设备提供,所述目标测试用例可以直接作为所述测试用例,还可以通过简单的所述目标测试用例构建复杂的测试用例,实现对已有用例的复用,能够简化复杂用例设计,减少人工重复工作,提高测试效率。
方式三:所述获取测试意图可以包括:在构建测试用例的情况下,输出第一提示信息;接收测试设计人员或者目标设备根据所述第一提示信息输入的测试意图。
该方式三中,所述测试用例与所述测试意图分别单独维护并存储,在测试设计人员设计测试用例或者第三方设备导入测试用例时,输出所述第一提示信息,提示导入或者设计人员输入测试意图,并将所述测试意图存储在测试意图知识库中。
可选地,将所述测试意图发布至测试设计***,包括:建立所述测试意图与所述测试用例的关联关系;在测试意图知识库中记录所述测试意图,以及所述测试意图与所述测试用例的关联关系。这样,虽然未扩展所述测试用例的用例描述文件,但是在所述测试意图知识库中存储测试意图与测试用例之间的关联关系,可以根据关联关系调取与测试意图相关联的测试用例。
需要说明的是,测试用例与测试意图之间的关联关系的构建,包括但不限于上述方式,能够基于关联关系实现依据测试意图调取相应的测试用例的实现方案均在本申请的保护范围内,在此不做赘述。
可选地,所述步骤103包括:将所述测试用例的用例描述文件按照第一预设格式存储至测试用例库,并将所述测试意图按照第二预设格式存储至测试意图知识库。
所述测试设计***将生成的测试用例的用例描述文件(可以包含测试拓扑描述模板、测试意图、测试脚本、测试流程文件等,也可以不包括所述测试意图)按照指定格式进行封装并发布到测试用例库中;在所述用例描述文件包括测试意图时,将测试用例描述文件中包含的测试意图,按照指定格式进行对应登记,记录在测试意图知识库中。需要说明的是,测试意图和测试用例可能是一对一或者一对多的关系。测试用例库和测试意图知识库可供测试执行***调用,即测试执行***可以通过在测试意图知识库中进行测试用例的匹配并调用所述测试用例库中的测试用例执行测试任务。所述测试执行***还可以在获得测试执行人员的测试意图后,在测试意图知识库中进行匹配,确定与测试意图关联的测试用例,并调用相关测试用例。
具体地,在所述用例描述文件包括测试意图字段的情况下,将所述测试意图发布至测试设计***,可以包括:解析所述测试意图字段;在测试意图知识库中建立与所述测试意图字段对应的数据记录,并记录与所述测试意图字段对应的所述用例描述文件的识别码。
该过程可以为测试意图知识库的构建过程,针对每个测试用例描述文件,解析其中测试意图字段包含的动作和对象类型信息,以此为关键字在测试意图知识库中建立对应的数据记录,其中记录对应测试用例描述文件UUID。
在所述用例描述文件包括意图引用字段的情况下,将所述测试意图发布至测试设计***,可以包括:解析所述意图引用字段中引用的测试意图语句;在测试意图知识库中查找与所述测试意图语句对应的测试意图数据,并记录所述测试意图数据与所述用例描述文件的关联关系。
在所述用例描述文件包括意图引用字段(可以设置在前置条件等字段),且所述意图引用字段包含对于其他测试意图的引用时,针对每个测试用例描述文件,解析其中前置条件等其他字段中引用的测试意图语句包含的动作和对象类型信息,以此为键值查找测试意图知识库中匹配的记录,如果命中,则通过所引用记录的对应测试用例描述文件UUID,补充记录用例描述文件对命中记录的测试意图的依赖关系;如果未命中,则可以报错退出,或者提醒测试设计人员先补充当前测试用例对应依赖的测试意图实现知识定义。
可选地,所述方法还包括:构建供测试用例使用的拓扑描述文件;其中,所述用例描述文件还包括:所述拓扑描述文件或者所述拓扑描述文件的引用信息。
测试设计***可以根据测试设计人员在图形界面上的输入将对应测试组网拓扑(包括若干被测***、若干测试仪表,及其网络连接关系)及其具体配置信息转换成形式化拓扑描述文件。其中每个测试拓扑描述文件具有全局唯一的标识UUID。在进行用例设计时,根据用户的输入,将每个测试用例的测试脚本,输入和输出参数转换成形式化测试用例描述文件。其中每个测试用例描述文件包含所依赖的测试拓扑描述文件UUID引用,以及形式化的测试意图字段,且所述测试用例描述文件还可以在前置条件、测试步骤或者判决条件等其他字段包含对其他测试意图的引用,即将所述前置条件、测试步骤或者判决条件等字段作为意图引用字段,增加对于其他测试用例的测试意图的引用。
下面通过实施例说明所述测试意图的描述语句的形式化定义;
其中意图描述语句由动作(Action)、对象(Object)和结论(Statement)三个部分组成。
1:(Action):必选字段,标识动作,验证(Verify)或测量(Measure);
1.1:Verify:功能、性能、接口测试等;
1.2:Measure:压力、极限测试等;
2:(Object):必选字段,标识被测对象,被测***(System Under Test,SUT)或被测组件;
2.1:设计态:被测对象类型;唯一标识UUID;
2.2:运行态:被测对象实例,实例化参数;
3:(Statement):可选字段,标识测试预期(Expectation)结论,包括测试目标(Objective)和测试结论;
Objective:必选字段,标识针对特定对象的单个测试点,对应唯一标识UUID;
Expectation:根据Action字段取值不同,条件可选字段,实例化参数,标识测试预期指标取值;
3.3.1:如果Action取值为Verify,Expectation为可选字段,根据Objective取值不同,取值可能为:
3.3.1.1:如果Objective取值为功能、接口测试,Expectation取值为Bool类型;
3.3.1.2:如果Objective取值为性能测试,Expectation取值为由数值(Value)和单位(Unit)组成的复合指标(Metric)类型;
3.3.2:如果Action取值为Measure,Expectation为对测量结果的要求,比如精度、采样率等,取值为由数值和单位组成的复合Metric类型。
测试用例描述文件应采用测试框架规定的统一格式规范,用于描述每个测试用例输入参数、输出结果以及具体执行测试步骤的测试脚本/命令。
测试意图信息与测试用例描述文件的关联,可以通过如下方式实现:
方式一:直接在测试用例描述文件中扩展“意图描述”字段;
方式二:单独维护意图描述文件,并在测试用例描述文件中进行引用,即在用例描述文件设置意图引用字段,引用测试意图知识库中的意图描述文件。
方式三:在测试用例描述文件中设置意图引用字段,引用其他测试意图,在意图知识库中存储测试意图与测试用例的关联关系。
测试意图知识库:
测试意图知识库的数据记录对应一个测试意图可以包含以下字段:编码(ID)、动作(Action)、对象(Object)、用例ID(caseID)、依赖关系(dependencyLis);
其中,(ID):该测试意图记录的唯一标识UUID;
(Action):动作,验证(Verify)或测量(Measure);
Verify:对应功能、性能、接口测试等;
Measure:对应压力、极限测试等;
(Object):对象,被测***或被测组件;
设计态:用于指定被测对象类型;虚拟网元(Virtual Network Function,VNF)/物理网络功能(Physical Network Function,PNF)/网络服务(Network Service,NS)的描述文件UUID。
(caseID):当前测试用例描述文件UUID;
(dependencyLis):当前测试用例所依赖的其他测试意图记录UUID。
本申请的实施例,通过获取测试意图,构建测试用例,且测试用例与测试意图具有关联关系,根据所述关联关系,能够实现第三方设备或者测试用例库中已有用例的复用,从而简化复杂用例设计,简化测试设计人员的操作复杂度;通过在测试用例描述中增加对测试意图的引用或者描述,进一步避免测试用例执行过程中的人工操作,简化测试执行人员的操作复杂度,提高测试效率;通过测试意图知识库实现测试意图与测试用例之间关系的动态更新和独立迭代,能够提高***灵活性。
如图2所示,本发明实施例还提供一种自动化测试方法,应用于测试执行***,包括:
步骤201、获取测试执行人员的测试意图;
测试执行人员在测试执行***输入测试意图,测试意图可以为测试执行人员输入的语音、文字等内容,测试执行人员在获取到测试意图后,需要将测试意图转换为形式化的测试意图文件。
步骤202、根据所述测试意图调取测试用例。
测试执行***逐一解析测试意图语句并翻译成形式化测试意图。此外,可以通过模糊匹配模块,完成对测试意图知识库已有测试用例的匹配。所述测试意图与测试用例具有关联关系,根据测试执行***获取的测试意图,将所述测试意图与意图知识库中的测试意图进行匹配,并根据测试意图与测试用例的关联关系,由测试用例库或者第三方设备中调取与该测试意图关联的测试用例。
所述测试用例可以为测试设计***基于所述测试设计人员的测试意图构建生成的,也可以不基于所述测试意图,按照现有方式构建生成,但是生成的测试用例与测试意图具有关联关系。
所述测试意图与所述测试用例之间的关联关系,可以通过如下方式指示:
方式一:扩展测试用例的用例描述文件,例如,在所述用例描述文件增加测试意图字段和/或意图引用字段。这样,由于在所述测试用例的用例描述文件中额外扩展了测试意图相关的内容,则表示所述测试用例与所述测试意图具有关联关系。
方式二:不扩展测试用例的用例描述文件,但是在意图知识库中存储测试用例与测试意图的关联关系。
步骤203、根据所述测试用例的用例描述文件执行测试任务。
根据用户针对特定测试任务选择的测试用例,提取对应测试用例描述文件,并填充具体的测试参数,执行测试任务中的测试用例。
该实施例中,在执行测试任务时,根据测试执行人员的测试意图调取测试用例库中与该测试意图相关联的测试用例,并根据用例描述文件执行测试任务,能够简化测试执行人员的操作复杂度,减少重复人工操作、提高测试效率。
作为一个可选实施例,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
该实施例扩展了测试用例描述文件,增加测试意图的相关字段,建立测试意图与测试用例的关联关系。在所述测试用例的用例描述文件中包括测试意图字段时,测试执行***可以识别用例描述文件中的测试意图字段,提示测试执行人员输入必要的意图实例化参数;或者,测试执行***可以识别用例描述文件中的前置条件、测试步骤和判决条件等字段中引用的测试意图语句,根据需要进一步提示测试执行人员输入其他必要的意图实例化参数,形成测试用例实例。
可选地,在所述测试执行***获取的测试用例的用例描述文件中包含意图引用字段(可以是前置条件、测试步骤或者判决条件等字段),且所述意图引用字段包含对于其他测试意图的引用时,参照测试意图知识库,将例如前置条件、测试步骤或者判决条件等字段中引用的测试意图翻译成测试用例集合,并对被引用的测试用例重复意图实例化过程。
具体地,所述获取测试执行人员的测试意图可以包括:通过自然语言处理模块将测试执行人员输入的测试意图语句转换为形式化的测试意图。对于测试执行人员输入的测试意图,逐一解析测试意图语句,调用自然语言处理模块翻译成测试设计***和执行***可用的形式化测试意图。
可选地,所述根据所述测试意图调取测试用例,包括:根据测试意图知识库中测试意图与测试用例的关联关系,确定与所述测试意图对应的测试用例集合;提取所述测试用例集合中的测试用例的用例描述文件。
可选地,所述根据所述测试意图调取测试用例,还包括:在所述用例描述文件中包含意图引用字段的情况下,通过测试意图知识库获取与所述意图引用字段引用的测试意图对应的测试用例。
该实施例中,在所述测试执行***获取的测试用例的用例描述文件包含意图引用字段,且所述意图引用字段包含对于其他测试意图的引用时,可以解析所述测试用例的用例描述文件,获得所述测试用例对于其他测试意图的引用的相关信息,进一步根据测试意图知识库匹配与所述其他测试意图对应的多个测试用例。
所述方法还可以包括:输出提示信息,提示测试执行人员进行选择确认,或者提供缺省选择,从而根据测试执行人员确认的测试用例执行测试任务。
该实施例中,在所述测试执行***获得的测试用例的用例描述文件中包含对于其他测试意图的引用时,可以根据意图知识库匹配与所述其他测试意图对应的测试用例,并可以提示测试执行人员进行选择确认,直至引用的其他测试意图对应的测试用例均确认完成,根据确认的测试用例执行测试任务。
测试意图与测试用例具有关联关系,在测试执行***获取到测试执行人员的测试意图时,基于测试用例库提供的关键字检索与匹配功能,由测试用例库或者第三方设备中查找、匹配与该测试用例相关联的测试用例集合,提取对应的测试用例描述文件(其中可以包括测试意图字段,和/或指示引用的测试意图的引用字段),从而支持复杂用例设计中对已有用例的复用。
所述测试意图与所述测试用例描述文件的关联,可以通过如下方式实现:
方式一:测试用例描述文件中扩展“意图描述”字段;这样,所述测试执行***在获取到测试执行人员输入的测试意图后,可以与测试意图知识库中的测试意图进行匹配,并确定与该测试意图相关联的测试用例,从而由测试用例库或者第三方设备中调用相关联的测试用例。
方式二:单独维护意图描述文件,在测试用例描述文件中扩展“意图引用”字段,在测试用例描述文件中引用测试意图知识库中的意图描述文件。所述测试执行***在获取到测试执行人员输入的测试意图后,可以在意图知识库中进行匹配,调用引用该测试意图描述文件的测试用例。
方式三:在测试用例描述文件中设置意图引用字段,引用其他测试意图,在意图知识库中存储测试意图与测试用例的关联关系。例如:所述测试执行***在获取到测试执行人员输入的测试意图后,由测试意图知识库中确定与该测试意图相关联的测试用例,并解析该测试用例获得其引用的其他测试意图对应的测试用例,从而进一步由测试用例库或者第三方设备中调用与其引用的其他测试意图相关联的测试用例。
进一步地,所述根据所述测试用例的用例描述文件执行测试任务,包括:根据所述用例描述文件构建测试任务;基于所述测试任务中对应的测试用例集合的执行顺序进行优化调度,获得测试用例执行集合;顺序执行所述测试用例执行集合中的测试用例,获得执行结果;根据所述执行结果,更新所述测试用例的执行情况。
其中,所述根据所述用例描述文件构建测试任务可以包括:接收测试执行人员输入的测试参数,所述测试参数包括意图实例化参数;根据所述意图实例化参数和所述用例描述文件进行意图实例化处理。
该实施例中,测试执行***根据用户输入的测试意图调用自然语言处理转换为形式化测试意图,再调用意图匹配模块参照测试意图知识库转换为测试用例集合,提取对应测试用例描述文件,并填充具体的测试参数(包括意图实例化参数)形成测试任务。可选地,当所述测试执行***调用的测试用例的用例描述文件包括意图引用字段,且所述意图引用字段包括对于其他测试意图的引用时,通过查询测试意图知识库调用与所述其他测试意图对应的测试用例,这样可以形成包含若干测试用例的测试任务。
将每个测试任务中对应的测试用例集合执行顺序进行优化调度,得到优化后的测试用例执行集合;顺序执行优化后的测试用例执行集合中的测试用例,并根据执行结果,对应更新记录相关测试用例执行情况。需要说明的是,所述测试参数可以填充至所述测试用例的用例描述文件中,形成新的测试用例实例;也可以保持用例描述文件不变,通过接口传递测试参数。
下面以测试用例的用例描述文件包括测试意图字段和/或意图引用字段为例,结合附图通过具体实施例说明测试设计***和所述测试执行***完成NFV自动化测试的实现方法。
如图3所示,所述测试设计***可以包括:
拓扑设计模块:用于根据用户在图形界面上的输入将对应测试组网拓扑及其具体配置信息转换成形式化拓扑描述文件;
用例设计模块:用于根据用户的输入,将每个测试用例的测试脚本,输入和输出参数转换成形式化测试用例描述文件。每个测试用例描述文件包含所依赖的测试拓扑描述文件UUID引用,以及形式化描述的测试意图字段或者意图引用字段,所述意图引用字段可以设置在前置条件、测试步骤或者判决条件等字段,所述意图引用字段可以包括对于测试意图知识库中的测试意图描述文件的引用,也可以包括对于其他测试意图的引用,其中测试意图与测试用例关联。
测试用例库:将测试用例描述文件(包含测试拓扑描述模板、测试意图、测试脚本、测试流程文件等)按照指定格式进行封装并发布到测试执行***中。
测试意图知识库:可以包含测试意图描述文件、测试意图与测试用例的关联关系,用于将测试用例描述文件中包含的测试意图,按照指定格式进行对应登记并发布到执行子***中。
所述测试执行***可以包括:
任务构建模块,用于根据测试执行人员输入的测试意图调用自然语言处理转换为形式化测试意图,再调用意图匹配模块参照测试意图知识库,调用测试用例库中与测试意图关联的测试用例集合,提取对应测试用例描述文件,并填充具体的测试参数(包括意图实例化参数),交付给测试编排和执行模块。需要说明的是,在提取的测试用例描述文件包含对于其他测试意图的引用时,需要进一步根据测试意图知识库匹配与所述其他测试意图对应的测试用例,可以实现复用简单测试用例构成复杂测试用例。
测试编排模块,负责将每个测试任务中对应的测试用例集合执行顺序进行优化调度,将优化后的测试用例执行集合交付测试执行***顺序执行;
测试执行模块,负责顺序执行测试用例执行集合中的测试用例,并根据执行结果,对应更新记录相关测试用例执行情况。
可选地,如图4所示,还可以由第三方设备提供测试用例,包括拓扑描述、用例描述以及意图描述,即第三方设备提供的测试用例描述文件包中增加形式化的意图描述文件或语句;测试设计***解析第三方设备提供的测试用例的测试意图,在测试设计***增加意图关联记录,增加意图解析关联记录,可以将第三方设备提供的测试用例和测试意图相关文件分别存储在测试用例库和测试意图知识库中;测试执行***获取并解析测试设计人员提供的测试意图并还原测试用例,根据测试用例执行测试任务。
可选地,如图5所示,可以利用第三方设备提供的测试用例中的意图描述作为原子意图,构建复杂意图,例如:在测试用例的用例描述文件中增加意图引用字段,引用其他测试意图,这里可以是引用第三方设备提供的测试用例的测试意图。其中复杂意图是由原子组合而成:
复杂意图=(原子意图)(连接符)(复杂意图);
连接符用于控制执行顺序或指定结果组合,连接符=控制符or逻辑符;
控制符=串行or并行or条件or循环;
逻辑符=与or并or非。
在测试设计***增加意图关联记录、意图解析记录、复杂意图拆解与关联,意图解析模块能够对输入的复杂意图进行拆解,得到构成该复杂意图的原子意图,从而调用与原子意图关联的测试用例集合,实现复杂用例中对于已有用例的复用,执行测试任务,能够简化复杂用例设计,减少人工重复工作,提高测试效率。
可选地,如图6所示,在利用第三方设备提供的测试用例中的意图描述作为原子意图,构建复杂意图时,还可以在测试设计***增加自然语言处理(Natural LanguageProcessing,NLP)与意图匹配模块。在测试设计人员输入的测试意图为自然语言时,可以进行自然语言理解并模糊匹配,获得形式化的测试意图。在测试执行***增加NLP与意图匹配模块,能够对测试执行人员输入的自然语言进行理解并模糊匹配,得到形式化的测试意图;还可以在测试执行***增加意图解析和意图关联模块,能够对测试用例库中的测试用例和测试意图知识库中的测试意图进行解析关联,从而根据测试执行人员输入的测试意图还原测试用例。
下面以网络服务性能压力测试为例,介绍本申请的自动化测试的实现过程。
在此用例中,为了测试由VNF1,VNF2,VNF3线性串接而成网络服务NS的极限业务(ipsec)性能,要求测量值与实际值误差不超过d。对应测试用例意图可用“Measure NSipsec-perf delta<d”来建模,下面说明如何通过调用和组合原子测试意图来实现该复杂测试意图。
首先,在测试拓扑中配备了测试专用Test-VNF,用于模拟实际业务环境,向VNF1输入测试数据流Ti,从VNF3接收输出测试数据流To,并将其与预期输出数据流进行比对,从而验证NS是否正确处理了Ti的输入数据;用测试意图建模为“Verify NS ipsec-perf=Ti”。
其次,在实现复杂意图的用例中,利用特定算法(例如固定步长、二分试探等)反复调整每次Verify测试的输入流量Ti大小,同时记录通过的Verify测试Ti-max最大值,与记录失败的Verify测试Tif-min最小值,直到Ti-max与Tif-min的差值小于d。
由此可见,通过将复杂意图抽象为对于原子意图的调用,可以有效地复用底层测试意图,实现复杂测试意图,复杂测试意图设计人员无需关心底层实现细节,实现知识的分层复用,提高效率;复杂测试意图实现摆脱对底层具体测试方法的依赖,可以灵活地替换底层原子测试意图而不影响上层测试意图的实现,提高灵活性。
如图7所示,本发明实施例的一种自动化测试装置700,应用于测试设计***,包括:
第一获取模块710,用于获取测试意图;
第一构建模块720,用于构建测试用例,测试用例与所述测试意图具有关联关系;
处理模块730,用于将所述测试用例的用例描述文件以及所述测试意图发布至测试设计***。
可选地,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
可选地,所述第一获取模块710包括:
第一获取单元,用于获取测试设计人员输入的测试意图;
或者,
第二获取单元,用于获取目标设备提供的测试用例文件;
第一解析单元,用于解析所述测试用例文件,获得所述测试意图。
可选地,所述第一获取单元具体用于:通过自然语言处理模块将测试设计人员输入的测试意图语句转换为形式化的测试意图。
可选地,所述第一构建模块720包括:
第一生成单元,用于根据所述测试意图生成测试用例;
或者,
第三获取单元,用于根据所述测试意图与测试用例的关联关系,由测试用例库或者目标设备中获取目标测试用例;
第二生成单元,用于根据所述目标测试用例构建所述测试用例。
可选地,所述处理模块730具体用于:将所述测试用例的用例描述文件按照第一预设格式存储至测试用例库,并将所述测试意图按照第二预设格式存储至测试意图知识库。
可选地,在所述用例描述文件包括所述测试意图字段的情况下,所述处理模块包括:
第二解析单元,用于解析所述测试意图字段;
第一记录单元,用于在测试意图知识库中建立与所述测试意图字段对应的数据记录,并记录与所述测试意图字段对应的所述用例描述文件的识别码。
可选地,在所述用例描述文件包括所述意图引用字段的情况下,所述处理模块包括:
第三解析单元,用于解析所述意图引用字段中引用的测试意图语句;
第二记录单元,用于在测试意图知识库中查找与所述测试意图语句对应的测试意图数据,并记录所述测试意图数据与所述用例描述文件的关联关系。
可选地,所述第一获取模块,包括:
提示单元,用于在构建测试用例的情况下,输出第一提示信息;
接收单元,用于接收测试设计人员或者目标设备根据所述第一提示信息输入的测试意图。
可选地,所述处理模块具体用于:
建立所述测试意图与所述测试用例的关联关系;
在测试意图知识库中记录所述测试意图,以及所述测试意图与所述测试用例的关联关系。
可选地,所述装置还包括:
第二构建模块,用于构建供测试用例使用的拓扑描述文件;
其中,所述用例描述文件还包括:所述拓扑描述文件或者所述拓扑描述文件的引用信息。
在此需要说明的是,本发明实施例提供的上述装置,能够实现上述应用于测试设计***的方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
如图8所示,本发明实施例的一种自动化测试装置800,应用于测试执行***,包括:
第二获取模块810,用于获取测试执行人员的测试意图;
第三获取模块820,用于根据所述测试意图调取测试用例;
执行模块830,用于根据所述测试用例的用例描述文件执行测试任务。
可选地,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
可选地,所述第二获取模块810具体用于:通过自然语言处理模块将测试执行人员输入的测试意图语句转换为形式化的测试意图。
可选地,所述第三获取模块820包括:
确定单元,用于根据测试意图知识库中测试意图与测试用例的关联关系,确定与所述测试意图对应的测试用例集合;
提取单元,用于提取所述测试用例集合中的测试用例的用例描述文件。
可选地,所述第三获取模块还包括:
第四获取单元,用于在所述用例描述文件中包含意图引用字段的情况下,通过测试意图知识库获取与所述意图引用字段引用的测试意图对应的测试用例。
可选地,所述执行模块830包括:
构建单元,用于根据所述用例描述文件构建测试任务;
第五获取单元,用于基于所述测试任务中对应的测试用例集合的执行顺序进行优化调度,获得测试用例执行集合;
第六获取单元,用于顺序执行所述测试用例执行集合中的测试用例,获得执行结果;
更新单元,用于根据所述执行结果,更新所述测试用例的执行情况。
可选地,所述构建单元具体用于:
接收测试执行人员输入的测试参数,所述测试参数包括意图实例化参数;
根据所述意图实例化参数和所述用例描述文件进行意图实例化处理。
在此需要说明的是,本发明实施例提供的上述装置,能够实现上述应用于测试执行***的方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
如图9所示,本发明实施例的一种电子设备900,应用于测试设计***,包括处理器910和收发器920,其中,
所述收发器920用于:获取测试意图;根据所述测试意图构建测试用例,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段;
所述处理器910用于:构建测试用例,所述测试用例与所述测试意图具有关联关系;将所述用例描述文件以及所述测试意图发布至测试设计***。
可选地,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
可选地,所述收发器获取测试意图时,具体包括:
获取测试设计人员输入的测试意图;
或者,
获取目标设备提供的测试用例文件;
解析所述测试用例文件,获得所述测试意图。
可选地,所述收发器920获取测试设计人员输入的测试意图,具体包括:
通过自然语言处理模块将测试设计人员输入的测试意图语句转换为形式化的测试意图。
可选地,所述处理器910根据所述测试意图构建测试用例,具体包括:
根据所述测试意图生成测试用例;
或者,
根据所述测试意图与测试用例的关联关系,由测试用例库或者目标设备中获取目标测试用例;
根据所述目标测试用例构建所述测试用例。
可选地,所述处理器910将所述测试用例的用例描述文件以及所述测试意图发布至测试设计***时,具体用于:
将所述测试用例的用例描述文件按照第一预设格式存储至测试用例库,并将所述测试意图按照第二预设格式存储至测试意图知识库。
可选地,在所述用例描述文件包括所述测试意图字段的情况下,所述处理器将所述测试意图发布至测试设计***时具体用于:
解析所述测试意图字段;
在测试意图知识库中建立与所述测试意图字段对应的数据记录,并记录与所述测试意图字段对应的所述用例描述文件的识别码。
可选地,在所述用例描述文件包括所述意图引用字段的情况下,所述处理器将所述测试意图发布至测试设计***时,具体用于:
解析所述意图引用字段中引用的测试意图语句;
在测试意图知识库中查找与所述测试意图语句对应的测试意图数据,并记录所述测试意图数据与所述用例描述文件的关联关系。
可选地,所述收发器获取测试意图时,具体用于:在构建测试用例的情况下,输出第一提示信息;
接收测试设计人员或者目标设备根据所述第一提示信息输入的测试意图。
可选地,所述处理器将所述测试意图发布至测试设计***时具体用于:
建立所述测试意图与所述测试用例的关联关系;
在测试意图知识库中记录所述测试意图,以及所述测试意图与所述测试用例的关联关系。
可选地,所述处理器910还用于:构建供测试用例使用的拓扑描述文件;
其中,所述用例描述文件还包括:所述拓扑描述文件或者所述拓扑描述文件的引用信息。
需要说明的是,本发明实施例提供的上述电子设备,能够实现上述应用于测试设计***的方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
如图10所示,本发明实施例的一种电子设备1000,应用于测试执行***,包括处理器1010和收发器1020,其中,
所述收发器1020用于:获取测试执行人员的测试意图;
所述处理器1010用于:根据所述测试意图调取测试用例;根据所述测试用例的用例描述文件执行测试任务。
可选地,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
可选地,所述收发器1020获取测试执行人员的测试意图时具体用于:
通过自然语言处理模块将测试执行人员输入的测试意图语句转换为形式化的测试意图。
可选地,所述处理器根据所述测试意图调取测试用例时,具体用于:
根据测试意图知识库中测试意图与测试用例的关联关系,确定与所述测试意图对应的测试用例集合;
提取所述测试用例集合中的测试用例的用例描述文件。
可选地,所述处理器根据所述测试意图调取测试用例时,还用于:
在所述用例描述文件中包含意图引用字段的情况下,通过测试意图知识库获取与所述意图引用字段引用的测试意图对应的测试用例。
可选地,所述处理器1010根据所述测试用例的用例描述文件执行测试任务时,具体用于:
根据所述用例描述文件构建测试任务;
基于所述测试任务中对应的测试用例集合的执行顺序进行优化调度,获得测试用例执行集合;
顺序执行所述测试用例执行集合中的测试用例,获得执行结果;
根据所述执行结果,更新所述测试用例的执行情况。
可选地,所述收发器还用于:
接收测试执行人员输入的测试参数,所述测试参数包括意图实例化参数;
所述处理器还用于:根据所述意图实例化参数和所述用例描述文件进行意图实例化处理。
需要说明的是,本发明实施例提供的上述电子设备,能够实现上述应用于测试执行***的方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本发明另一实施例的一种电子设备,如图11所示,包括收发器1110、处理器1100、存储器1120及存储在所述存储器1120上并可在所述处理器1100上运行的程序或指令;所述处理器1100执行所述程序或指令时实现上述应用于测试设计***的自动化测试方法。
所述收发器1110,用于在处理器1100的控制下接收和发送数据。
其中,在图11中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1100代表的一个或多个处理器和存储器1120代表的存储器的各种电路链接在一起。总线架构还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器1110可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器1100负责管理总线架构和通常的处理,存储器1120可以存储处理器1100在执行操作时所使用的数据。
本发明另一实施例的一种电子设备,如图12所示,包括收发器1210、处理器1200、存储器1220及存储在所述存储器1220上并可在所述处理器1200上运行的程序或指令;所述处理器1200执行所述程序或指令时实现上述应用于测试执行***的自动化测试方法。
所述收发器1210,用于在处理器1200的控制下接收和发送数据。
其中,在图12中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器1200代表的一个或多个处理器和存储器1220代表的存储器的各种电路链接在一起。总线架构还可以将诸如***设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发器1210可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器1200负责管理总线架构和通常的处理,存储器1220可以存储处理器1200在执行操作时所使用的数据。
本发明实施例的一种可读存储介质,其上存储有程序或指令,所述程序或指令被处理器执行时实现如上所述的自动化测试方法中的步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的自动化测试方法中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
进一步需要说明的是,此说明书中所描述的电子设备包括但不限于智能手机、平板电脑等,且所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于***或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
上述范例性实施例是参考该些附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出范例性实施例的限制。更确切地说,这些范例性实施例被提供以使得本发明会是完善又完整,且会将本发明范围传达给那些熟知此项技术的人士。在该些图式中,组件尺寸及相对尺寸也许基于清晰起见而被夸大。在此所使用的术语只是基于描述特定范例性实施例目的,并无意成为限制用。如在此所使用地,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、整数、步骤、操作、构件及/或组件的存在,但不排除一或更多其它特征、整数、步骤、操作、构件、组件及/或其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (24)

1.一种自动化测试方法,应用于测试设计***,其特征在于,包括:
获取测试意图;
构建测试用例,所述测试用例与所述测试意图具有关联关系;
将所述测试用例的用例描述文件以及所述测试意图发布至测试设计***。
2.根据权利要求1所述的方法,其特征在于,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
3.根据权利要求1所述的方法,其特征在于,所述获取测试意图,包括:
获取测试设计人员输入的测试意图;
或者,
获取目标设备提供的测试用例文件;
解析所述测试用例文件,获得所述测试意图。
4.根据权利要求3所述的方法,其特征在于,所述获取测试设计人员输入的测试意图,包括:
通过自然语言处理模块将测试设计人员输入的测试意图语句转换为形式化的测试意图。
5.根据权利要求1所述的方法,其特征在于,所述构建测试用例,包括:
根据所述测试意图生成测试用例;
或者,
根据所述测试意图与测试用例的关联关系,由测试用例库或者目标设备中获取目标测试用例;
根据所述目标测试用例构建所述测试用例。
6.根据权利要求1所述的方法,其特征在于,所述将所述测试用例的用例描述文件以及所述测试意图发布至测试设计***,包括:
将所述测试用例的用例描述文件按照第一预设格式存储至测试用例库,并将所述测试意图按照第二预设格式存储至测试意图知识库。
7.根据权利要求2所述的方法,其特征在于,在所述用例描述文件包括所述测试意图字段的情况下,将所述测试意图发布至测试设计***,包括:
解析所述测试意图字段;
在测试意图知识库中建立与所述测试意图字段对应的数据记录,并记录与所述测试意图字段对应的所述用例描述文件的识别码。
8.根据权利要求2所述的方法,其特征在于,在所述用例描述文件包括所述意图引用字段的情况下,将所述测试意图发布至测试设计***,包括:
解析所述意图引用字段中引用的测试意图语句;
在测试意图知识库中查找与所述测试意图语句对应的测试意图数据,并记录所述测试意图数据与所述用例描述文件的关联关系。
9.根据权利要求1所述的方法,其特征在于,所述获取测试意图,包括:
在构建测试用例的情况下,输出第一提示信息;
接收测试设计人员或者目标设备根据所述第一提示信息输入的测试意图。
10.根据权利要求9所述的方法,其特征在于,将所述测试意图发布至测试设计***,包括:
建立所述测试意图与所述测试用例的关联关系;
在测试意图知识库中记录所述测试意图,以及所述测试意图与所述测试用例的关联关系。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
构建供测试用例使用的拓扑描述文件;
其中,所述用例描述文件还包括:所述拓扑描述文件或者所述拓扑描述文件的引用信息。
12.一种自动化测试方法,应用于测试执行***,其特征在于,包括:
获取测试执行人员的测试意图;
根据所述测试意图调取测试用例;
根据所述测试用例的用例描述文件执行测试任务。
13.根据权利要求12所述的方法,其特征在于,所述测试用例的用例描述文件包括:测试意图字段和/或意图引用字段。
14.根据权利要求12所述的方法,其特征在于,所述获取测试执行人员的测试意图,包括:
通过自然语言处理模块将测试执行人员输入的测试意图语句转换为形式化的测试意图。
15.根据权利要求12所述的方法,其特征在于,所述根据所述测试意图调取测试用例,包括:
根据测试意图知识库中测试意图与测试用例的关联关系,确定与所述测试意图对应的测试用例集合;
提取所述测试用例集合中的测试用例的用例描述文件。
16.根据权利要求15所述的方法,其特征在于,所述根据所述测试意图调取测试用例,还包括:
在所述用例描述文件中包含意图引用字段的情况下,通过测试意图知识库获取与所述意图引用字段引用的测试意图对应的测试用例。
17.根据权利要求12所述的方法,其特征在于,所述根据所述测试用例的用例描述文件执行测试任务,包括:
根据所述用例描述文件构建测试任务;
基于所述测试任务中对应的测试用例集合的执行顺序进行优化调度,获得测试用例执行集合;
顺序执行所述测试用例执行集合中的测试用例,获得执行结果;
根据所述执行结果,更新所述测试用例的执行情况。
18.根据权利要求17所述的方法,其特征在于,所述根据所述用例描述文件构建测试任务,包括:
接收测试执行人员输入的测试参数,所述测试参数包括意图实例化参数;
根据所述意图实例化参数和所述用例描述文件进行意图实例化处理。
19.一种自动化测试装置,应用于测试设计***,其特征在于,包括:
第一获取模块,用于获取测试意图;
第一构建模块,用于建测试用例,所述测试用例与所述测试意图具有关联关系;
处理模块,用于将所述测试用例的用例描述文件以及所述测试意图发布至测试设计***。
20.一种自动化测试装置,应用于测试执行***,其特征在于,包括
第二获取模块,用于获取测试执行人员的测试意图;
第三获取模块,用于根据所述测试意图调取测试用例;
执行模块,用于根据所述测试用例的用例描述文件执行测试任务。
21.一种电子设备,其特征在于,包括:收发器和处理器;
所述收发器用于:获取测试意图;
所述处理器用于:构建测试用例,所述测试用例与所述测试意图具有关联关系;将所述用例描述文件以及所述测试意图发布至测试设计***。
22.一种电子设备,其特征在于,包括:收发器和处理器;
所述收发器用于:获取测试执行人员的测试意图;
所述处理器用于:根据所述测试意图调取测试用例;根据所述测试用例的用例描述文件执行测试任务。
23.一种电子设备,包括:收发器、处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令;其特征在于,所述处理器执行所述程序或指令时实现如权利要求1-11任一项所述的自动化测试方法,或者实现如权利要求12-18任一项所述的自动化测试方法。
24.一种可读存储介质,其上存储有程序或指令,其特征在于,所述程序或指令被处理器执行时实现如权利要求1-11任一项所述的自动化测试方法的步骤,或者实现如权利要求12-18任一项所述的自动化测试方法的步骤。
CN202011515766.5A 2020-12-21 2020-12-21 自动化测试方法、装置、电子设备及可读存储介质 Pending CN114647568A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011515766.5A CN114647568A (zh) 2020-12-21 2020-12-21 自动化测试方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011515766.5A CN114647568A (zh) 2020-12-21 2020-12-21 自动化测试方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN114647568A true CN114647568A (zh) 2022-06-21

Family

ID=81991233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011515766.5A Pending CN114647568A (zh) 2020-12-21 2020-12-21 自动化测试方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114647568A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185883A (zh) * 2023-04-28 2023-05-30 阿里云计算有限公司 测试用例生成方法、测试***、装置、设备及介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116185883A (zh) * 2023-04-28 2023-05-30 阿里云计算有限公司 测试用例生成方法、测试***、装置、设备及介质

Similar Documents

Publication Publication Date Title
US20130239098A1 (en) Source code conversion method and source code conversion program
US6385765B1 (en) Specification and verification for concurrent systems with graphical and textual editors
US8924937B1 (en) Method and system for generating verification information and tests for software
CN108845940B (zh) 一种企业级信息***自动化功能测试方法和***
US20040093186A1 (en) Method and apparatus for decomposing and verifying configurable hardware
US7895575B2 (en) Apparatus and method for generating test driver
CN103164328A (zh) 一种业务功能的回归测试方法、装置及***
CN109977012B (zh) ***的联调测试方法、装置、设备及计算机可读存储介质
CN114647568A (zh) 自动化测试方法、装置、电子设备及可读存储介质
CN111143228B (zh) 基于决策表法的测试代码生成方法及装置
Villalobos-Arias et al. Evaluation of a model‐based testing platform for Java applications
CN112988578A (zh) 一种自动化测试方法和装置
KR102024275B1 (ko) 스크립트를 활용한 시험 프로그램 개발 시스템 및 그 방법
CN112416333A (zh) 软件模型训练方法、装置、***、设备和存储介质
CN110717305A (zh) 适用于fpga的验证与确认的方法、***、设备及介质
WO2013161057A1 (ja) ソースコード検査方法及び装置
O'Donnell et al. Implementing ATML into an existing software architecture
Ha et al. Meta-validation of UML structural diagrams and behavioral diagrams with consistency rules
Bussenot et al. A domain specific test language for systems integration
Pereira et al. Development of self-diagnosis tests system using a DSL for creating new test suites for integration in a cyber-physical system
CN109800155B (zh) 一种基于Probe的QTE联锁应用软件测试方法及装置
Långström An Investigative Study of Testing Strategy and Test Case Creation in a Hardware-Software Co-design Environment Using Software Product Line Theory
CN116663463B (zh) 一种电路验证方法、装置、电子设备及可读存储介质
Jain et al. Automated verification system for functional coverage extraction
Lin et al. Towards verifying VDM using SPIN

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