Testing Super Mario Using a Behavior Model Autonomously
3 hours ago
- #autonomous-testing
- #genetic-algorithm
- #super-mario
- Autonomous testing explores vast state spaces in complex systems by systematically checking millions of states, uncovering edge cases human testers might miss.
- The approach involves a mutation-based input generator that randomly flips input bits to create variations, mimicking natural gameplay.
- A fitness function prioritizes paths where Mario progresses furthest right, but a probability distribution ensures diverse path exploration to avoid dead ends.
- The system resembles a Genetic Algorithm, with paths as genotypes, game states as phenotypes, and mutation driving exploration without crossover.
- Implementation details include weighted move selection, path backtracking/splitting, death state pruning, and periodic path cleaning to optimize exploration.
- Autonomous testing successfully completed Levels 1-4 of Super Mario Bros., discovering shortcuts and even uncovering a collision bug in Level 4.
- Future work involves integrating a behavior model for real-time correctness validation during autonomous exploration.