CN109614336A - 一种测试脚本的生成方法及设备 - Google Patents
一种测试脚本的生成方法及设备 Download PDFInfo
- Publication number
- CN109614336A CN109614336A CN201811529425.6A CN201811529425A CN109614336A CN 109614336 A CN109614336 A CN 109614336A CN 201811529425 A CN201811529425 A CN 201811529425A CN 109614336 A CN109614336 A CN 109614336A
- Authority
- CN
- China
- Prior art keywords
- parameter
- target object
- user
- interface
- test script
- 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
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)
Abstract
本发明适用于测试技术领域,提供了一种测试脚本的生成方法及设备,包括:获取目标对象的对象属性信息;基于目标对象的对象类型,从脚本数据库内提取与对象类型匹配的测试脚本模板;分别为各个接口生成与输入参数类型匹配的多个随机训练参量,并将随机训练参量导入到可变参量字段;根据用户信息,确定固定参量字段内各个参数项对应的参数值;基于固定参量字段以及导入后的可变参量字段,生成目标对象的测试脚本。本发明无需用户手动配置,并且生成的测试脚本中的可变参量,与各个接口的输入参数类型相匹配,提高了测试脚本的准确性。
Description
技术领域
本发明属于测试技术领域,尤其涉及一种测试脚本的生成方法及设备。
背景技术
随着电子化进程的不断推进,为了便于对数据进行统计以及整理,电子表格、统计函数等数据处理对象也随之出现,而为了校验数据处理对象的正确性以及完备性,需要对该数据处理对象进行测试,因此如何有效地生成测试脚本对数据处理对象进行测试显得尤为重要。现有的测试脚本的生成方法,一般是通过用户手动填写,从而降低了测试脚本的生成效率,并降低了数据处理对象的测试效率。
发明内容
有鉴于此,本发明实施例提供了一种测试脚本的生成方法及设备,以解决现有的测试脚本的生成技术,通过用户手动填写,从而降低了测试脚本的生成效率,并降低了数据处理对象的测试效率的问题。
本发明实施例的第一方面提供了一种测试脚本的生成方法,包括:
获取目标对象的对象属性信息;所述对象属性信息包括所述目标对象内各个接口的输入参数类型以及所述目标对象所属用户的用户信息;
基于所述目标对象的对象类型,从脚本数据库内提取与所述对象类型匹配的测试脚本模板;所述测试脚本模板包括固定参量字段以及可变参量字段;
分别为各个所述接口生成与所述输入参数类型匹配的多个随机训练参量,并将所述随机训练参量导入到所述可变参量字段;
根据所述用户信息,确定所述固定参量字段内各个参数项对应的参数值;
基于所述固定参量字段以及导入后的所述可变参量字段,生成所述目标对象的测试脚本。
本发明实施例的第二方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面的各个步骤。
本发明实施例的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方面的各个步骤。
实施本发明实施例提供的一种测试脚本的生成方法及设备具有以下有益效果:
本发明实施例通过采集目标对象的对象属性信息,根据该目标对象的各个接口的输入参数类型,生成多个关于该输入参数类型的随机训练参量,并根据目标对象所属的用户信息,得到对应的测试脚本所需的固定参量,通过随机训练参量构成的可变参量字段以及固定参量字段,生成目标对象的测试脚本,实现自动生成测试脚本的目的。与现有的测试脚本的生成方法相比,无需用户手动配置,并且生成的测试脚本中的可变参量,与各个接口的输入参数类型相匹配,提高了测试脚本的准确性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的一种测试脚本的生成方法的实现流程图;
图2是本发明第二实施例提供的一种测试脚本的生成方法S103具体实现流程图;
图3是本发明第三实施例提供的一种测试脚本的生成方法具体实现流程图;
图4是本发明第四实施例提供的一种测试脚本的生成方法S104的具体实现流程图;
图5是本发明第五实施例提供的一种测试脚本的生成方法具体实现流程图;
图6是本发明一实施例提供的一种终端设备的结构框图;
图7是本发明另一实施例提供的一种终端设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过采集目标对象的对象属性信息,根据该目标对象的各个接口的输入参数类型,生成多个关于该输入参数类型的随机训练参量,并根据目标对象所属的用户信息,得到对应的测试脚本所需的固定参量,通过随机训练参量构成的可变参量字段以及固定参量字段,生成目标对象的测试脚本,实现自动生成测试脚本的目的,解决了现有的测试脚本的生成技术,通过用户手动填写,从而降低了测试脚本的生成效率,并降低了数据处理对象的测试效率的问题。
在本发明实施例中,流程的执行主体为终端设备。该终端设备包括但不限于:服务器、计算机、智能手机以及平板电脑等能够执行测试脚本的生成操作的设备。图1示出了本发明第一实施例提供的测试脚本的生成方法的实现流程图,详述如下:
在S101中,获取目标对象的对象属性信息;所述对象属性信息包括所述目标对象内各个接口的输入参数类型以及所述目标对象所属用户的用户信息。
在本实施例中,为了生成对目标对象进行测试时,所需要使用的测试脚本,终端设备可以通过对目标对象进行解析,从而得到目标对象的对象属性信息。终端设备可以识别该目标对象包含所有接口,接口包括输入接口以及输出接口,并获取各个接口的输入参数类型,对于输出接口而言,则可以获取该接口的输出参数类型。终端设备建立各个接口标识与输入参数类型之间的对应关系表,从而便于通过对应关系表了解各个接口的接口输入特性,并基于各个接口的接口输入特征配置与之对应的测试训练数据。
在本实施例中,目标对象可以是一个虚拟实体,例如应用程序、神经网络模型、软件算法以及电子表格等。在该情况下,终端设备可以通过对该虚拟实体的源文件进行解析,通过接口识别算法确定该源文件中包含的接口以及各个接口的输入参数类型;对于虚拟实体而言,所属用户可以为该虚拟实体的创建用户,在用户编写该虚拟实体的源代码时,需要登录自身的身份信息,此时会把当前编写的用户信息添加到源代码内,终端设备可以通过解析该源代码确定该虚拟对象的所属用户的用户信息。当然,目标对象还可以为一实体设备,在该情况下,终端设备可以通过串行接口或通信接口与目标对象建立通信连接,并通过该通信链路向目标对象发送接口查询请求,目标对象根据接口查询请求获取本地的所有接口的输入类型信息以及该设备所属用户的用户信息生成对象属性信息,通过通信链路返回给终端设备;对于实体设备而言,所述用户可以为该实体设备的使用用户,实体设备在启动之前,需要使用用户输入用户信息,并对该用户信息进行认证,判定是否为合法用户,若是,则响应用户的操作请求。因此,实体设备已经存储有使用用户的用户信息,可以将用户信息封装于对象属性信息内,并返回给终端设备。
可选地,在本实施例中,终端设备生成不同类型的目标对象的测试脚本。因此,在执行S101之前,用户可以向终端设备发送一个测试脚本生成请求,该测试脚本生成请求内携带有目标对象的对象类型。终端设备根据该对象类型确定是否为可测试类型;若该对象类型在可测试类型内,则执行S101的相关操作,基于测试脚本生成请求中的对象标识,获取该对象标识对应的对象属性信息;若该对象类型在可测试类型外,则生成一个测试不兼容信息,已通知用户选取其他目标对象进行测试脚本的生成操作。优选地,终端设备可以向上位机转发该测试脚本生成请求,通过上位机服务器确定与该对象类型相匹配的其他终端设备,并交由其他终端设备生成该目标对象的测试脚本。
在S102中,基于所述目标对象的对象类型,从脚本数据库内提取与所述对象类型匹配的测试脚本模板;所述测试脚本模板包括固定参量字段以及可变参量字段。
在本实施例中,终端设备在接收到目标对象反馈的对象属性信息后,可以根据对象属性信息确定该目标对象的对象类型。由于不同的对象类型所需进行测试的测试脚本会存在差异,为了提高测试脚本与目标对象的匹配度,终端设备会为不同的对象类型配置与之对应的测试脚本模板,并建立测试脚本模板与对象类型的对应关系,将对应关系以及测试脚本模板存储于脚本数据库内。终端设备在接收到测试脚本生成请求后,可以通过目标对象的对象类型,从脚本数据库的对应关系中确定该目标对象关联的测试脚本模板的模板编号,并通过该模板编号提取对应的测试脚本模板。
在本实施例中,测试脚本模板中包含有固定参量字段以及可变参量字段,通过可变参量字段以及固定参量字段的遍历组合,可以为目标对象配置多个测试实例,并将配置完毕的固定参量字段以及可变参量字段封装于测试脚本模板内,从而一个测试脚本可以对应多个测试实例,提高了测试效率。
在S103中,分别为各个所述接口生成与所述输入参数类型匹配的多个随机训练参量,并将所述随机训练参量导入到所述可变参量字段。
在本实施例中,终端设备会统计目标对象中包含的接口个数,并基于该接口个数在可变参量字段中配置于接口个数相匹配的可变参量,即每个接口对应一个可变参量。该可变参量的参数值是可以调整的,因此终端设备需要为每个接口的可变参量生成讴歌随机训练参量,从而能够通过多个随机训练参量对目标对象的该接口进行测试,检测该接口的完备性。基于此,终端设备会根据接口的输入参数类型,确定该接口所需输入的训练参量类型。例如,对于视频信号接口,该视频信号接口的输入参量类型为视频信息,终端设备则会在训练视频库中提取随机提取多个训练视频文件,作为该视频信号接口的随机训练参量,并将训练视频文件导入到可变参量字段中该接口对应的可变参量内。又例如目标对象为一电子表格,该电子表格在生成统计结果之前包含了多个所需输入的参数,例如需要输入统计目标的交易金额、交易日期以及交易对象,终端设备会识别各个所需输入的参数为一个输入接口,即输入接口包括:交易金额接口、交易日期接口以及交易对象接口,终端设备会通过随机参量生成算法,为各个接口配置随机训练参量,例如对于交易金额接口可以配置如下多个随机训练参量:10万、2.3万、100万、0。对于其他接口也可以通过上述方式生成多个随机训练参量。
在本实施例中,终端设备确定了各个接口对应的多个随机训练参量后,可以将各个随机训练参量导入到该接口对应的可变参量内,每个可变参量包含至少一个随机训练参量,且每个可变参量中包含的随机训练参量的数目可以相同也可以不同。
在S104中,根据所述用户信息,确定所述固定参量字段内各个参数项对应的参数值。
在本实施例中,由于执行测试脚本的过程中,部分参数对于多个测试实例而言可以是固定不变的,因此测试脚本中会配置有固定参量字段。终端设备可以根据该用户的用户信息,对固定参量字段中各个参数项的参数值进行赋值,通过是被固定参量字段内的参数值,则可以确定执行该测试操作对应的测试用户,从而方便对测试脚本以及测试结果进行管理。
在本实施例中,通过配置可变参量字段以及固定参量字段,能够有效地减少测试脚本中的冗余数据。为了在测试脚本中封装多个测试实例,现有技术中一般是根据各个训练对象的测试参数封装为独立的一个测试实例。然而不同的测试实例中,部分参量的数值有可能是固定,而分别封装为不同的测试实例,则固定参量会同时出现在多个测试实例中,从而造成了数据冗余。本实施例通过设置固定参量字段,可以将多个训练对象中固定不变的参量添加到固定参量字段中,在生成测试实例时,通过可变参量字段以及固定参量字段进行遍历组合,则可以还原为多个测试实例,从而避免上述情况的发生。
可选地,在S103以及S104之前,终端设备可以接受用户的发送的模板调整请求。用户可以根据实际的测试需要,将可变参量字段中部分可变参量设置为固定参量,同样地,还可以将固定参量字段中部分固定字段设置为可变参量,终端设备根据用户的设置指令,调整测试脚本模板。终端设备根据接收到的设置指令,将目标可变参量从可变参量字段中删除,并将该可变参量添加到固定参量字段,并调整该可变参量的类型为固定参量类型。对应地,调整固定参量字段的方式与可变参量字段的调整方式一致,在此不再赘述。
在S105中,基于所述固定参量字段以及导入后的所述可变参量字段,生成所述目标对象的测试脚本。
在本实施例中,终端设备将配置后的固定字段以及导入了随机训练参量后的可变参量字段,生成目标对象的测试脚本。终端设备可以通过该测试脚本来对目标对象执行对应的测试流程,判断测试对象的完备性,以及内在逻辑处理的正确性。
以上可以看出,本发明实施例提供的一种测试脚本的生成方法通过采集目标对象的对象属性信息,根据该目标对象的各个接口的输入参数类型,生成多个关于该输入参数类型的随机训练参量,并根据目标对象所属的用户信息,得到对应的测试脚本所需的固定参量,通过随机训练参量构成的可变参量字段以及固定参量字段,生成目标对象的测试脚本,实现自动生成测试脚本的目的。与现有的测试脚本的生成方法相比,无需用户手动配置,并且生成的测试脚本中的可变参量,与各个接口的输入参数类型相匹配,提高了测试脚本的准确性。
图2示出了本发明第二实施例提供的一种测试脚本的生成方法S103的具体实现流程图。参见图2,相对于图1所述实施例,本实施例提供的一种测试脚本的生成方法所述分别为各个所述接口生成与所述输入参数类型匹配的多个随机训练参量,包括:S1031~S1033,具体详述如下:
在S1031中,获取所述接口的额定运行参数,以及基于所述接口类型确定所述接口的最大负载比例。
在本实施例中,终端设备为了提高随机训练参数内各个参数值的代表性,能够充分对目标对象的接口的运行性能进行测试,终端设备会分别获取目标对象中各个接口的额定运行参数。额定运行参数具体指的是,目标对象的接口在额定工作环境下的运行情况。例如,对于通信类型的接口,则额定运行参数可以为在额定带宽的网络环境下接口的写入速度;对于音频类型的接口,则额定运行参数可以为在额定音频采集速率下接口对于音频处理的速率。因此,不同的接口类型,对应的额定运行参数的参数类型也会相应调整。
在本实施例中,接口在实际运行的过程中会存在过载状态,即实际数据处理量会超过额定的数据处理量,而该过载状态具有一个上限值,即最大负载比例,终端设备通过该最大负载比例可以确定该接口的运行参数范围。
在S1032中,根据所述额定运行参数以及最大负载比例,确定所述接口的运行参数范围。
在本实施例中,由于额定运行参数用于表示接口在额定环境下的运行情况,即处于一个基准值,终端设备可以根据该基准值以及最大负载比例,确定运行参数的上限值以及下限值,具体地,终端设备可以基于额定运行参数与最大负载比例之间的乘积,确定接口运行参数的上限值;终端设备可以基于最大负载比例以及预设的下限转换系数,确定接口的下限运行比例,并根据额定运行参数以及下限运行比例计算得到接口的运行参数的下限值。
举例性地,某一接口的运行参数类型为写入速率,其额定运行参数为10M/s即每秒写入的数据量为10兆比特,而最大负载比例为70%,下限转换系数为80%,因此,该接口的写入速率的上限值为10M/s*(1+70%)=17M/s,而下限值则为10M/s*(1-70%*80%)=4.4M/s。
在S1033中,将所述运行参数范围划分为多个参数区间,从每个所述参数区间内随机选取所述随机训练参量。
在本实施例中,终端设备确定了运行参数范围后,可以在运行参数范围中随机选取多个随机训练参量,通过该随机训练参量对接口进行测试。具体地,终端设备可以在运行参数范围中选取多个预设的分割点,并将运行参数范围分割为多个参数区间。通过将运行参数范围进行区间划分,并从每个区间获取对应的随机训练参量,能够确定接口在不同的运行环境下的数据处理能力,确定在低负载、高负载以及额定环境等不同情况下的正确率以及异常率。需要说明的是,不同参数区间的区间范围可以相同,即进行等额划分;当然,还可以进行非等额划分,在该情况下,终端设备可以设置根据预设的分割比例,从运行参数范围中确定对应的分割点,从而进行非等额划分。
在本发明实施例中,能够确定接口在不同的运行环境下的数据处理能力,确定在低负载、高负载以及额定环境等不同情况下的正确率以及异常率。
图3示出了本发明第三实施例提供的一种测试脚本的生成方法的具体实现流程图。参见图3,相对于图1所述的实施例,本实施例提供的一种测试脚本的生成方法在所述基于所述固定参量字段以及导入后的所述可变参量字段,生成所述目标对象的测试脚本之后,还包括:S301~S304,具体详述如下:
在S301中,从所述测试脚本中提取多个训练样本,并为每个训练样本配置对应的预测样本结果。
在本实施例中,终端设备在接收到测试脚本后,可以通过测试脚本对目标对象进行测试,从而确定该目标对象的各个接口是否配置正常。具体地,终端设备会对测试脚本进行解析,根据固定参量字段以及可变参量字段进行排列组合,从而生成得到多个训练样本。不同的训练样本之间的固定参量字段均相同,而可变参量字段之间则存在一定的差异。
在本实施例中,终端设备在提取得到多个训练样本后,会基于各个训练样本包含的参数值,为其配置对应的预设样本结果。该预设样本结果具体为:若目标对象的接口配置正常,则训练样本经过目标对象处理后所得到的处理结果。终端设备可以通过比对实际的处理结果与预设样本结果来判断目标对象处理数据的正确率。
在S302中,控制所述目标对象运行所述测试脚本,输出关于多个所述训练样本的实际样本结果。
在本实施例中,终端设备在将测试脚本发送给目标对象后,会控制目标对象运行该测试脚本,由于测试脚本是由多个训练样本组成的,因此在运行测试脚本时,每个训练样本会分别输入到目标对象中,以便目标对象生成关于各个训练样本的运算结果,即实际样本结果。
在S303中,根据所述预测样本结果以及所述实际样本结果,计算所述目标对象的误差比例。
在本实施例中,终端设备可以通过比对预测样本结果以及实际样本结果是否匹配,从而确定目标对象对训练样本的处理是否正确。若预测样本结果与实际样本结果匹配,例如两者的结果相同或运算结果之间的差值在误差许可范围内,则处理无异常;若预测样本结果与实际样本结果不匹配,例如两者的处理结果不同或运算结果之间的差值在误差许可范围外,则表示处理异常。终端设备统计处理异常的个数占训练样本总数的比例,作为目标对象的误差比例。
在本实施例中,若该误差比例小于或等于异常阈值,则识别该目标样本测试通过;反之,若该误差比例大于异常阈值,则执行S304的操作。
在S304中,若所述误差比例大于预设的异常阈值,则生成关于所述目标对象的异常报告。
在本实施例中,终端设备在确定误差比例大于异常阈值时,则表示该目标对象的接口可能存在异常,无法满足预设的处理要求。此时,终端设备会生成一个异常报告,以便开发人员对目标对象的接口中各个运算逻辑进行调整。优选地,终端设备可以将实际样本结果与预测样本结果之间存在差异的训练样本记录于该异常报告内,以便开发人员根据该异常的训练样本对目标对象进行调整。
在本发明实施例中,通过对测试脚本进行运行,确定目标对象的误差比例,对存在异常的目标对象进行处理,从而能够快速发现目标对象的异常情况,提高了目标对象的准确性以及异常响应效率。
图4示出了本发明第四实施例提供的一种测试脚本的生成方法S104的具体实现流程图。参见图4,相对于图1-图3所述实施例,本实施例提供的一种测试脚本的生成方法中所述根据所述用户信息,确定所述固定参量字段内各个参数项对应的参数值,包括:S1041~S1042,具体详述如下:
在S1041中,提取所述用户信息的用户关键词,并计算各个所述用户关键词与所述参数项之间的匹配度。
在本实施例中,用户信息中包含多个用户项,不同的用户项通过对应的文字进行描述,而不同目标对象的用户信息的格式存在差异,因此需要确定各个用户项所表示的用户信息类型。终端设备可以对用户信息进行关键词提取操作,从而确定各个信息项的用户关键词,并通过各个用户关键词与固定参量字段中的各个参数项进行匹配,从而建立了用户信息项与参数项之间的对应关系。
具体地,终端设备可以识别用户关键词在多个预设词性维度的维度数值,并在根据多个词性维度所构建的坐标轴上,标记出各个用户关键词,通过计算用户关键词与各个参数项的预设关键词之间的距离值,确定用户关键词与参数项之间的匹配度。
在S1042中,若所述用户关键词与所述参数项之间的匹配度大于预设的匹配阈值,则将所述用户关键词对应的用户参量作为该参数项的参数值。
本实施例中,终端设备在结算了用户关键词与各个参数项之间的匹配度后,会判断各个计算的匹配度是否大于预设的匹配度阈值,若某一用户关键词只与一个参数项之间的匹配度大于预设的匹配度阈值,则将该用户关键词对应的用户参量作为该参数项的参数值;若某一用户关键词与多个参数项之间的匹配度大于预设的匹配度阈值,则选取匹配度最大一个参数项作为与该用户关键词对应的用户参量的关联参数项。
在本发明实施例中,通过计算用户关键词与参数项之间的匹配度,从而能够将对应的用户参量导入到固定参量字段的各个参数项内,从而提高了用户信息导入的准确率。
图5示出了本发明第五实施例提供的一种测试脚本的生成方法的具体实现流程图。参见图5,相对于图1-图3所述实施例,本实施例提供的一种测试脚本的生成方法中所述用户信息包含用户编码;在所述获取目标对象的对象属性信息之后,还包括:S501~S503,具体详述如下:
在S501中,通过预设的用户密钥解析所述用户编码,提取所述用户编码的特征序列号。
在本实施例中,终端设备在响应该用户发起的测试脚本的生成请求之前,会对该发起操作的用户进行合法性校验。合法的用户的用户编码会通过预设的用户密钥进行加密。因此在获取了对象属性信息后,会从用户信息中提取该用户的用户编码,并通过对应的用户密钥对该用户编码进行解密操作,从而生成关于用户编码解密后的特征序列号。
在S502中,若所述特征序列号在合法序列列表内,则执行基于所述目标对象的对象类型,从脚本数据库内提取与所述对象类型匹配的测试脚本模板。
在本实施例中,终端设备会判断该特征序列号是否在合法序列列表内,若特征序列号在合法序列列表内,则表示该用户编码是通过合法的用户密钥进行加密处理,因此可以识别该用户为合法用户,并执行后续的测试脚本的生成流程。
在S503中,若所述特征序列号不在合法序列列表内,则输出对象异常信息。
在本实施例中,终端设备若识别到特征序列号不在合法序列列表内,则表示该用户编码并非通过预设的用户密钥进行加密,即该用户为非法用户,因此会输出一个对象异常信息,并不对该目标对象进行测试。
在本发明实施例中,通过对用户编码进行合法性校验,从而能够提高测试脚本流程的安全性,避免为非法用户提供测试脚本。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出了本发明一实施例提供的一种终端设备的结构框图,该终端设备包括的各单元用于执行图1对应的实施例中的各步骤。具体请参阅图1与图1所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。
参见图6,所述终端设备包括:
对象属性信息获取单元61,用于获取目标对象的对象属性信息;所述对象属性信息包括所述目标对象内各个接口的输入参数类型以及所述目标对象所属用户的用户信息;
测试脚本模板获取单元62,用于基于所述目标对象的对象类型,从脚本数据库内提取与所述对象类型匹配的测试脚本模板;所述测试脚本模板包括固定参量字段以及可变参量字段;
可变参量字段导入单元63,用于分别为各个所述接口生成与所述输入参数类型匹配的多个随机训练参量,并将所述随机训练参量导入到所述可变参量字段;
固定参量字段导入单元64,用于根据所述用户信息,确定所述固定参量字段内各个参数项对应的参数值;
测试脚本生成单元65,用于基于所述固定参量字段以及导入后的所述可变参量字段,生成所述目标对象的测试脚本。
可选地,所述可变参量字段导入单元63包括:
接口参数获取单元,用于获取所述接口的额定运行参数,以及基于所述接口类型确定所述接口的最大负载比例;
运行参数范围确定单元,用于根据所述额定运行参数以及最大负载比例,确定所述接口的运行参数范围;
随机训练参量选取单元,用于将所述运行参数范围划分为多个参数区间,从每个所述参数区间内随机选取所述随机训练参量。
可选地,所述终端设备还包括:
训练样本提取单元,用于从所述测试脚本中提取多个训练样本,并为每个训练样本配置对应的预测样本结果;
实际样本结果获取单元,用于控制所述目标对象运行所述测试脚本,输出关于多个所述训练样本的实际样本结果;
误差比例计算单元,用于根据所述预测样本结果以及所述实际样本结果,计算所述目标对象的误差比例;
异常报告输出单元,用于若所述误差比例大于预设的异常阈值,则生成关于所述目标对象的异常报告。
可选地,所述固定参量字段导入单元64包括:
关键词提取单元,用于提取所述用户信息的用户关键词,并计算各个所述用户关键词与所述参数项之间的匹配度;
用户信息匹配单元,用于若所述用户关键词与所述参数项之间的匹配度大于预设的匹配阈值,则将所述用户关键词对应的用户参量作为该参数项的参数值。
可选地,所述用户信息包含用户编码;所述终端设备还包括:
特征序列号提取单元,用于通过预设的用户密钥解析所述用户编码,提取所述用户编码的特征序列号;
特征序列号合法单元,用于若所述特征序列号在合法序列列表内,则执行基于所述目标对象的对象类型,从脚本数据库内提取与所述对象类型匹配的测试脚本模板;
特征序列号非法单元,用于若所述特征序列号不在合法序列列表内,则输出对象异常信息。
因此,本发明实施例提供的终端设备同样可以通过采集目标对象的对象属性信息,根据该目标对象的各个接口的输入参数类型,生成多个关于该输入参数类型的随机训练参量,并根据目标对象所属的用户信息,得到对应的测试脚本所需的固定参量,通过随机训练参量构成的可变参量字段以及固定参量字段,生成目标对象的测试脚本,实现自动生成测试脚本的目的。与现有的测试脚本的生成方法相比,无需用户手动配置,并且生成的测试脚本中的可变参量,与各个接口的输入参数类型相匹配,提高了测试脚本的准确性。
图7是本发明另一实施例提供的一种终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如测试脚本的生成程序。所述处理器70执行所述计算机程序72时实现上述各个测试脚本的生成方法实施例中的步骤,例如图1所示的S101至S105。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各单元的功能,例如图6所示模块61至65功能。
示例性的,所述计算机程序72可以被分割成一个或多个单元,所述一个或者多个单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。例如,所述计算机程序72可以被分割成对象属性信息获取单元、测试脚本模板获取单元、可变参量字段导入单元、固定参量字段导入单元以及测试脚本生成单元,各单元具体功能如上所述。
所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种测试脚本的生成方法,其特征在于,包括:
获取目标对象的对象属性信息;所述对象属性信息包括所述目标对象内各个接口的输入参数类型以及所述目标对象所属用户的用户信息;
基于所述目标对象的对象类型,从脚本数据库内提取与所述对象类型匹配的测试脚本模板;所述测试脚本模板包括固定参量字段以及可变参量字段;
分别为各个所述接口生成与所述输入参数类型匹配的多个随机训练参量,并将所述随机训练参量导入到所述可变参量字段;
根据所述用户信息,确定所述固定参量字段内各个参数项对应的参数值;
基于所述固定参量字段以及导入后的所述可变参量字段,生成所述目标对象的测试脚本。
2.根据权利要求1所述的生成方法,其特征在于,所述分别为各个所述接口生成与所述输入参数类型匹配的多个随机训练参量,包括:
获取所述接口的额定运行参数,以及基于所述接口类型确定所述接口的最大负载比例;
根据所述额定运行参数以及最大负载比例,确定所述接口的运行参数范围;
将所述运行参数范围划分为多个参数区间,从每个所述参数区间内随机选取所述随机训练参量。
3.根据权利要求1所述的生成方法,其特征在于,在所述基于所述固定参量字段以及导入后的所述可变参量字段,生成所述目标对象的测试脚本之后,还包括:
从所述测试脚本中提取多个训练样本,并为每个训练样本配置对应的预测样本结果;
控制所述目标对象运行所述测试脚本,输出关于多个所述训练样本的实际样本结果;
根据所述预测样本结果以及所述实际样本结果,计算所述目标对象的误差比例;
若所述误差比例大于预设的异常阈值,则生成关于所述目标对象的异常报告。
4.根据权利要求1-3任一项所述的生成方法,其特征在于,所述根据所述用户信息,确定所述固定参量字段内各个参数项对应的参数值,包括:
提取所述用户信息的用户关键词,并计算各个所述用户关键词与所述参数项之间的匹配度;
若所述用户关键词与所述参数项之间的匹配度大于预设的匹配阈值,则将所述用户关键词对应的用户参量作为该参数项的参数值。
5.根据权利要求1-3任一项所述的生成方法,其特征在于,所述用户信息包含用户编码;在所述获取目标对象的对象属性信息之后,还包括:
通过预设的用户密钥解析所述用户编码,提取所述用户编码的特征序列号;
若所述特征序列号在合法序列列表内,则执行基于所述目标对象的对象类型,从脚本数据库内提取与所述对象类型匹配的测试脚本模板;
若所述特征序列号不在合法序列列表内,则输出对象异常信息。
6.一种终端设备,其特征在于,所述终端设备包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下步骤:
获取目标对象的对象属性信息;所述对象属性信息包括所述目标对象内各个接口的输入参数类型以及所述目标对象所属用户的用户信息;
基于所述目标对象的对象类型,从脚本数据库内提取与所述对象类型匹配的测试脚本模板;所述测试脚本模板包括固定参量字段以及可变参量字段;
分别为各个所述接口生成与所述输入参数类型匹配的多个随机训练参量,并将所述随机训练参量导入到所述可变参量字段;
根据所述用户信息,确定所述固定参量字段内各个参数项对应的参数值;
基于所述固定参量字段以及导入后的所述可变参量字段,生成所述目标对象的测试脚本。
7.根据权利要求6所述的终端设备,其特征在于,所述分别为各个所述接口生成与所述输入参数类型匹配的多个随机训练参量,包括:
获取所述接口的额定运行参数,以及基于所述接口类型确定所述接口的最大负载比例;
根据所述额定运行参数以及最大负载比例,确定所述接口的运行参数范围;
将所述运行参数范围划分为多个参数区间,从每个所述参数区间内随机选取所述随机训练参量。
8.根据权利要求6所述的终端设备,其特征在于,在所述基于所述固定参量字段以及导入后的所述可变参量字段,生成所述目标对象的测试脚本之后,所述处理器执行所述计算机程序时还实现如下步骤:
从所述测试脚本中提取多个训练样本,并为每个训练样本配置对应的预测样本结果;
控制所述目标对象运行所述测试脚本,输出关于多个所述训练样本的实际样本结果;
根据所述预测样本结果以及所述实际样本结果,计算所述目标对象的误差比例;
若所述误差比例大于预设的异常阈值,则生成关于所述目标对象的异常报告。
9.根据权利要求6-8任一项所述的终端设备,其特征在于,所述根据所述用户信息,确定所述固定参量字段内各个参数项对应的参数值,包括:
提取所述用户信息的用户关键词,并计算各个所述用户关键词与所述参数项之间的匹配度;
若所述用户关键词与所述参数项之间的匹配度大于预设的匹配阈值,则将所述用户关键词对应的用户参量作为该参数项的参数值。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811529425.6A CN109614336A (zh) | 2018-12-14 | 2018-12-14 | 一种测试脚本的生成方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811529425.6A CN109614336A (zh) | 2018-12-14 | 2018-12-14 | 一种测试脚本的生成方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109614336A true CN109614336A (zh) | 2019-04-12 |
Family
ID=66009161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811529425.6A Pending CN109614336A (zh) | 2018-12-14 | 2018-12-14 | 一种测试脚本的生成方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109614336A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147318A (zh) * | 2019-04-19 | 2019-08-20 | 平安普惠企业管理有限公司 | 一种生成测试数据的方法及装置、电子设备 |
CN110262962A (zh) * | 2019-05-21 | 2019-09-20 | 钛马信息网络技术有限公司 | 生成测试脚本的方法及装置 |
CN110264038A (zh) * | 2019-05-22 | 2019-09-20 | 深圳壹账通智能科技有限公司 | 一种产品测评模型的生成方法及设备 |
CN110457063A (zh) * | 2019-07-15 | 2019-11-15 | 中国平安人寿保险股份有限公司 | 脚本程序的封装方法及装置、电子设备、可读存储介质 |
CN110928775A (zh) * | 2019-11-12 | 2020-03-27 | 许继集团有限公司 | 一种iec61850一致性测试的测试脚本配置方法及装置 |
WO2020082585A1 (zh) * | 2018-10-25 | 2020-04-30 | 深圳壹账通智能科技有限公司 | 一种接口测试的方法及设备 |
CN111475505A (zh) * | 2020-03-27 | 2020-07-31 | 平安科技(深圳)有限公司 | 一种数据采集的方法及设备 |
CN112363969A (zh) * | 2020-11-11 | 2021-02-12 | 歌尔科技有限公司 | 一种接口调试方法、装置、电子设备及可读存储介质 |
CN113448820A (zh) * | 2020-03-25 | 2021-09-28 | 中移(成都)信息通信科技有限公司 | 网页测试方法及装置 |
CN113542416A (zh) * | 2021-07-16 | 2021-10-22 | 中国银行股份有限公司 | 一种报文收发方法和装置 |
CN114416458A (zh) * | 2022-03-30 | 2022-04-29 | 航天中认软件测评科技(北京)有限责任公司 | 测试方法、装置、设备及存储介质 |
-
2018
- 2018-12-14 CN CN201811529425.6A patent/CN109614336A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020082585A1 (zh) * | 2018-10-25 | 2020-04-30 | 深圳壹账通智能科技有限公司 | 一种接口测试的方法及设备 |
CN110147318A (zh) * | 2019-04-19 | 2019-08-20 | 平安普惠企业管理有限公司 | 一种生成测试数据的方法及装置、电子设备 |
CN110147318B (zh) * | 2019-04-19 | 2023-12-29 | 天航长鹰(江苏)科技有限公司 | 一种生成测试数据的方法及装置、电子设备 |
CN110262962A (zh) * | 2019-05-21 | 2019-09-20 | 钛马信息网络技术有限公司 | 生成测试脚本的方法及装置 |
CN110264038A (zh) * | 2019-05-22 | 2019-09-20 | 深圳壹账通智能科技有限公司 | 一种产品测评模型的生成方法及设备 |
CN110457063A (zh) * | 2019-07-15 | 2019-11-15 | 中国平安人寿保险股份有限公司 | 脚本程序的封装方法及装置、电子设备、可读存储介质 |
CN110457063B (zh) * | 2019-07-15 | 2024-04-16 | 中国平安人寿保险股份有限公司 | 脚本程序的封装方法及装置、电子设备、可读存储介质 |
CN110928775A (zh) * | 2019-11-12 | 2020-03-27 | 许继集团有限公司 | 一种iec61850一致性测试的测试脚本配置方法及装置 |
CN113448820A (zh) * | 2020-03-25 | 2021-09-28 | 中移(成都)信息通信科技有限公司 | 网页测试方法及装置 |
CN111475505B (zh) * | 2020-03-27 | 2023-05-26 | 平安科技(深圳)有限公司 | 一种数据采集的方法及设备 |
CN111475505A (zh) * | 2020-03-27 | 2020-07-31 | 平安科技(深圳)有限公司 | 一种数据采集的方法及设备 |
CN112363969A (zh) * | 2020-11-11 | 2021-02-12 | 歌尔科技有限公司 | 一种接口调试方法、装置、电子设备及可读存储介质 |
CN113542416A (zh) * | 2021-07-16 | 2021-10-22 | 中国银行股份有限公司 | 一种报文收发方法和装置 |
CN113542416B (zh) * | 2021-07-16 | 2022-10-21 | 中国银行股份有限公司 | 一种报文收发方法和装置 |
CN114416458A (zh) * | 2022-03-30 | 2022-04-29 | 航天中认软件测评科技(北京)有限责任公司 | 测试方法、装置、设备及存储介质 |
CN114416458B (zh) * | 2022-03-30 | 2022-08-05 | 航天中认软件测评科技(北京)有限责任公司 | 测试方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109614336A (zh) | 一种测试脚本的生成方法及设备 | |
WO2022052630A1 (zh) | 一种多媒体信息处理方法、装置、电子设备及存储介质 | |
US20090327991A1 (en) | Industry template customization and transclusion for use in industrial automation and information solutions | |
US8677310B2 (en) | Industry template abstracting and creation for use in industrial automation and information solutions | |
CN109240924A (zh) | 一种应用程序的测试方法及设备 | |
US8892493B2 (en) | Compatibility testing using traces, linear temporal rules, and behavioral models | |
CN108829581A (zh) | 应用程序测试方法、装置、计算机设备及存储介质 | |
CN104391934A (zh) | 数据校验方法和装置 | |
CN108664628A (zh) | 一种数据的导出方法及设备 | |
CN109902493B (zh) | 脚本的下发方法及服务器 | |
CN113628049B (zh) | 一种基于群体智能的区块链智能合约的冲突裁决方法 | |
CN112307458A (zh) | 轻节点的上链方法、装置、物联网中控终端及区块链网络 | |
CN108762898A (zh) | 一种线程接口的管理方法、终端设备及计算机可读存储介质 | |
CN112134883B (zh) | 基于可信计算进行节点间信任关系快速认证的方法、装置及相关产品 | |
CN113472883A (zh) | 基于区块链存储数据的方法、装置、设备及存储介质 | |
CN114219596B (zh) | 一种基于决策树模型的数据处理方法及相关设备 | |
Jiang et al. | Uncertainty theory based reliability-centric cyber-physical system design | |
CN112003940A (zh) | 基于区块链和在线业务的支付网络状态处理方法及服务器 | |
CN114189553A (zh) | 一种流量回放方法、系统及计算设备 | |
CN109769010A (zh) | 基于SDK访问CloudStack服务器的方法、装置、设备及存储介质 | |
CN109857634A (zh) | 接口测试参数校验方法、装置、电子设备及存储介质 | |
CN111191738A (zh) | 跨平台的数据处理方法、装置、设备及可读存储介质 | |
CN114697127B (zh) | 一种基于云计算的业务会话风险处理方法及服务器 | |
CN110362294A (zh) | 开发任务执行方法、装置、电子设备及存储介质 | |
CN110162982A (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 |