一种基于语音关键字驱动的自动化测试方法及系统与流程

文档序号:12719356阅读:234来源:国知局
一种基于语音关键字驱动的自动化测试方法及系统与流程

本发明涉及一种自动测试技术领域,尤其涉及一种基于语音关键字驱动的自动化测试方法及系统。



背景技术:

为了提高测试效率和准确性,越来越多的测试工作引入了自动化测试的思想和方法,随着自动化测试工具的发展,自动化测试更加容易实现更高效。实践证明,软件自动化测试技术帮助软件开发和测试人员在更短的时间内开发出更高质量的产品,通过代替频繁重复的手工测试从而节省了大量的时间开支。同时,自动化测试技术也避免了手工测试出现的人为错误,完成了许多手工测试无法实现的工作。

自动化测试相较于手动测试有许多明显的优势,但同时自动化测试也存在着一些限制。简单的录制/回放测试工具本省无法提供高效的测试。依靠捕捉产生脚本的维护需要耗费大量的时间。在项目需求不稳定或页面频繁变动的阶段,自动化测试的效率将非常低下。面对自动化测试的这种尴尬,关键字驱动的自动化测试可有效地提高自动化测试脚本的维护效率。关键字驱动的自动化测试搭建了一个自动化测试框架,测试框架脚本与业务、数据分离,节省了大量对脚本的维护工作。

虽然,利用关键字驱动的自动化测试,提高了测试效率。但在建设自动化测试脚本时仍需要打字输入关键字,或从对象库中拖入对象形成测试脚本,才能启动自动化测试,使得测试人员无法摆脱对测试地地域限制,灵活性较弱,还增加了测试的时间成本和人力成本。

公开号为105068927A的发明专利申请为本申请的背景技术文件。



技术实现要素:

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种灵活方便,测试效率高,时间成本和人力成本低的基于语音关键字驱动的自动化测试方法及系统。

为解决上述技术问题,本发明提出的技术方案为:一种基于语音关键字驱动的自动化测试方法,包括如下步骤:

S1. 根据被测软件和测试工具构建关键字集;

S2. 获取语音测试指令;

S3. 将所述语音测试指令与所述关键字集进行匹配,识别所述语音测试指令中的关键字;

S4. 根据所述关键字生成自动化测试用例,执行测试并输出测试结果。

作为本发明的进一步改进,所述步骤S1中的关键字集中的关键字包括被操作对象关键字、操作关键字和值关键字。

作为本发明的进一步改进,所述步骤S2的具体步骤包括:获取语音信号,消除所述语音信号的噪声干扰,通过端点检测法提取所述语音信号中的语音测试指令。

作为本发明的进一步改进,步骤S3中采用DTW算法将所述语音测试指令与所述关键字集进行匹配,识别所述语音测试指令中的关键字。

作为本发明的进一步改进,在所述步骤S1中,还包括构建使用者的声音特征样本库。

作为本发明的进一步改进,在所述步骤S2之后,还包括步骤S2a. 将所述语音测试指令与所述使用者的声音特征样本库进行匹配,匹配成功则判定语音测试指令的发出者为有权限使用者,跳转至步骤S3;否则判定语音测试指令的发出者为无权限使用者,中止该语音测试指令的后续执行。

一种基于语音关键字驱动的自动化测试系统,包括语音录入模块、语音测试指令识别模块和自动测试模块;

所述语音录入模块用于录入包含语音测试指令的语音,并发送至语音测试指令识别模块;

所述语音测试指令识别模块用于从所述语音中提取语音测试指令,识别所述语音测试指令中的关键字,并将所述关键字发送至所述自动测试模块;

所述自动测试模块用于根据所述关键字生成自动化测试用例,执行测试并输出测试结果。

作为本发明的进一步改进,所述语音测试指令识别模块包括关键字集模块、语音测试指令提取模块、识别匹配模块;

所述语音测试指令提取模块用于消除所述语音信号的噪声干扰,通过端点检测法提取所述语音信号中的语音测试指令;

所述关键字集模块用于为所述识别匹配模块提供预先根据被测软件和测试工具构建关键字集;

所述识别匹配模块用于将所述语音测试指令与所述关键字集进行匹配,识别所述语音测试指令中的关键字。

作为本发明的进一步改进,所述语音测试指令识别模块还包括声音特征样本库和使用权限判定模块;

所述声音特征样本库用于存储预先构建的使用者的语音特征样本;

所述使用权限判定模块用于将所述语音测试指令与所述使用者的声音特征样本库进行匹配,匹配成功则判定语音测试指令的发出者为有权限使用者;否则判定语音测试指令的发出者为无权限使用者,中止该语音测试指令的后续执行。

作为本发明的进一步改进,所述语音录入模块通过无线网络与所述语音测试指令识别模块连接。

