CN110399306B - 软件模块自动化测试方法及装置 - Google Patents

软件模块自动化测试方法及装置 Download PDF

Info

Publication number
CN110399306B
CN110399306B CN201910703075.9A CN201910703075A CN110399306B CN 110399306 B CN110399306 B CN 110399306B CN 201910703075 A CN201910703075 A CN 201910703075A CN 110399306 B CN110399306 B CN 110399306B
Authority
CN
China
Prior art keywords
expression
test
module
output data
test expression
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
CN201910703075.9A
Other languages
English (en)
Other versions
CN110399306A (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201910703075.9A priority Critical patent/CN110399306B/zh
Publication of CN110399306A publication Critical patent/CN110399306A/zh
Application granted granted Critical
Publication of CN110399306B publication Critical patent/CN110399306B/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/3684Test management for test design, e.g. generating new test cases
    • 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/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3692Test management for test results analysis

Abstract

本申请提供了一种软件模块自动化测试方法及装置,该方法包括:应用预设的表达式生成规则生成模块测试代码对应的测试表达式,该测试表达式包括:可替换内容和固定内容,其中,该替换内容为该测试表达式中的参数值,该固定内容包括:表达式对象和操作关键字;将所述测试表达式写入脚本的文本域中,获取测试脚本;接收目标模块的输出数据,将该输出数据发送至所述测试脚本中的文本域并对该输出数据进行处理;获取所述输出数据经由所述测试表达式脚本处理后的返回值。本申请能够减少代码的冗余,实现对多个模块顺序进行测试,提高软件测试的自动化程度及测试的效率,进而能够提高待测软件的稳定性。

Description

软件模块自动化测试方法及装置
技术领域
本申请涉及软件测试领域,尤其是涉及一种软件模块自动化测试方法及装置。
背景技术
在软件开发过程中,软件测试是十分重要的一项工作,通过软件测试能够提高软件运行的稳定性和可靠性,进而提高软件的质量。
现有的软件测试方法通常采用模块测试的方式对软件进行测试,应用模块测试代码对各个模块的输入和输出参数进行测试,以保证每个模块作为一个单元能够正确运行。
采用编写模块测试代码进行软件测试的过程,在对不同模块进行测试时需要调整模块测试代码,这种方法代码量大、可操作性较差,不利于软件测试工作的展开。
发明内容
针对现有技术中的问题,本申请提出了一种软件模块自动化测试方法及装置,能够减少代码的冗余,实现对多个模块顺序进行测试,提高软件测试的自动化程度及测试的效率,进而能够提高待测软件的稳定性。
为了解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种软件模块自动化测试方法,包括:
应用预设的表达式生成规则生成模块测试代码对应的测试表达式,该测试表达式包括:可替换内容和固定内容,其中,该替换内容为该测试表达式中的参数值,该固定内容包括:表达式对象和操作关键字;
将所述测试表达式写入脚本的文本域中,获取测试脚本;
接收目标模块的输出数据;
将该输出数据发送至所述测试脚本中的文本域并对该输出数据进行处理;
获取所述输出数据经由所述测试表达式脚本处理后的返回值。
进一步地,所述表达式生成规则包括:所述测试表达式从左往右的参数依次是表达式对象、操作类型和参数;其中,所述表达式对象采用名词命名;所述操作类型和参数采用动名词命名,以明确表达所述操作类型和参数实现的功能意义。
进一步地,所述表达式生成规则包括:所述测试表达式的操作类型和参数均设定在左右括号中,操作类型和参数之间通过逗号隔开。
进一步地,所述表达式生成规则包括:所述表达式对象输入为空时,默认为变量对象。
进一步地,所述预设的表达式生成规则包括:所述表达式对象通过字母和数字定义,所述操作类型也通过字母和数字定义,且两者首字符均为字母,不区分大小写。
进一步地,所述表达式生成规则包括:在所述测试表达式中,所述参数为不定长参数,参数之间通过逗号分隔,单个参数支持首尾空格,当首尾字符含空格或参数内容含逗号时,使用双引号作为转义字符。
进一步地,所述表达式生成规则包括:在所述测试表达式中,参数支持嵌套表达式,表所述表达式存在嵌套时执行顺序是从左到右,从外而内。
进一步地,所述表达式生成规则包括:所述测试表达式是在所述文本域中识别出来的字符串,其获得的所述输出数据和测试表达式本身返回的数据类型均为字符串类型,当所述参数接收数字类或布尔类型的值时,对参数值做类型转换处理,将所述参数值由字符串类型转换成其他类型。
进一步地,所述的软件模块自动化测试方法,还包括:所述测试脚本还用于对不同的软件模块进行测试。
进一步地,所述对该输出数据进行处理,包括:识别已赋值的测试表达式,其中,所述已赋值的测试表达式为所述文本域中接收到目标模块的输出数据的测试表达式;执行所述已赋值的测试表达式,以获取与所述目标模块的输出数据对应的返回值。
进一步地,在所述文本域中还包括:未接收到目标模块的输出数据的测试表达式。
进一步地,所述识别已赋值的测试表达式包括:创建用于存储所述输出数据的测试表达式的字符串键值对象;设置所述测试表达式的存储特征码的开始符和结束符,并初始化存储序号;分别扫描所述文本域中的各个所述测试表达式,以识别所述已赋值的测试表达式;将所述已赋值的测试表达式中的存储特征码的开始符、结束符和存储序号,存入字符串键值对象,存储序号递增;将所述文本域中的所述已赋值的测试表达式全部替换为所述字符串键值对象。
进一步地,所述执行所述赋值的测试表达式,包括:扫描所述识别已赋值的测试表达式之后的文本域内容,识别所述字符串键值对象,根据所述字符串键值对象中的存储特征码获取对应的所述已赋值的测试表达式;执行模块测试代码的判断过程:根据所述已赋值的测试表达式中的表达式对象和所述操作关键字,判断是否存在相匹配的所述模块测试代码,若存在,则执行所述模块测试代码,以获取与所述目标模块的输出数据对应的返回值。
进一步地,所述的软件模块自动化测试方法,还包括:若所述字符串键值对象中包括多个存储特征码,相对应的,则多次执行所述模块测试代码的判断过程。
进一步地,在所述执行所述模块测试代码之前,包括:对输入所述模块测试代码的所述参数值进行预处理,以将所述参数值转化为所述模块测试代码可以识别的数据类型。
进一步地,在所述判断是否存在相匹配的所述模块测试代码之后,还包括:若不存在,则调整所述操作关键字为原来所述已赋值的测试表达式中第一个参数值;判断调整后的所述已赋值的测试表达式中,所述表达式对象和操作关键字与所述模块测试代码是否匹配,若不匹配,则终止测试过程。
进一步地,所述的软件模块自动化测试方法,所述目标模块包括:API接口、数据库访问接口、网络通信模块和远程连接模块中的至少一个。
进一步地,所述扫描的方式包括:从左到右的顺序、从右到左的顺序和从上到下的顺序中的一种。
第二方面,本申请还提供一种软件模块自动化测试装置,包括:
封装模块,用于应用预设的表达式生成规则生成模块测试代码对应的测试表达式,该测试表达式包括:可替换内容和固定内容,其中,该替换内容为该测试表达式中的参数值,该固定内容包括:表达式对象和操作关键字;
生成测试脚本模块,用于将所述测试表达式写入脚本的文本域中,获取测试脚本;
处理模块,用于接收目标模块的输出数据,将该输出数据发送至所述测试脚本中的文本域并对该输出数据进行处理;
返回测试结果模块,用于获取所述输出数据经由所述测试表达式脚本处理后的返回值。
第三方面,本申请还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的软件模块自动化测试方法的步骤。
第四方面,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述的软件模块自动化测试方法的步骤。
由上述技术方案可知,本申请实施例提供一种软件模块自动化测试方法及装置,该方法包括:应用预设的表达式生成规则生成模块测试代码对应的测试表达式,该测试表达式包括:可替换内容和固定内容,其中,该替换内容为该测试表达式中的参数值,该固定内容包括:表达式对象和操作关键字;将所述测试表达式写入脚本的文本域中,获取测试脚本;接收目标模块的输出数据;将该输出数据发送至所述测试脚本中的文本域并对该输出数据进行处理;获取所述输出数据经由所述测试表达式脚本处理后的返回值。
本申请实施例提供的方法,在特定的语言环境中,可以在输入域的文本内容中根据功能表达式语法定义,使用语法分析工具识别出表达式字符串,并通过脚本语言解析器完成执行处理。通过对使用较低级语义实现的功能模块进行封装,转换为功能表达式的方式在脚本中执行,在自动化脚本、计算机、办公自动化和自动化测试领域均有广泛的使用场景,通过对功能表达式实例化支持,功能的积累和扩展,可以构建一套完整的计算机脚本语言。在办公自动化领域,可以通过该脚本语言实现数据采集,文件收发和邮件通知等功能。在自动化测试领域,脚本语言作为一种粘合语言的定位,可以实现跨应用,跨平台的功能交互。功能表达式做粘合剂,在流程化执行场景中,或长或短的模块执行链路中,可以发挥辅助功能,逻辑计算等作用,为自动化测试领域带来技术的革新。另外通过本申请提供的方法能够在不修改脚本的基础上,实现对多个模块进行测试,提高软件测试的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的软件模块自动化测试方法的流程示意图;
图2为本申请实施例提供的识别已赋值的测试表达式的流程示意图;
图3为本申请实施例提供的执行所述已赋值的测试表达式的流程示意图;
图4为本申请实施例提供的软件模块自动化测试装置的结构示意图;
图5为本申请具体应用实例中的功能表达式在脚本语言中应用的示意图;
图6为本申请具体应用实例中的功能表达式在语法解析中识别过程的示意图;
图7为本申请具体应用实例中的功能表达式在语法解析中识别后执行过程的示意图;
图8为本申请实施例的电子设备9600的系统构成示意框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于此,考虑从改变软件模块测试的方式出发,开发一种自动化测试工具,将测试对象模块化封装处理,如API接口测试模块,模块化后只需关注API接口的执行路径、输入、输出以及结果断言等内容,但在场景化的测试案例中,一个案例是以一组模块组成的,模块之间的联系,如模块间结果转换和传递,会涉及到一些逻辑计算、辅助操作等,需提供一种高效、易用、功能丰富的机制,提供脚本语言环境,使得多个模块顺序执行时形成上下文,实现模块的快速组合。
为了能够对模块测试代码进行封装,对多个模块顺序进行测试,提高软件测试的自动化程度及测试的效率,进而能够提高待测软件的稳定性,本申请提供一种执行主体是软件模块自动化测试装置的软件模块自动化测试方法的实施例,所述软件模块自动化测试方法,参见图1,具体包含有如下内容:
步骤100:应用预设的表达式生成规则生成模块测试代码对应的测试表达式,该测试表达式包括:可替换内容和固定内容,其中,该替换内容为该测试表达式中的参数值,该固定内容包括:表达式对象和操作关键字。
步骤200:将所述测试表达式写入脚本的文本域中,获取测试脚本。
步骤300:接收目标模块的输出数据,将该输出数据发送至所述测试脚本中的文本域并对该输出数据进行处理。
具体地,所述目标模块可以是一种软件模块,包含有:API接口、数据库访问接口、网络通信模块和远程连接模块中的至少一个。
步骤400:获取所述输出数据经由所述测试表达式脚本处理后的返回值。
具体地,所述测试脚本还用于对不同的软件模块进行测试。
具体地,在所述预设的表达式生成规则中的功能表达式的一般定义格式为:$[表达式对象]{[操作],参数1,参数2,,},具体包含有:
所述测试表达式从左往右的参数依次是表达式对象、操作类型和参数;其中,所述表达式对象采用名词命名;所述操作类型和参数采用动名词命名,以明确表达所述操作类型和参数实现的功能意义。也就是说,功能表达式中以$符号为开始符号,符号$和{中间为表达式对象,亦为命名空间,一般采用名词命名,操作与参数在左右花括号中间,操作一般采用动词命名,明确表达其实现的功能意义,定义中的中括号的内容为选择性输入项,不输入时为默认为最高级别的对象或操作。
所述测试表达式的操作类型和参数均设定在左右括号中,操作类型和参数之间通过逗号隔开。进一步地,逗号隔开的方式采用逗号分隔值格式(Comma-Separated Values,简称CSV)。
所述表达式对象输入为空时,默认为变量对象,对每个对象设置默认操作。也就是说,功能表达式对象输入为空时,默认为变量Variable对象,每个对象设置默认操作,比如变量Variable对象默认操作为获取Get操作,当输入操作对象为空,且参数1与操作关键字不匹配时,使用默认操作。
所述表达式对象通过字母和数字定义,所述操作类型也通过字母和数字定义,且两者首字符均为字母,不区分大小写。
在所述测试表达式中,所述参数为不定长参数,参数之间通过逗号分隔,单个参数支持首尾空格,当首尾字符含空格,或参数内容含逗号时使用双引号引起,含双引号时则使用双引号作为转义字符。举例来说,含双引号时则使用双引号作为转义字符,如””参数””,识别后内容为”参数”,支持多行数据。
在所述测试表达式中,参数支持嵌套表达式,所述测试表达式存在嵌套时执行顺序是从左到右,从外而内;参见表1,第一个表达式中参数1嵌套了第二个表达式,第二个表达式中的参数2嵌套了第三个表达式。例如,表达式1:$Variable⑴{Get,变量1}与表达式2:$Variable⑵{Get,变量2,$Variable⑶{Get,变量3}},表达式1和表达式2不存在嵌套,执行顺序是先执行表达式1后执行表达式2,而表达式2中嵌套了表达式3作为参数2,因此,表达式2和表达式3的执行顺序是先执行表达式2再执行表达式3,在Variable表达式Get操作中定义参数2为默认值,在变量2已定义且值不为空时,返回该变量值,从而表达式3未触发执行,如果变量2未定义或值为空则执行表达式3作为默认值返回。
表1
所述测试表达式是在所述文本域中识别出来的字符串,其获得的所述输出数据和测试表达式本身返回的数据类型均为字符串,当所述参数接收数字类或布尔类型的值时,对参数值做类型转换处理,将所述参数值由字符串类型转换成其他类型。
为了提高自动化测试的效果,在本申请一个或多个实施例中,步骤300中所述并对该输出数据进行处理,包含有:
步骤310:识别已赋值的测试表达式,其中,所述已赋值的测试表达式为所述文本域中接收到目标模块的输出数据的测试表达式。
具体地,在所述文本域中还包括:未接收到目标模块的输出数据的测试表达式。
步骤320:执行所述已赋值的测试表达式,以获取与所述目标模块的输出数据对应的返回值。
为了进一步提高识别已赋值的测试表达式,进而提高自动化测试的效率,参见图2,在本申请一个或多个实施例中,步骤310具体包含有:
步骤311:创建用于存储所述输出数据的测试表达式的字符串键值对象。
步骤312:设置所述测试表达式的存储特征码的开始符和结束符,并初始化存储序号。
具体地,所述初始化存储序号可以包含有将存储序号均设为0。
步骤313:分别扫描所述文本域中的各个所述测试表达式,以识别所述已赋值的测试表达式。
具体地,所述扫描的方式包含有:
从左到右的顺序、从右到左的顺序和从上到下的顺序中的一种。
步骤314:将所述已赋值的测试表达式中的存储特征码的开始符、结束符和存储序号,存入字符串键值对象,存储序号递增。
步骤315:将所述文本域中的所述已赋值的测试表达式全部替换为所述字符串键值对象。
为了提高所述返回值的准确性,进而提高自动化测试的准确性,参见图3,步骤320具体包含有:
步骤321:扫描所述识别已赋值的测试表达式之后的文本域内容,识别所述字符串键值对象,根据所述字符串键值对象中的存储特征码获取对应的所述已赋值的测试表达式。
步骤322:执行模块测试代码的判断过程:根据所述已赋值的测试表达式中的表达式对象和所述操作关键字,判断是否存在相匹配的所述模块测试代码,若存在,则执行所述模块测试代码,以获取与所述目标模块的输出数据对应的返回值。
具体地,若所述字符串键值对象中包括多个存储特征码,相对应的,则多次执行所述模块测试代码的判断过程。
具体地,在步骤322所述判断是否存在相匹配的所述模块测试代码之后,还包含有:若不存在相匹配的所述模块测试代码,则调整所述操作关键字为原来所述已赋值的测试表达式中第一个参数值;判断调整后的所述已赋值的测试表达式中,所述表达式对象和操作关键字与所述模块测试代码是否匹配,若不匹配,则终止测试过程。
为了提高软件模块自动化测试的准确性,在本申请实施例中,步骤322之前,还包含有:
步骤321a:对输入所述模块测试代码的所述参数值进行预处理,以将所述参数值转化为所述模块测试代码可以识别的数据类型。例如,所述参数值为数字类,则将参数值由字符串类型转换为数字类型,以保证参数值可用,提高参数值的准确度。
从软件层面来说,为了能够对模块测试代码进行封装,对多个模块顺序进行测试,提高软件测试的自动化程度及测试的效率,进而能够提高待测软件的稳定性,本申请提供一种软件模块自动化测试方法中全部或者部分内容的软件模块自动化测试装置,参见图4,具体包含有如下内容:
封装模块10,用于应用预设的表达式生成规则生成模块测试代码对应的测试表达式,该测试表达式包括:可替换内容和固定内容,其中,该替换内容为该测试表达式中的参数值,该固定内容包括:表达式对象和操作关键字。
生成测试脚本模块20,用于将所述测试表达式写入脚本的文本域中,获取测试脚本。
处理模块30,用于接收目标模块的输出数据,将该输出数据发送至所述测试脚本中的文本域并对该输出数据进行处理。
返回测试结果模块40,用于获取所述输出数据经由所述测试表达式脚本处理后的返回值。
基于上述软件模块自动化测试方法及装置,本申请实施例可以通过所述软件模块自动化测试装置执行软件模块自动化测试的过程,为了能够对模块测试代码进行封装,对多个模块顺序进行测试,提高软件测试的自动化程度及测试的效率,进而能够提高待测软件的稳定性,下面对应用本申请实施例所述的软件模块自动化测试方法进行具体说明。
(一)功能表达式的一般的预设规则
功能表达式的一般定义格式为:$[表达式对象]{[操作],参数1,参数2,,},该功能表达式能够实现的功能相当于上述测试表达式实现的功能,下面对功能表达式的预设规则和特性进行阐述:
1)功能表达式中以$符号为开始符号,符号$和{中间为表达式对象,亦为命名空间,一般采用名词命名,操作与参数在左右花括号中间,操作一般采用动词命名,明确表达其实现功能意义,定义中的中括号的内容为选择性输入项,不输入时为默认为最高级别的对象或操作;
2)功能表达式的操作和参数均设定在左右括号中,采用逗号分隔值格式(Comma-Separated Values,简称CSV);
3)功能表达式对象输入为空时,默认为变量Variable对象,每个对象设置默认操作,比如变量Variable对象默认操作为获取Get操作,当输入操作对象为空,且参数1与操作关键字不匹配时,使用默认操作;
4)对象、操作必须使用字母和数字定义,且首字符必须为字母,不区分大小写;
5)参数为不定长参数,参数间使用逗号分隔,符合CSV格式,单个参数支持首尾空格,当首尾字符含空格,或参数内容含逗号时使用双引号引起,含双引号时则使用双引号作为转义字符,如””参数””,识别后内容为”参数”,支持多行数据;
6)参数支持嵌套表达式,表达式存在嵌套时执行顺序是从左到右,从外而内,参数的使用遵循使用即执行原则,例如表达式:”$Variable⑴{Get,变量1}与$Variable⑵{Get,变量2,$Variable⑶{Get,变量3}}”,表达式1和表达式2不存在嵌套,执行顺序是先执行表达式1后执行表达式2,表达式2中则嵌套了表达式3作为参数2,两者执行的顺序是先执行表达式2再执行表达式3,在Variable表达式Get操作中定义参数2为默认值,在变量2已定义且值不为空时,返回该变量值,从而表达式3未触发执行,如果变量2未定义或值为空则执行表达式3作为默认值返回;
7)功能表达式是在输入域文本内容识别出来的字符串,其获得的输入数据和表达式本身返回的数据类型均为字符串,当参数接收数字类或布尔类型值时,需要对参数值做类型转换处理,从字符串转其他类型,同时可以定义表达返回类型为数字或布尔类型。
(二)功能表达式的变量公式的预设规则
如表2所示,定义默认表达式对象为Variable,该表达式对象默认操作为Get操作,表达式1为给功能表达式设置变量值,表达式2为读取变量值的功能表达式的完整形式,表达式3为Get操作的功能表达式的简化形式,当默认值非有效值时,再简化为表达式4的形式。
表2
表达式1 $Variable{Set,变量名,变量值}
表达式2 $Variable{Get,变量名,[默认值]}
表达式3 ${变量名,[默认值]}
表达式4 ${变量名}
(三)功能表达式的数学公式的预设规则
参见表3,显示一种功能表达式的数学公式定义,如表中表达式4所示,定义数学表达式圆周率PI操作,参数1定义为精度值,可选参数,类型为数字,定义返回类型为数字,如表达式5所示,数学Math表达式返回精度为2位小数的圆周率π,$Math{Pi,2},返回“3.14”;如表达式6所示,精度取5位小数,$Math{Pi,5},返回“3.1415”;如表达式7所示,若参数1不选,则默认精度取2位小数,返回值保留两位小数,从举例可以看出,精度较低会导致精度损失。
表3
表达式4 $Math{PI,[精度值]}返回数字
表达式5 $Math{PI,2}返回3.14
表达式6 $Math{PI,5}返回3.14159
表达式7 $Math{PI}返回3.14
如图5所示,为一种功能表达式在脚本语言中应用的示意图,在脚本语言环境中,API接口1、API接口2为两个前后串行执行的两个接口,假设两个接口的输入输出均为JSON格式数据。根据场景设定,执行顺序为:
1)组装接口1输入值,并发起接口1请求;
2)接口1执行后对接口1输出值使用JSON表达式进行解析,提取字段值设置为变量;
3)使用Asserts断言表达式对接口1结果进行断言,断言失败终止执行;
4)根据上下文,组装接口2输入值,部分输入字段使用接口1输出值;
5)发起接口2请求并再次使用JSON表达式对接口2输出值进行解析,并提取字段值设置为变量;
6)使用Asserts断言表达式对接口2结果进行断言;
7)场景中可以通过功能表达式对输入输出数据进行加工、核对、断言等操作。
根据本专利发明的功能表达式的定义规则,如下列举部分表达式具体实例,通过例证说明功能表达式在计算机领域具有普遍意义和实用性。
1)、String字符串表达式
①$String{Equals,字符串1,字符串},判断字符串是否相等;
②$String{Empty,字符串},判断字符串是否为空;
③$String{Sub,字符串,开始位置,[长度]},截取字符串;
2)、Variable变量表达式
①$Variable{Set,变量名,变量值},设置变量;
②$Variable{Get,变量名,[默认值]},获取变量;
③$Variable{Remote,变量名},删除变量;
3)Local局部变量表达式
①$Local{Set,变量名,变量值},设置局部变量;
②$Local{Get,变量名,[默认值]},获取局部变量;
④$Variable{Remote,变量名},删除局部变量;
4)Asserts断言表达式
①$Asserts{Equals,描述,输入值,预期值},断言输入值与预期值是否一致;
5)File文件表达式
①$File{Read,文件名,[字符集]},读取文件内容;
②$File{Write,文件名,内容,[字符集],[写方式]},写文件内容;
③$File{Copy,文件名1,文件名2},复制文件;
6)JavaScript表达式,脚本语言环境可以引用JavaScript、Python等脚本执行引擎,实现支持脚本的输入和执行等操作
①$JavaScript{Eval,JavaScript代码},执行JavaScript代码,并获取结果值;
②$JavaScript{ParseJSON,JavaScript代码},解析符合JavaScript规范的JSON脚本,并提前字段值等操作;
7)Remote远程命令表达式,支持Linux等系统远程执行命令
①$Remote{Shell,环境,命令},远程执行命令;
②$Remote{ListFile,环境,目录,[选项]},获取远程目录文件清单;
8)DataBase数据库表达式
①$DataBase{SQL,环境,查询语句},数据库语句查询;
②$DataBase{Trace,环境,查询语句},数据库语句跟踪;
③$DataBase{Export/Import,环境,表名,文件目录,选项},数据表备份/恢复;
9)Ftp文件传输表达式
①$Ftp{Get,环境,远程文件名,本地文件名,[传输方式]},Ftp下载远程文件;
②$Ftp{Put,环境,本地文件名,远程文件名,[传输方式]},Ftp上传本地文件;
10)Http网页请求表达式
①$Http{Get,url,[字符集]},网页请求,使用Get方法请求;
②$Http{Post,url,内容,[字符集]},网页请求,使用Post方法请求。
(四)软件模块自动化测试的具体应用实例
按以上阐述了功能表达式的基本概念和特性,并例举了一些实例化例证,下面阐述功能表达式的一种实现方法。
功能表达式定义为一种组含特征格式的字符串,在脚本语言环境使用场景中,嵌套在脚本的文本域中。脚本语言环境需要两个步骤完成表达式的识别和执行,下面进行阐述
1)识别功能表达式
如图6所示,为一种功能表达式在语法解析中识别过程的示意图,在文本域中,功能表达式存在多种形式,功能表达式可以嵌入在文本域中任何位置,可以多个表达式同时存在,表达式的参数部分可以嵌套使用,因此,需定义一种规则匹配识别表达式,如下说明在文本域中执行语法分析,识别功能表达式的过程:
①创建字符串键值对象用于存储功能表达式;
②定义功能表达式存储特征码开始符和结束符,初始化存储序号;
③文本域识别按从左到右,按最小单元识别,开始扫描文本域,其中最小单元识别,即识别出的功能表达式,已不包含原定义功能表达式特征格式内容;
④将上一步骤识别出的最小单元功能表达式,按存储特征码开始符+存储序号+存储特征码结束符,存入字符串键值对象,存储序号递增,原文本域内容将已识别功能表达式部分替换为存在键值,重复步骤③、④,直到文本域内容不再含功能表达式格式内容。
举例来说,所述功能表达式键值对存储对象如表4所示,反映键和值之间的关系。其中,所述存储特征码为#EXPR#1#,开始符和结束符均为#,存储序号为#EXPR#1#中的1。
表4
#EXPR#1# $Variable(1){Get,变量1}
#EXPR#2# $Variable(3){Get,变量3}
#EXPR#3# $Variable(2){Get,变量2,#EXPR#2#}
2)执行功能表达式
如图7所示,为一种功能表达式在语法解析中识别后执行过程的示意图,功能表达式执行过程为识别的逆过程,文本域内容识别重组后,有如下几种情况,1)、文本域不存在储特征码;2)、文本域存在一个储特征码;3)、文本域存在多个储特征码;执行功能表达式需要表达式与实现相应功能的程序库相关联,执行表达式通过识别特征码获取表达式对象和操作关键字,并在绑定的程序库中获取执行程序,实现核心功能的执行,具体执行步骤实现如下:
①从左往右开始扫描识别后的文本域内容,识别含有功能表达式存储特征码开始符、结束符和存储序号的内容,提取该键值,并从字符串键值对象中获取原功能表达式;
②拆分功能表达式,获取功能表达式对象、操作,参数值1,参数值2等;
③根据表达式对象和操作组成的名动词组合,匹配程序库代码;
④步骤③匹配程库代码失败,调整操作为Default关键字,原功能表达式中参数1调整为操作值,参数2调整为原参数1值,如此类推;
⑤步骤③、④均匹配程序库失败,抛出异常,执行终止;
⑥执行程序库处理,程序在处理参数时,按顺序调用参数1、参数2等,如果参数含功能表达式存储特征码,则对该参数执行从步骤①开始的处理流程,直到识别为无特征码,优先实现参数中嵌套的功能表达式执行;
⑦表达式输入和返回结果均为纯文本内容,程序库程序实现需要额外对输入输出做安全检查,比如数字类,需要对输入的字符串进行转数字的处理,已确认数字可用,精度准确。
由上述可知,本申请提供一种软件模块自动化测试方法及装置,应用预设的表达式生成规则对模块测试代码进行封装,生成对应的测试表达式,再应用包含有所述测试表达式的测试脚本实现对目标模块的输出数据的测试,能够实现对不同模块进行测试,且在对不同模块进行测试时,只需编写一次所述测试脚本,改变模块时重新运行所述测试脚本即可,能够提高软件测试的自动化程度和测试效率,减少代码的冗余,进而能够提高待测软件的稳定性。
从硬件层面来说,为了能够提高软件测试的自动化程度及测试的效率,进而能够提高待测软件的稳定性,本申请提供一种软件模块自动化测试方法中的全部或部分内容的电子设备的实施例所述电子设备具体包含有如下内容:
处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述通信接口用于实现所述软件模块自动化测试装置以及用户终端等相关设备之间的信息传输;该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照实施例用于实现所述软件模块自动化测试方法方法的实施例及用于实现软件模块自动化测试方法的装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图8为本申请实施例的电子设备9600的系统构成的示意框图。如图8所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图8是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
在本申请一个或多个实施例中,软件模块自动化测试功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
步骤100:应用预设的表达式生成规则生成模块测试代码对应的测试表达式,该测试表达式包括:可替换内容和固定内容,其中,该替换内容为该测试表达式中的参数值,该固定内容包括:表达式对象和操作关键字。
步骤200:将所述测试表达式写入脚本的文本域中,获取测试脚本。
步骤300:接收目标模块的输出数据,将该输出数据发送至所述测试脚本中的文本域并对该输出数据进行处理。
步骤400:获取所述输出数据经由所述测试表达式脚本处理后的返回值。
从上述描述可知,本申请的实施例提供的电子设备,为了能够提高软件测试的自动化程度及测试的效率,进而能够提高待测软件的稳定性。
在另一个实施方式中,所述件模块自动化测试装置可以与中央处理器9100分开配置,例如可以将所述件模块自动化测试装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现提高软件测试的自动化程度及测试的效率的功能。
如图8所示,该电子设备9600还可以包括:通信模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图8中所示的所有部件;此外,电子设备9600还可以包括图8中没有示出的部件,可以参考现有技术。
如图8所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通信模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本地上录音,且使得可以通过扬声器9131来播放本地上存储的声音。
上述描述可知,本申请的实施例提供的电子设备,能够提高软件测试的自动化程度及测试的效率,进而能够提高待测软件的稳定性。
本申请的实施例还提供能够实现上述实施例中的软件模块自动化测试方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的软件模块自动化测试方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤100:应用预设的表达式生成规则生成模块测试代码对应的测试表达式,该测试表达式包括:可替换内容和固定内容,其中,该替换内容为该测试表达式中的参数值,该固定内容包括:表达式对象和操作关键字。
步骤200:将所述测试表达式写入脚本的文本域中,获取测试脚本。
步骤300:接收目标模块的输出数据,将该输出数据发送至所述测试脚本中的文本域并对该输出数据进行处理。
步骤400:获取所述输出数据经由所述测试表达式脚本处理后的返回值。
从上述描述可知,本申请实施例提供的计算机可读存储介质,能够对模块测试代码进行封装,对多个模块顺序进行测试,提高软件测试的自动化程度及测试的效率,进而能够提高待测软件的稳定性。
本申请中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参见方法实施例的部分说明即可。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本申请中应用了具体实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (18)

