This page documents the testing effort carried out by team H on the Code Cyprus Treasure Hunt web application.
It is split into three parts:
Unit Testing (verifies using the testing API),
User Acceptance Testing (validation),
Nielsen's Heuristics Usability Assessment
The testing API which is provided at codecyprus.org/th/testing
| Expected Name | Computed Name | Expected Description | Computed Description | Expected Status | Computed Status | Pass/Fail |
|---|
| Expected status | Computed status | Expected error | Computed error | Pass/Fail |
|---|
| Expected question type | Computed question type | Expected canBeSkipped | Computed canBeSkipped | Expected requiresLocation | Computed requiresLocation | Expected status | Computed status | Pass/Fail |
|---|
| Expected correct | Computed correct | Expected completed | Computed completed | Expected message | Computed message | Expected score | Computed score | Expected status | Computed status | Pass/Fail |
|---|
| Expected completed | Computed completed | Expected finished | Computed finished | Expected score | Computed score | Computed status | Computed status | Pass/Fail |
|---|
| Expected leaderboard size | Computed leaderboard size | Expected numOfPlayers | Computed numOfPlayers | Expected status | Computed status | Pass/Fail |
|---|
(UAT) is a validation process that use real user in order to confirm the system is ready. Tests were carried out by the team
| Test No. | Tested By | Test Type | Date / Time | Result | Test Description |
|---|---|---|---|---|---|
| 1 | Maximos Philippou | Functional | 25/03/2026 19:00 | Pass | Player can enter a name and press "Load Available Hunts" to see a list of hunts. The list loaded successfully on both desktop and mobile |
| 2 | Michalis Andreou | Functional | 25/03/2026 19:30 | Pass | Player can select a hunt, accept cookies and a game session starts successfully on both desktop and mobile. |
| 3 | Charalampos Zornis | Functional | 25/03/2026 19:45 | Pass | Player can select allow location permission and see a textbox saying location acquired. Location works and updates every 30 seconds on both desktop and mobile. |
| 4 | Ghaith Osama Hashim | Functional | 26/03/2026 13:35 | Pass | TEXT question displays a text input field for the player to type an answer. Text input is displayed correctly for text and numeric question types. |
| 5 | Gregory Kypris | Functional | 26/03/2026 13:55 | Pass | BOOLEAN question displays True or False buttons instead of a text input. True / False buttons are displayed and work as intended |
| 6 | Arestis Evangelou | Functional | 26/03/2026 14:10 | Pass | MCQ displays four buttons (A, B, C, D). Buttons are in a 2x2 grid format and work correctly. |
| 7 | Kyveli Christoforou | Functional | 27/03/2026 13:05 | Pass | Submitting the correct answer shows a success message and moves to the next question. Feedback shown from API message. |
| 8 | Giorgos Constantinou | Functional | 27/03/2026 13:25 | Pass | Skipping answers deducts points and loads the next question. |
| 9 | Rania Tayfoor | Functional | 27/03/2026 13:40 | Pass | When the hunt is complete, the leaderboard shows rankings, names and scores. Results section is displayed correctly |
| 10 | Nikoleta louka | Usability | 27/03/2026 13:50 | Fail | The app is usable on a mobile device without overlapping elements. Tested on Android Chrome |
Nielsen's ten heuristics are principles to evaluate the usability of an app. Each heuristic will go against our app and provide a rating and an observation.
During any API calls a loading spinner appears. The session bar shows the player name and live score at all times. After every answer, a feedback message is shown. There is an indicator for what question the player is on.
The app uses a friendly language tone. "Let's get started!", "Hunt Complete!" or "Skip Question". No technical terms such as "UUID" are shown to the player.
Players can return home at any time using the Home button, However, there is no way to go back to a previous question once submitted. This is a limitation of the API.
Buttons follow a consistent color pallet, green for primary actions and dark blue for secondary actions. Same font throughout and card style is used across all sections.
The player cannot submit and empty answer. Confirmation message appear before skipping a question. The player name field is validated before any API calls are made.
Score and progress are always visible.
The QR code scanner provides a shortcut for players, avoiding manually answering questions. Session resume with cookies means returning players can keep working where they left off.
The question section, shows only what is needed. Score, location updates and skip button are hidden when not relevant. The animated background is appealing without being distracting.
Error messages use simple English and appear as feedback messages. When a location answer is wrong, the API's distance message is shown. Fatal errors, navigate the player to the error-section with a return button.
An instruction page is linked from the landing page. Location is updated regularly every 30 seconds as shown on screen. However, there is no help area in app.html.