Testing Plan for all three Mini Games - UQcsse3200/2024-studio-2 GitHub Wiki
Introduction
This wiki gives an overview of our testing strategy across all three mini-games: Snake, BirdieDash, and Underwater Maze. The aim was to ensure that we achieved complete functional correctness and visual consistency, focusing on 100% test coverage for functional code and including visual tests where necessary.
General Testing Goals we followed:
Functional Coverage
We aimed to cover all major game functions through unit, integration, and system tests. These tests helped us verify that each part of the game worked as expected in different scenarios.
UI/Visual Testing
We also focused on visual tests to make sure the user interface was consistent across all mini-games. This involved checking that the games displayed correctly on different screen sizes and handled different user interactions smoothly.
Existing Testing Plans
Each mini-game had its own detailed testing plan that focused on specific areas. Below are links to each plan, along with a short description:
-
Snake Game Testing Plan
This plan included unit tests for the core mechanics like boundary detection, snake collision, and scoring. The tests ensured the game logic worked well in different conditions. -
BirdieDash Testing Plan
This plan tested the bird’s movement, item interactions, and scoring system. Visual tests were also done to make sure the game rendered correctly, especially when resizing the screen. -
Underwater Maze Testing Plan
This plan focused on pathfinding mechanics, collision detection, and enemies interactions. We also tested the visual aspects to make sure the maze rendered properly and all interactive points worked as expected.
Test Coverage Overview
Our goal was to reach 100% test coverage for the functional code in each mini-game. The key areas we covered included:
- Input handling (like player controls and button clicks)
- Collision detection (like hitting obstacles or collecting rewards)
- Scoring systems
- Game termination (like when the player loses the game)
- Visual rendering (like graphics and animations)
UI/Visual Testing
For UI and visual testing, we:
- Checked that UI elements like buttons, scores, and animations displayed correctly and worked well on different screen sizes.
- Ensured UI/UX consistency across all three mini games.
- Verified that all visual elements, like backgrounds, characters, and game objects, appeared correctly during gameplay.
Future Testing Improvements we did:
- Expand our visual tests to cover more edge cases, like specific user interactions or unexpected inputs.
- Add more functional tests to cover additional edge cases or scenarios.
- Improve our coverage further based on feedback or bug reports during the later stages of development or user testing.
Conclusion
Our testing efforts were essential to maintaining the quality and functionality of each mini-game. We aimed to achieve full test coverage for both the functional code and UI, ensuring the games are stable and provide the best possible user experience across different platforms.