1.一种软件模块自动化测试方法,其特征在于,包括:
应用预设的表达式生成规则生成模块测试代码对应的测试表达式,该测试表达式包括:可替换内容和固定内容,其中,该替换内容为该测试表达式中的参数值,该固定内容包括:表达式对象和操作关键字;
将所述测试表达式写入脚本的文本域中,获取测试脚本;
接收目标模块的输出数据,将该输出数据发送至所述测试脚本中的文本域并对该输出数据进行处理;
获取所述输出数据经由所述测试表达式脚本处理后的返回值;
所述并对该输出数据进行处理,包括:
识别已赋值的测试表达式,其中,所述已赋值的测试表达式为所述文本域中接收到目标模块的输出数据的测试表达式;
执行所述已赋值的测试表达式,以获取与所述目标模块的输出数据对应的返回值;
在所述文本域中还包括:未接收到目标模块的输出数据的测试表达式;
所述识别已赋值的测试表达式包括:
创建用于存储所述输出数据的测试表达式的字符串键值对象;
设置所述测试表达式的存储特征码的开始符和结束符,并初始化存储序号;
分别扫描所述文本域中的各个所述测试表达式,以识别所述已赋值的测试表达式;
将所述已赋值的测试表达式中的存储特征码的开始符、结束符和存储序号,存入字符串键值对象,存储序号递增;
将所述文本域中的所述已赋值的测试表达式全部替换为所述字符串键值对象。
2.根据权利要求1所述的软件模块自动化测试方法,其特征在于,所述预设的表达式生成规则包括:
所述测试表达式从左往右的参数依次是表达式对象、操作类型和参数;
其中,所述表达式对象采用名词命名;所述操作类型和参数采用动名词命名,以明确表达所述操作类型和参数实现的功能意义。
3.根据权利要求2所述的软件模块自动化测试方法,其特征在于,所述预设的表达式生成规则包括:
所述测试表达式的操作类型和参数均设定在左右括号中,操作类型和参数之间通过逗号隔开。
4.根据权利要求2所述的软件模块自动化测试方法,其特征在于,所述预设的表达式生成规则包括:
所述表达式对象输入为空时,默认为变量对象。
5.根据权利要求2所述的软件模块自动化测试方法,其特征在于,所述预设的表达式生成规则包括:
所述表达式对象通过字母和数字定义,所述操作类型也通过字母和数字定义,且两者首字符均为字母,不区分大小写。
6.根据权利要求1所述的软件模块自动化测试方法,其特征在于,所述预设的表达式生成规则包括:
在所述测试表达式中,所述参数为不定长参数,参数之间通过逗号分隔,单个参数支持首尾空格,当首尾字符含空格或参数内容含逗号时,使用双引号作为转义字符。
7.根据权利要求1所述的软件模块自动化测试方法,其特征在于,所述预设的表达式生成规则包括:
在所述测试表达式中,参数支持嵌套表达式,所述测试表达式存在嵌套时执行顺序是从左到右,从外而内。
8.根据权利要求1所述的软件模块自动化测试方法,其特征在于,所述预设的表达式生成规则包括:
所述测试表达式是在所述文本域中识别出来的字符串,其获得的所述输出数据和测试表达式本身返回的数据类型均为字符串类型,当所述参数接收数字类或布尔类型的值时,对参数值做类型转换处理,将该参数值由字符串类型转换成其他类型。
9.根据权利要求1所述的软件模块自动化测试方法,其特征在于,还包括:
所述测试脚本还用于对不同的软件模块进行测试。
10.根据权利要求1所述的软件模块自动化测试方法,其特征在于,所述执行所述赋值的测试表达式,包括:
扫描所述识别已赋值的测试表达式之后的文本域内容,识别所述字符串键值对象,根据所述字符串键值对象中的存储特征码获取对应的所述已赋值的测试表达式;
执行模块测试代码的判断过程:根据所述已赋值的测试表达式中的表达式对象和所述操作关键字,判断是否存在相匹配的所述模块测试代码,若存在,则执行所述模块测试代码,以获取与所述目标模块的输出数据对应的返回值。
11.根据权利要求10所述的软件模块自动化测试方法,其特征在于,还包括:
若所述字符串键值对象中包括多个存储特征码,相对应的,则多次执行所述模块测试代码的判断过程。
12.根据权利要求10所述的软件模块自动化测试方法,其特征在于,在所述执行所述模块测试代码之前,包括:
对输入所述模块测试代码的所述参数值进行预处理,以将所述参数值转化为所述模块测试代码可以识别的数据类型。
13.根据权利要求10所述的软件模块自动化测试方法,其特征在于,在所述判断是否存在相匹配的所述模块测试代码之后,还包括:
若不存在,则调整所述操作关键字为原来所述已赋值的测试表达式中第一个参数值;
判断调整后的所述已赋值的测试表达式中,所述表达式对象和操作关键字与所述模块测试代码是否匹配,若不匹配,则终止测试过程。
14.根据权利要求1所述的软件模块自动化测试方法,其特征在于,所述目标模块包括:API接口、数据库访问接口、网络通信模块和远程连接模块中的至少一个。
15.根据权利要求1所述的软件模块自动化测试方法,其特征在于,所述扫描的方式包括:
从左到右的顺序、从右到左的顺序和从上到下的顺序中的一种。
16.一种软件模块自动化测试装置,其特征在于,包括:
封装模块,用于应用预设的表达式生成规则生成模块测试代码对应的测试表达式,该测试表达式包括:可替换内容和固定内容,其中,该替换内容为该测试表达式中的参数值,该固定内容包括:表达式对象和操作关键字;
生成测试脚本模块,用于将所述测试表达式写入脚本的文本域中,获取测试脚本;
处理模块,用于接收目标模块的输出数据,将该输出数据发送至所述测试脚本中的文本域并对该输出数据进行处理;
返回测试结果模块,用于获取所述输出数据经由所述测试表达式脚本处理后的返回值;
所述并对该输出数据进行处理,包括:
识别已赋值的测试表达式,其中,所述已赋值的测试表达式为所述文本域中接收到目标模块的输出数据的测试表达式;
执行所述已赋值的测试表达式,以获取与所述目标模块的输出数据对应的返回值;
在所述文本域中还包括:未接收到目标模块的输出数据的测试表达式;
所述识别已赋值的测试表达式包括:
创建用于存储所述输出数据的测试表达式的字符串键值对象;
设置所述测试表达式的存储特征码的开始符和结束符,并初始化存储序号;
分别扫描所述文本域中的各个所述测试表达式,以识别所述已赋值的测试表达式;
将所述已赋值的测试表达式中的存储特征码的开始符、结束符和存储序号,存入字符串键值对象,存储序号递增;
将所述文本域中的所述已赋值的测试表达式全部替换为所述字符串键值对象。
17.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至15任一项所述的软件模块自动化测试方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至15任一项所述的软件模块自动化测试方法的步骤。
CN201910703075.9A 2019-07-31 2019-07-31 软件模块自动化测试方法及装置 Active CN110399306B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910703075.9A CN110399306B (zh) 2019-07-31 2019-07-31 软件模块自动化测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910703075.9A CN110399306B (zh) 2019-07-31 2019-07-31 软件模块自动化测试方法及装置

