用于为基诺游戏生成测试用例的算法或测试方法

时间:2018-06-04 03:52:31

标签: algorithm testing random combinations probability

基诺游戏规则:基诺是一款类似彩票的游戏,可以随机组合数字,范围从1到80,大小为20.玩家可以选择一个数字游戏来玩(1,2,3,4,5, 6,7,8,9,10,15)。奖金取决于比赛数量和比赛数量。

我理解生成完整的测试用例以涵盖所有可能的组合的困难,更不用说匹配随机游戏结果的可能性了。因此,我最初应用了随机组合测试方法,但后来发现很难实现所有可能情况的高覆盖率(大约10%)。到目前为止,我遇到过Pure Random Combinatorial,CATS,AETG,K-combination,但没有一个是基诺游戏的理想选择。

目前,输入为num_game_sizenumSelected[num_game_size]。同时,输出为result[20]matchedNum[]matched_num_sizepayout。当然,还有更多输入:continuous_game_toplay_sizebet_amount

我期待对任何测试方法或算法的任何建议,如果执行了一个月或两个月,对纯随机和大型组合测试用例具有高覆盖率。我的目标是在结果纯随机生成时测试所选数字的组合以及每个不同数量的匹配的支付。例如:

/* Assume the result is pure random generated */
/* Match 0 */
num_game_size = 2
numSelected[2] = {1,72}
result[20] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21}
matchedNum[] = {}
matched_num_size = 0
payout = 0

/* Match 1 */
num_game_size = 2
numSelected[2] = {1,72}
result[20] = {1,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21}
matchedNum[] = {1}
matched_num_size = 1
payout = 1

/* Match 2 */
num_game_size = 2
numSelected[2] = {1,72}
result[20] = {1,72,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21}
matchedNum[] = {1,72}
matched_num_size = 2
payout = 5

总可能性为C(80,2) * C(80,20) = 3160 * 3535316142212174320 = 1.117159900939047e+19。对于每个数字组合的含义,在2到1的范围内,有两个大小,有C(80,20)可能的结果。当结果是纯随机生成(量子RNG)时,可能需要几年才能涵盖所有可能性(包括1,3,4,5,6,7,8,9,10,15数字游戏)。

Ps:我发现大多数测试方法只考虑随机或组合问题,需要花费大量时间来完成测试用例生成。我试图创建任何程序来帮助我赢得基诺游戏IRL。

0 个答案:

没有答案