掌桥专利:专业的专利平台
掌桥专利
首页

函数功能测试方法、装置、设备及存储介质

文献发布时间:2024-01-17 01:17:49


函数功能测试方法、装置、设备及存储介质

技术领域

本发明涉及测试及金融技术领域,尤其涉及一种函数功能测试方法、装置、设备及存储介质。

背景技术

在金融科技领域中,随着交易需求、保险需求等业务需求的增多,在数据库中扩增系统函数的需求也随之增多,因此,对系统函数的功能进行测试,以保证数据的质量,成了亟需解决的问题。

在目前的测试函数功能的方案中,需要测试用户根据枚举出的所有测试场景手动生成相应的测试用例,进而通过生成的测试用例对函数功能进行测试,然而,这种枚举生成测试用户的方式,工作量较大,导致测试效率低下,不利于应对业务需求增多的情况。

发明内容

鉴于以上内容,有必要提供一种函数功能测试方法、装置、设备及存储介质,能够解决函数功能的测试效率低下的技术问题。

一方面,本发明提出一种函数功能测试方法,所述函数功能测试方法包括:

响应于函数功能测试请求,获取待测函数的多个历史执行语句;

基于所述多个历史执行语句,提取出所述待测函数的语句格式;

根据所述函数功能测试请求,获取所述待测函数的数据类型及参数值;

根据所述语句格式、所述数据类型及所述参数值生成所述待测函数的测试语句;

执行所述测试语句,得到测试结果;

基于所述待测函数、所述数据类型及所述参数值,获取期望结果;

对比所述测试结果与所述期望结果,得到所述待测函数的功能测试结果。

根据本发明优选实施例,所述基于所述多个历史执行语句,提取出所述待测函数的语句格式包括:

统计所述多个历史执行语句的语句数量;

若所述语句数量大于配置数量,则统计每个历史执行语句的字符数量;

若取值相同的字符数量有多个,则根据所述取值相同的字符数量,从所述多个历史执行语句中筛选出多个目标执行语句;

根据所述多个目标执行语句中的语句字符及所述语句字符在每个目标执行语句中的语句位置,从所述语句字符中筛选出目标字符,所述语句字符包括剔除字符;

识别所述剔除字符所对应的字符类别;

根据所述目标字符在任一目标执行语句中的目标位置及所述剔除字符在所述任一目标执行语句中的剔除位置,拼接所述目标字符及所述字符类别所对应的配置字符,得到所述语句格式。

根据本发明优选实施例,所述根据所述语句格式、所述数据类型及所述参数值生成所述待测函数的测试语句包括:

识别所述数据类型的第一填写类别,并识别所述参数值的第二填写类别;

基于所述数据类型替换所述语句格式中与所述第一填写类别所对应的配置字符,并基于所述参数值替换所述语句格式中与所述第二填写类别所对应的配置字符,得到所述测试语句。

根据本发明优选实施例,所述响应于函数功能测试请求,获取待测函数的多个历史执行语句包括:

解析所述函数功能测试请求的请求报文,得到所述请求报文所携带的数据信息;

从所述数据信息中提取出所述待测函数的函数标识;

从预设查询库中获取包含所述函数标识的语句作为所述多个历史执行语句。

根据本发明优选实施例,所述根据所述函数功能测试请求,获取所述待测函数的数据类型及参数值包括:

从所述数据信息中提取文件路径及测试时长需求;

从所述文件路径中获取所述待测函数的支持类型作为所述数据类型,并从所述文件路径中获取同时与所述函数标识及所述数据类型所对应的枚举设定值;

基于每个历史执行语句的执行日志,识别出每个历史执行语句的语句执行时长;

根据多个所述语句执行时长,计算出所述多个历史执行语句的平均执行时长;

根据所述测试时长需求及所述平均执行时长,计算出目标数量;

基于所述目标数量,从所述枚举设定值中随机筛选出所述参数值。

根据本发明优选实施例,所述基于所述待测函数、所述数据类型及所述参数值,获取期望结果包括:

获取所述函数功能测试请求的请求时刻;

识别所述待测函数在所述请求时刻的功能测试次数;

