一种基于余弦相似度的测试方法及系统技术方案

技术编号:30891503 阅读:20 留言:0更新日期:2021-11-22 23:32
本发明专利技术提供一种基于余弦相似度的测试方法及系统,包括:输入测试用例;提取针对测试用例的预期响应结果,预期响应结果包括预期响应向量;接收针对测试用例的实际响应报文;根据预设的关键字对实际响应报文进行筛选及分词统计,得到实际响应数据结果;对实际响应数据结果进行转换,得到实际响应向量;对预期响应向量和实际响应向量进行余弦相似度计算,得到当前余弦相似度值;判断当前余弦相似度值是否大于余弦相似度预期值;若否,则判定测试用例执行失败;若是,则判定测试用例执行成功。通过此方法,能够解决现有技术在返回结果含有动态变化数据的场景下无法准确测试的问题,大幅度提高了测试准确性。提高了测试准确性。提高了测试准确性。

【技术实现步骤摘要】
一种基于余弦相似度的测试方法及系统


[0001]本专利技术涉及计算机
,具体涉及一种基于余弦相似度的测试方法及系统。

技术介绍

[0002]当前常用的测试手段和测试方法是通过接口自动化测试,发送请求报文,并针对返回的响应报文进行断言分析,进行解决。目前相关工具较多,有代表性且开源的工具有YApi、或通过http协议的自研工具等,实现方式以YApi为例:
[0003]YApi首先针对接口进行分类,并录入/导入到YApi工具中,接口类型相同的会被归为一类接口;然后设置用例执行集合,在集合中添加上一步中已经分类的接口,作为用例,每个用例可以根据的用例设计方法进行相应参数的调整;通过设置全局变量或动态获取查询词的方法,对接口用例请求链接中的请求参数进行替换,达到动态发送HTTP请求的目的;最后,通过接收返回请求的响应报文,进行断言,来确定返回的数据中,是否存在需要关注的验证点,如果断言成功,则用例执行成功,反之,用例执行失败,并提供最终的测试报告。对于其他自研的工具,从使用的角度来看,基本也遵循了YApi的使用逻辑。
[0004]这种接口自动化的测试手段,对于返回固定响应数据结构以及数据结果,进行正确性的判断效果明显。
[0005]在实现本专利技术过程中,申请人发现现有技术中至少存在如下问题:
[0006]若测试时返回的数据结构是动态的,数据结果也是动态的,就无法满足断言判断的正确性。例如对微博搜索进行测试时,结果中的数据是动态的,每次搜索出来的数据都跟前一次或多或少有所不同。此时,前述的常用测试方法就无法满足要求。因此,对于返回结果数据为动态的软件或系统如何进行测试,是需要解决的问题。

技术实现思路

