CN114077545A - 验证数据的获取方法、装置、设备及可读存储介质 - Google Patents
验证数据的获取方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN114077545A CN114077545A CN202111370228.6A CN202111370228A CN114077545A CN 114077545 A CN114077545 A CN 114077545A CN 202111370228 A CN202111370228 A CN 202111370228A CN 114077545 A CN114077545 A CN 114077545A
- Authority
- CN
- China
- Prior art keywords
- tested
- expression
- script
- variable
- character string
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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/3696—Methods or tools to render software testable
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为本申请实施例提供的一种验证数据的获取方法,如图1所示,本方法包括:
101、获取待测试数据。
本实施例中,待测试数据包括的待测试表达式和数据源信息,待测试表达式包括待测变量和待测固定量。其中,待测固定量包括运算符、常量、和函数,数据源信息包括待测变量的序位和变量类型的对应关系,其中,变量类型指示待测变量的取值范围。
可选地,待测试数据从测试文档中获取,测试文档模板为预设的excel文档,测试文档模板的表头指示对应于同一个测试用例的各个预设的脚本参数字段,脚本参数字段包括但不限于:标识、原始表达式、数据源信息(包括数据源地址和数据源类型)、第一解集、第二解集、以及测试结果。需要说明的是,脚本参数字段通过参数提取获取,具体可以参见现有技术。
如图2所示,在报警功能测试的场景下,测试文档模板的表头包括的脚本参数字段包括:报警名称(AlarmName)、报警ID(AlarmID)、表达式(Expression)、数据源(TagNamei)、数据源类型(TagTypei)、第一解集(TagValue i_generate),以及第二解集(TagValuei_ingenerate)。还包括:测试结果result和失败用例错误原因note。
其中,原始表达式可由运算符、常量、变量和函数构成,其中,运算符至少包括关系运算符,且表达式存在真假解集。例如,图2中所示的表达式1(表头下第一行测试用例中的表达式)中“EXP_INT51”和“EXP_INT52”是变量,“INT”表示变量类型“TAG("var://[变量名]")”是预设的自定义函数,“+”是加法运算符,“>”是大于关系运算符。报警名称、报警ID均为预设的字段值,具体参见现有技术。
其中,i小于或等于n,n为表达式中的变量数量,TagName i表示原始表达式中,第i个变量的数据源,TagType i表示原始表达式中,第i个变量的数据源的类型。第一解集(TagValue i_generate)为当表达式1成立时,表达式1中的第i个变量的取值,第二解集(TagValue i_ingenerate)为当表达式1不成立时,原始表达式中的第i个变量的取值。
需要说明的是,图2仅以变量数量为2的原始表达式为例。本实施例中,当原始表达式的变量数量大于2时,相应地,i大于2,对此不做赘述。
本实施例中,测试文档依据测试文档模板生成,具体生成方法包括:
获取测试用例的标识、原始表达式、以及原始数据源信息,并对应记录至测试文档模板,得到测试文档。
需要说明的是,测试文档包括测试用例的标识、原始表达式、以及原始数据源信息,其中,原始表达式的表达形式为第一语法表达,第一语法表达为被测对象(软件)的预设的表达形式。
可选地,原始表达式通过对预设的测试点正交组合得到。本实施例中,通过覆盖所有测试点的正交组合方法,获取若干原始表达式,采用运算符、函数和不同变量类型变量排列组合的方式进行语法覆盖,提高了原始表达式对测试点的覆盖率,也即提高了功能测试的功能点覆盖率,需要说明的是,具体的正交组合方法参见现有技术。
需要说明的是,解集的数量可以为1个或多个,本实施例仅以解集包括第一解集和第二解集为例,可选地,第一解集为使得原始表达式成立的解集(也即原始表达式的真解集合),第二解集为使得原始表达式不成立的解集(也即原始表达式的假解集合)。
本实施例中,从测试文档中获取待测试数据的方法包括:
将测试文档中的原始表达式作为待测试表达式,将原始表达式对应的原始数据源新作为待测试表达式的数据源信息。
S102、从待测试表达式中,识别待测变量的字符串和待测固定量的字符串。
本实施例中,待测量包括待测变量和待测固定量。待测试表达式以第一语法表达的形式记录于测试文档中,其中第一语法表达为待测软件的预设语法。也即,各个待测变量的字符串均为第一表达形式。
需说明的是,识别并获取待测变量的字符串的方法可以参见现有技术。
S103、依据每一待测变量的字符串,获取每一待测变量的脚本字符串以及脚本字符串的序位。
本实施例中,脚本字符串均为第二语法表达,第二语法表达为编程可读表达形式,也即应用于第一预设脚本的表达形式。待测变量的脚本字符串的序位指示待测变量在待测试表达式的变量序列中的序位,变量序列包括按照前后顺序排列的待测变量。
本实施例中,获取任意一个待测变量的脚本字符串的具体方法包括:
A1、采用正则表达式匹配待测变量,得到与待测变量匹配的脚本字符串。
A2、将与待测变量匹配的脚本字符串进行通用化处理,将通用化处理后的脚本字符串作为待测变量的脚本字符串。
需要说明的是,针对所有待测变量,本方法还包括将待测变量的脚本字符串去重,得到各个待测变量的脚本字符串以及待测变量的脚本字符串的序位。
需要说明的是,本方法采用待测变量去重保留原列表元素顺序。为保证在同一个表达式中出现变量多次引用时,计算获得的验证数据的有效性。且通过通用化将同数学意义的待测变量标准化,使得待测变量不局限于具体的变量名称。
S104、依据每一待测固定量的字符串,获取每一待测固定量的脚本字符串。
本实施例中,获取任意一项待测固定量(记为目标待测固定量)的脚本字符串的具体方法包括:
B1、获取转化字典,转化字典包括待测固定量的字符串与脚本字符串的映射关系。
本实施例中,脚本字符串均以编程可读表达(也即第二语言表达)形式记录,转化字典包括:临时替换字典、通用替换字典、以及特定语言替换脚本字典。
其中,临时替换字典,存放第一类固定量与脚本字符串的映射关系,第一类固定量包括容易混淆的运算符或函数。例如,取非“!”和不等于“!=”就是替换容易混淆的字符串。
通用替换字典,存放第二类固定量与脚本字符串的映射关系,第二类固定量包括通用的运算符和函数。例如,逻辑运算符在编程语言所有函数库中表示形式相同。
特定语言替换脚本字典,存放第三类固定量与脚本字符串的映射关系,第三类固定量包括编程语言函数库的运算符和函数,以及临时匹配的函数或运算符。
B2、若目标待测固定量为函数或运算符,则将转化字典中目标待测固定量对应的脚本字符串,作为待测固定量的脚本字符串。
B3、若目标待测固定量为常量,直接将目标待测固定量的字符串作为目标待测固定量的脚本字符串。
S105、依据待测变量的脚本字符串和待测固定量的脚本字符串,生成待测试表达式的可读表达式。
S106、验证待测试表达式的可读表达式是否满足预设的正确性条件。
本实施例中,正确性条件包括但不限于:不存在人为造成的(运算符或函数)语法用法错误,且不存在不支持的表达式错误,且不存在获取验证数据避开了除零错误,且不存在输入参数类型错误和超量程错误。
需要说明的是,具体的正确性验证的方法参见现有技术,可见本步骤通过对待测试表达式的可读表达式进行正确性验证,确保待测试表达式的可读表达式的可读性,避免因为待测试表达式的可读表达式的构造错误导致的测试失败,进一步提高测试的准确性。
需要说明的是,若可读表达式不满足所述正确性条件,则进行标记和预警。
S107、若可读表达式满足正确性条件,以待测试表达式的可读表达式和数据源信息为脚本参数,调用第一预设脚本,得到待测试表达式的验证数据。
本实施例中,验证数据包括目标结果以及与目标结果对应的解集,第一预设脚本用于以目标结果为条件,获取待测试表达式的各个待测变量的取值,作为目标结果对应的解集。目标结果包括待测试表达式成立和/或待测试表达式不成立。
本实施例中,数据源信息至少包括待测变量的序位与变量类型的对应关系,变量类型用于对待测变量的取值范围进行约束。约束规则根据预设的数据字典确定,具体参见现有技术,本实施例不做赘述。
本实施例中,待测试表达式的验证数据包括:待测试表达式成立对应的第一解集,待测试表达式不成立对应的第二解集。
第一预设脚本用于获取第一解集和第二解集的方法包括:以待测试表达式成立为条件,依据每一待测变量的序位对应的变量类型,获取每一待测变量的取值,得到待测试表达式的真解集,并从真解集中,随机获取第一解集并输出。以待测试表达式不成立为条件,依据每一待测变量的序位对应的变量类型,获取每一待测变量的取值,得到待测试表达式的假解集,并从假解集中,随机获取第二解集并输出。
需要说明的是,待测试表达式的可读表达式,仅为待测试表达式的一种语法形式,因此,待测试表达式成立相当于可读表达式成立,待测试表达式不成立相当于可读表达式不成立。
需要说明的是,对于任意一项待测试表达式,若非第一次获取待测试表达式的验证数据,则从第一次获取的待测试表达式的真解集中再次随机获取一组待测变量的取值,作为待测试表达式的第一解集,从第一次获取的待测试表达式的假解集中再次随机获取一组待测变量的取值,作为待测试表达式的第二解集即可。可见,本方法采用变量随机取值策略来获取验证数据中的第一解集和/或第二解集,一方面降低每一次计算真解集或假解集的计算资源耗费,另一方面,降低因测试设计而遗漏缺陷的风险,提高测试数据的覆盖性和随机性。
由上述技术方案可以看出,本申请实施例提供的一种验证数据的获取方法,获取待测试表达式和数据源信息,获取待测试表达式的可读表达式,以可读表达式和数据源信息为脚本参数,调用第一预设脚本,得到待测试表达式的验证数据,其中,验证数据包括目标结果以及与目标结果对应的解集,目标结果包括可读表达式成立和/或不成立。由于,待测试表达式待测变量和待测固定量,数据源信息包括待测变量和变量类型的对应关系,且变量类型指示取值范围,第一预设脚本用于获取以目标结果为条件各个待测变量的取值,作为目标结果对应的解集,因此,本方法能够通过将待测试表达式转换成可读表达式,并利用第一预设脚本自动获取待测试表达式的验证数据。
进一步,采用分类字典的方式预先存储待测固定量(运算符和函数)和脚本字符串(第二表达形式)的映射关系,提高了获取待测固定量的脚本字符串的效率。采用字典的方式存储变量类型的数据取值范围,对待测变量的取值进行约束,保证待测变量取值的正确性。
需要说明的是,图1仅为本申请实施例提供的一种验证数据的获取方法的具体实现方式,本申请还包括其他的具体实现方式,例如,S102仅为一种可选的获取待测变量的脚本字符串的方法,S103仅为一种可选的待固定变量的脚本字符串的方法。
综上,将本申请实施例提供的一种验证数据的获取方法总结概率为图2所示的流程。如图3所示,本方法包括:
S301、获取待测试数据。
本实施例中,待测试数据包括待测试表达式和数据源信息,待测试表达式由多个预设的测试点组合而成,待测试表达式包括待测变量和待测固定量。数据源信息包括待测变量和变量类型的对应关系,待测变量的变量类型指示待测变量的取值范围。
本实施例中获取待测试数据的方法包括多种,例如,从历史测试数据中获取待测试表达式和数据源信息,再例如,可选的一种获取待测试数据的具体方法可以参见上述实施例。
S302、将待测试表达式转换成可读表达式。
本申请将待测试表达式转换成可读表达式的方法包括多种,可选的一种获取可读表达式的具体方法可以参见上述实施例。
S303、以可读表达式和数据源信息为脚本参数,调用第一预设脚本,得到待测试表达式的验证数据。
本实施例中,验证数据包括目标结果以及与目标结果对应的解集,第一预设脚本用于获取以目标结果为条件,各个待测变量的取值,作为目标结果对应的解集,目标结果包括可读表达式成立和/或不成立。
由上述技术方案可以看出,本申请实施例提供的一种验证数据的获取方法,获取和数据源信息,获取待测试表达式的可读表达式,以可读表达式和数据源信息为脚本参数,调用第一预设脚本,得到待测试表达式的验证数据,其中,验证数据包括目标结果以及与目标结果对应的解集,目标结果包括可读表达式成立和/或不成立。由于,待测试表达式待测变量和待测固定量,数据源信息包括待测变量和变量类型的对应关系,且变量类型指示取值范围,第一预设脚本用于获取以目标结果为条件各个待测变量的取值,作为目标结果对应的解集,因此,本方法能够通过将待测试表达式转换成可读表达式,并利用第一预设脚本自动获取待测试表达式的验证数据。
图4示出了本申请实施例提供的一种验证数据的获取装置的结构示意图,如图4所示,该装置可以包括:
测试数据获取单元401,用于获取待测试数据,所述待测试数据包括待测试表达式和数据源信息,所述待测试表达式包括待测变量和待测固定量;所述数据源信息包括待测变量和变量类型的对应关系,所述待测变量的变量类型指示所述待测变量的取值范围;
可读表达式获取单元402,用于将所述待测试表达式转换成可读表达式;
验证数据获取单元403,用于以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据;所述验证数据包括目标结果以及与所述目标结果对应的解集,所述第一预设脚本用于获取以所述目标结果为条件,各个所述待测变量的取值,作为所述目标结果对应的解集,所述目标结果包括所述可读表达式成立和/或不成立。
可选地,可读表达式获取单元用于将所述待测试表达式转换成可读表达式,包括:所述可读表达式获取单元具体用于:
从所述待测试表达式中,识别各个所述待测变量的字符串和各个所述待测固定量的字符串;
依据每一所述待测变量的字符串,获取每一所述待测变量的脚本字符串以及脚本字符串的序位;所述待测变量的脚本字符串为应用于所述第一预设脚本的表达形式;
依据每一待测固定量的字符串,获取每一待测固定量的脚本字符串;所述待测固定量的脚本字符串为应用于所述第一预设脚本的表达形式;
依据各个所述待测变量的脚本字符串和各个所述待测固定量的脚本字符串,生成所述待测试表达式的可读表达式。
可选地,可读表达式获取单元用于依据目标待测变量的字符串,获取目标待测变量的脚本字符串以及脚本字符串的序位,所述目标待测变量为任意一项待测变量,包括:可读表达式获取单元具体用于:
采用正则表达式匹配所述目标待测变量,得到与所述目标待测变量匹配的脚本字符串;
将所述与所述目标待测变量匹配的脚本字符串进行通用化处理,将通用化处理结果作为所述目标待测变量的脚本字符串;
获取所述目标待测变量在变量序列中的序位,作为所述目标待测变量的脚本字符串的序位,所述变量序列包括按照前后顺序排列的所述待测试表达式中的待测变量。
可选地,可读表达式获取单元用于依据目标待测固定量的字符串,获取所述目标待测固定量的脚本字符串,所述目标待测固定量为任意一项待测固定量,包括:可读表达式获取单元具体用于:
若所述目标待测固定量为函数或运算符,则将预设的转化字典中所述目标待测固定量对应的脚本字符串,作为所述目标待测固定量的脚本字符串;所述转化字典包括每一待测固定量的字符串与脚本字符串的映射关系;
若所述目标待测固定量为常量,将所述目标待测固定量的字符串作为所述目标待测固定量的脚本字符串。
可选地,测试数据获取单元用于获取待测试数据包括:测试数据获取单元具体用于:
依据预设的测试文档模板,获取测试文档,所述测试文档包括预设的第一类脚本参数字段,所述第一类脚本参数字段包括原始表达式、以及原始数据源信息;其中,所述原始表达式通过对预设的测试点正交组合得到;
将所述原始表达式作为所述待测试表达式,将所述原始表达式对应的原始数据源信息作为所述数据源信息。
可选地,还包括核验单元,用于在所述以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据之前,验证所述可读表达式是否满足预设的正确性条件。
所述验证数据获取单元,用于以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据,包括:所述验证数据获取单元具体用于:若所述可读表达式满足所述正确性条件,以所述可读表达式和所述数据源信息为脚本参数,调用所述第一预设脚本,得到所述待测试表达式的验证数据。
图5示出了该验证数据的获取设备的结构示意图,该设备可以包括:至少一个处理器501,至少一个通信接口502,至少一个存储器503和至少一个通信总线504;
在本申请实施例中,处理器501、通信接口502、存储器503、通信总线504的数量为至少一个,且处理器501、通信接口502、存储器503通过通信总线504完成相互间的通信;
处理器501可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器503可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可执行存储器存储的程序,实现本申请实施例提供的一种验证数据的获取方法的各个步骤,如下:
一种验证数据的获取方法,包括:
获取待测试数据,所述待测试数据包括待测试表达式和数据源信息,所述待测试表达式包括待测变量和待测固定量;所述数据源信息包括待测变量和变量类型的对应关系,所述待测变量的变量类型指示所述待测变量的取值范围;
将所述待测试表达式转换成可读表达式;
以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据;所述验证数据包括目标结果以及与所述目标结果对应的解集,所述第一预设脚本用于获取以所述目标结果为条件,各个所述待测变量的取值,作为所述目标结果对应的解集,所述目标结果包括所述可读表达式成立和/或不成立。
可选地,将所述待测试表达式转换成可读表达式,包括:
从所述待测试表达式中,识别各个所述待测变量的字符串和各个所述待测固定量的字符串;
依据每一所述待测变量的字符串,获取每一所述待测变量的脚本字符串以及脚本字符串的序位;所述待测变量的脚本字符串为应用于所述第一预设脚本的表达形式;
依据每一待测固定量的字符串,获取每一待测固定量的脚本字符串;所述待测固定量的脚本字符串为应用于所述第一预设脚本的表达形式;
依据各个所述待测变量的脚本字符串和各个所述待测固定量的脚本字符串,生成所述待测试表达式的可读表达式。
可选地,依据目标待测变量的字符串,获取目标待测变量的脚本字符串以及脚本字符串的序位,所述目标待测变量为任意一项待测变量,包括:
采用正则表达式匹配所述目标待测变量,得到与所述目标待测变量匹配的脚本字符串;
将所述与所述目标待测变量匹配的脚本字符串进行通用化处理,将通用化处理结果作为所述目标待测变量的脚本字符串;
获取所述目标待测变量在变量序列中的序位,作为所述目标待测变量的脚本字符串的序位,所述变量序列包括按照前后顺序排列的所述待测试表达式中的待测变量。
可选地,依据目标待测固定量的字符串,获取所述目标待测固定量的脚本字符串,所述目标待测固定量为任意一项待测固定量,包括:
若所述目标待测固定量为函数或运算符,则将预设的转化字典中所述目标待测固定量对应的脚本字符串,作为所述目标待测固定量的脚本字符串;所述转化字典包括每一待测固定量的字符串与脚本字符串的映射关系;
若所述目标待测固定量为常量,将所述目标待测固定量的字符串作为所述目标待测固定量的脚本字符串。
可选地,获取待测试数据包括:
依据预设的测试文档模板,获取测试文档,所述测试文档包括预设的第一类脚本参数字段,所述第一类脚本参数字段包括原始表达式、以及原始数据源信息;其中,所述原始表达式通过对预设的测试点正交组合得到;
将所述原始表达式作为所述待测试表达式,将所述原始表达式对应的原始数据源信息作为所述数据源信息。
可选地,在所述以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据之前,还包括:
验证所述可读表达式是否满足预设的正确性条件。
所述以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据,包括:
若所述可读表达式满足所述正确性条件,以所述可读表达式和所述数据源信息为脚本参数,调用所述第一预设脚本,得到所述待测试表达式的验证数据。
本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的计算机程序,计算机程序被处理器执行时,实现本申请实施例提供的一种验证数据的获取方法的各个步骤,如下:
一种验证数据的获取方法,包括:
获取待测试数据,所述待测试数据包括待测试表达式和数据源信息,所述待测试表达式包括待测变量和待测固定量;所述数据源信息包括待测变量和变量类型的对应关系,所述待测变量的变量类型指示所述待测变量的取值范围;
将所述待测试表达式转换成可读表达式;
以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据;所述验证数据包括目标结果以及与所述目标结果对应的解集,所述第一预设脚本用于获取以所述目标结果为条件,各个所述待测变量的取值,作为所述目标结果对应的解集,所述目标结果包括所述可读表达式成立和/或不成立。
可选地,将所述待测试表达式转换成可读表达式,包括:
从所述待测试表达式中,识别各个所述待测变量的字符串和各个所述待测固定量的字符串;
依据每一所述待测变量的字符串,获取每一所述待测变量的脚本字符串以及脚本字符串的序位;所述待测变量的脚本字符串为应用于所述第一预设脚本的表达形式;
依据每一待测固定量的字符串,获取每一待测固定量的脚本字符串;所述待测固定量的脚本字符串为应用于所述第一预设脚本的表达形式;
依据各个所述待测变量的脚本字符串和各个所述待测固定量的脚本字符串,生成所述待测试表达式的可读表达式。
可选地,依据目标待测变量的字符串,获取目标待测变量的脚本字符串以及脚本字符串的序位,所述目标待测变量为任意一项待测变量,包括:
采用正则表达式匹配所述目标待测变量,得到与所述目标待测变量匹配的脚本字符串;
将所述与所述目标待测变量匹配的脚本字符串进行通用化处理,将通用化处理结果作为所述目标待测变量的脚本字符串;
获取所述目标待测变量在变量序列中的序位,作为所述目标待测变量的脚本字符串的序位,所述变量序列包括按照前后顺序排列的所述待测试表达式中的待测变量。
可选地,依据目标待测固定量的字符串,获取所述目标待测固定量的脚本字符串,所述目标待测固定量为任意一项待测固定量,包括:
若所述目标待测固定量为函数或运算符,则将预设的转化字典中所述目标待测固定量对应的脚本字符串,作为所述目标待测固定量的脚本字符串;所述转化字典包括每一待测固定量的字符串与脚本字符串的映射关系;
若所述目标待测固定量为常量,将所述目标待测固定量的字符串作为所述目标待测固定量的脚本字符串。
可选地,获取待测试数据包括:
依据预设的测试文档模板,获取测试文档,所述测试文档包括预设的第一类脚本参数字段,所述第一类脚本参数字段包括原始表达式、以及原始数据源信息;其中,所述原始表达式通过对预设的测试点正交组合得到;
将所述原始表达式作为所述待测试表达式,将所述原始表达式对应的原始数据源信息作为所述数据源信息。
可选地,在所述以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据之前,还包括:
验证所述可读表达式是否满足预设的正确性条件。
所述以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据,包括:
若所述可读表达式满足所述正确性条件,以所述可读表达式和所述数据源信息为脚本参数,调用所述第一预设脚本,得到所述待测试表达式的验证数据。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种验证数据的获取方法,其特征在于,包括:
获取待测试数据,所述待测试数据包括待测试表达式和数据源信息,所述待测试表达式包括待测变量和待测固定量;所述数据源信息包括待测变量和变量类型的对应关系,所述待测变量的变量类型指示所述待测变量的取值范围;
将所述待测试表达式转换成可读表达式;
以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据;所述验证数据包括目标结果以及与所述目标结果对应的解集,所述第一预设脚本用于获取以所述目标结果为条件,各个所述待测变量的取值,作为所述目标结果对应的解集,所述目标结果包括所述可读表达式成立和/或不成立。
2.根据权利要求1所述的方法,其特征在于,所述将所述待测试表达式转换成可读表达式,包括:
从所述待测试表达式中,识别各个所述待测变量的字符串和各个所述待测固定量的字符串;
依据每一所述待测变量的字符串,获取每一所述待测变量的脚本字符串以及脚本字符串的序位;所述待测变量的脚本字符串为应用于所述第一预设脚本的表达形式;
依据每一待测固定量的字符串,获取每一待测固定量的脚本字符串;所述待测固定量的脚本字符串为应用于所述第一预设脚本的表达形式;
依据各个所述待测变量的脚本字符串和各个所述待测固定量的脚本字符串,生成所述待测试表达式的可读表达式。
3.根据权利要求2所述的方法,其特征在于,依据目标待测变量的字符串,获取目标待测变量的脚本字符串以及脚本字符串的序位,所述目标待测变量为任意一项待测变量,包括:
采用正则表达式匹配所述目标待测变量,得到与所述目标待测变量匹配的脚本字符串;
将所述与所述目标待测变量匹配的脚本字符串进行通用化处理,将通用化处理结果作为所述目标待测变量的脚本字符串;
获取所述目标待测变量在变量序列中的序位,作为所述目标待测变量的脚本字符串的序位,所述变量序列包括按照前后顺序排列的所述待测试表达式中的待测变量。
4.根据权利要求2所述的方法,其特征在于,依据目标待测固定量的字符串,获取所述目标待测固定量的脚本字符串,所述目标待测固定量为任意一项待测固定量,包括:
若所述目标待测固定量为函数或运算符,则将预设的转化字典中所述目标待测固定量对应的脚本字符串,作为所述目标待测固定量的脚本字符串;所述转化字典包括每一待测固定量的字符串与脚本字符串的映射关系;
若所述目标待测固定量为常量,将所述目标待测固定量的字符串作为所述目标待测固定量的脚本字符串。
5.根据权利要求1所述的方法,其特征在于,所述获取待测试数据包括:
依据预设的测试文档模板,获取测试文档,所述测试文档包括预设的第一类脚本参数字段,所述第一类脚本参数字段包括原始表达式、以及原始数据源信息;其中,所述原始表达式通过对预设的测试点正交组合得到;
将所述原始表达式作为所述待测试表达式,将所述原始表达式对应的原始数据源信息作为所述数据源信息。
6.根据权利要求1所述的方法,其特征在于,在所述以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据之前,还包括:
验证所述可读表达式是否满足预设的正确性条件;
所述以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据,包括:若所述可读表达式满足所述正确性条件,以所述可读表达式和所述数据源信息为脚本参数,调用所述第一预设脚本,得到所述待测试表达式的验证数据。
7.一种验证数据的获取装置,其特征在于,包括:
测试数据获取单元,用于获取待测试数据,所述待测试数据包括待测试表达式和数据源信息,所述待测试表达式包括待测变量和待测固定量;所述数据源信息包括待测变量和变量类型的对应关系,所述待测变量的变量类型指示所述待测变量的取值范围;
可读表达式获取单元,用于将所述待测试表达式转换成可读表达式;
验证数据获取单元,用于以所述可读表达式和所述数据源信息为脚本参数,调用第一预设脚本,得到所述待测试表达式的验证数据;所述验证数据包括目标结果以及与所述目标结果对应的解集,所述第一预设脚本用于获取以所述目标结果为条件,各个所述待测变量的取值,作为所述目标结果对应的解集,所述目标结果包括所述可读表达式成立和/或不成立。
8.根据权利要求7所述的装置,所述可读表达式获取单元用于将所述待测试表达式转换成可读表达式,包括:所述可读表达式获取单元具体用于:
从所述待测试表达式中,识别各个所述待测变量的字符串和各个所述待测固定量的字符串;
依据每一所述待测变量的字符串,获取每一所述待测变量的脚本字符串以及脚本字符串的序位;所述待测变量的脚本字符串为应用于所述第一预设脚本的表达形式;
依据每一待测固定量的字符串,获取每一待测固定量的脚本字符串;所述待测固定量的脚本字符串为应用于所述第一预设脚本的表达形式;
依据各个所述待测变量的脚本字符串和各个所述待测固定量的脚本字符串,生成所述待测试表达式的可读表达式。
9.一种验证数据的获取设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1~6中任一项所述的验证数据的获取方法的各个步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1~6中任一项所述的验证数据的获取方法的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111370228.6A CN114077545A (zh) | 2021-11-18 | 2021-11-18 | 验证数据的获取方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111370228.6A CN114077545A (zh) | 2021-11-18 | 2021-11-18 | 验证数据的获取方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114077545A true CN114077545A (zh) | 2022-02-22 |
Family
ID=80283934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111370228.6A Pending CN114077545A (zh) | 2021-11-18 | 2021-11-18 | 验证数据的获取方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114077545A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056203A (zh) * | 2023-07-11 | 2023-11-14 | 南华大学 | 一种基于复杂性的数值表达式型蜕变关系选择方法 |
-
2021
- 2021-11-18 CN CN202111370228.6A patent/CN114077545A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056203A (zh) * | 2023-07-11 | 2023-11-14 | 南华大学 | 一种基于复杂性的数值表达式型蜕变关系选择方法 |
CN117056203B (zh) * | 2023-07-11 | 2024-04-09 | 南华大学 | 一种基于复杂性的数值表达式型蜕变关系选择方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8397104B2 (en) | Creation of test plans | |
US8209658B2 (en) | Method of creating signatures for classifying program failures | |
CN110866258B (zh) | 快速定位漏洞方法、电子装置及存储介质 | |
CN110263853B (zh) | 利用错误样本检查人工客户端状态的方法及装置 | |
CN110083514B (zh) | 软件测试缺陷评估方法、装置、计算机设备及存储介质 | |
CN108009080B (zh) | 一种代码扫描工具的评估方法及装置 | |
CN113282513B (zh) | 接口测试案例的生成方法、装置、计算机设备及存储介质 | |
CN111427928A (zh) | 一种数据质量检测方法及装置 | |
CN112346993B (zh) | 一种情报分析引擎的测试方法、装置及设备 | |
CN110543420A (zh) | 一种软件测试方法、系统、终端及存储介质 | |
CN114077545A (zh) | 验证数据的获取方法、装置、设备及可读存储介质 | |
CN114064489A (zh) | 一种自动化测试方法、装置、设备及可读存储介质 | |
CN111124937B (zh) | 基于插桩函数辅助提高生成测试用例效率的方法及系统 | |
CN110968518A (zh) | 自动化测试日志文件的分析方法及装置 | |
CN113282496B (zh) | 接口自动测试方法、装置、设备及存储介质 | |
CN111061644B (zh) | 一种检测并定位异常抛出处理缺陷的方法和装置 | |
CN114416596A (zh) | 一种测试应用的方法、装置、计算机设备及存储介质 | |
CN112580334A (zh) | 一种文案处理方法、装置、服务器及存储介质 | |
CN113868137A (zh) | 埋点数据的处理方法、装置、系统和服务器 | |
CN113094277A (zh) | 芯片测试用例管理方法及装置 | |
CN113282504A (zh) | 一种增量代码覆盖率检测方法及业务开发方法、装置 | |
CN112612882B (zh) | 检阅报告生成方法、装置、设备和存储介质 | |
CN111026614B (zh) | 程序运行状态监控方法、装置、电子设备及可读存储介质 | |
CN114448848B (zh) | 一种交换机的测试方法、装置、电子设备及存储介质 | |
CN110750409A (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 |