Tests/BlockParty

From OLPC
Jump to navigation Jump to search

Block Party Tests

Action Result
Opening the activity: click on the activity icon.
The icon appears in the activity donut, and pulses during activity startup. pass
The activity opens properly. pass
Closing the activity: click the X in the upper-right-hand corner of the activity.
The activity closes properly. fail: No X icon on screen
The icon disappears from the activity donut. pass
Journal functionality: open the journal activity.
A journal entry for the previous activity session appears. pass
Clicking on the journal entry restores the activity to an appropriate state. pass
Black and white functionality: set the screen to black and white mode.
The game is still easily viewable and playable. fail: O-pieces are hard to see
New game: initialisation tests.
Points, lines and level are initialised properly. fail: Level is initialised erratically to values around 5
A random piece is at the top of the well. fail: Some spawn above the well, the I-piece 1 below the top
A random piece is in the next piece window. pass
Piece generation: generation of new pieces while playing.
The next piece shown in the window is the next piece given. pass
A random piece appears in the next piece window for each new piece. pass
Piece movement: movement and rotation of pieces while playing.
Pieces can be moved left and right using arrow keys/pad (assuming no collisions). pass
Pieces can be rotated using up arrow key/pad (assuming no collisions). pass
Piece doesn't move/rotate through solid objects. pass
Piece falls at a set rate depending on the current level. pass
Piece drops instantly and correctly when drop key pressed. pass
Piece landing: movement and rotation of piece just as it lands.
Piece can be moved/rotated while resting for a limited amount of time. pass
Points are awarded once piece has settled. pass
Piece cannot be placed outside well. fail: As piece spawns above well, it can be placed above well
Line completion: complete and remove a line/s.
When a line/s is completed, the completed lines disappear and blocks above shuffle down. pass
When a line/s completed, the line score increases. pass
When a line/s completed, the points increase. pass: Although, this could be a result of piece landing
Level increase: level increases once points/lines reach a certain point.
Level increases when points/lines reach a certain point. pass: Unsure of that point however
Game over: end of game.
The game ends when a new piece spawns on an existing block. pass

Opening the activity

Justification: HIG

Actions:

  1. start the Block Party activity by clicking on the corresponding icon on the taskbar.

Verify:

  • that the Block Party icon is added to the activity doughnut.
  • that the Block Party icon pulses to indicate the activity starting up.
  • that the Block Party activity starts properly.
  • that the window shows a new game screen and the game is paused.

Close the activity

Justification: HIG

Actions:

  1. click the X button in the top right corner.
  2. you can use as well the shortcuts (ctrl+q) or (ctrl+esc) to quit the activity

Verify:

  • that clicking the X button (or using keyboard shortcuts) closes the Block Party activity.
  • that the Block Party icon disappears from the activity doughnut.

Journal functionality

Justification: HIG

Actions:

  1. open the journal activity.

Verify:

  • A journal entry for the previous activity session appears.
  • Clicking on the journal entry restores the activity to an appropriate state.

Black and white functionality

Justification: HIG

Actions:

  1. set the screen to black and white mode.

Verify:

  • The game can still be viewed and played.

New game

Justification: Testing the initial state of a state transition diagram for Block Party.

Actions:

  1. start a new game

Verify:

  • Points equal 0.
  • Lines equal 0.
  • Level equals 1.
  • A random piece is spawned at the top of the well.
  • A random piece is generated in the next piece window.

Piece generation

Justification: Testing the behaviour exhibited when a piece has landed.

Actions:

  1. drop piece.

Verify:

  • When the piece is dropped, the next piece spawned is the one from the next piece window.
  • A random piece is generated in the next piece window.

Piece movement

Justification: Testing that all aspects of movement and rotation (user controlled) have been checked.

Verify:

  • Tetromino falls at a set rate depending on the level of speed, regardless of actions taken, until it cannot fall anymore.

Actions:

  1. move the piece left and right using the arrow keys or arrow pad.

Verify:

  • Tetromino moves accordingly to the key pressed if it can.
  • Tetromino doesn't move through existing blocks or walls/floor.

Actions:

  1. rotate the piece using the up arrow or up pad direction.

Verify:

  • Tetromino rotates in the same direction whenever rotated if it can.
  • O-piece tetromino doesn't rotate at all.
  • Tetromino doesn't rotate through existing blocks or walls/floor.

Actions:

  1. drop the piece using the space key or down pad direction.

Verify:

  • Tetromino instantly drops to lowest position directly under it without passing through existing blocks.

Piece landing

Justification:

Actions:

  1. move the piece left or right if it can when the piece is resting on a block or floor.
  2. rotate the piece if it can when the piece is resting on a block or floor.

Verify:

  • Piece can still be moved/rotated for a specific amount of time depending on the level if it can.
  • Points are awarded once the piece is fixed based on how long the piece has been falling.
  • Piece cannot be placed outside well.

Line completion

Justification:

Actions:

  1. place a piece so that it completely fills a line/s horizontally.

Verify:

  • The line/s disappear.
  • All blocks above the line/s are shuffled down.
  • The line/s score increments by the number completed.
  • Points are awarded for the piece.

Level increasing

Justification:

Actions:

  1. score the points/lines required for the next level.

Verify:

  • The level increases once the points/lines reach that point.

Game over

Justification:

Actions:

  1. fill the well with blocks, so a new piece spawned collides with existing blocks.

Verify:

  • If the newly spawned piece collides with existing blocks, then the game is over.