若所述功能测试次数小于预设次数,则从所述函数功能测试请求识别出测试用户的用户标识;

从预设指定库中获取与所述用户标识所对应的指定数据;

从所述指定数据中筛选出同时与所述待测函数、所述数据类型及所述参数值对应的数据作为所述期望结果;或者

若所述功能测试次数大于或者等于所述预设次数,则从基准数据库中获取同时与所述待测函数、所述数据类型及所述参数值对应的数据作为所述期望结果。

根据本发明优选实施例,在对比所述测试结果与所述期望结果,得到所述待测函数的功能测试结果之后,所述函数功能测试方法还包括:

若所述功能测试结果为预设结果,及所述功能测试次数小于所述预设次数,则将所述测试结果写入所述基准数据库。

另一方面,本发明还提出一种函数功能测试装置,所述函数功能测试装置包括:

获取单元,用于响应于函数功能测试请求,获取待测函数的多个历史执行语句;

提取单元,用于基于所述多个历史执行语句,提取出所述待测函数的语句格式;

所述获取单元,还用于根据所述函数功能测试请求,获取所述待测函数的数据类型及参数值;

生成单元,用于根据所述语句格式、所述数据类型及所述参数值生成所述待测函数的测试语句;

执行单元,用于执行所述测试语句,得到测试结果;

所述获取单元,还用于基于所述待测函数、所述数据类型及所述参数值,获取期望结果;

对比单元,用于对比所述测试结果与所述期望结果,得到所述待测函数的功能测试结果。

另一方面,本发明还提出一种电子设备,所述电子设备包括:

存储器,存储计算机可读指令;及

处理器,执行所述存储器中存储的计算机可读指令以实现所述函数功能测试方法。

另一方面,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,所述计算机可读指令被电子设备中的处理器执行以实现所述函数功能测试方法。

由以上技术方案可以看出,本申请通过获取与所述待测函数对应的多个历史执行语句,能够生成与所述待测函数匹配的语句格式,进而通过所述多个历史执行语句,提取出所述待测函数的语句格式,由于无需构建所述语句格式,因此,能够提高所述测试语句的生成效率,从而提高所述功能测试结果的生成效率,通过结合所述语句格式、所述数据类型及所述参数值,能够结合用户需求生成能够测试所述待测函数的功能的测试语句,通过结合所述待测函数、所述数据类型及所述参数值,能够准确的获取出对应的期望结果,进而通过对比所述测试结果与所述期望结果,能够准确的生成所述功能测试结果。本申请通过快速生成所述功能测试结果,能够减少测试用户的负载,从而使得本申请适用于对函数功能的大量测试,通过对函数功能的大量测试,也能提高函数功能的测试准确性。

附图说明

图1是本发明函数功能测试方法的较佳实施例的流程图。

图2是本发明函数功能测试方法中语句格式的示意图。

图3是本发明函数功能测试装置的较佳实施例的功能模块图。

图4是本发明实现函数功能测试方法的较佳实施例的电子设备的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。

如图1所示,是本发明函数功能测试方法的较佳实施例的流程图。根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。

所述函数功能测试方法应用于一个或者多个电子设备中,所述电子设备是一种能够按照事先设定或存储的计算机可读指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。

所述电子设备可以是任何一种可与用户进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)、游戏机、交互式网络电视(Internet Protocol Television,IPTV)、智能穿戴式设备等。

所述电子设备可以包括网络设备和/或用户设备。其中,所述网络设备包括,但不限于单个网络电子设备、多个网络电子设备组成的电子设备组或基于云计算(CloudComputing)的由大量主机或网络电子设备构成的云。

所述电子设备所在的网络包括,但不限于:互联网、广域网、城域网、局域网、虚拟专用网络(Virtual Private Network,VPN)等。

101,响应于函数功能测试请求,获取待测函数的多个历史执行语句。

在本发明的至少一个实施例中,所述函数功能测试请求是指监测到用户有函数功能测试需求时触发生成,函数功能测试需求可以在交易需求、保险需求等业务需求产生时触发。