[0007]本专利技术实施例提供一种基于余弦相似度的测试方法及系统,用以解决现有技术的接口自动化测试方法,在返回结果含有动态变化数据的场景下无法准确测试的问题。
[0008]为达到上述目的,一方面,本专利技术实施例提供一种基于余弦相似度的测试方法,包括:
[0009]输入测试用例;提取针对所述测试用例的预期响应结果,所述预期响应结果包括预期响应向量;接收针对所述测试用例的实际响应报文;根据预设的关键字对所述实际响应报文进行筛选及分词统计,得到实际响应数据结果;对所述实际响应数据结果进行转换,得到实际响应向量;对所述预期响应向量和所述实际响应向量进行余弦相似度计算,得到当前余弦相似度值;判断当前余弦相似度值是否大于余弦相似度预期值;若否,则判定测试用例执行失败;若是,则判定测试用例执行成功。
[0010]另一方面,本专利技术实施例提供一种基于余弦相似度的测试系统,包括:输入模块,用于输入测试用例;调取模块,用于提取针对所述测试用例的预期响应结果,所述预期响应结果包括预期响应向量;接收模块,用于接收针对所述测试用例的实际响应报文;数据处理
模块,用于根据预设的关键字对所述实际响应报文进行筛选及分词统计,得到实际响应数据结果;对所述实际响应数据结果进行转换,得到实际响应向量;余弦相似度判断模块,用于对所述预期响应向量和所述实际响应向量进行余弦相似度计算,得到当前余弦相似度值;判断当前余弦相似度值是否大于余弦相似度预期值;若否,则判定测试用例执行失败;若是,则判定测试用例执行成功。
[0011]上述技术方案具有如下有益效果:
[0012]本技术方案针对动态的数据结构,首先解决了响应结果中确定顺序的问题(简称:定序),可以有效的解决动态数据结构中的结构不稳定的问题,进而将动态数据按照分词的方法标记为向量,通过判断预期结果向量与实际结果结果向量的夹角余弦的方式,将文本对比,转化为判断通过概率比对的方法进行最终结果的判断,避免了固定断言无法满足判断动态数据的问题;并根据实际情况,动态设置预期,根据预期进行执行判断,可以为每个搜索词设定一个动态的预期结果,从而大幅度提高了测试的准确性。
[0013]此外,本技术方案还具有以下特点:
[0014]1、在测试过程中,可灵活设置获取数据的关键字集合池,根据关键字集合池中指定的关键字进行值的获取,将不关注的数据进行过滤,从而提高工作效率;
[0015]2、在测试过程中,可同时根据执行的结果,进行相关数据的数据分析。
附图说明
[0016]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本专利技术一种基于余弦相似度的测试方法的流程图;
[0018]图2是本专利技术一种基于余弦相似度的测试系统的结构框图;
[0019]图3是本专利技术一具体实施例中的流程图;
[0020]图4是本专利技术一具体实施例中的实际响应报文的示例。
具体实施方式
[0021]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0022]本申请针对现有技术的接口自动化测试方法,在返回结果含有动态变化数据的场景下无法准确测试的问题,进行了详细的分析,并确定出现有技术存在此问题的原因在于以下几个方面:
[0023]动态数据结构中,返回数据结构的先后顺序不稳定,存在增/删结构中,某一些数据集合的情况;获取数据的方法不能根据实际的报文进行选择,使用起来不够灵活,方便;动态数据中断言的正确性失效,本身数据结构不稳定,断言的路径选择会出现偏差,数据结果动态生成,断言将无法生效;由于工具框架的影响,无法进行很好的扩展,动态数据的执
行结果,需要进行动态调整预期,即,如果本次执行的结果符合预期,就会将本次执行作为下一次执行的预期进行比对。所以,不满足当前微博搜索的测试需求。
[0024]因此,为解决该问题,本申请从以下几方面着手:
[0025]针对动态的数据结构,响应结果中确定顺序的问题,以下简称“定序”;解决动态返回的结果中,动态数据获取的问题;解决断言无法满足判断动态数据的问题;解决动态预期调整的问题,以提高验证结果的有效性。
[0026]具体技术方案如下:
[0027]如图1所示,本专利技术提供一种基于余弦相似度的测试方法,包括:
[0028]S101、输入测试用例;
[0029]S102、提取针对所述测试用例的预期响应结果,所述预期响应结果包括预期响应向量;
[0030]S103、接收针对所述测试用例的实际响应报文;
[0031]S104、根据预设的关键字对所述实际响应报文进行筛选及分词统计,得到实际响应数据结果;
[0032]S105、对所述实际响应数据结果进行转换,得到实际响应向量;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于余弦相似度的测试方法,其特征在于,包括:输入测试用例;提取针对所述测试用例的预期响应结果,所述预期响应结果包括预期响应向量;接收针对所述测试用例的实际响应报文;根据预设的关键字对所述实际响应报文进行筛选及分词统计,得到实际响应数据结果;对所述实际响应数据结果进行转换,得到实际响应向量;对所述预期响应向量和所述实际响应向量进行余弦相似度计算,得到当前余弦相似度值;判断当前余弦相似度值是否大于余弦相似度预期值;若否,则判定测试用例执行失败;若是,则判定测试用例执行成功。2.如权利要求1所述的基于余弦相似度的测试方法,其特征在于,所述预期响应结果还包括预期响应数据结果;在对所述预期响应向量和所述实际响应向量进行余弦相似度计算之前,还包括:判定所述预期响应结果不为空、且所述实际响应数据结果的数据顺序与所述预期响应数据结果的数据顺序相一致;以及,所述方法还包括:若所述预期响应结果为空,则执行预期响应结果添加过程,并在执行完所述预期响应结果添加过程后结束当前测试;若所述实际响应数据结果的数据顺序与所述预期响应数据结果的数据顺序不一致,则告警,并结束当前测试。3.如权利要求1所述的基于余弦相似度的测试方法,其特征在于,还包括:若判定测试用例执行失败,则告警;若判定测试用例执行成功,则更新预期响应结果;所述更新预期响应结果,包括:以当前测试用例的实际响应数据结果替换所述预期响应数据结果,并以当前测试用例的实际响应向量替换所述预期响应向量。4.如权利要求2所述的基于余弦相似度的测试方法,其特征在于,所述预期响应结果添加过程,包括:输入第二测试用例;接收针对所述第二测试用例的第二实际响应报文;对所述第二实际响应报文进行筛选及分词统计,得到第二实际响应数据结果;根据所述第二实际响应数据结果对所述实际响应数据结果进行降噪处理,得到待添加实际响应数据结果;对所述待添加实际响应数据结果进行转换,得到待添加实际响应向量;以所述待添加实际响应数据结果作为所述预期响应数据结果,并以所述待添加响应向量作为所述预期响应向量。5.如权利要求1所述的基于余弦相似度的测试方法,其特征在于,所述对预期响应向量
和所述实际响应向量进行余弦相似度计算,得到当前余弦相似度值,采用以下公式进行:其中,cosα表示当前余弦相似度值,a表示预期响应向量,b表示实际响应向量。6.一种基于余弦相似度的测试系统,其特...

【专利技术属性】
技术研发人员:孙中安
申请(专利权)人:微梦创科网络科技中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1