Skip to content

Team 4 Testing Plan Sprint 1

NoshDosh edited this page Aug 31, 2021 · 5 revisions

Unit Testing

PlayerActionsTest

There are multiple unit tests to provide coverage for the PlayerActions class. beforeEach registers the physics service before each test is run to avoid running into any NullPointerException.

shouldWalkLeft creates a PlayerActions object and calls the walk() function using the Vector2Utils.LEFT short value. This tests whether the player's walk direction is set to LEFT and state is set to MOVING.

shouldWalkRight creates a PlayerActions object and calls the walk() function using the Vector2Utils.RIGHT short value. This tests whether the player's walk direction is set to RIGHT and state is set to MOVING.

shouldNotWalk creates a PlayerActions object and calls the stopWalking() function. This tests whether the player's walk direction is set to Zero.

shouldJump creates a Player entity and retrieves its PlayerActions component. It then calls togglePlayerJumping() and jump() on the player's PlayerActions component. This tests whether the player's state is set to AIR and canJump value is set to false.

shouldSlide creates a Player entity and retrieves its PlayerActions component. It then calls slide() on the player's PlayerActions component. This tests whether the player's state is set to SLIDING.

PlayerMovementComponentTest

Similar to PlayerActionsTest, there are multiple unit tests to provide coverage for the PlayerMovementComponent class. Again, beforeEach registers the physics service before each test is run to avoid running into any NullPointerException.

canJump creates a Player entity and an Obstacle entity. It retrieves both entities HitboxComponent components. Then it triggers the onCollisionStart event on the player. This tests whether the player's canJump variable is set to true, thus indicating that the obstacle has a JumpableComponent and can allow the player to jump after colliding with it.

canNotJump creates a Player entity and a Default entity, aka not an Obstacle enetity obataining a JumpableComponent. Similar to canJump, it retrieves both entities HitboxComponent components. Then it triggers the onCollisionStart event on the player. This tests whether the player's canJump variable is set to false, thus indicating that the does not have a JumpableComponent and should not allow the player to jump after colliding with it.

User Testing

User Testing for this sprint was only done for the player character's design, to assess the stylistic choices, and their fit within the broader universe of Runtime. This consisted of a 3 participant interview using the Think Aloud method. Participants were shown the player character and the general aesthetic of the game and then were asked the following 5 questions each:

  1. What are your first impressions of the character? Does it remind you of something?
  2. Does this design fit with the broader visual themes of the game?
  3. Does the mood given off by the character suit the style of the game? (You being a virus infiltrating a computer)
  4. Do you agree with the character's colour scheme and general aesthetic in context of the other assets in the game so far (menu screen, buttons, music, etc.)
  5. What recommendations do you have for this character?

These questions were all answered with each participant speaking their thoughts aloud when they came to them. The results of these are presented here.

Table of Contents

Home


Game Design

Game Design Document

Void/Antivirus

Loading Screen

Game Sound

Menu Assets

Player Design

     Original Design

     Final Design


Gameplay

Movement

Jumping & Sliding

Jump Pads

Portals & Bridges

Buttons

Pick-Ups

Physics

    Momentum & Physics

    Gravity

    Collision


Level Design

Level 1

     Background

     Textures

     Map Design

Level 2

     Background

     Textures

     Map Design

Level 3

     Background

     Textures

     Map Design

Level 4

     Background

     Textures

     Map Design


Sprint Round-Up

Sprint 1 Summary

Sprint 2 Summary

Sprint 3 Summary

Sprint 4 Summary


User Testing

Testing Plans

Sprint 1

     Team 1
     Team 2
     Team 3
     Team 4
     Team 5

Sprint 2

     Team 1
     Team 2
     Team 3
     Team 4
     Team 5

Sprint 3

     Team 1
     Team 2
     Team 3
     Team 4
     Team 5

Sprint 4

     Team 1
     Team 2
     Team 3
     Team 4
     Team 5

User Testing

Sprint 1

     Sprint 1 - Game Audio
     Sprint 1 - Character Design
     Sprint 1 - Menu Assets
     Sprint 1 - Map Design
     Sprint 1 - Void

Sprint 2

     Sprint 2 - Game Audio
     Sprint 2 - Character Design
     Sprint 2 - Menu Assets
     Sprint 2 - Interactable Design Animation
     Sprint 2 - Levels 1 & 4, and Level Editor
     Sprint 2 - Proposed Level 2 & 3 Designs
     Sprint 2 - Current Game State

Sprint 3

     Sprint 3 - Menu Assets
     Sprint 3 - Map Design
     Sprint 3 - Score Display
     Sprint 3 - Player Death and Spawn Animations
     Sprint 3 - Pick Ups and Pause Screen

Sprint 4

     Sprint 4 - Gameplay
     Sprint 4 - Game UI and Animation
     Sprint 4 - Level Background and Music
     Sprint 4 - Game User Testing
     Sprint 4 - Final Game State Testing


Game Engine

Entities and Components

     Status Components
     Event System
     Player Animations Implementation

Level Editor

Level Saving and Loading

Status Effect


Defunct

Development Resources

    Getting Started

Entities and Components

    Level Editor (Saving and Loading
         Multiple Levels)

    Service Locator

    Loading Resources

    Logging

    Unit Testing

    Debug Terminal

Input Handling

    UI

    Level Saving/Loading

    Status Effects

    Animations

    Audio

    AI

    Physics

Game Screens and Areas

    Terrain

    Concurrency & Threading

    Settings


Troubleshooting

MacOS Setup Guide

Clone this wiki locally