所述待测函数是指需要进行功能测试的函数,例如,所述待测函数可以是to_char()函数。

所述多个历史执行语句是指包含有所述待测函数的结构化查询语句,例如,当所述待测函数为to_char()函数时,则所述多个历史执行语句可以是select to_char(cast(20as bigint))。

在本发明的至少一个实施例中,所述电子设备响应于函数功能测试请求,获取待测函数的多个历史执行语句包括:

解析所述函数功能测试请求的请求报文,得到所述请求报文所携带的数据信息;

从所述数据信息中提取出所述待测函数的函数标识;

从预设查询库中获取包含所述函数标识的语句作为所述多个历史执行语句。

其中,所述数据信息包括,但不限于:所述函数标识等。

所述预设查询库中存储有多个预设函数的结构化查询语句。

通过解析所述请求报文,由于无需对整个所述函数功能测试请求进行解析,因此,能够提高所述函数标识的获取效率,进而通过所述函数标识,能够准确的获取到与所述待测函数对应的多个历史执行语句。

102,基于所述多个历史执行语句,提取出所述待测函数的语句格式。

在本发明的至少一个实施例中,所述语句格式是指所述多个历史执行语句中固定的语法格式。

在本发明的至少一个实施例中,所述电子设备基于所述多个历史执行语句,提取出所述待测函数的语句格式包括:

统计所述多个历史执行语句的语句数量;

若所述语句数量大于配置数量,则统计每个历史执行语句的字符数量;

若取值相同的字符数量有多个,则根据所述取值相同的字符数量,从所述多个历史执行语句中筛选出多个目标执行语句;

根据所述多个目标执行语句中的语句字符及所述语句字符在每个目标执行语句中的语句位置,从所述语句字符中筛选出目标字符,所述语句字符包括剔除字符;

识别所述剔除字符所对应的字符类别;

根据所述目标字符在任一目标执行语句中的目标位置及所述剔除字符在所述任一目标执行语句中的剔除位置,拼接所述目标字符及所述字符类别所对应的配置字符,得到所述语句格式。

其中,所述配置数量可以根据实际需求设定,本申请对此不再限制。例如,所述配置数量可以为大于50的数值。

所述多个目标执行语句是指所述取值相同的字符数量所对应的历史执行语句。

所述目标字符是指不同的目标执行语句中同一语句位置所对应的相同的语句字符。

所述剔除字符是指不同的目标执行语句中同一语句位置所对应的不同的语句字符。

所述字符类别是指所述剔除字符所对应的具体类别,例如,所述字符类别可以是数值类别或者类型类别等。

所述配置字符可以根据所述字符类别设定,例如,当所述字符类别为所述数值类别时,则所述配置字符可以是value。

如图2所示,图2是本发明函数功能测试方法中语句格式的示意图。在图2中,所述语句格式为to_char(cast(value as datatype))。其中,其中,to_char为所示待测函数,value为参数值所对应的配置字符,datatype为数据类型所对应的配置字符。

通过所述语句数量与所述配置数量的比较,能够避免因所述语句数量过小而导致无法准确的提取出所述语句格式,当所述取值相同的字符数量有多个时,说明所述多个历史执行语句中可能存储有固定的语法格式,进而通过所述语句字符及所述语句位置,能够准确的识别出所述目标字符,进而根据所述目标字符及所述剔除字符的字符类别所对应的配置字符,能够准确的生成所述语句格式。

103,根据所述函数功能测试请求,获取所述待测函数的数据类型及参数值。

在本发明的至少一个实施例中,所述数据类型是指需要进行函数功能测试的具体类型,所述数据类型为所述待测函数所支持处理的类型。例如,所述数据类型可以为int类型。

所述参数值是指需要进行函数功能测试的具体数值,所述参数值为所述待测函数及所述数据类型同时对应的数值。例如,所述参数值可以为25。

在本发明的至少一个实施例中,所述电子设备根据所述函数功能测试请求,获取所述待测函数的数据类型及参数值包括:

从所述数据信息中提取文件路径及测试时长需求;

