Skip to content

BackstoryCutsceneDisplay Test Plan

Tia Waturuocha edited this page Oct 3, 2024 · 3 revisions

Test Environment

  • Framework: JUnit 4
  • Dependencies:
    • BackstoryCutsceneDisplay: The main class under test.
    • ServiceLocator: Manages the services used in the game.
    • RenderService: Registered service to support rendering functionality.
    • Entity: A game entity to which BackstoryCutsceneDisplay is attached.
    • EventHandler: Mocked event handlers for verifying event triggers.
    • Skin, Stage: Mocked UI components for managing LibGDX UI elements.

Error Handling

  • Purpose: Due to the tight coupling between BackstoryCutsceneDisplay and the LibGDX framework, some aspects of testing, particularly around UI rendering and interactions, required visual testing.
  • Setup:
    • Simulate UI failures such as missing stage or texture resources.
  • Expected Outcome:
    • The UI should handle errors gracefully without crashing.
    • Logs should provide appropriate warnings or errors in case of missing or failed components.

Logging Verification

  • Ensure that all key actions (e.g., button presses, stage setup, resource disposal) are logged appropriately.
  • Log messages should be verified through mock loggers, ensuring that event-based logging provides sufficient information for debugging.

Visual Testing

Screen.Recording.2024-10-03.at.9.40.39.am.mov

Conclusion

Due to the tight coupling of UI components with the LibGDX framework, full automated testing of the BackstoryCutsceneDisplay class was not feasible. Instead, visual testing was primarily employed to ensure proper UI rendering and interaction, while the associated BackstoryCutscene class underwent complete automated testing to verify core logic and event handling. Visual tests confirmed the proper functioning of UI elements, including buttons and text displays, and ensured that resources were properly disposed of. Additionally, due to time constraints and the nature of how the CutsceneTextDisplay class was implemented, the text display for the backstory renders at the bottom of the screen instead of the top. It also is quite large and covers some of the visual elements, which will be refined in the upcoming sprint.

Table of Contents

Home

Team Design Document

Game Features

Inventory System
Scoring System
Food Recipes
Level System
Player Actions
Ordering System
Stations
Items
Map Design
Customers
Pause Menu
Upgrades
End of Day Display
Day Night Cycle
Moral System
Debug Terminal
Game Interactions Tutorial
Backstory Cutscenes

Game

Getting Started

Entities and Components

World Backstory

Service Locator

Loading Resources

Logging

Unit Testing

Debug Terminal

Input Handling

UI

Animations

Audio

AI

Physics

Game Screens and Areas

Terrain

Concurrency & Threading

Settings

Map Design

Test Plans

Sensor Component

Customer Sensor Component

Interaction Component

Inventory Component

Inventory Display

Station Meal Component

Station Progress Display

Keyboard Input Component

Fire Extinguisher Handler Component

Score System

HoverBox Component

MainGameActions Create Docket Triggers

End Day Display Component

Cutscene Area

Docket

Docket Line Display

Docket Meal Display

Main Game Order Button Display

Order Actions

Recipe

Ticket Details Component

BackstoryCutscene Test Plan

BackstoryCutsceneDisplay Test Plan

Test Plan for Tutorial

Keybinds

Keybinds Test Plan

Test Plan for MainGameOrderTicketDisplay

Test Plan for MainGameOrderBtnDisplay

Test Plan for Docket

Test Plan for DocketLineDisplay

Test Plan for OrderActions

Ticket Details

Test plan for RandomComboService

Test plan for LoanUpgrade

Test plan for UpgradesDisplay

Test plan for RageUpgrade

Test plan for SpeedBoostUpgrade

Test plan for DancePartyUpgrade

Test plan for ExtortionUpgrade

Troubleshooting

MacOS Setup Guide

Clone this wiki locally