Publications (2)

Publication Number Publication Date
CN110399306A CN110399306A (zh) 2019-11-01
CN110399306B true CN110399306B (zh) 2023-09-26

Family

ID=68327010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910703075.9A Active CN110399306B (zh) 2019-07-31 2019-07-31 软件模块自动化测试方法及装置

Country Status (1)

Country Link
CN (1) CN110399306B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209204B (zh) * 2020-01-06 2023-09-22 杭州涂鸦信息技术有限公司 一种基于JSON的web自动化测试方法及其系统和装置
CN112860552B (zh) * 2021-02-02 2023-12-15 贝壳找房(北京)科技有限公司 关键字机制运行方法和装置
CN112988601B (zh) * 2021-04-29 2024-03-05 中国工商银行股份有限公司 测试脚本开发方法及装置
CN117472785B (zh) * 2023-12-25 2024-04-16 银河麒麟软件(长沙)有限公司 Linux系统下的Openstack测试方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630681A (zh) * 2015-12-28 2016-06-01 上海瀚之友信息技术服务有限公司 一种基于web行为驱动的自动化测试方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7451358B2 (en) * 2005-04-07 2008-11-11 National Instruments Corporation Test executive system with automatic expression logging and parameter logging

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105630681A (zh) * 2015-12-28 2016-06-01 上海瀚之友信息技术服务有限公司 一种基于web行为驱动的自动化测试方法及系统

