我创建了一个有项目的棋盘,这些项目是为某种match-3游戏随机创建的。这里有一些我想测试的案例。你能建议一些方法来测试随机产生的用例吗?
最好的
发布于 2012-10-24 19:48:00
使用TestNG,您可以使用“参数化”测试,并通过任何数据提供程序进行播种:http://www.mkyong.com/unittest/testng-tutorial-6-parameterized-test/,例如一个简单的csv文件。
您可能希望从可能的输入的广泛列表开始,然后找到一组输入,这些输入可以为您测试的类提供最高的覆盖率。
测试覆盖率工具可以检查在使用给定输入的测试过程中是否达到了代码的每个可能的执行路径。
也许这还不够,但对于人工智能引擎来说,对可能的输入进行逆向工程以提供特定的输出更是一项任务。
发布于 2012-10-24 19:28:21
对于包含随机(例如数字)的测试场景,您需要一个RandomGenerator,您可以在其中设置Seed。如果种子相同,则生成的数字将始终相同,顺序相同。对于测试,您将种子设置为固定值,对于实际应用程序,您将使用像System.getMilliSeconds()这样的变量值。所以你可以检查一个种子的测试结果的正确性,然后你可以重复你的测试,如果结果改变了,但是你的种子没有发现错误情况。
https://stackoverflow.com/questions/13048222
复制相似问题