Case Study: WipeoutPlayerController
Testing the player controls and movement covered several critical areas:
- Player Movement Testing
- Obstacle Collision Testing
Player Movement Testing
In order to ensure that the player movement works flawlessly, we verified the jump and crouch
mechanics through repeated input testing and visual verification. As a next level of testing, we
ensured that the transition between movement states are smooth.
Obstacle Collision Testing
Once the player movement was successfully tested and the spinning obstacle component was ready, we
tested the collision detection. To test this worked seamlessly, we went through several test cases:
- Each spinning obstacle has 8 beams attached to it (4 lower and 4 upper beams). We tested that
the collision with each individual beam works through enabling each individually and checking if
it knocks the player off.
- We also tested that there were no false collisions. For example, we do not want a collision to
be occurring when a player is crouching and a upper beam passes over the player's head.
- This approach was similar to testing positive collisions. We tested that we were able to
successfully avoid each of the 4 lower and upper beams through jumping and crouching.
- We had to test whether the collision will work properly with the beams when in the player
model is mid-air after jumping
Case Study: CountdownController
To test that the CountdownController worked flawlessly, we had to ensure that the text with the
countdown appears on the screen and that this occurs on three occasions:
- Upon initial game start
- Upon levelling up and resuming the game
- Upon getting knocked off and resuming the game
Case Study: CanvasManager
To test that the CanvasManager worked flawlessly, we had to ensure that specific UI elements are
rendered according to various events:
- Upon player getting knocked off, they should have a text that appears in the middle of their
screen indicating that they have been knocked off and that they are getting reset to level 1.
- Upon levelling up, there should be a text that indicates that they have levelled up and be shown
the next level number.
- Upon the game ending, the player should be prompted with their final score.
- While the game and obstacle is running, we had to ensure that the score is incrementing.
To test these, we simply went through each scenario and ensured that the right message was shown.
To test the score, we did a general test where we observed whether it would increment faster as the
levels incremented.