CN112765023A - 测试用例生成方法、装置 - Google Patents
测试用例生成方法、装置 Download PDFInfo
- Publication number
- CN112765023A CN112765023A CN202110067120.3A CN202110067120A CN112765023A CN 112765023 A CN112765023 A CN 112765023A CN 202110067120 A CN202110067120 A CN 202110067120A CN 112765023 A CN112765023 A CN 112765023A
- Authority
- CN
- China
- Prior art keywords
- protocol
- tested
- protobuf
- function
- file
- 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.)
- Granted
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/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)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种测试用例生成方法、装置。该方法包括:获取用户选定的待测试功能;基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件;获取用户输入的参数信息,并将所述参数信息设置至所述预设格式的协议描述结构体中,得到目标数据;将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。本申请可以节省人力成本,提高测试效率。
Description
技术领域
本申请涉及虚计算机技术领域,尤其涉及一种测试用例生成方法、装置。
背景技术
现有技术中,在完成软件开发之后,需要通过软件测试对软件的功能进行测试,以保证软件质量。
目前,在进行软件功能的测试时,一般是通过手动编写测试用例代码的方式对软件进行测试,然而,由于软件的功能较多,为了对软件功能测试的全覆盖,用户需要编写的测试用例代码数目往往异常庞大,这就使得整个过程投入的人工成本较高,测试效率低。
发明内容
有鉴于此,现提供一种测试用例生成方法、装置、计算机设备及计算机可读存储介质,以解决现有技术中通过手动的方式编写测试用例需要耗费大量的人力成本,测试效率较低的问题。
本申请提供了一种测试用例生成方法,包括:
获取用户选定的待测试功能;
基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件;
获取用户输入的参数信息,并将所述参数信息设置至所述预设格式的协议描述结构体中,得到目标数据;
将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。
可选地,所述方法还包括:
获取与所述待测试功能相对应的通信协议号;
按照所述通信协议号将所述测试用例进行序列化成字节流。
可选地,所述获取与所述待测试功能相对应的通信协议包括:
从所述Protobuf协议文件中获取预先定义的与所述待测试功能相对应的序号作为父协议号;
从所述Protobuf协议文件中包含的与所述待测试功能相对应的子协议文件中获取预先定义的序号作为子协议号;
采用预设的逻辑算法对所述父协议号与所述子协议号进行逻辑运算,并将运算结果作为所述通信协议号。
可选地,所述采用预设的逻辑算法对所述父协议号与所述子协议号进行逻辑运算,并将运算结果作为所述通信协议号包括:
对所述父协议号进行预设位数的移位处理,得到移位后的父协议号;
将所述移位后的父协议号与所述子协议号进行逻辑或运算,并将运算结果作为所述通信协议号。
可选地,所述基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体包括:
将所述Protobuf协议文件的存放路径纳入到树状资源管理对象中;
通过所述树状资源管理对象创建协议输入对象;
根据所述Protobuf协议文件中包含的所述待测试功能对应的协议文件名在所述协议输入对象中创建对应的文件描述结构体;
根据所述文件描述结构体生成预设格式的协议描述结构体。
可选地,所述将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例包括:
通过反射机制获取所述目标数据中包含的多个字段数据的字段类型;
根据获取到的每一个字段数据的字段类型确定将每一个字段数据设置到Protobuf对象中的处理规则;
采用确定的处理规则将每一个字段数据设置到对应的Protobuf对象中,得到与所述待测试功能对应的测试用例。
可选地,所述字段类型包括基本数据类型与消息体类型,所述采用确定的处理规则将每一个字段数据设置到对应的Protobuf对象中包括:
当字段数据的字段类型为基本数据类型时,通过与所述字段数据对应的反射对象调用相应的接口将所述字段数据设置到对应的Protobuf对象中;
当字段数据的字段类型为消息体类型时,通过递归调用的方式依次将所述字段数据中的所有字段设置到对应的Protobuf对象中。
本申请还提供了一种协议模拟测试工具,包括:
提供模块,用于提供编辑界面,以供用户基于所述编辑界面选定待测试功能,以及供用户基于所述编辑界面输入参数信息;
生成模块,用于基于用户选定的所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件;
第一设置模块,用于将用户输入的参数信息设置至所述预设格式的协议描述结构体中,得到目标数据;
第二设置模块,用于将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。本申请还提供了一种测试用例生成装置,包括:
获取模块,用于获取用户选定的待测试功能;
生成模块,用于基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件;
第一设置模块,用于获取用户输入的参数信息,并将所述参数信息设置至所述预设格式的协议描述结构体中,得到目标数据;
第二设置模块,用于将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。
本申请还提供了一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述技术方案的有益效果:
本申请实施例中,通过获取用户选定的待测试功能;基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件;获取用户输入的参数信息,并将所述参数信息设置至所述预设格式的协议描述结构体中,得到目标数据;将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。在本申请实施例中,通过协议模拟测试工具根据Protobuf协议文件自动生成测试用例,而无需通过用户手动编写测试用例代码,从而可以节省人力成本,提高测试效率。此外,本申请通过工具化的方式供用户生成指定功能的测试用例,从而可以对外提供通用性的服务。
附图说明
图1为本申请实施例的测试用例生成方法的环境示意图;
图2为本申请所述的测试用例生成方法的一种实施例的流程图;
图3为本申请一实施方式中的协议模拟测试工具中的目标界面的示意图;
图4为本申请一实施方式中基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体件的步骤细化流程示意图;
图5为本申请一实施方式中将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例的步骤细化流程示意图;
图6为本申请所述的测试用例生成方法的另一种实施例的流程图;
图7为本申请一实施方式中获取与所述待测试功能相对应的通信协议号的步骤细化流程示意图;
图8为本申请一实施方式中采用预设的逻辑算法对所述父协议号与所述子协议号进行逻辑运算,并将运算结果作为所述通信协议号的步骤细化流程示意图;
图9为本申请所述的测试用例生成装置的一种实施例的程序模块图;
图10为本申请实施例提供的执行测试用例生成方法的计算机设备的硬件结构示意图。
具体实施方式
以下结合附图与具体实施例进一步阐述本申请的优点。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
图1示意性示出了根据本申请实施例的测试用例生成方法的框架示意图。在示例性的实施例中,该应用环境的***可包括计算机设备10、服务器20。其中,计算机设备10与服务器20形成无线或有线连接。计算机设备10中安装有应用程序(APP),用于生成测试用例。计算机设备10可以为手机、iPAD,平板电脑、服务器等。服务器20可以为机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。
参阅图2,其为本申请一实施例的测试用例生成方法的流程示意图。本可以理解,本方法实施例中的流程图不用于对执行步骤的顺序进行限定。下面以计算机设备为执行主体进行示例性描述,从图中可以看出,本实施例中所提供的测试用例生成方法包括:
步骤S20、获取用户选定的待测试功能。
具体地,所述待测试功能为当前需要进行测试的功能模块,比如为登录功能模块,任务功能模块,管理员功能模块,游戏道具功能模块,游戏卡牌功能模块等。
在一示例性的实施方式中,为了便于用户选定待测试功能,用户可以通过预先开发好的协议模拟测试工具中的目标界面选定待测试功能。
所述协议模拟测试工具为用于生成测试用例的工具,作为示例,该工具可以采用采用C#和C++两种程序开发语言进行开发,其中,C#主要负责创建Windows窗体应用程序,用于展示Protobuf协议文件中定义的结构,并且用于接收用户的输入数据;C++主要负责动态解析业务逻辑前期定义的Protobuf协议文件,并且将在窗体界面上采集到的用户数据进行序列化成二进制形式的字节流。
需要说明的是,C#是一种现代的、通用的、面向对象的编程语言。C++是一种静态类型的、编译式的编程语言,支持过程化编程、面向对象编程和泛型编程。
所述目标界面为用于供用户创建生成测试用例的交互界面。具体而言,通过该目标界面,用户可以采用可视化界面的方式来选定待测试功能,选择Protobuf协议文件的存放目录,选择需要测试的协议父类型和协议子类型,输入待测试的服务器的ip地址、端口以及测试账号信息等。
在一示例的实施方式中,参照图3,用户在选定所述待测试功能时,可以通过在该目标界面中选择所述待测试功能对应的协议父类型和协议子类型的方式来选定所述待测试功能,其中,该协议父类型用于指示当前需要具体对软件的哪个功能模块(比如,模块A)进行测试,所述协议子类型用于指示当前需要具体对模块A的哪一个子功能模块进行测试,比如,所述待测试功能为登录功能模块,则该协议父类型可以为用于指示对登录功能模块进行测试的协议,该协议子类型则可以为用于指示对该登录功能模块中的请求功能进行测试的协议。
步骤S21,基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件。
具体地,所述Protobuf协议文件为预先根据业务逻辑定义好的测试代码文件,所述Protobuf协议文件中定义了各种与业务逻辑相关联的协议结构,作为示例,该Protobuf协议文件定义的协议结构如下:
其中,CsCommCmd表示通用协议组,CsLoginCmd表示登录协议组,CsTaskCmd表示任务协议组,CsGmCmd表示管理员命令协议组,CsItemCmd表示道具协议组,CsCardCmd表示卡牌协议组。
需要说明的是,每一种协议结构可以对应一种待测试功能对应的模板测试用例,比如,CsLoginCmd对应着登录模块的模板测试用例,其中,模板测试用例包括对该待测试功能进行测试的步骤,可测试的功能项信息,比如,登录功能模块可测试的功能性信息包括请求模块,验证模块等。
在本实施例中,Protobuf协议文件定义有多种类型的元数据描述类,比如,各个待测试功能对应的文件描述结构体(FileDescriptor)、Descriptor、FieldDescriptor、EnumDescriptor、EnumValueDescriptor、ServiceDescriptor、MethodDescriptor等。
其中,FileDescriptor用于定义文件描述结构体,其是对一个proto文件的描述,它包含文件名、包名、选项(如java_package、java_outer_classname等)、文件中定义的所有message、文件中定义的所有enum、文件中定义的所有service、文件中所有定义的extension、文件中定义的所有依赖文件(import)等。在FileDescriptor中还存在一个DescriptorPool实例,它保存了所有的dependencies(依赖文件的FileDescriptor)、name到GenericDescriptor的映射、字段到FieldDescriptor的映射、枚举项到EnumValueDescriptor的映射,从而可以从该DescriptorPool中查找相关的信息,因而可以通过名字从FileDescriptor中查找Message、Enum、Service、Extensions等。
Descriptor用于对一个message定义的描述,它包含该message定义的名字、所有字段、内嵌message、内嵌enum、关联的FileDescriptor等。可以使用字段名或字段号查找FieldDescriptor。
FieldDescriptor用于对一个字段或扩展字段定义的描述,它包含字段名、字段号、字段类型、字段定义(required/optional/repeated/packed)、默认值、是否是扩展字段以及和它关联的Descriptor/FileDescriptor等。
EnumDescriptor用于对一个enum定义的描述,它包含enum名、全名、和它关联的FileDescriptor。可以使用枚举项或枚举值查找EnumValueDescriptor。
EnumValueDescriptor用于对一个枚举项定义的描述,它包含枚举名、枚举值、关联的EnumDescriptor/FileDescriptor等。
ServiceDescriptor用于对一个service定义的描述,它包含service名、全名、关联的FileDescriptor等。
MethodDescriptor用于对一个在service中的method的描述,它包含method名、全名、参数类型、返回类型、关联的FileDescriptor/ServiceDescriptor等。
所述预设格式为预先设定的数据传输格式,该预设格式为JSON格式、xml格式等。
作为示例,由于基于Protobuf的开发语言的文件描述结构体对于一些语言的功能支持并不太健全,因此,为了提高对该文件描述结构体的可识别性,需要将该文件描述结构体转换为JSON格式的协议描述结构体,其中,JSON格式是一种轻量级的数据交换格式。作为示例,可以采用C#调用C++动态库的形式来将所述文件描述结构体转换为JSON格式的协议描述结构体。
其中,所述协议描述结构体可以用于指示用户在对当前的待测试功能进行测试时所需要输入的参数信息,该协议描述结构体是以key-value(键值对)的形式存储的。
在一示例性的实施方式中,参阅图4,所述步骤S21可以包括步骤S40-S43,其中:步骤S40,将所述Protobuf协议文件的存放路径纳入到树状资源管理对象中;步骤S41,通过所述树状资源管理对象创建协议输入对象;步骤S42,根据所述Protobuf协议文件中包含的所述待测试功能对应的协议文件名在所述协议输入对象中创建对应的文件描述结构体;步骤S43,根据所述文件描述结构体生成预设格式的协议描述结构体。
作为示例,上述实施例中实现将所述文件描述结构体生成JSON格式的协议描述结构体时,可以通过调用C++动态库的方式来对所述Protobuf协议文件进行解析,以将所述文件描述结构体生成JSON格式的协议描述结构体。
步骤S22,获取用户输入的参数信息,并将所述参数信息设置至所述预设格式的协议描述结构体中,得到目标数据。
具体地,所述参数信息为对待测试功能进行测试时所需要涉及的输入参数,比如,该待测试功能为道具功能模块,则该输入参数可以包括道具编号,道具属性等。
以待测功能模块为道具功能模块为例,在获取到道具编号和道具属性之后,可以将道具编号设置在预设格式中对应于道具编号的协议描述结构体中,即将用户输入的道具编号设置在以道具编号作为key所对应的value的协议描述结构体中。同理,将道具属性设置在预设格式中对应于道具属性的协议描述结构体中,即将用户输入的道具属性设置在以道具属性作为key所对应的value的协议描述结构体中。
步骤S23,将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。
具体地,反射机制指的是程序在运行时能够获取自身的信息。例如一个对象能够在运行时知道自己有哪些方法和属性。
需要说明的是,测试用例(Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。
在一示例性的实施方式中,参照图5,所述步骤S23可以包括步骤S50-S52,其中:
步骤S50,通过反射机制获取所述目标数据中包含的多个字段数据的字段类型。
具体地,所述字段类型可以为基本数据类型,比如double、float、int、string、枚举等类型,也可以为消息体类型,或者称为复杂数据类型,该复杂数据类型包括数组(Array)类型,以及集合(Object)类型。
步骤S51,根据获取到的每一个字段数据的字段类型确定将每一个字段数据设置到Protobuf对象中的处理规则。
具体地,所述处理规则为将字段数据设置至对应的Protobuf对象中所采用的方法,在本实施例中,可以预先针对不同类型的字段数据设置不同的处理方法,比如针对基本数据类型的字段数据,可以采用规则1进行处理,针对消息体类型的字段数据,可以采用规则2进行处理。
步骤S52,采用确定的处理规则将每一个字段数据设置到对应的Protobuf对象中,得到与所述待测试功能对应的测试用例。
具体地,在确定述目标数据中每一个字段数据所对应的处理规则后,即可以采用该确定的处理规则对所有的字段数据进行处理,以将各个字段数据设置到对应的Protobuf对象中。
作为示例,当字段数据的字段类型为基本数据类型时,通过与所述字段数据对应的反射对象调用相应的接口将所述字段数据设置到对应的Protobuf对象中;当字段数据的字段类型为消息体类型时,通过递归调用的方式依次将所述字段数据中的所有字段设置到对应的Protobuf对象中。
其中,所述接口为Protobuf官方实现的针对反射对象设置具体值的接口,通过调用该接口可以将字段数据中包含的具体值设置到对应的Protobuf对象中。
可以理解的是,在通过递归调用的方式将所述字段数据中的所有字段设置到对应的Protobuf对象中时,可以针对每一个字段采用与该字段对应的反射对象调用相应的接口来将该字段的数据设置到对应的Protobuf对象中。
本申请实施例中,通过获取用户选定的待测试功能;基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件;获取用户输入的参数信息,并将所述参数信息设置至所述预设格式的协议描述结构体中,得到目标数据;将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。在本申请实施例中,通过协议模拟测试工具根据Protobuf协议文件自动生成测试用例,而无需通过用户手动编写测试用例代码,从而可以节省人力成本,提高测试效率。此外,本申请通过工具化的方式供用户生成指定功能的测试用例,从而可以对外提供通用性的服务。
图6示意性示出了根据本申请另一实施例的测试用例生成方法的流程图。如图6所示,所述方法包括步骤S60-S65,其中:
步骤S60,获取用户选定的待测试功能。
步骤S61,基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件。
步骤S62,获取用户输入的参数信息,并将所述参数信息设置至所述预设格式的协议描述结构体中,得到目标数据。
步骤S63,将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。
具体地,上述步骤S60-S63与上述实施例中的步骤S20-S23相同,在本实施例中不再赘述。
步骤S64,获取与所述待测试功能相对应的通信协议号。
具体地,所述通信协议号用于标识当前待测试的功能,通过该通信协议号可以和服务端进行待测试功能的测试。在本实施例中,不同的待测试功能对应的通信协议号不同。在一实施方式中,可以针对不同的待测试功能预先设置好通信协议号,然后将设置好的通信协议号与待测试功能进行关联保存。在另一实施方式中,也可以在对待测试功能模块进行测试时,在生成通信协议号。
在示例性的实施方式中,参照图7,所述步骤S64可以包括步骤S70-S72,其中:
步骤S70,从所述Protobuf协议文件中获取预先定义的与所述待测试功能相对应的序号作为父协议号。
具体地,Protobuf协议文件中预先定义有各种待测试功能的序号(FileNumber),该序号用于表明该待测试功能对应的字段在Protobuf协议文件中的文件描述结构体中的序号。
作为示例,假设Protobuf协议文件中预先定义有如下多个待测试功能的序号:
若所述待测试功能为登录功能(CsLoginCmd),则可以确定所述父协议号为0x02。
步骤S71,从所述Protobuf协议文件中包含的与所述待测试功能相对应的子协议文件中获取预先定义的序号作为子协议号。
作为示例,假设所述Protobuf协议文件中包含的与登录功能(CsLoginCmd)相对应的子协议文件(LoginReq)的协议号是0x01,则可以确定所述子协议号为0x01。
步骤S72,采用预设的逻辑算法对所述父协议号与所述子协议号进行逻辑运算,并将运算结果作为所述通信协议号。
具体地,所述逻辑算法是预先设置好的,通过该逻辑算法对所述父协议号与所述子协议号进行逻辑运算,即可以得到所述通信协议号。
在一示例性的实施方式中,参照图8,所述步骤S72可以包括步骤S80-S81,其中:
步骤S80,对所述父协议号进行预设位数的移位处理,得到移位后的父协议号。
具体地,所述预设位数是预先设定的,该预设位数可以为默认值,也可以根据用户的需求进行修改,比如,该预设位数为8位。在本实施例中,该移位处理可以为左移处理,也可以为右移处理,在本实施例中不作限定。
步骤S81,将所述移位后的父协议号与所述子协议号进行逻辑或运算,并将运算结果作为所述通信协议号。
作为示例,可以将经过左移8位处理的父协议号(0x02)与所述子协议号(0x01)进行逻辑或运算后得到的运算结果作为所述通信协议号,即所述通信协议号的计算方式为:0x02<<8|0x01。
步骤S65,按照所述通信协议号将所述测试用例进行序列化成字节流。
具体地,在得到通信协议号后,可以按照该通信协议号将所述测试用例进行序列化成字节流,从而方便将该测试用例通过网络进行传输输入至服务器中,以对待测试功能进行测试。
在一示例性的实施方式中,为了便于用户生成测试用例,本申请还提供了一种协议模拟测试工具,包括:
提供模块,用于提供编辑界面,以供用户基于所述编辑界面选定待测试功能,以及供用户基于所述编辑界面输入参数信息;
生成模块,用于基于用户选定的所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件;
第一设置模块,用于将用户输入的参数信息设置至所述预设格式的协议描述结构体中,得到目标数据;
第二设置模块,用于将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。
具体地,所述协议模拟测试工具为用于生成测试用例的工具,作为示例,该工具可以采用采用C#和C++两种程序开发语言进行开发,其中,C#主要负责创建Windows窗体应用程序,用于展示Protobuf协议文件中定义的结构,并且用于接收用户的输入数据;C++主要负责动态解析业务逻辑前期定义的Protobuf协议文件,并且将在窗体界面上采集到的用户数据进行序列化成二进制形式的字节流。
需要说明的是,C#是一种现代的、通用的、面向对象的编程语言。C++是一种静态类型的、编译式的编程语言,支持过程化编程、面向对象编程和泛型编程。
在本实施例中,该协议模拟测试工具可以提供可视化的编辑界面,通过该编辑界面,选定待测试功能,选择Protobuf协议文件的存放目录,选择需要测试的协议父类型和协议子类型,输入待测试的服务器的ip地址、端口测试账号信息以及一些参数信息等。在用户通过该编辑界面选定待测试功能,以及输入参数信息后,通过该协议模拟测试工具即可以生成用户所需要的测试用例,具体的生成过程在上述实施例中以详细描述,在本实施例中不再赘述。
参阅图9所示,是本申请测试用例生成装置90一实施例的程序模块图。
本实施例中,所述测试用例生成装置90包括一系列的存储于存储器上的计算机程序指令,当该计算机程序指令被处理器执行时,可以实现本申请各实施例的测试用例生成功能。在一些实施例中,基于该计算机程序指令各部分所实现的特定的操作,测试用例生成装置90可以被划分为一个或多个模块。例如,在图9中,所述测试用例生成装置90可以被分割成获取模块91、生成模块92、第一设置模块93、及第二设置模块94。其中:
获取模块91,用于获取用户选定的待测试功能;
生成模块92,用于基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件;
第一设置模块93,用于获取用户输入的参数信息,并将所述参数信息设置至所述预设格式的协议描述结构体中,得到目标数据;
第二设置模块94,用于将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。
在一示例性的实施方式中,所述测试用例生成装置90还包括协议号获取模块及序列化模块。
所述协议号获取模块,用于获取与所述待测试功能相对应的通信协议号。
所述序列化模块,用于按照所述通信协议号将所述测试用例进行序列化成字节流。
在一示例性的实施方式中,所述协议号获取模块,还用于从所述Protobuf协议文件中获取预先定义的与所述待测试功能相对应的序号作为父协议号;从所述Protobuf协议文件中包含的与所述待测试功能相对应的子协议文件中获取预先定义的序号作为子协议号;及采用预设的逻辑算法对所述父协议号与所述子协议号进行逻辑运算,并将运算结果作为所述通信协议号。
在一示例性的实施方式中,所述协议号获取模块,还用于对所述父协议号进行预设位数的移位处理,得到移位后的父协议号;将所述移位后的父协议号与所述子协议号进行逻辑或运算,并将运算结果作为所述通信协议号。
在一示例性的实施方式中,所述生成模块92,还用于将所述Protobuf协议文件的存放路径纳入到树状资源管理对象中;通过所述树状资源管理对象创建协议输入对象;根据所述Protobuf协议文件中包含的所述待测试功能对应的协议文件名在所述协议输入对象中创建对应的文件描述结构体;及根据所述文件描述结构体生成预设格式的协议描述结构体。
在一示例性的实施方式中,第二设置模块94,还用于通过反射机制获取所述目标数据中包含的多个字段数据的字段类型;根据获取到的每一个字段数据的字段类型确定将每一个字段数据设置到Protobuf对象中的处理规则;及采用确定的处理规则将每一个字段数据设置到对应的Protobuf对象中,得到与所述待测试功能对应的测试用例。
在一示例性的实施方式中,所述字段类型包括基本数据类型与消息体类型,第二设置模块94,还用于当字段数据的字段类型为基本数据类型时,通过与所述字段数据对应的反射对象调用相应的接口将所述字段数据设置到对应的Protobuf对象中;当字段数据的字段类型为消息体类型时,通过递归调用的方式依次将所述字段数据中的所有字段设置到对应的Protobuf对象中。
本申请实施例中,通过获取用户选定的待测试功能;基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件;获取用户输入的参数信息,并将所述参数信息设置至所述预设格式的协议描述结构体中,得到目标数据;将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。在本申请实施例中,通过协议模拟测试工具根据Protobuf协议文件自动生成测试用例,而无需通过用户手动编写测试用例代码,从而可以节省人力成本,提高测试效率。此外,本申请通过工具化的方式供用户生成指定功能的测试用例,从而可以对外提供通用性的服务。图10示意性示出了根据本申请实施例的适于实现测试用例生成方法的计算机设备10的硬件架构示意图。本实施例中,计算机设备10是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)等。如图10所示,计算机设备10至少包括但不限于:可通过***总线相互通信链接存储器120、处理器121、网络接口123。其中:
存储器120至少包括一种类型的计算机可读存储介质,该可读存储介质可以是易失性的,也可以是非易失性的,具体而言,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器120可以是计算机设备10的内部存储模块,例如该计算机设备10的硬盘或内存。在另一些实施例中,存储器120也可以是计算机设备10的外部存储设备,例如该计算机设备10上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器120还可以既包括计算机设备10的内部存储模块也包括其外部存储设备。本实施例中,存储器120通常用于存储安装于计算机设备10的操作***和各类应用软件,例如测试用例生成方法的程序代码等。此外,存储器120还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器121在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其它数据处理芯片。该处理器121通常用于控制计算机设备10的总体操作,例如执行与计算机设备10进行数据交互或者通信相关的控制和处理等。本实施例中,处理器121用于运行存储器120中存储的程序代码或者处理数据。
网络接口123可包括无线网络接口或有线网络接口,该网络接口123通常用于在计算机设备10与其它计算机设备之间建立通信链接。例如,网络接口123用于通过网络将计算机设备10与外部终端相连,在计算机设备10与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯***(GlobalSystem of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code DivisionMultiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图10仅示出了具有部件120~122的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器120中的测试用例生成方法可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器121)所执行,以完成本申请。
本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的测试用例生成方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作***和各类应用软件,例如实施例中的测试用例生成方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要筛选出其中的部分或者全部模块来实现本申请实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (11)
1.一种测试用例生成方法,其特征在于,包括:
获取用户选定的待测试功能;
基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件;
获取用户输入的参数信息,并将所述参数信息设置至所述预设格式的协议描述结构体中,得到目标数据;
将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。
2.根据权利要求1所述的测试用例生成方法,其特征在于,所述方法还包括:
获取与所述待测试功能相对应的通信协议号;
按照所述通信协议号将所述测试用例进行序列化成字节流。
3.根据权利要求2所述的测试用例生成方法,其特征在于,所述获取与所述待测试功能相对应的通信协议号包括:
从所述Protobuf协议文件中获取预先定义的与所述待测试功能相对应的序号作为父协议号;
从所述Protobuf协议文件中包含的与所述待测试功能相对应的子协议文件中获取预先定义的序号作为子协议号;
采用预设的逻辑算法对所述父协议号与所述子协议号进行逻辑运算,并将运算结果作为所述通信协议号。
4.根据权利要求3所述的测试用例生成方法,其特征在于,所述采用预设的逻辑算法对所述父协议号与所述子协议号进行逻辑运算,并将运算结果作为所述通信协议号包括:
对所述父协议号进行预设位数的移位处理,得到移位后的父协议号;
将所述移位后的父协议号与所述子协议号进行逻辑或运算,并将运算结果作为所述通信协议号。
5.根据权利要求1所述的测试用例生成方法,其特征在于,所述基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体包括:
将所述Protobuf协议文件的存放路径纳入到树状资源管理对象中;
通过所述树状资源管理对象创建协议输入对象;
根据所述Protobuf协议文件中包含的所述待测试功能对应的协议文件名在所述协议输入对象中创建对应的文件描述结构体;
根据所述文件描述结构体生成预设格式的协议描述结构体。
6.根据权利要求1至5任一项所述的测试用例生成方法,其特征在于,所述将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例包括:
通过反射机制获取所述目标数据中包含的多个字段数据的字段类型;
根据获取到的每一个字段数据的字段类型确定将每一个字段数据设置到Protobuf对象中的处理规则;
采用确定的处理规则将每一个字段数据设置到对应的Protobuf对象中,得到与所述待测试功能对应的测试用例。
7.根据权利要求6所述的测试用例生成方法,其特征在于,所述字段类型包括基本数据类型与消息体类型,所述采用确定的处理规则将每一个字段数据设置到对应的Protobuf对象中包括:
当字段数据的字段类型为基本数据类型时,通过与所述字段数据对应的反射对象调用相应的接口将所述字段数据设置到对应的Protobuf对象中;
当字段数据的字段类型为消息体类型时,通过递归调用的方式依次将所述字段数据中的所有字段设置到对应的Protobuf对象中。
8.一种协议模拟测试工具,其特征在于,包括:
提供模块,用于提供编辑界面,以供用户基于所述编辑界面选定待测试功能,以及供用户基于所述编辑界面输入参数信息;
生成模块,用于基于用户选定的所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件;
第一设置模块,用于将用户输入的参数信息设置至所述预设格式的协议描述结构体中,得到目标数据;
第二设置模块,用于将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。
9.一种测试用例生成装置,其特征在于,包括:
获取模块,用于获取用户选定的待测试功能;
生成模块,用于基于所述待测试功能加载预设的Protobuf协议文件,并根据所述Protobuf协议文件中定义的与所述待测试功能对应的文件描述结构体生成预设格式的协议描述结构体,其中,所述Protobuf协议文件包括多种待测试功能对应的模板测试用例文件;
第一设置模块,用于获取用户输入的参数信息,并将所述参数信息设置至所述预设格式的协议描述结构体中,得到目标数据;
第二设置模块,用于将所述目标数据通过反射机制设置到Protobuf对象中,得到与所述待测试功能对应的测试用例。
10.一种计算机设备,所述计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述的测试用例生成方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至8任一项所述的测试用例生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110067120.3A CN112765023B (zh) | 2021-01-19 | 2021-01-19 | 测试用例生成方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110067120.3A CN112765023B (zh) | 2021-01-19 | 2021-01-19 | 测试用例生成方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112765023A true CN112765023A (zh) | 2021-05-07 |
CN112765023B CN112765023B (zh) | 2023-10-03 |
Family
ID=75702992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110067120.3A Active CN112765023B (zh) | 2021-01-19 | 2021-01-19 | 测试用例生成方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112765023B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485922A (zh) * | 2021-06-30 | 2021-10-08 | 山东有人物联网股份有限公司 | 测试用例生成方法、测试方法、工具、装置及存储介质 |
CN113709126A (zh) * | 2021-08-18 | 2021-11-26 | 深圳开源互联网安全技术有限公司 | 网络协议安全模糊测试方法、装置、设备以及存储介质 |
CN113746842A (zh) * | 2021-09-03 | 2021-12-03 | 唯品会(广州)软件有限公司 | 基于Protobuf协议动态解析的消息发送方法 |
CN114328278A (zh) * | 2022-03-14 | 2022-04-12 | 南昌航空大学 | 分布式仿真测试方法、***、可读存储介质及计算机设备 |
CN114944997A (zh) * | 2022-03-24 | 2022-08-26 | 浙江大华技术股份有限公司 | 一种协议检测方法、协议检测装置和计算机可读存储介质 |
CN115225552A (zh) * | 2022-07-29 | 2022-10-21 | 重庆长安汽车股份有限公司 | 实时发布订阅协议的测试方法、装置、设备及介质 |
CN115776456A (zh) * | 2022-11-28 | 2023-03-10 | 重庆长安汽车股份有限公司 | 通信协议测试方法、装置、测试设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090106599A1 (en) * | 2004-10-15 | 2009-04-23 | Broadcom Corporation | System and method to locate and correct software errors within a protocol stack for wireless devices |
CN105577463A (zh) * | 2014-10-13 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种基于通信协议的测试方法及其装置 |
CN107480062A (zh) * | 2017-08-09 | 2017-12-15 | 深圳慧昱教育科技有限公司 | 一种配置测试用例的方法和设备 |
CN108614776A (zh) * | 2018-05-04 | 2018-10-02 | 艺龙网信息技术(北京)有限公司 | 跨语言协议测试请求的动态构建方法和*** |
CN110490459A (zh) * | 2019-08-21 | 2019-11-22 | 中国工商银行股份有限公司 | 一种协议管理方法及装置 |
CN110597734A (zh) * | 2019-09-23 | 2019-12-20 | 电子科技大学 | 一种适用于工控私有协议的模糊测试用例生成方法 |
CN111752820A (zh) * | 2019-03-29 | 2020-10-09 | 上海哔哩哔哩科技有限公司 | gRPC接口的压力测试方法、计算机设备和存储介质 |
CN111949249A (zh) * | 2019-05-14 | 2020-11-17 | 百度(美国)有限责任公司 | 用于基于Protobuf的项目的通用验证方法 |
-
2021
- 2021-01-19 CN CN202110067120.3A patent/CN112765023B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090106599A1 (en) * | 2004-10-15 | 2009-04-23 | Broadcom Corporation | System and method to locate and correct software errors within a protocol stack for wireless devices |
CN105577463A (zh) * | 2014-10-13 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种基于通信协议的测试方法及其装置 |
CN107480062A (zh) * | 2017-08-09 | 2017-12-15 | 深圳慧昱教育科技有限公司 | 一种配置测试用例的方法和设备 |
CN108614776A (zh) * | 2018-05-04 | 2018-10-02 | 艺龙网信息技术(北京)有限公司 | 跨语言协议测试请求的动态构建方法和*** |
CN111752820A (zh) * | 2019-03-29 | 2020-10-09 | 上海哔哩哔哩科技有限公司 | gRPC接口的压力测试方法、计算机设备和存储介质 |
CN111949249A (zh) * | 2019-05-14 | 2020-11-17 | 百度(美国)有限责任公司 | 用于基于Protobuf的项目的通用验证方法 |
CN110490459A (zh) * | 2019-08-21 | 2019-11-22 | 中国工商银行股份有限公司 | 一种协议管理方法及装置 |
CN110597734A (zh) * | 2019-09-23 | 2019-12-20 | 电子科技大学 | 一种适用于工控私有协议的模糊测试用例生成方法 |
Non-Patent Citations (4)
Title |
---|
RUI WANG 等: "Automated test case generation for the Paxos single-decree protocol using a Coloured Petri Net model", 《JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING》, vol. 104, pages 254 - 273 * |
李宇宏: "基于QML的协议测试软件研究", 《中国新通信》, vol. 22, no. 10, pages 47 - 48 * |
田丹 等: "一种Protobuf到JSON动态转换方法", 《数据与计算发展前沿》, vol. 2, no. 4, pages 155 - 164 * |
阿童木-威少: "详解通信数据协议ProtoBuf", Retrieved from the Internet <URL:《https://blog.csdn.net/qq_41116600/article/details/89969835》> * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485922A (zh) * | 2021-06-30 | 2021-10-08 | 山东有人物联网股份有限公司 | 测试用例生成方法、测试方法、工具、装置及存储介质 |
CN113709126A (zh) * | 2021-08-18 | 2021-11-26 | 深圳开源互联网安全技术有限公司 | 网络协议安全模糊测试方法、装置、设备以及存储介质 |
CN113746842A (zh) * | 2021-09-03 | 2021-12-03 | 唯品会(广州)软件有限公司 | 基于Protobuf协议动态解析的消息发送方法 |
CN114328278A (zh) * | 2022-03-14 | 2022-04-12 | 南昌航空大学 | 分布式仿真测试方法、***、可读存储介质及计算机设备 |
CN114944997A (zh) * | 2022-03-24 | 2022-08-26 | 浙江大华技术股份有限公司 | 一种协议检测方法、协议检测装置和计算机可读存储介质 |
CN114944997B (zh) * | 2022-03-24 | 2024-02-20 | 浙江大华技术股份有限公司 | 一种协议检测方法、协议检测装置和计算机可读存储介质 |
CN115225552A (zh) * | 2022-07-29 | 2022-10-21 | 重庆长安汽车股份有限公司 | 实时发布订阅协议的测试方法、装置、设备及介质 |
CN115776456A (zh) * | 2022-11-28 | 2023-03-10 | 重庆长安汽车股份有限公司 | 通信协议测试方法、装置、测试设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112765023B (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112765023B (zh) | 测试用例生成方法、装置 | |
CN109976761B (zh) | 软件开发工具包的生成方法、装置及终端设备 | |
US10565095B2 (en) | Hybrid testing automation engine | |
US8510712B1 (en) | Testing in-container software objects | |
US8418134B2 (en) | Method for efficiently managing property types and constraints in a prototype based dynamic programming language | |
CN110647471B (zh) | 接口测试用例生成方法、电子装置及存储介质 | |
EP3030969A1 (en) | Automated application test system | |
US11741002B2 (en) | Test automation systems and methods using logical identifiers | |
CN110196809B (zh) | 接口测试方法及装置 | |
CN111414391A (zh) | 一种访问多数据源的方法及*** | |
CN108776587B (zh) | 数据获取方法、装置、计算机设备以及存储介质 | |
CN113704110A (zh) | 用户界面的自动化测试方法及装置 | |
US10387124B2 (en) | System and method for creating domain specific language | |
CN113703862A (zh) | 基于配置的接口调用方法、装置、设备及存储介质 | |
CN107122203B (zh) | 一种配置文件的设置方法及装置 | |
KR101552914B1 (ko) | 웹 서버 어플리케이션 프레임워크 장치와 프레임워크를 이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN107766228B (zh) | 一种基于多语种的自动化测试方法和装置 | |
CN112699027A (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN117234582A (zh) | 一种项目代码处理方法、装置、电子设备及存储介质 | |
CN108959508B (zh) | Sql数据生成方法及装置 | |
US11182272B2 (en) | Application state monitoring | |
US11144435B1 (en) | Test case generation for software development using machine learning | |
CN114741294A (zh) | 一种页面的调试方法、装置、设备及存储介质 | |
CN113535175A (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 |