与现有技术相比,本发明的优点在于:

1、本发明通过语音识别的关键字进行自动化测试的功能,无需测试人员手动输入关键字,使得测试更加灵活,测试效率更高,降低了测试的人力成本和时间成本。

2、本发明通过使用者的声音特征样本库进行身份匹配,确保测试过程由具有授权的使用者启动,保证了测试过程的安全性。

3、本发明能实现通过远程语音功能识别关键字驱动自动化测试,无需测试人员在实验室现场进行人力设置测试脚本,既方便了实验人员的操作又节省了时间。

附图说明

图1为本发明具体实施例的流程示意图。

图2为本发明具体实施例的结构示意图。

图3为DTW算法搜索路径示意图。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

如图1所示,本实施例的基于语音关键字驱动的自动化测试方法,包括如下步骤:S1. 根据被测软件和测试工具构建关键字集;S2. 获取语音测试指令;S3. 将语音测试指令与关键字集进行匹配,识别语音测试指令中的关键字;S4. 根据关键字生成自动化测试用例,执行测试并输出测试结果。

在本实施例中,关键字驱动自动化测试将测试逻辑按照关键字进行分解,形成数据文件,关键字对应封装的业务逻辑。步骤S1中的关键字集中的关键字包括被操作对象关键字、操作关键字和值关键字。还可以包括根据不同的对象的对应参数。关键字集的构建根据不同项目的需求有所不同,但是都可以依据通用的规则来抽象提取,可以根据实际情况补充完善。以下仅仅为本实施例中关键字提取规则的举例说明,而本实施例并不仅仅限制于以下所列举的关键字提取规则。1:在提取关键字前,先分析需求文档,列出所有可能涉及的测试点和测试类型。2:被操作对象关键字主要来自被测对象、测试工具以及测试设备等。3:操作关键字是对应特定对象所进行的行为的描述,应当捕捉清楚具体的动作信息。4:提取的关键字必须与自动化工具识别的对象名称联系起来,是工具能准确定位和操纵的对象。5:关键字提取完毕的准则是已经完全覆盖了需求的各个测试点。所提取的关键字能够区分相似语句中的一字之差可能导致的句意不同,如速度增加10公里每小时和速度增加至10公里每小时。

在本实施例中,步骤S2的具体步骤包括:获取语音信号,消除语音信号的噪声干扰,通过端点检测法提取语音信号中的语音测试指令。由于获取的语音信号中,不可避免的会包括环境噪声,而环境噪声和干扰会对语音识别有严重影响,致使识别率低,因此在对语音信号进行识别前,必须对原始语音进行处理,部分消除噪声和不同说话人带来的影响,使处理后的信号更能反映语音的本质特征。在本实施例中,还利用端点检测法在语音信号中的语音和非语音信号时段(如背景噪声)分离开来,准确地确定出语音信号的起始点,为获得准确的识别提供前提。常用的端点检测方法有过零率和短时距能量等几种。在本实施例中,经过端点检测后采用维纳滤波,消除部分噪声,提取被平稳噪声所污染的信号。

在本实施例中,步骤S3中采用DTW(Dynamic Time Warping,动态时间规整)算法将语音测试指令与关键字集进行匹配,识别语音测试指令中的关键字。针对孤立词语或者在连续语音中检测已知的若干关键词在何处出现,需要将语音测试指令的特征矢量依次与关键字集中的每个关键字进行相似度比较,将相似度最高的关键字作为识别结果输出。在本实施例中,DTW算法描述为:系统将关键字的语音特征模板库中各个模板称之为参考模板,用R来表示;将待识别的输入语音经过预处理以及特征提取后得到的特征矢量序列称之为测试模板,用r表示,则参考模板可表示为R={R(1),R(2),……,R(m),……,R(M)},其中M为参考模板所包含的语音帧总数,m为语音帧的时序标号,R(m)为第m帧的语音特征矢量。测试模板可表示为T={T(1),T(2),……,T(n),……,T(N)},其中n为测试语音帧的时序标号, N为该模板所包含的语音帧总数,T(n)为第n帧的语音特征矢量。参考模板与测试模板一般采用相同类型的特征矢量(如MFCC,LPC系数)、相同的帧长、相同的窗函数和相同的帧移。