从所述文件路径中获取所述待测函数的支持类型作为所述数据类型,并从所述文件路径中获取同时与所述函数标识及所述数据类型所对应的枚举设定值;

基于每个历史执行语句的执行日志,识别出每个历史执行语句的语句执行时长;

根据多个所述语句执行时长,计算出所述多个历史执行语句的平均执行时长;

根据所述测试时长需求及所述平均执行时长,计算出目标数量;

基于所述目标数量,从所述枚举设定值中随机筛选出所述参数值。

其中,所述文件路径是指存储有所述数据类型及所述参数值的具体路径。

所述测试时长需求是指响应所述函数功能测试请求的最大时长。

所述执行日志中存储有每个历史执行语句的开始执行时刻及结束执行时刻。

所述语句执行时长可以为所述结束执行时刻与所述开始执行时刻的差值。

所述目标数量可以为所述测试时长需求与所述平均执行时长的比值。

所述参数值的数量等于所述目标数量。

通过所述执行日志,能够准确的识别出所述语句执行时长,进而结合所述测试时长需求及所述平均执行时长,能够计算出所述测试时长需求内,能够完成执行语句的最大数量(即:所述目标数量),进而通过所述目标数量筛选出所述参数值,能够提高所述参数值的数据量,有利于所述待测函数的功能测试。

104,根据所述语句格式、所述数据类型及所述参数值生成所述待测函数的测试语句。

在本发明的至少一个实施例中,所述测试语句是指包含有所述数据类型及所述参数值的语句格式。

在本发明的至少一个实施例中,所述电子设备根据所述语句格式、所述数据类型及所述参数值生成所述待测函数的测试语句包括:

识别所述数据类型的第一填写类别,并识别所述参数值的第二填写类别;

基于所述数据类型替换所述语句格式中与所述第一填写类别所对应的配置字符,并基于所述参数值替换所述语句格式中与所述第二填写类别所对应的配置字符,得到所述测试语句。

其中,所述第一填写类别是指所述数据类型所对应的字符类别,所述第二填写类别是指所述参数值所对应的字符类别。

通过所述第一填写类别及所述第二填写类别与所述配置字符的映射关系,能够准确的生成所述测试语句,同时,由于无需构建所述语句格式,能够提高所述测试语句的生成效率。

105,执行所述测试语句,得到测试结果。

在本发明的至少一个实施例中,所述测试结果是指运行所述测试语句后所得到的结果。例如,所述测试语句为SELECT SYS.TO_CHAR(cast('test1'as NCHAR)),所述测试结果可以为t。

在本发明的至少一个实施例中,所述电子设备调用运行线程处理所述测试语句,得到所述测试结果。

106,基于所述待测函数、所述数据类型及所述参数值,获取期望结果。

在本发明的至少一个实施例中,所述期望结果可以为用户预先设定的执行数值,所述期望结果也可以为首次测试所述待测函数成功时所对应的测试结果。

在本发明的至少一个实施例中,所述电子设备基于所述待测函数、所述数据类型及所述参数值,获取期望结果包括:

获取所述函数功能测试请求的请求时刻;

识别所述待测函数在所述请求时刻的功能测试次数;

若所述功能测试次数小于预设次数,则从所述函数功能测试请求识别出测试用户的用户标识;

从预设指定库中获取与所述用户标识所对应的指定数据;

从所述指定数据中筛选出同时与所述待测函数、所述数据类型及所述参数值对应的数据作为所述期望结果;或者

若所述功能测试次数大于或者等于所述预设次数,则从基准数据库中获取同时与所述待测函数、所述数据类型及所述参数值对应的数据作为所述期望结果。

其中,所述请求时刻可以为所述函数功能测试请求的触发时刻。

所述预设次数可以根据实际需求设定,例如,所述预设次数通常设定为2。

所述预设指定库是指所述测试用户预先设定数据时所存储的数据库。所述预设指定库可以存储有与所述电子设备不同的其他终端设备中。

所述基准数据库是指首次测试所述待测函数成功时所述测试结果所存储的数据库。所述基准数据库可以存储于所述电子设备中。

通过所述功能测试次数与所述预设次数的比较,能够从不同数据库中获取所述期望结果,避免了无法获取到所述期望结果的问题。

