Functionality

The primary objective of testing is to ensure that Chipless operates as expected, following the correct logic and rules for managing poker bets. Testing will focus on verifying that all core functionalities work correctly, including:

  • Game Setup: Ensuring players can be added, names validated, and roles assigned correctly.
  • Betting System: Checking that bets are deducted from player balances, added to the pot, and that turn-based play functions correctly.
  • Game Progression: Verifying that turns proceed in the correct order and that folded players are skipped.
  • Winner Selection & Round Reset: Ensuring that when a winner is chosen, chip redistribution works correctly, and the next round is properly set up.
  • Save & Load System: Confirming that game states persist correctly and can be resumed without errors.

Test cases will include manual and automated tests to confirm each feature works under expected conditions.


Robustness

To prevent crashes or unexpected behaviour, various validations and error handling mechanisms are implemented:

Input Validation

  • Player names must not be empty, contain invalid characters, or be duplicates.
  • The number of players must be within the allowed range.
  • Chip counts, bet amounts, and blinds must be valid numbers within logical constraints.

Gameplay Validation

  • Players cannot bet more than their available chips.
  • A player’s action cannot proceed if it is not their turn.
  • The game must not progress to the next round until a winner is correctly determined.

Error Handling

  • Attempts to enter invalid data should trigger appropriate error messages instead of crashing the app.
  • Database failures (e.g., corrupted save data) should prompt a graceful fallback or recovery option.
  • Invalid UI interactions (e.g., pressing “bet” without entering a value) should be prevented with UI restrictions.

Stress testing will also be conducted to ensure the app remains stable under high loads, such as handling maximum players, high chip counts, or rapid consecutive actions.


Usability

Usability testing ensures that Chipless is accessible and easy to use for its intended audience. Key areas of usability evaluation include:

Interface Clarity

  • Ensuring text, buttons, and controls are clearly labelled and logically positioned.
  • Verifying that essential game information (pot total, player chips, turn order) is easily visible.

Ease of Navigation

  • Users should be able to set up a game and start playing with minimal instruction.
  • Important actions (e.g., betting, folding, undoing a move) should be intuitive.

User Feedback & Responsiveness

  • The app should provide instant feedback on user actions (e.g., confirmation when a bet is placed).
  • Loading times should be minimal to maintain smooth interaction.

Usability testing will include real user trials, where participants play a session using Chipless and provide feedback on ease of use, clarity, and improvements.