Test Plan for 'AnimalSelectionActionsTest - UQcsse3200/2024-studio-2 GitHub Wiki

Test Plan for AnimalSelectionActionsTest

Objective

The AnimalSelectionActionsTest is designed to ensure that the Animal Selection Screen functions as expected in our game. This includes verifying that different animals are correctly rendered, the UI components behave as intended, and user interactions are accurately captured and processed.

Scope

This test plan covers the following aspects of the AnimalSelectionActions.

1. Animal Rendering

  • Ensure that the correct animal is rendered based on user selection.
  • Validate that the rendering process handles different animals with varying attributes (e.g., size, color, animations) correctly.
  • Test the transition between different animal selections to check for any graphical glitches or delays.

2. User Interface (UI) Components

  • Confirm that all UI elements on the Animal Selection Screen, such as buttons, dropdowns, and sliders, are visible and interactive.
  • Test the functionality of buttons that allow users to confirm their selection, cancel, or go back to a previous menu.
  • Verify that any feedback provided to the user, such as highlighting a selected animal or displaying a confirmation message, is accurate and timely.

3. User Interactions

  • Ensure that clicking on different animals updates the preview area correctly and that the corresponding animal is highlighted.
  • Test keyboard and mouse inputs to verify that they trigger the appropriate actions within the selection screen.
  • Verify that invalid or incomplete selections are handled gracefully, providing feedback to the user without crashing the game or causing unexpected behavior.

4. Screen Transitions

  • Test the transition into the Animal Selection Screen from other parts of the game (e.g., main menu, game settings).
  • Verify that the transition out of the screen to other parts of the game (e.g., starting the game with the selected animal) is smooth and error-free.

5. Error Handling

  • Test the robustness of the screen by simulating various edge cases, such as selecting an animal while the game is loading or during rapid clicks.
  • Ensure that the game handles these situations without crashing and provides meaningful error messages if needed.

6. Performance Testing

  • Measure the loading times of different animals to ensure that the screen is responsive.
  • Monitor memory usage during the rendering process to ensure that there are no memory leaks or performance degradation over time.

Testing Methodology

  • Unit Testing: Focus on testing individual methods within the AnimalSelectionActions class to ensure they behave as expected in isolation.
  • Integration Testing: Test how the AnimalSelectionActions integrates with other components, such as the rendering engine and input handlers, to ensure seamless operation.
  • Manual Testing: Regularly playtest the Animal Selection Screen to observe how it behaves in real gameplay scenarios. This includes checking for visual fidelity, responsiveness, and overall user experience.
  • Automated Testing: Use automated tools to simulate user interactions and verify that the screen responds correctly. This will help in catching regressions or issues that might arise after updates.

Continuous Monitoring

The Animal Selection Screen will be continuously monitored throughout development. This includes:

  • Regression Testing: After each update, especially when changes are made to the AnimalSelectionActions class or related components, regression tests will be run to ensure that new changes haven’t introduced any bugs.
  • Feedback Loops: Incorporate feedback from team members and testers to identify and fix issues that may not be immediately apparent through automated testing.

Conclusion

By following this test plan, we aim to deliver a robust and user-friendly Animal Selection Screen. The plan ensures that all aspects, from rendering to user interaction, are thoroughly tested and maintained throughout the development lifecycle.