アイテムでボードを作成すると、これらのアイテムは、ある種のマッチ 3 ゲーム用にランダムに作成されます。テストしたいケースがいくつかあります。ランダムに生成されたケースをテストするための方法論を提案できますか?
一番
アイテムでボードを作成すると、これらのアイテムは、ある種のマッチ 3 ゲーム用にランダムに作成されます。テストしたいケースがいくつかあります。ランダムに生成されたケースをテストするための方法論を提案できますか?
一番
TestNGを使用すると、「Parametrized」テストを使用して、任意のデータプロバイダー( http://www.mkyong.com/unittest/testng-tutorial-6-parameterized-test/など)を介してシードできます(例:単純なcsvファイル)。
可能な入力の広範なリストから始めて、その後、テスト対象のクラスの最高のカバレッジを提供する入力のセットを見つけることができます。
テストカバレッジツールは、指定された入力を使用して、テスト中にコードの可能な実行パスに到達したかどうかを確認できます。
それだけでは不十分かもしれませんが、特定の出力を提供する可能性のある入力をリバースエンジニアリングすることは、人工知能エンジンにとってより多くの作業です。
ランダム (数値など) を含むテスト シナリオの場合、 を設定できる RandomGenerator が必要ですSeed
。シードが同じ場合、生成される数値は常に同じ順序で同じになります。テストではシードを固定値に設定し、実際のアプリケーションでは のような変数値を使用しますSystem.getMilliSeconds()
。そのため、1 つのシードのテスト結果の正確性を確認できます。その後、結果が変更された場合は何度でもテストを繰り返すことができますが、シードではなくエラー ケースが見つかりました。