我理解生成完整的测试用例以涵盖所有可能的组合的困难,更不用说匹配随机游戏结果的可能性了。因此,我最初应用了随机组合测试方法,但后来发现很难实现所有可能情况的高覆盖率(大约10%)。到目前为止,我遇到过Pure Random Combinatorial,CATS,AETG,K-combination,但没有一个是基诺游戏的理想选择。
目前,输入为num_game_size
,numSelected[num_game_size]
。同时,输出为result[20]
,matchedNum[]
,matched_num_size
,payout
。当然,还有更多输入:continuous_game_toplay_size
,bet_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。