doris回归测试

Doris进行pullrequest时需包含回归测试,测试位于regression-test目录。执行测试用`./run-regression-test.sh--run<测试名>`。回归测试基于groovy脚本,新功能可使用`-forceGenOut`生成新结果。测试失败可能由集群配置引起,如BE节点数量差异。p0-p2标识数据量级别,分别对应小、中、大数据量测试。
摘要由CSDN通过智能技术生成

doris提交pull request时一般要包含回归测试,回归测试的目录在doris/regression-test,

有文档较好的说明了回归测试过程:

回归测试 - Apache Doris

跑回归测试就是执行doris目录下的:

./run-regression-test.sh --run <回归测试名>

这个<回归测试名>是,在groovy文件中定义测试用例时定义的,例如:

suite("test_create_or_replace_view", "p0") 

其中“p0”表示组名。

要增加自己的回归测试,可以在 /home/postgres/doris/regression-test/suites 的某个目录下增加groovy文件,doris的回归测试脚本用groovy脚本编写,groovy是一种语法和java类似的脚本语言(兼容java语法),但又不像java那么严格,使用JVM解释,所以能运行java的环境,也能运行groovy,doris实现了一个回归测试框架,是一个java程序,执行./run-regression-test.sh时,如果测试框架未编译,会先编译这个测试框架,然后测试框架调用groovy脚本执行回归测试。

执行回归测试前,要搭建起doris环境,即fe、be要配置好并运行,测试框架的配置文件regression-test/conf/regression-conf.groovy要配置好连接fe的IP、端口、用户名等信息。

回归测试的原理和其它数据库回归测试的原理类似,即执行SQL打印输出,保留之前正确的输出,与修改后的代码跑出的SQL输出比较,如果相同,说明新代码没有引入问题。

如果是增加新SQL功能就用 ./run-regression-test.sh --run <回归测试名> -forceGenOut 来生成新的结果。

但是doris的回归测试框架,除了这个功能,还支持更多的测试功能,远远超出SQL结果的比较,具体用法可以看上面的官方文档。

在我的机器上执行所有回归测试时,发现有一些失败的,我估计是我的集群配置问题(我在一台机器上部署了一个fe节点+一个be节点),通过问社区的同学,回答是,不必本地跑所有的回归测试用例都通过,只要自己的测试用例通过就行,估计这些失败的原因是be节点个数和CI环境不同。

另外回归测试目录名的p0、p1、p2,表示测试用例使用数据量的级别:

p0 是功能小case,数据量小

p1数据量100M-1G

p2是大case

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值