Testing 如何测试Hyperloglog的实现?

Testing 如何测试Hyperloglog的实现?,testing,verification,hyperloglog,Testing,Verification,Hyperloglog,有这么多的Hyperloglog实现,但是如何验证/测试Hyperloglog实现呢?要检查它的“准确性”,它是“错误”约束行为吗?仅仅抛出一些静态测试用例看起来非常无效 更具体地说,如果有人更改了随机数例程,我如何知道这不是一个灾难性的选择,并通过一些自动化的、可重复的测试进行展示 有人能告诉我在github或其他地方有哪些已知的好测试吗?可能有一些解释吗?好问题。首先,请注意,虽然超对数的理论基础提供了一些准确性的指示,但是测试你使用的实现是至关重要的。 测试应该使用随机数据集(也可以使用其

有这么多的Hyperloglog实现,但是如何验证/测试Hyperloglog实现呢?要检查它的“准确性”,它是“错误”约束行为吗?仅仅抛出一些静态测试用例看起来非常无效

更具体地说,如果有人更改了随机数例程,我如何知道这不是一个灾难性的选择,并通过一些自动化的、可重复的测试进行展示


有人能告诉我在github或其他地方有哪些已知的好测试吗?可能有一些解释吗?

好问题。首先,请注意,虽然超对数的理论基础提供了一些准确性的指示,但是测试你使用的实现是至关重要的。 测试应该使用随机数据集(也可以使用其他静态数据集),并且应该应用于不同的集合基数。如果您有任何测试自动化框架,那将是一个确保避免回归的自然场所,正如您上面所建议的。但是,请注意,要用较大的基数来度量精度,测试运行时可能会被禁止

您可以参考下面的实现。它包括抽取大量随机数的单元测试,并以固定的间隔检查准确性


很酷。谢谢这很好。