[发明专利]基于JMH的规则自动化测试的方法有效
申请号: | 201911199384.3 | 申请日: | 2019-11-29 |
公开(公告)号: | CN111078538B | 公开(公告)日: | 2023-06-20 |
发明(设计)人: | 魏燕子;范渊 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 杭州中成专利事务所有限公司 33212 | 代理人: | 金祺;周世骏 |
地址: | 310051 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 jmh 规则 自动化 测试 方法 | ||
本发明提供了一种基于JMH的规则自动化测试的方法,包括以下步骤:1)、规则匹配;2)、测试规则的score。1.1)、将原始日志中的原始样例解析成json格式的数据发送到kafka的topic中,然后对kafka中的topic进行消费并将消费后的数据保存到文件中;1.2)、将步骤1.1得到的文件存放在规则测试的服务器上;1.3)、读取文件中的消费后的数据,根据其rawEvent字段将提取对应的值进行分词,将分词后的结果存放在HashSet中,并对分词后的结果进行hash,得到对应的hash值;1.4)、将分词之后的结果存放在在HashSet中;1.5)、测试规则是否出发告警;1.6)、结果文件的输出。本发明在规则匹配时不需要在服务器上运行就可以测试该条规则对应的数据样例是否可以出发该条规则的问题。
技术领域
本发明涉及一种自动化测试系统,具体涉及一种基于JMH的规则自动化测试的方法。
背景技术
JMH是由openjdk公司的开发java编译器的开发者们所开发的一个微基准测试框架,简而言之就是在method层面上的benchmark,精度可以精确到纳秒级别,JMH主要使用在当你已经找出了热点函数,而需要对热点函数进行进一步的优化时,就可以使用JMH对优化的效果进行定量的分析,目前用于比较多的是对于代码的微基准测试,实现的原理简单,测试的方式通过注解的形式进行测试,Mode表示JMH进行Benchmark时所使用的模式。通常是测量的维度不同,或是测量的方式不同。目前JMH共有四种模式。
由于现在的规则都是运行在job里面,测试规则的运行耗时以及规则匹配不是很方便,在这个测试工具中提供一个比较快捷的测试方式。
比较典型的使用场景:
1、一个函数有两种不同实现,不知道哪种实现性能更好。
2、想准确的知道某个方法需要执行多长时间,以及执行时间和输入参数之间的相关性;
3、对比接口不同实现在给定条件下的吞吐量;查看多少百分比的请求在多长时间内完成。
针对于目前的分析规则来说,规则生成工具只能验证这条规则写的是否正确,并不能测试这条规则的性能是多少,分析人员不能够去判断自己写的规则还有没有优化的空间。
因此,需要对现有技术进行改进。
发明内容
本发明要解决的技术问题是提供一种高效的基于JMH的规则自动化测试的方法。
为解决上述技术问题,本发明提供了一种基于JMH的规则自动化测试的方法,包括以下步骤:
1)、规则匹配;
2)、测试规则的score。
作为对本发明基于JMH的规则自动化测试的方法的改进:步骤1包括:
1.1)、将原始日志中的原始样例解析成json格式的数据发送到kafka的topic中,然后对kafka中的topic进行消费并将消费后的数据保存到文件中;
1.2)、将步骤1.1得到的文件存放在规则测试的服务器上;
1.3)、读取文件中的消费后的数据,根据其中的rawEvent字段将提取对应的值进行分词,将分词后的结果存放在HashSet中,并对分词后的结果进行hash,得到对应的hash值;
1.4)、将提取的字段进行分词,将分词之后的结果存放在在HashSet中;然后并对其进行hash;最后得到对应的hash值;使用分词器将原始样例的文件中的数据与提取的rawEvent字段分别进行hash;
1.5)、测试规则是否出发告警;
1.6)、结果文件的输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911199384.3/2.html,转载请声明来源钻瓜专利网。