为了比较T与R之间的相似度,可以通过计算它们间的距离 D[T,R],距离越小则相似度越高,通常采用动态规划(DP)的方法。若把测试模板的各个帧号n=1~N在一个二维直角坐标系中的横轴上标出,把参考模板的各帧号m=1~M在纵轴上标出,通过这些表示帧号的整数坐标画出一些纵横线即可形成一个网络,网络中的每一个交叉点(n,m)表示测试模式中某一帧的交汇点。DP算法可以归结为寻找一条通过此网络中若干格点的路径,路径通过的格点即为测试和参考模板中进行计算的帧号。由于任何一种语音的各部分的先后次序不可能改变,因此所选的路径必须从左下角出发,在右上角结束,如图3所示。为了描述这条路径,假设路径通过的所有格点依次为(n1 ,m1 ),……,(ni ,mj ),……,(nN ,mM),其中(n1 ,m1 )=(1,1),(nN ,mM)=(N,M)。为了使路径不至于过倾斜,可以约束斜率在0.5~2的范围内,如果路径已经通过了格点(n ,m ),那么下一个通过的格点(n ,m )只可能是下列三种情况之一:

(n ,m )=(n +1,m)

(n ,m )=(n +1,m +1)

(n ,m )=(n ,m+1 )

用r表示上述三个约束条件。求最佳路径的问题可以归结为满足约束条件r时,求最佳路径函数m =Ø(n ),使得沿路径的积累距离达到最小值,即:

搜索该路径的方法如下:搜索从(n ,m )点出发,可以展开若干条满足ŋ的路径,假设可计算每条路径达到(n ,m )点时的总的积累距离,具有最小累积距离者即为最佳路径。易于证明,限定范围的任一格点(n ,m )只可能有一条搜索路径通过。对于(ni,mi),其可达到该格点的前一个格点只可能是(n ,m )、(n ,m -1)和(n ,m -2),那么(n ,m )一定选择这3个距离之路径延伸而通过(n ,m ),这时此路径的积累距离为:

D[(n ,m )]=d[T(n ),R(m )]+min{D(n+1,m),D(n+1,m+1),D(n,m+1)}

这样可以从(n ,m )=(1,1)出发搜索(n ,m ),对每一个(n ,m )都存储相应的距离,这个距离是当前格点的匹配距离与前一个累计距离最小的格点(按照设定的斜率在三个格点中进行比较)。搜索到(n ,m )时,只保留一条最佳路径。如果有必要的话,通过逐点向前寻找就可以求得整条路径。在本实施例中,DTW算法可以直接按上面描述来实现,即分配两个N×M的矩阵,分别为积累距离矩阵D和帧匹配距离矩阵d,其中帧匹配距离矩阵d(i,j)的值为测试模板的第i帧与参考模板的第j帧间的距离。D(N,M)即为最佳匹配路径所对应的匹配距离。

在本实施例中,在步骤S1中,还包括构建使用者的声音特征样本库。在步骤S2之后,还包括步骤S2a. 将语音测试指令与使用者的声音特征样本库进行匹配,匹配成功则判定语音测试指令的发出者为有权限使用者,跳转至步骤S3;否则判定语音测试指令的发出者为无权限使用者,中止该语音测试指令的后续执行。声音特征样本库用于判断所输入语音测试指令的来源身份。首先录制所有测试人员的声音,并提取声音特征参数,保存声音特征样本,在测试计算机中预存储所有测试人员的声音特征样本,生成一个声音特征样本库。当有语音测试指令输入时,将输入源的声音特征参数与样本库中所有的声音特征样本逐一进行比对,根据比对结果判断该语音测试指令的发出者是否为有权限使用者,从而保证测试的安全性。对语音测试指令与声音特征样本库的匹配可采用现有技术的声音频率等方法。

如图2所示,本实施例的基于语音关键字驱动的自动化测试系统,包括语音录入模块、语音测试指令识别模块和自动测试模块;语音录入模块用于录入包含语音测试指令的语音,并发送至语音测试指令识别模块;语音测试指令识别模块用于从语音中提取语音测试指令,识别语音测试指令中的关键字,并将关键字发送至自动测试模块;自动测试模块用于根据关键字生成自动化测试用例,执行测试并输出测试结果。

在本实施例中,语音测试指令识别模块包括关键字集模块、语音测试指令提取模块、识别匹配模块;语音测试指令提取模块用于消除语音信号的噪声干扰,通过端点检测法提取语音信号中的语音测试指令;关键字集模块用于为识别匹配模块提供预先根据被测软件和测试工具构建关键字集;识别匹配模块用于将语音测试指令与关键字集进行匹配,识别语音测试指令中的关键字。

在本实施例中,语音测试指令识别模块还包括声音特征样本库和使用权限判定模块;声音特征样本库用于存储预先构建的使用者的语音特征样本;使用权限判定模块用于将语音测试指令与使用者的声音特征样本库进行匹配,匹配成功则判定语音测试指令的发出者为有权限使用者;否则判定语音测试指令的发出者为无权限使用者,中止该语音测试指令的后续执行。在本实施例中,语音录入模块通过无线网络与语音测试指令识别模块连接。通过无线网络将语音测试指令发送至语音测试指令识别模块,可使测试操作者不再局限于一定要在测试现场进行测试工作,灵活度更高。

上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1