如何测试基于哈希计算的概率算法

时间:2017-02-01 18:56:04

标签: java algorithm unit-testing hash

我试图为负载均衡算法编写测试,其工作原理如下:

当节点发生故障时,算法会根据所有其他可用节点的负载计算阈值。

然后,它根据端点ID的哈希值分配端点,并将其转换为0到1之间的数字,该数字与先前计算的阈值匹配,以选择分配的节点。

这应该导致端点根据其负载的比例分布在所有可用节点上。

问题是,这个模型是概率性的。

分配给每个节点的端点数取决于端点的特定ID,这使得我的结果在不同端点ID集之间不一致。实际上,在运行算法之前,我甚至无法确定实际结果。结果将针对不同的端点ID集以及散列函数的任何更改进行更改

首先我想到输入是随机的并测试预期结果是否在某个范围内,但是如果输入集恰好具有不按我预期分发的ID,那么总是有机会遇到故障

那我该如何测试这样的算法?

0 个答案:

没有答案