Also Published As

Publication number Publication date
CN110399306A (zh) 2019-11-01

Similar Documents

Publication Publication Date Title
CN110399306B (zh) 软件模块自动化测试方法及装置
US10937413B2 (en) Techniques for model training for voice features
CN109086199B (zh) 一种自动化生成测试脚本的方法、终端和可存储介质
CN110164435A (zh) 语音识别方法、装置、设备及计算机可读存储介质
CN105739981B (zh) 一种代码补全实现方法、装置和计算设备
CN111176996A (zh) 测试用例生成方法、装置、计算机设备及存储介质
US10854189B2 (en) Techniques for model training for voice features
CN110705235B (zh) 业务办理的信息录入方法、装置、存储介质及电子设备
CN116860949B (zh) 问答处理方法、装置、系统、计算设备及计算机存储介质
CN103744836A (zh) 一种人机对话方法及装置
CN113220782A (zh) 多元测试数据源生成方法、装置、设备及介质
KR20190000776A (ko) 정보 입력 방법
CN109766422A (zh) 信息处理方法、装置及系统、存储介质、终端
KR20190095099A (ko) 거래 시스템 에러 검출 방법, 장치, 저장 매체 및 컴퓨터 장치
CN109326284A (zh) 语音搜索的方法、装置和存储介质
CN106294480A (zh) 一种文件格式转换方法、装置及试题导入系统
CN115509485A (zh) 一种业务表单的填写方法、装置、电子设备和存储介质
CN104347081A (zh) 一种测试场景说法覆盖度的方法和装置
CN116893809A (zh) 用于代码可解释性的代码富集的方法、存储介质和系统
CN110597765A (zh) 一种大零售呼叫中心异构数据源数据处理方法及装置
CN110838338A (zh) 生物分析项目的建立系统、方法、存储介质、及电子设备
CN115061785A (zh) 信息下发方法、装置、存储介质及服务器
CN114968917A (zh) 一种文件数据快速导入方法及装置
CN110471708B (zh) 基于可重用组件的配置项获取的方法及装置
CN106682221B (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