107,对比所述测试结果与所述期望结果,得到所述待测函数的功能测试结果。

需要强调的是,为进一步保证上述功能测试结果的私密和安全性,上述功能测试结果还可以存储于一区块链的节点中。

在本发明的至少一个实施例中,所述功能测试结果包括预设结果,其中,所述预设结果可以指所述待测函数的函数功能正常。所述功能测试结果还可以包括所述待测函数的函数功能异常。

在本发明的至少一个实施例中,所述电子设备对比所述测试结果与所述期望结果,得到所述待测函数的功能测试结果包括:

当所述测试结果与所述期望结果相同时,将所述功能测试结果确定为所述预设结果;或者

当所述测试结果与所述期望结果不同时,将所述功能测试结果确定为所述待测函数的函数功能异常。

在本发明的至少一个实施例中,在对比所述测试结果与所述期望结果,得到所述待测函数的功能测试结果之后,所述函数功能测试方法还包括:

若所述功能测试结果为预设结果,及所述功能测试次数小于所述预设次数,则将所述测试结果写入所述基准数据库。

通过将所述测试结果写入所述基准数据库,便于后续对所述待测函数进行测试时,能够直接从所述基准数据库中获取到所述测试结果,从而提高所述待测函数的后续测试效率。

由以上技术方案可以看出,本申请通过获取与所述待测函数对应的多个历史执行语句,能够生成与所述待测函数匹配的语句格式,进而通过所述多个历史执行语句,提取出所述待测函数的语句格式,由于无需构建所述语句格式,因此,能够提高所述测试语句的生成效率,从而提高所述功能测试结果的生成效率,通过结合所述语句格式、所述数据类型及所述参数值,能够结合用户需求生成能够测试所述待测函数的功能的测试语句,通过结合所述待测函数、所述数据类型及所述参数值,能够准确的获取出对应的期望结果,进而通过对比所述测试结果与所述期望结果,能够准确的生成所述功能测试结果。本申请通过快速生成所述功能测试结果,能够减少测试用户的负载,从而使得本申请适用于对函数功能的大量测试,通过对函数功能的大量测试,也能提高函数功能的测试准确性。

如图3所示,是本发明函数功能测试装置的较佳实施例的功能模块图。所述函数功能测试装置11包括获取单元110、提取单元111、生成单元112、执行单元113、对比单元114及写入单元115。本发明所称的模块/单元是指一种能够被处理器13所获取,并且能够完成固定功能的一系列计算机可读指令段,其存储在存储器12中。在本实施例中,关于各模块/单元的功能将在后续的实施例中详述。

获取单元110,用于响应于函数功能测试请求,获取待测函数的多个历史执行语句;

提取单元111,用于基于所述多个历史执行语句,提取出所述待测函数的语句格式;

所述获取单元110,还用于根据所述函数功能测试请求,获取所述待测函数的数据类型及参数值;

生成单元112,用于根据所述语句格式、所述数据类型及所述参数值生成所述待测函数的测试语句;

执行单元113,用于执行所述测试语句,得到测试结果;

所述获取单元110,还用于基于所述待测函数、所述数据类型及所述参数值,获取期望结果;

对比单元114,用于对比所述测试结果与所述期望结果,得到所述待测函数的功能测试结果。

在本发明的至少一个实施例中,所述提取单元111,还用于统计所述多个历史执行语句的语句数量;

若所述语句数量大于配置数量,则统计每个历史执行语句的字符数量;

若取值相同的字符数量有多个,则根据所述取值相同的字符数量,从所述多个历史执行语句中筛选出多个目标执行语句;

根据所述多个目标执行语句中的语句字符及所述语句字符在每个目标执行语句中的语句位置,从所述语句字符中筛选出目标字符,所述语句字符包括剔除字符;

识别所述剔除字符所对应的字符类别;

根据所述目标字符在任一目标执行语句中的目标位置及所述剔除字符在所述任一目标执行语句中的剔除位置,拼接所述目标字符及所述字符类别所对应的配置字符,得到所述语句格式。

