CN113485915B - 一种基于协议建模和约束覆盖的接口测试数据自动生成方法和装置 - Google Patents

一种基于协议建模和约束覆盖的接口测试数据自动生成方法和装置 Download PDF

Info

Publication number
CN113485915B
CN113485915B CN202110668069.1A CN202110668069A CN113485915B CN 113485915 B CN113485915 B CN 113485915B CN 202110668069 A CN202110668069 A CN 202110668069A CN 113485915 B CN113485915 B CN 113485915B
Authority
CN
China
Prior art keywords
protocol
field
value
interface
constraint
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
Application number
CN202110668069.1A
Other languages
English (en)
Other versions
CN113485915A (zh
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.)
COMPUTER APPLICATION RESEARCH INST CHINA ACADEMY OF ENGINEERING PHYSICS
Original Assignee
COMPUTER APPLICATION RESEARCH INST CHINA ACADEMY OF ENGINEERING PHYSICS
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 COMPUTER APPLICATION RESEARCH INST CHINA ACADEMY OF ENGINEERING PHYSICS filed Critical COMPUTER APPLICATION RESEARCH INST CHINA ACADEMY OF ENGINEERING PHYSICS
Priority to CN202110668069.1A priority Critical patent/CN113485915B/zh
Publication of CN113485915A publication Critical patent/CN113485915A/zh
Application granted granted Critical
Publication of CN113485915B publication Critical patent/CN113485915B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/3676Test management for coverage analysis
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Computer And Data Communications (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及软件测试相关设备领域,尤其涉及一种基于协议建模和约束覆盖的接口测试数据自动生成方法和装置,其中,一种基于协议建模和约束覆盖的接口测试数据自动生成方法,包括以下步骤,S10、对基于字节定义的总线接口协议进行建模,将自然语言描述的通信协议转化为计算机可识别的机器语言,生成接口协议描述文件;S20、对接口协议描述文件进行解析,识别接口协议的属性信息和字段特性信息;S30、按照字段类型显示接口协议的字段特性信息和数据。本发明适用于基于字节定义的TCP、UDP、RS232/422/485/UART、CAN等多种总线通信协议,通用性较好,能够准确、快速生成满足多种约束覆盖准则的测试数据集,提升测试数据覆盖的充分性和测试数据生成效率。

Description

一种基于协议建模和约束覆盖的接口测试数据自动生成方法 和装置
技术领域
本发明涉及软件测试相关设备领域,尤其涉及一种基于协议建模和约束覆盖的接口测试数据自动生成方法和装置。
背景技术
软件测试是保证软件产品质量的关键技术手段,现代软件系统正在变得越来越庞大和复杂,与外部系统之间通过各种总线接口交互数据,软件系统只有保证对接口数据处理的稳定性,才能保证整个软件的稳定性,接口协议作为软件系统与外部系统之间的规约,具有协议格式众多、消息内容广泛、接口类型多样、处理模式复杂等特点,在实践中,接口问题是软件系统的主要问题之一,这主要是由于缺少完整、有效的测试数据,导致接口测试不充分造成的,因此,对软件接口测试数据生成方法进行研究,有较强的实用价值和学术意义;
目前,接口测试数据生成方法主要有三种:一、人工组包,对照接口协议人工逐个字节准备数据,效率低,容易出错,难以保证数据覆盖充分,二、利用Excel等编辑工具组包,这种方法对协议进行解析转换,生成数据较为准确,易于修改,但是自动化程度较低,不适合处理复杂协议,三、开发专用数据生成程序,这种方法的优点是数据准备充分,但是周期较长,一旦接口或协议发生变化,需要重新开发,程序复用率低,对测试人员专业编程设计能力要求较高;
因此,接口测试数据生成方法面临如下问题:一、数据覆盖率受人为影响较大,由于测试数据生成过程中需要引入大量的人工操作,很难全面覆盖接口协议中各个字段的取值约束条件,造成数据覆盖率不足;二、数据准备时间过长,开销较大,以上方法都需要对协议字段进行数据转换,需要考虑诸多因素,如数据类型、取值方式、存储方式等;三、生成程序和数据难以复用,当接口协议发生变化时,原有的程序和测试数据可能失效,需要对测试程序或测试数据进行修改,以上方法使得改写过程仍然困难。
发明内容
针对上述问题,本发明提供了一种基于协议建模和约束覆盖的接口测试数据自动生成方法和装置;通过对各种总线接口协议进行建模、解析,制定数据生成的约束覆盖准则,实现了提高数据覆盖充分性和数据生成效率的目的。
为了实现以上目的,本发明采用的技术方案为:一种基于协议建模和约束覆盖的接口测试数据自动生成方法,包括以下步骤,
S10、对基于字节定义的总线接口协议进行建模,将自然语言描述的通信协议转化为计算机可识别的机器语言,生成接口协议描述文件;
S20、对接口协议描述文件进行解析,识别接口协议的属性信息和字段特性信息;
S30、按照字段类型显示接口协议的字段特性信息和数据;
S40、分析并归纳协议字段的取值约束条件,制定数据生成的约束覆盖准则,生成满足覆盖要求的测试数据集。
进一步的,所述S10、对基于字节定义的总线接口协议进行建模,包括制定五层接口协议描述规则:
S101、第一层描述总线的接口类型;
S102、第二层描述接口协议的数据包及属性;
S103、第三层描述接口协议的字段及类型信息;
S104、第四层描述字段的特性信息;
S105、第五层描述字段特性的数据内容。
进一步的,所述S20、对接口协议描述文件进行解析,识别接口协议的属性信息和字段特性信息,包括:
S201、解析接口协议的属性信息;
S202、按照字段特性分别解析字段的通用特性(包括位置、名称、存储方式、说明信息)、长度特性和值域特性信息。
进一步的,所述S30、按照字段类型显示接口协议的字段特性信息和数据,包括:
S301、对定长单一值、定长离散值、定长序列值、定长区间值、定长校验值、定长任意值、变长任意值七类字段的显示和处理。
进一步的,所述S40、分析并归纳协议字段的取值约束条件,制定数据生成的约束覆盖准则,生成满足覆盖要求的测试数据集,包括:
S401、按照协议字段以及字段间的约束取值进行组合;
S402、当所有字段都在约束范围内取典型值时,生成正常域典型值数据集;
S403、当所有字段都在约束范围内取全部值时,生成正常域全部值数据集;
S404、当有且仅有一个字段在约束范围外取值,其它字段在约束范围内取典型值时,生成异常域典型值数据集。
进一步的,所述S103、第三层描述接口协议的字段及类型信息,包括:从协议字段的取值约束,即从字段的字节长度、数据类型、值域三个变量角度考虑,将协议字段划分为定长单一值、定长离散值、定长序列值、定长区间值、定长校验值、定长任意值和变长任意值共计七类。
进一步的,所述S104、第四层描述字段的特性信息,包括:使用六元组field=<pos,name,length,definition,littleEndian,remark>完整描述协议字段的特征,六元组分别表示协议字段的位置、名称、字节长度、值域、在内存中的存储方式、说明信息六种不同的特性。
本发明进一步提供一种基于协议建模和约束覆盖的接口测试数据自动生成装置,其特征在于,包括:A10、协议建模单元:A101、对各种总线接口协议进行结构化建模,A102、生成XML格式的接口协议描述文件;A20、协议解析单元:A201、读取接口协议描述文件,A202、解析协议字段的特性信息,A203、提供给协议显示单元;A30、协议显示单元:A301、按照字段类型显示字段的特性以及数据;A40、数据生成单元:A401、选择协议字段的取值约束条件,A402、生成满足不同约束覆盖准则的接口测试数据集,A403、自动保存到文件中。
本发明的有益效果为:
本发明适用于基于字节定义的TCP、UDP、RS232/422/485/UART、CAN等多种总线通信协议,通用性较好,能够准确、快速生成满足多种约束覆盖准则的测试数据集,提升测试数据覆盖的充分性和测试数据生成效率。
附图说明
图1为一种基于协议建模和约束覆盖的接口测试数据自动生成方法结构示意图。
图2为五层接口协议描述规则示意图。
图3为协议字段特性信息网络描述结构图。
图4为协议字段的分类图。
图5为接口测试数据自动生成流程图。
图6为一种基于协议建模和约束覆盖的接口测试数据自动生成装置结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明的技术方案,下面结合附图对本发明进行详细描述,本部分的描述仅是示范性和解释性,不应对本发明的保护范围有任何的限制作用。
如图1-图6所示,本发明的具体结构为:一种基于协议建模和约束覆盖的接口测试数据自动生成方法,其特征在于:包括以下步骤,
S10、对基于字节定义的总线接口协议进行建模,将自然语言描述的通信协议转化为计算机可识别的机器语言,生成接口协议描述文件;
S20、对接口协议描述文件进行解析,识别接口协议的属性信息和字段特性信息;
S30、按照字段类型显示接口协议的字段特性信息和数据;
S40、分析并归纳协议字段的取值约束条件,制定数据生成的约束覆盖准则,生成满足覆盖要求的测试数据集。
优选的,所述S10、对基于字节定义的总线接口协议进行建模,包括制定五层接口协议描述规则:
S101、第一层描述总线的接口类型;
S102、第二层描述接口协议的数据包及属性;
S103、第三层描述接口协议的字段及类型信息;
S104、第四层描述字段的特性信息;
S105、第五层描述字段特性的数据内容。
优选的,所述S20、对接口协议描述文件进行解析,识别接口协议的属性信息和字段特性信息,包括:
S201、解析接口协议的属性信息;
S202、按照字段特性分别解析字段的通用特性(包括位置、名称、存储方式、说明信息)、长度特性和值域特性信息。
优选的,所述S30、按照字段类型显示接口协议的字段特性信息和数据,包括:
S301、对定长单一值、定长离散值、定长序列值、定长区间值、定长校验值、定长任意值、变长任意值七类字段的显示和处理。
优选的,所述S40、分析并归纳协议字段的取值约束条件,制定数据生成的约束覆盖准则,生成满足覆盖要求的测试数据集,包括:
S401、按照协议字段以及字段间的约束取值进行组合;
S402、当所有字段都在约束范围内取典型值时,生成正常域典型值数据集;
S403、当所有字段都在约束范围内取全部值时,生成正常域全部值数据集;
S404、当有且仅有一个字段在约束范围外取值,其它字段在约束范围内取典型值时,生成异常域典型值数据集。
具体的,如表1所示;S402、当所有字段都在约束范围内取典型值时,生成正常域典型值数据集,记为准则1;S403、当所有字段都在约束范围内取全部值时,生成正常域全部值数据集,记为准则2;S404、当有且仅有一个字段在约束范围外取值时,其它字段在约束范围内取典型值时,生成异常域典型值数据集,记为准则3,当同时存在两个及以上字段在约束范围外取值时,虽然可以生成异常测试数据,但无法具体体现哪个字段取值导致的软件异常行为,因此本发明仅考虑一个字段约束范围外取值情况,以获取该字段异常的异常测试数据;
表1协议字段约束覆盖准则
字段分类 正常域典型值 正常域全覆盖 异常域典型值
定长单一值 等于固定值 等于固定值 不等于固定值
定长离散值 在离散值列表中任选一个 枚举每一个离散值 不等于离散值列表中的任意一个
定长序列值 按字段长度取0值、最大值和任意中间值 按字段长度取0至最大值之间的所有值 ——
定长区间值 最小值、最大值和任一中间值 最小值至最大值之间的所有值 如果区间最小值大于0则取区间最小值-1;如果区间最大值小于字段长度能表示的最大值,则取区间最大值+1;否则无异常域典型值
定长校验值 正确校验码 正确校验码 错误校验码
定长任意值 上、下边界值及任一中间值 按字段长度所能表示的所有值 ——
变长任意值 以关联字段的数据上、下边界以及之间的任一数据作为字段长度,随机生成的数据值 以关联字段的数据上、下边界作为字段长度的上下限,随机生成的所有数据值 如果关联字段的数据下边界大于0则取下边界-1作为字段长度;如果关联字段的上边界小于关联字段长度能表示的最大值,则取上边界+1作为字段长度;否则无异常域典型值
优选的,所述S103、第三层描述接口协议的字段及类型信息,包括:从协议字段的取值约束,即从字段的字节长度、数据类型、值域三个变量角度考虑,将协议字段划分为定长单一值、定长离散值、定长序列值、定长区间值、定长校验值、定长任意值和变长任意值共计七类。
优选的,所述S104、第四层描述字段的特性信息,包括:使用六元组field=<pos,name,length,definition,littleEndian,remark>完整描述协议字段的特征,六元组分别表示协议字段的位置、名称、字节长度、值域、在内存中的存储方式、说明信息六种不同的特性。
本发明进一步提供一种基于协议建模和约束覆盖的接口测试数据自动生成装置,其特征在于,包括:A10、协议建模单元:A101、对各种总线接口协议进行结构化建模,A102、生成XML格式的接口协议描述文件;A20、协议解析单元:A201、读取接口协议描述文件,A202、解析协议字段的特性信息,A203、提供给协议显示单元;A30、协议显示单元:A301、按照字段类型显示字段的特性以及数据;A40、数据生成单元:A401、选择协议字段的取值约束条件,A402、生成满足不同约束覆盖准则的接口测试数据集,A403、自动保存到文件中。
实施例一
图1是本发明的一种基于协议建模和约束覆盖的接口测试数据生成方法,该方法可以包括以下步骤:一、接口协议建模,对基于字节定义的总线接口通信协议进行建模,制定五层接口协议描述规则,将自然语言描述的通信协议转化为计算机可识别的机器语言,生成接口协议描述文件,二、接口协议解析,应用递归算法遍历接口协议描述文件,解析接口协议的属性信息,按照字段类型解析出所有字段的字段特性信息,三、接口协议显示,按照字段类型显示接口协议的字段特性信息和数据,四、测试数据生成,分析并归纳协议字段的取值约束条件,制定了正常域典型值、正常域全覆盖、异常域典型值三种覆盖准则,正常域典型值是指所有字段都在约束范围内取典型值,正常域全部值是指所有字段都在约束范围内取全部值,异常域典型值是指当有且仅有一个字段在约束范围外取值,然后按照协议字段以及字段间的约束取值进行组合,自动生成满足不同约束覆盖的测试数据集。
实施例二
图2是本发明的五层接口协议描述规则示意图,利用可扩展描述语言(XML)支持自定义标签的特性,对各种总线接口协议进行抽象,抽取协议共性特征,制定了接口类型、数据包、字段、字段特性和字段数据五层接口协议描述规则,实现了建模方法和协议定义的分离,第一层至第四层设计为XML元素节点,分别代表接口类型、数据包、字段和字段特性,第五层设计为XML文本节点,代表字段特性的内容,第一层描述总线的接口类型,每一类总线协议对应一组固定标签,如<UDP></UDP>表示基于UDP协议进行通信,第二层描述用户协议的数据包及属性,只用一组固定标签<packet></packet>表示,第三层描述协议的字段及类型信息,支持用户自定义标签表示,用于区分不同的协议字段,第四层描述字段的特性,每一个字段都使用六组固定标签<name></name>、<pos></pos>、<length></length>、<definition></definition>、<littleEndian></littleEndian>、<remark></remark>表示,具体描述协议字段的特征,第五层描述字段特性的数据内容,无标签,表示字段特性节点的文本内容,对于由多组数据构成的字段特性节点的特殊情况,例如定长离散值字段的definition特性,只须将五层协议描述规则的文本节点再下移一层,即可灵活处理。
实施例三
图3为本发明的协议字段特性信息网络描述结构图,通过对不同的字段类型进一步抽象,提出使用六元组field=<pos,name,length,definition,littleEndian,remark>完整描述协议字段的特征,实现协议描述方式与具体协议定义的分离,达到建模方法的通用性,pos特性代表该字段在协议中所处的位置,使用0~n顺序表示,name特性表示该字段的名称,可以为任意长度的字符串,支持中文,length特性表示该字段的字节长度,对于定长类字段,length大于0,definition特性表示该字段的值域,值域包括单一值、离散值、序列值、区间值、校验值、任意值六种,littleEndian特性表示字段在内存中的存储方式,1表示小端模式,即数据的低位保存在内存的低地址,而数据的高位保存在内存的高地址;0表示大端模式,即数据的低位保存在内存的高地址,而数据的高位保存在内存的低地址,remark特性表示表示字段的说明信息,可以为空,缺省为字段类型名称。
实施例四
图4为本发明的协议字段的分类图,字段的特性信息统一化表示后,我们从字段的取值约束角度考虑字段的类型,字段的取值主要和字节长度、数据类型、值域三个变量相关,字段的字节长度包括两类:固定长度和变化长度,固定长度是指该字段由有限字节构成,变化长度是指该字段的长度根据关联字段取值动态确定,字段的值域包括单一值、离散值、序列值、区间值、校验值、任意值共计六种,单一值是指固定的字节串,离散值是指有限且固定的字节串,序列值是指固定字节长度的0、1、2……的字节数据,区间值是指固定区间之内的字节串,校验值是指按照指定CRC校验算法计算所得的字节串,任意值是指固定字节长度所能表示的所有字节串,字段的数据类型包括整型、字符型、浮点型等,由于不同的数据类型可以使用不同长度的字节串转换,所以在字段分类时不需要单独考虑,因此,字段分类可以简化为二元组fieldType=<fieldLength,fieldRange>,其中fieldLength表示字段的字节长度,为十进制数据,fieldRange表示字段的值域,为十六进制数据,通过对fieldLength,fieldRange的两两组合,同时考虑到变化长度与单一值、离散值、序列值、区间值和校验值的组合在工程应用上的没有实际意义,将协议字段划分为定长单一值、定长离散值、定长序列值、定长区间值、定长校验值、定长任意值和变长任意值共计七类。
实施例五
图5为本发明的接口测试数据自动生成流程图,通过设置不同的取值约束条件,可以生成满足不同覆盖准则的测试数据集。其具体流程如下:
1、流程开始,选择接口协议描述文件,该文件可以通过一种基于协议建模和约束覆盖的接口测试数据自动生成装置自动生成,也支持使用文本编辑工具手动编辑;
2、加载并解析接口协议描述文件;
3、显示接口协议,按照字段类型动态生成协议显示信息;
4、选择一种约束覆盖准则。本发明提供三种约束覆盖准则,准则1:覆盖正常域典型值;准则2:覆盖正常域全部值;准则3:覆盖异常域典型值;
5、以字段i(i≥0)的取值约束为条件,按字段pos特性顺序,遍历所有字段;
5.1、按字段pos特性遍历字段j(j≥0),为字段j取值;
5.2、如果j≠i,则顺序执行,否则跳转到5.4;
5.3、按照约束覆盖准则,对字段j进行取值,其中准则1和准则2按正向取值,准则3按反向取值;
5.4、j=j+1,继续遍历下一字段;
5.5、以字段i取值约束为条件,所有字段j遍历一遍,则顺序执行;否则返回到5.1继续执行;
6、生成以字段i的取值约束为条件的测试数据;
7、i=i+1,返回5继续执行,直至以字段i的取值约束为条件的遍历全部完成;
8、生成满足覆盖准则要求的测试数据集,保存到文件中,流程结束。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
实施例六
本发明实施例提供的一种基于协议建模和约束覆盖的接口测试数据自动生成方法相对应,本发明实施例还提供了一种基于协议建模和约束覆盖的接口测试数据自动生成装置,参见图6,包括:协议建模单元,用于对基于总线的接口协议进行结构化建模,设置协议属性、协议字段以及字段特性,自动生成满足五层接口协议描述规则的接口协议描述文件;协议解析单元,用于加载接口协议描述文件,解析接口协议的属性信息和字段的通用特性,按照字段类型解析字段长度特性和值域特性信息,提供给协议显示单元使用;协议显示单元,用于按照字段类型显示字段的特性以及数据,包括定长单一值、定长离散值、定长序列值、定长区间值、定长校验值、定长任意值、变长任意值七类字段的显示和处理;数据生成单元,用于根据选择的约束覆盖准则,自动生成满足不同约束覆盖条件的测试数据集,包括正常域典型值数据集、正常域全覆盖数据集和异常域典型值数据集。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实例的说明只是用于帮助理解本发明的方法及其核心思想。以上所述仅是本发明的优选实施方式,应当指出,由于文字表达的有限性,而客观上存在无限的具体结构,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进、润饰或变化,也可以将上述技术特征以适当的方式进行组合;这些改进润饰、变化或组合,或未经改进将发明的构思和技术方案直接应用于其它场合的,均应视为本发明的保护范围。

Claims (6)

1.一种基于协议建模和约束覆盖的接口测试数据自动生成方法,其特征在于:包括以下步骤,
S10、对基于字节定义的总线接口协议进行建模,将自然语言描述的通信协议转化为计算机可识别的机器语言,生成接口协议描述文件;
S20、对接口协议描述文件进行解析,识别接口协议的属性信息和字段特性信息;S30、按照字段类型显示接口协议的字段特性信息和数据;
S40、分析并归纳协议字段的取值约束条件,制定数据生成的约束覆盖准则,生成满足覆盖要求的测试数据集;
所述S10、对基于字节定义的总线接口协议进行建模,包括制定五层接口协议描述规则:
S101、第一层描述总线的接口类型;
S102、第二层描述接口协议的数据包及属性;
S103、第三层描述接口协议的字段及类型信息;
S104、第四层描述字段的特性信息;
S105、第五层描述字段特性的数据内容;
所述S40、分析并归纳协议字段的取值约束条件,制定数据生成的约束覆盖准则,生成满足覆盖要求的测试数据集,包括:
S401、按照协议字段以及字段间的约束取值进行组合;
S402、当所有字段都在约束范围内取典型值时,生成正常域典型值数据集;
S403、当所有字段都在约束范围内取全部值时,生成正常域全部值数据集;
S404、当有且仅有一个字段在约束范围外取值,其它字段在约束范围内取典型值时,生成异常域典型值数据集。
2.根据权利要求1所述的一种基于协议建模和约束覆盖的接口测试数据自动生成方法,其特征在于:所述S20、对接口协议描述文件进行解析,识别接口协议的属性信息和字段特性信息,包括:
S201、解析接口协议的属性信息;
S202、按照字段特性分别解析字段的通用特性,所述通用特性包括位置、名称、存储方式和说明信息。
3.根据权利要求1所述的一种基于协议建模和约束覆盖的接口测试数据自动生成方法,其特征在于:所述S30、按照字段类型显示接口协议的字段特性信息和数据,包括:
S301、对定长单一值、定长离散值、定长序列值、定长区间值、定长校验值、定长任意值、变长任意值七类字段的显示和处理。
4.根据权利要求1所述的一种基于协议建模和约束覆盖的接口测试数据自动生成方法,其特征在于:所述S103、第三层描述接口协议的字段及类型信息,包括:从协议字段的取值约束,即从字段的字节长度、数据类型、值域三个变量角度考虑,将协议字段划分为定长单一值、定长离散值、定长序列值、定长区间值、定长校验值、定长任意值和变长任意值共计七类。
5.根据权利要求1所述的一种基于协议建模和约束覆盖的接口测试数据自动生成方法,其特征在于:所述S104、第四层描述字段的特性信息,包括:使用六元组field=<pos,name,length,definition,littleEndian,remark>完整描述协议字段的特征,六元组分别表示协议字段的位置、名称、字节长度、值域、在内存中的存储方式、说明信息六种不同的特性。
6.一种基于协议建模和约束覆盖的接口测试数据自动生成装置,用于实现权利要求1所述的一种基于协议建模和约束覆盖的接口测试数据自动生成方法,其特征在于,包括:A10、协议建模单元:A101、对各种总线接口协议进行结构化建模,A102、生成XML格式的接口协议描述文件;A20、协议解析单元:A201、读取接口协议描述文件,A202、解析协议字段的特性信息,A203、提供给协议显示单元;A30、协议显示单元:A301、按照字段类型显示字段的特性以及数据;A40、数据生成单元:A401、选择协议字段的取值约束条件,A402、生成满足不同约束覆盖准则的接口测试数据集,A403、自动保存到文件中。
CN202110668069.1A 2021-06-16 2021-06-16 一种基于协议建模和约束覆盖的接口测试数据自动生成方法和装置 Active CN113485915B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110668069.1A CN113485915B (zh) 2021-06-16 2021-06-16 一种基于协议建模和约束覆盖的接口测试数据自动生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110668069.1A CN113485915B (zh) 2021-06-16 2021-06-16 一种基于协议建模和约束覆盖的接口测试数据自动生成方法和装置

Publications (2)

Publication Number Publication Date
CN113485915A CN113485915A (zh) 2021-10-08
CN113485915B true CN113485915B (zh) 2023-09-08

Family

ID=77935363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110668069.1A Active CN113485915B (zh) 2021-06-16 2021-06-16 一种基于协议建模和约束覆盖的接口测试数据自动生成方法和装置

Country Status (1)

Country Link
CN (1) CN113485915B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114064486B (zh) * 2021-11-18 2023-07-18 北京京航计算通讯研究所 一种接口自动化测试方法
CN114944997B (zh) * 2022-03-24 2024-02-20 浙江大华技术股份有限公司 一种协议检测方法、协议检测装置和计算机可读存储介质
CN115237755A (zh) * 2022-06-27 2022-10-25 北京关键科技股份有限公司 一种基于协议的校验算法库调用方法及调用设备
CN115237756A (zh) * 2022-06-27 2022-10-25 北京关键科技股份有限公司 一种测试数据方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326096A (zh) * 2015-06-30 2017-01-11 中国船舶工业综合技术经济研究院 一种舰船装备软件接口协议形式化建模方法
CN109525364A (zh) * 2018-10-30 2019-03-26 北京计算机技术及应用研究所 一种基于xml的通信数据协议通用化描述方法
CN111104338A (zh) * 2019-12-31 2020-05-05 中国科学院长春光学精密机械与物理研究所 通信协议建模方法
EP3690646A1 (en) * 2019-01-31 2020-08-05 Salesforce.com, Inc. Correction of translated text in localized applications

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040044508A1 (en) * 2002-08-29 2004-03-04 Hoffman Robert R. Method for generating commands for testing hardware device models
US20060268724A1 (en) * 2005-05-24 2006-11-30 Ravindra Viswanath Using Open Vera Assertions to verify designs
US10892974B2 (en) * 2019-05-02 2021-01-12 National Chiao Tung University Automatic protocol test method by reverse engineering from packet traces to extended finite state machine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106326096A (zh) * 2015-06-30 2017-01-11 中国船舶工业综合技术经济研究院 一种舰船装备软件接口协议形式化建模方法
CN109525364A (zh) * 2018-10-30 2019-03-26 北京计算机技术及应用研究所 一种基于xml的通信数据协议通用化描述方法
EP3690646A1 (en) * 2019-01-31 2020-08-05 Salesforce.com, Inc. Correction of translated text in localized applications
CN111104338A (zh) * 2019-12-31 2020-05-05 中国科学院长春光学精密机械与物理研究所 通信协议建模方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于UVM的PCI-AMBA协议转换桥IP核的验证与实现;马滢;《中国优秀硕士学位论文全文数据库 信息科技辑》;I135-362 *

Also Published As

Publication number Publication date
CN113485915A (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
CN113485915B (zh) 一种基于协议建模和约束覆盖的接口测试数据自动生成方法和装置
US9330116B2 (en) Determining hierarchical paths to nodes
US6941560B1 (en) XML-based integrated services event system
CN102346747B (zh) 在数据模型中查找参数的方法
CN102566984B (zh) 一种配置参数的方法及装置
US6891552B1 (en) Specifiable user interfaces
CN107451237B (zh) 序列化与反序列化方法、装置及设备
CN110083145A (zh) 一种汽车诊断方法、装置及可读存储介质和汽车诊断仪
CN109460220A (zh) 报文预定义代码生成方法、装置、电子设备和存储介质
US8171413B2 (en) System and method for displaying information about subnets
CN110266702A (zh) 基于XML的Wireshark用协议解析方法
CN108664546B (zh) Xml数据结构转换方法和装置
US20200019896A1 (en) Numerical graphical flow diagram conversion and comparison
CN107026865A (zh) 异常事件处理方法及系统、客户端及服务端
CN109947411A (zh) 分布式软件生成唯一id主键的方法
CN107483238A (zh) 一种日志管理方法、集群管理节点及系统
US7559018B2 (en) Computer-implemented system and method for data collection
US8201106B2 (en) Method for transforming a tree structure into a more human-comprehensible document
CN105793842B (zh) 序列化消息之间的转换方法和装置
CN105468521B (zh) 一种基于子图搜索的指针相关语义错误定位方法
CN111078483A (zh) 通信协议状态转换序列生成方法
CN102486731A (zh) 增强软件的软件调用栈的可视化的方法、设备和系统
CN107451167A (zh) 站内点击位的点击数据获取方法和系统
US20050268291A1 (en) Specifying user interface interactions for controls in a data driven system
Cisco SNMP Operations

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