Tests/BlockParty: Difference between revisions
Line 42: | Line 42: | ||
|- |
|- |
||
| Enter starts the game. || <span style="color:red">pass. However, so does almost every other key, making it pointless.</span> |
| Enter starts the game. || <span style="color:red">pass. However, so does almost every other key, making it pointless.</span> |
||
|- |
|||
| Level selected is the level shown. || <span style="color:green">pass</span> |
|||
|- |
|- |
||
| Pieces can be moved left and right using arrow keys/pad (assuming no collisions). || <span style="color:green">pass</span> |
| Pieces can be moved left and right using arrow keys/pad (assuming no collisions). || <span style="color:green">pass</span> |
||
Line 82: | Line 84: | ||
|- |
|- |
||
| The game ends when a new piece lands outside the well. || <span style="color:red">fail: Pieces can successfully land outside the top of the well without game over.</span> |
| The game ends when a new piece lands outside the well. || <span style="color:red">fail: Pieces can successfully land outside the top of the well without game over.</span> |
||
|- |
|||
| When prompted, game can be played again using the appropriate key. || <span style="color:red">pass. I don't know what key 'x' or 'o' is, but any key on the keyboard starts again.</span> |
|||
|- |
|||
| When prompted, game can not be played again using the appropriate key. || <span style="color:red">fail. I don't know what key 'x' or 'o' is, but any key on the keyboard starts again.</span> |
|||
|- |
|||
| If played again, game returns to a new game screen. || <span style="color:green">pass</span> |
|||
|} |
|} |
||
Revision as of 22:04, 23 March 2008
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. | pass |
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 |
Game is paused. | pass |
Starting level can be changed within bounds. | pass. It is not intuitive that it can be changed though. |
Piece movement: movement and rotation of pieces while playing. | |
Enter starts the game. | pass. However, so does almost every other key, making it pointless. |
Level selected is the level shown. | pass |
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 |
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 |
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 |
The game ends when a new piece lands outside the well. | fail: Pieces can successfully land outside the top of the well without game over. |
When prompted, game can be played again using the appropriate key. | pass. I don't know what key 'x' or 'o' is, but any key on the keyboard starts again. |
When prompted, game can not be played again using the appropriate key. | fail. I don't know what key 'x' or 'o' is, but any key on the keyboard starts again. |
If played again, game returns to a new game screen. | pass |
Opening the activity
Justification: HIG. The application behaves correctly while opening and conforms to Human Interface Guidelines.
Actions:
- 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. The application behaves correctly while closing and conforms to Human Interface Guidelines.
Actions:
- click the X button in the top right corner.
- 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. The application interacts correctly with the journal and conforms to Human Interface Guidelines.
Actions:
- 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. The application can be viewed in both colour and black and white modes.
Actions:
- set the screen to black and white mode.
Verify:
- The game can still be viewed and played.
Actions:
- set the screen to colour 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. Checking that all variables are initialised correctly, pieces set-up correctly, and the game is ready to be played. Testing for randomness can only be done speculatively, so the results are only based on what is observed as random.
Actions:
- start a new game
Verify:
- Points equal 0.
- Lines equal 0.
- Level equals 5.
- A random piece is spawned at the top of the well.
- A random piece is generated in the next piece window.
- The game is paused.
Actions:
- change starting level using arrow keys
Verify:
- Minimum level is 0.
- Maximum level is 9.
Piece movement
Justification: Testing that all aspects of movement and rotation (user controlled) have been checked.
Actions:
- start a new game, select level, and press enter to start.
Verify:
- Enter starts the game.
- Level selected is the level shown once game begins.
- Tetromino falls at a set rate depending on the level of speed, regardless of actions taken, until it cannot fall anymore.
Actions:
- 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:
- 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:
- 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: Testing the behaviour just before, during and after a piece has landed, regardless of whether a line was completed or not. These tests test all boundaries of the partitions between the old piece and the new piece, except for line completion, which is a special case and is tested in Line completion.
Actions:
- drop the piece or let it fall to the ground.
- move the piece left or right if it can when the piece is resting on a block or floor.
- 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.
- After the piece is dropped, the next piece spawned is the one from the next piece window.
- After the next piece has spawned, a random piece is generated in the next piece window.
Line completion
Justification: When a piece is landed so that it completes a line/s, the correct behaviour is observed. This is a special case that occurs when a piece lands.
Actions:
- 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: The game must get harder as more points are scored. If this boundary was known, the test could be more specific, but alas, it is not. The points can only go up when a piece has landed, thus this is a special case for Piece landing.
Actions:
- score the points/lines required for the next level.
Verify:
- The level increases once the points/lines reach that point.
Game over
Justification:
Actions:
- fill the well with blocks, so a new piece spawned collides with existing blocks or the new piece is outside the well.
Verify:
- If the newly spawned piece collides with existing blocks, then the game is over.
- If the newly spawned piece lands outside the well (from the top), then the game is over.