通过所述语句数量与所述配置数量的比较,能够避免因所述语句数量过小而导致无法准确的提取出所述语句格式,当所述取值相同的字符数量有多个时,说明所述多个历史执行语句中可能存储有固定的语法格式,进而通过所述语句字符及所述语句位置,能够准确的识别出所述目标字符,进而根据所述目标字符及所述剔除字符的字符类别所对应的配置字符,能够准确的生成所述语句格式。

在本发明的至少一个实施例中,所述生成单元112,还用于识别所述数据类型的第一填写类别,并识别所述参数值的第二填写类别;

基于所述数据类型替换所述语句格式中与所述第一填写类别所对应的配置字符,并基于所述参数值替换所述语句格式中与所述第二填写类别所对应的配置字符,得到所述测试语句。

通过所述第一填写类别及所述第二填写类别与所述配置字符的映射关系,能够准确的生成所述测试语句,同时,由于无需构建所述语句格式,能够提高所述测试语句的生成效率。

在本发明的至少一个实施例中,所述获取单元110,还用于解析所述函数功能测试请求的请求报文,得到所述请求报文所携带的数据信息;

从所述数据信息中提取出所述待测函数的函数标识;

从预设查询库中获取包含所述函数标识的语句作为所述多个历史执行语句。

通过解析所述请求报文,由于无需对整个所述函数功能测试请求进行解析,因此,能够提高所述函数标识的获取效率,进而通过所述函数标识,能够准确的获取到与所述待测函数对应的多个历史执行语句。

在本发明的至少一个实施例中,所述获取单元110,还用于从所述数据信息中提取文件路径及测试时长需求;

从所述文件路径中获取所述待测函数的支持类型作为所述数据类型,并从所述文件路径中获取同时与所述函数标识及所述数据类型所对应的枚举设定值;

基于每个历史执行语句的执行日志,识别出每个历史执行语句的语句执行时长;

根据多个所述语句执行时长,计算出所述多个历史执行语句的平均执行时长;

根据所述测试时长需求及所述平均执行时长,计算出目标数量;

基于所述目标数量,从所述枚举设定值中随机筛选出所述参数值。

通过所述执行日志,能够准确的识别出所述语句执行时长,进而结合所述测试时长需求及所述平均执行时长,能够计算出所述测试时长需求内,能够完成执行语句的最大数量(即:所述目标数量),进而通过所述目标数量筛选出所述参数值,能够提高所述参数值的数据量,有利于所述待测函数的功能测试。

在本发明的至少一个实施例中,所述获取单元110,还用于获取所述函数功能测试请求的请求时刻;

识别所述待测函数在所述请求时刻的功能测试次数;

若所述功能测试次数小于预设次数,则从所述函数功能测试请求识别出测试用户的用户标识;

从预设指定库中获取与所述用户标识所对应的指定数据;

从所述指定数据中筛选出同时与所述待测函数、所述数据类型及所述参数值对应的数据作为所述期望结果;或者

若所述功能测试次数大于或者等于所述预设次数,则从基准数据库中获取同时与所述待测函数、所述数据类型及所述参数值对应的数据作为所述期望结果。

通过所述功能测试次数与所述预设次数的比较,能够从不同数据库中获取所述期望结果,避免了无法获取到所述期望结果的问题。

在本发明的至少一个实施例中,在对比所述测试结果与所述期望结果,得到所述待测函数的功能测试结果之后,写入单元115,用于若所述功能测试结果为预设结果,及所述功能测试次数小于所述预设次数,则将所述测试结果写入所述基准数据库。

通过将所述测试结果写入所述基准数据库,便于后续对所述待测函数进行测试时,能够直接从所述基准数据库中获取到所述测试结果,从而提高所述待测函数的后续测试效率。

由以上技术方案可以看出,本申请通过获取与所述待测函数对应的多个历史执行语句,能够生成与所述待测函数匹配的语句格式,进而通过所述多个历史执行语句,提取出所述待测函数的语句格式,由于无需构建所述语句格式,因此,能够提高所述测试语句的生成效率,从而提高所述功能测试结果的生成效率,通过结合所述语句格式、所述数据类型及所述参数值,能够结合用户需求生成能够测试所述待测函数的功能的测试语句,通过结合所述待测函数、所述数据类型及所述参数值,能够准确的获取出对应的期望结果,进而通过对比所述测试结果与所述期望结果,能够准确的生成所述功能测试结果。本申请通过快速生成所述功能测试结果,能够减少测试用户的负载,从而使得本申请适用于对函数功能的大量测试,通过对函数功能的大量测试,也能提高函数功能的测试准确性。

如图4所示,是本发明实现函数功能测试方法的较佳实施例的电子设备的结构示意图。

在本发明的一个实施例中,所述电子设备1包括,但不限于,存储器12、处理器13,以及存储在所述存储器12中并可在所述处理器13上运行的计算机可读指令,例如函数功能测试程序。

本领域技术人员可以理解,所述示意图仅仅是电子设备1的示例,并不构成对电子设备1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备1还可以包括输入输出设备、网络接入设备、总线等。

所述处理器13可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器13是所述电子设备1的运算核心和控制中心,利用各种接口和线路连接整个电子设备1的各个部分,及执行所述电子设备1的操作系统以及安装的各类应用程序、程序代码等。

示例性的,所述计算机可读指令可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器12中,并由所述处理器13执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该计算机可读指令段用于描述所述计算机可读指令在所述电子设备1中的执行过程。例如,所述计算机可读指令可以被分割成获取单元110、提取单元111、生成单元112、执行单元113、对比单元114及写入单元115。

所述存储器12可用于存储所述计算机可读指令和/或模块,所述处理器13通过运行或执行存储在所述存储器12内的计算机可读指令和/或模块,以及调用存储在存储器12内的数据,实现所述电子设备1的各种功能。所述存储器12可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。存储器12可以包括非易失性和易失性存储器,例如:硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他存储器件。

所述存储器12可以是电子设备1的外部存储器和/或内部存储器。进一步地,所述存储器12可以是具有实物形式的存储器,如内存条、TF卡(Trans-flash Card)等等。

所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。

其中,所述计算机可读指令包括计算机可读指令代码,所述计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)。

本发明所指区块链是分布式函数功能测试、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

结合图1,所述电子设备1中的所述存储器12存储计算机可读指令实现一种函数功能测试方法,所述处理器13可执行所述计算机可读指令从而实现:

响应于函数功能测试请求,获取待测函数的多个历史执行语句;

基于所述多个历史执行语句,提取出所述待测函数的语句格式;

根据所述函数功能测试请求,获取所述待测函数的数据类型及参数值;

根据所述语句格式、所述数据类型及所述参数值生成所述待测函数的测试语句;

执行所述测试语句,得到测试结果;

基于所述待测函数、所述数据类型及所述参数值,获取期望结果;

对比所述测试结果与所述期望结果,得到所述待测函数的功能测试结果。

具体地,所述处理器13对上述计算机可读指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述计算机可读存储介质上存储有计算机可读指令,其中,所述计算机可读指令被处理器13执行时用以实现以下步骤:

响应于函数功能测试请求,获取待测函数的多个历史执行语句;

基于所述多个历史执行语句,提取出所述待测函数的语句格式;

根据所述函数功能测试请求,获取所述待测函数的数据类型及参数值;

根据所述语句格式、所述数据类型及所述参数值生成所述待测函数的测试语句;

执行所述测试语句,得到测试结果;

基于所述待测函数、所述数据类型及所述参数值,获取期望结果;

对比所述测试结果与所述期望结果,得到所述待测函数的功能测试结果。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。

此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。所述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一、第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

相关技术
  • 云数据库的测试方法及其装置、设备和存储介质
  • 软件测试方法、装置、计算机设备和可读存储介质
  • 分组测试方法、装置、计算机设备及存储介质
  • 接口测试方法、装置、计算机设备及存储介质
  • Monkey测试方法、装置、电子设备及计算机可读存储介质
  • 内核函数测试方法、装置、设备及存储介质
  • 内核函数测试方法、装置、设备及存储介质
技术分类

06120116113728