Tests/Sudoku: Difference between revisions
(48 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
==General test design== |
|||
Due to time restraints certain aspects of Sudoku are impractical to test manually. For example it is not practical to test what happens when the final puzzle on level 5 is completed. This would require first passing the other 64 puzzles on level 5, then completing the 65th puzzle; which would take a very long time! |
|||
In the Sudoku game levels 1-3 are a simplified form of the game and use shapes- a circle, square, star and triangle. Levels 4-5 use numbers as in traditional Sudoku. Because of this the levels 1-3 and levels 4-5 where considered as two separate equivalence partitions when testing some of the game play features. For example adding and removing symbols from the puzzle is different for the two level types. Numbers are added in levels 4 and 5 by giving squares the keyboard focus and typing a number from the keypad. Where as in levels 1 to 3, symbols are added by clicking and dragging symbols from the side bar. |
|||
However for other aspects of game play the two level types were treated as a single equivilence partition. For example the result of completing a puzzle or clicking buttons on the bottom menu bar are assumed to be the same for both level types. |
|||
==Start the sudoku activity== |
==Start the sudoku activity== |
||
Line 10: | Line 18: | ||
*A sudoku icon (with the title sudoku) is added to the activity ring on the home screen. |
*A sudoku icon (with the title sudoku) is added to the activity ring on the home screen. |
||
*The sudoku icon throbs to indicate the activity starting up. |
*The sudoku icon throbs to indicate the activity starting up. |
||
* |
*The the sudoku activity starts properly. |
||
*The first puzzle for level one is loaded. |
*The first puzzle for level one is loaded. |
||
Line 16: | Line 24: | ||
''Justification:'' |
''Justification:'' |
||
The help manual should be clear and easy to follow for someone who has not played the game. The vocabulary used should be understandable by a child as this is the target age group. |
|||
[[HIG]] |
|||
''Actions:'' |
''Actions:'' |
||
Line 26: | Line 34: | ||
*That clicking the icons for each page in the help manual displays the correct help page. |
*That clicking the icons for each page in the help manual displays the correct help page. |
||
*The help text is easy to read and can be understood by a first time user. |
*The help text is easy to read and can be understood by a first time user. |
||
*The icon for the page being displayed is highlighted. |
|||
===Close=== |
|||
''Actions (close):'' |
|||
''Actions:'' |
|||
#Click the OK button. |
#Click the OK button. |
||
''Verify:'' |
''Verify:'' |
||
Line 36: | Line 47: | ||
''Justification:'' |
''Justification:'' |
||
The dice button in the bottom menu should allow users to switch between levels as they please. Left click allows the user to move forward a level while right click moves back a level. Boundary cases that must be tested are what happens when the user left clicks on the dice to move forward a level when the current level is the last one, as well as right clicking the dice to move back a level when the user is already on level 1. |
|||
[[HIG]] |
|||
====Next==== |
|||
''Actions (next):'' |
|||
''Actions:'' |
|||
#Complete the first puzzle on level 1. |
#Complete the first puzzle on level 1. |
||
#Click the left mouse button on the 'dice' icon 4 times quickly. |
#Click the left mouse button on the 'dice' icon 4 times quickly. |
||
Line 47: | Line 59: | ||
*The puzzle count is reset to 1. |
*The puzzle count is reset to 1. |
||
====Back to 1==== |
|||
''Actions (return to 1):'' |
|||
''Actions:'' |
|||
#Click the left button once more on the dice icon. |
#Click the left button once more on the dice icon. |
||
Line 55: | Line 68: | ||
*The puzzle displayed is the same as the first puzzle completed in step one of 'next' but may have different symbols. |
*The puzzle displayed is the same as the first puzzle completed in step one of 'next' but may have different symbols. |
||
====Back==== |
|||
''Actions (back):'' |
|||
''Actions:'' |
|||
#Partially complete the 1st level 1 puzzle. |
#Partially complete the 1st level 1 puzzle. |
||
#Click the left button once more on the dice icon. |
#Click the left button once more on the dice icon. |
||
Line 67: | Line 81: | ||
*After clicking right button on the dice the first time the dice moves back to 1 and the 1st level 1 puzzle is shown in its empty form. |
*After clicking right button on the dice the first time the dice moves back to 1 and the 1st level 1 puzzle is shown in its empty form. |
||
*The second right button click does nothing. |
*The second right button click does nothing. |
||
*The next left click moves the dice to 2, and the 1st level 2 puzzle is displayed in its empty form. |
*The next left click moves the dice to level 2, and the 1st level 2 puzzle is displayed in its empty form. |
||
==Restart puzzle== |
==Restart puzzle== |
||
''Justification:'' |
''Justification:'' |
||
The restart puzzle icon should clear the currently displayed puzzle and restore it to it's original state. Boundary testing involves clicking the reset button while the puzzle is empty, as well as having only 1 item in it, and being 1 item from completion. Of these three the final test is least likely to discover a bug and can be skipped if time to execute the tests is limited. |
|||
[[HIG]] |
|||
''Actions:'' |
''Actions:'' |
||
Line 98: | Line 112: | ||
; Fixed squares: The squares in a puzzle which contain symbols when the puzzle is in its initial state. These symbols can not be removed or changed by the user. |
; Fixed squares: The squares in a puzzle which contain symbols when the puzzle is in its initial state. These symbols can not be removed or changed by the user. |
||
; Valid squares: A square in which the rules of |
; Valid squares: A square in which the rules of Sudoku allow a user to place a given symbol or number in that sqare. |
||
===Moving Symbols=== |
===Moving Symbols=== |
||
'' |
''Justification:'' |
||
For this test in was initially thought that only one of the symbols needed to be tested as the functionality of the other symbols would be identical. However testing discovered that the positioning of a symbol on the side bar effected whether it passes above or below other symbols on the side bar. For that reason it was decided to test both the top and bottom symbols on the side bar. |
|||
#Hover over the top symbol on sidebar. |
|||
====Hover==== |
|||
''Actions:'' |
|||
#Hover over the top symbol on the sidebar. |
|||
#Move to hover over the bottom symbol on the sidebar. |
#Move to hover over the bottom symbol on the sidebar. |
||
Line 109: | Line 127: | ||
*The symbol lights up, or gives some other form of feedback to the user that indicates that the cursor is hovering over that symbol. |
*The symbol lights up, or gives some other form of feedback to the user that indicates that the cursor is hovering over that symbol. |
||
====Click & Drag==== |
|||
''Actions:'' |
|||
#Click and hold down the mouse button on the first symbol. |
#Click and hold down the mouse button on the first symbol. |
||
#Drag the symbol over the icons on the side menu bar. |
#Drag the symbol over the icons on the side menu bar. |
||
#Drag the symbol over the icons on the bottom menu bar. |
#Drag the symbol over the icons on the bottom menu bar, and the level label. |
||
#Repeat the above steps for the bottom symbol in the side bar. |
|||
''Verify:'' |
''Verify:'' |
||
*The symbol disapears from the sidebar and a smaller form appears attached to the cursor. |
*The symbol disapears from the sidebar and a smaller form appears attached to the cursor. |
||
*The symbol remains attached to the cursor as the mouse is moved. |
*The symbol remains attached to the cursor as the mouse is moved. |
||
*The symbols |
*The symbols is still visible and attached to the cursor when passing over the bottom bar and level label. |
||
===Adding Symbols=== |
===Adding Symbols=== |
||
'' |
''Justification:'' |
||
In general it was decided that the functionality of one symbol was the same as the functionality of the other symbols. Hence it was not neccessary to test all the symbols for every possible way of adding symbols to the puzzle. |
|||
====Invalid==== |
|||
''Justification:'' |
|||
This test tests all the different symbols on the side bar being dragged into the various invalid positions. It is uneccessary to test all the invalid symbols being dragged into all the invalid positions. |
|||
''Actions:'' |
|||
#Start with an empty puzzle on level 1. |
|||
#Attempt to place the 1st symbol on top of one of the icons on the bottom menu bar. |
#Attempt to place the 1st symbol on top of one of the icons on the bottom menu bar. |
||
#Attempt to place the 2nd symbol on the menu bar in empty space outside the puzzle. |
#Attempt to place the 2nd symbol on the menu bar in an empty space outside the puzzle. |
||
#Attempt to place the 3rd symbol inside one of the FIXED squares. |
#Attempt to place the 3rd symbol inside one of the FIXED invalid squares. |
||
#Attempt to place the 3rd symbol inside one of the FIXED valid squares. |
|||
''Verify:'' |
''Verify:'' |
||
*In all three cases the symbol disapears from the cursor when the mouse is released. |
*In all three cases the symbol disapears from the cursor when the mouse is released. |
||
* |
*The symbol reapears on the side menu bar. |
||
*Nothing else happens. |
*Nothing else happens. |
||
====Valid Empty Square==== |
|||
''Actions:'' |
|||
#Pick up and release a symbol inside a VALID empty square. |
#Pick up and release a symbol inside a VALID empty square. |
||
Line 140: | Line 172: | ||
*The symbol reapears on the side bar. |
*The symbol reapears on the side bar. |
||
====Valid Variable Square==== |
|||
''Actions:'' |
|||
#Pick up and release a symbol inside a VALID variable square which contains a symbol different than the one on the cursor. |
#Pick up and release a symbol inside a VALID variable square which contains a symbol different than the one on the cursor. |
||
#Pick up and release a symbol inside a VALID variable square which contains a symbol the same as the one on the cursor. ''(This is probably not needed)'' |
#Pick up and release a symbol inside a VALID variable square which contains a symbol the same as the one on the cursor. ''(This is probably not needed)'' |
||
Line 151: | Line 184: | ||
===Invalid Variable Squares=== |
===Invalid Variable Squares=== |
||
''Justification:'' |
|||
Part of the rationale behind this test was a bug that was discovered while exploring the system. This bug resulted in filled variable squares changing to the color of fixed squares when they were highlighted because they had blocked the addition of symbol in an empty variable square. |
|||
''Actions:'' |
''Actions:'' |
||
#Release inside an EMPTY square that is INVALID due to a fixed square. |
#Release a symbol inside an EMPTY square that is INVALID due to a fixed square. |
||
#Release inside an EMPTY square that is INVALID due to a variable square. |
#Release inside an EMPTY square that is INVALID due to a variable square. |
||
#Release inside an EMPTY square that is INVALID due to both a variable square and fixed square. |
#Release inside an EMPTY square that is INVALID due to both a variable square and fixed square. |
||
Line 169: | Line 205: | ||
#Click on a FIXED square. |
#Click on a FIXED square. |
||
#Click on an EMPTY square. |
#Click on an EMPTY square. |
||
#Click in the background of a filled VARIABLE square. |
|||
''Verify:'' |
''Verify:'' |
||
Line 174: | Line 211: | ||
''Actions:'' |
''Actions:'' |
||
#Click in the background of a filled VARIABLE square. |
|||
#Click on the symbol inside a filled VARIABLE square. |
#Click on the symbol inside a filled VARIABLE square. |
||
''Verify:'' |
''Verify:'' |
||
*The symbol inside the square dissapears. |
*The symbol inside the square dissapears. |
||
*The background color of the square is the same a normal empty square. |
*The background color of the square is the same as a normal empty square. |
||
==Playing Level 4-5== |
==Playing Level 4-5== |
||
''Justification:'' |
|||
===Moving Cursor=== |
|||
The rationale behind the tests for levels 4 and 5 is similar to that for the testing of levels 1 to 3. |
|||
===Hovering=== |
|||
''Actions (Side Bar):'' |
|||
====Side Bar==== |
|||
''Actions:'' |
|||
#Hover over the top symbol on sidebar. |
#Hover over the top symbol on sidebar. |
||
#Click on the second symbol on the side bar. |
#Click on the second symbol on the side bar. |
||
Line 193: | Line 233: | ||
*Nothing happens. |
*Nothing happens. |
||
====Puzzle Squares==== |
|||
''Actions:'' |
|||
#Move the cursor to the edge of the puzzle. |
#Move the cursor to the edge of the puzzle. |
||
#Move the cursor into an empty square on one of the edges of the puzzle. |
#Move the cursor into an empty square on one of the edges of the puzzle. |
||
Line 206: | Line 247: | ||
*When the cursor leaves the empty square the background color returns to the original color. |
*When the cursor leaves the empty square the background color returns to the original color. |
||
====Filled Variable Squares==== |
|||
''Actions:'' |
|||
#Put a number in on of the variable squares. |
|||
#Put a number in one of the variable squares. |
|||
#Give the keyboard focus to another empty square by clicking in it. |
|||
#Hover over the background part of that square. |
#Hover over the background part of that square. |
||
#Hover over the number. |
#Hover over the number. |
||
#Leave the square. |
|||
''Verify:'' |
''Verify:'' |
||
*The square is highlighted when the cursor hovers over both the background and number inside a filled variable square. |
*The square is highlighted when the cursor hovers over both the background and number inside a filled variable square. |
||
*The background color of the square returns to normal when the mouse leaves the square. |
|||
=== |
===Clicking=== |
||
====Fixed Square==== |
|||
''Actions (Invalid):'' |
|||
''Actions:'' |
|||
#Attempt to place the 1st symbol on top of one of the icons on the bottom menu bar. |
|||
#Click on the number in a fixed square. |
|||
#Attempt to place the 2nd symbol on the menu bar in empty space outside the puzzle. |
|||
#Click on the background in a fixed square. |
|||
#Attempt to place the 3rd symbol inside one of the FIXED squares. |
|||
''Verify:'' |
|||
*Nothing happens. |
|||
====Empty Square==== |
|||
''Actions:'' |
|||
#Click on an empty square. |
|||
#Enter another empty square. |
|||
#Click inside the second empty square. |
|||
#Leave the second square. |
|||
''Verify:'' |
''Verify:'' |
||
*In |
*In both cases the square highlighting remains when the cursor leaves the square that is given the focus by clicking on it. |
||
*Symbol reapears on the side menu bar. |
|||
*Nothing else happens. |
|||
====Filled Variable Square==== |
|||
''Actions:'' |
|||
#Pick up and release a symbol inside a VALID empty square. |
|||
#Click in the background of a filled variable square. |
|||
#Enter another filled variable square. |
|||
#Click on the number inside the second filled variable square. |
|||
#Leave the square. |
|||
''Verify:'' |
''Verify:'' |
||
*In both cases the square highlighting remains when the cursor leaves the square that is given the focus by clicking on it. |
|||
*The symbol drops from the cursor. |
|||
*An enlarged version of the symbol appears in the empty box. |
|||
*The background color of the square does not change. |
|||
*The symbol reapears on the side bar. |
|||
===Adding Numbers=== |
|||
''Actions (Valid Variable Square):'' |
|||
#Pick up and release a symbol inside a VALID variable square which contains a symbol different than the one on the cursor. |
|||
====Valid Input - Empty Square==== |
|||
#Pick up and release a symbol inside a VALID variable square which contains a symbol the same as the one on the cursor. ''(This is probably not needed)'' |
|||
''Actions:'' |
|||
#Click on an empty square. |
|||
#Type a valid number on the keyboard. |
|||
''Verify:'' |
''Verify:'' |
||
*The |
*The number appears in the empty square. |
||
*An enlarged version of the symbol replaces the square in the box below. |
|||
*The background color of the square does not change. |
|||
*The symbol reapears on the side bar. |
|||
=== |
====Out-of-range Invalid Input==== |
||
''Actions:'' |
|||
#Click on an empty square. |
|||
#Type the number 0 on the keyboard. |
|||
#Type a number 1 higher than the maximum. |
|||
#Type a number that is numeric. |
|||
#Repeat the above steps for a filled variable square. |
|||
''Verify:'' |
|||
*Nothing happens. |
|||
====Valid Input - Filled Variable Square==== |
|||
''Actions:'' |
''Actions:'' |
||
# |
#Click on a filled variable square to give it the focus. |
||
# |
#Type the same number that is in the square. |
||
#Type a new number that is still a valid input. |
|||
#Release inside an EMPTY square that is INVALID due to both a variable square and fixed square. |
|||
#Release inside an FILLED square that is INVALID due to both a variable square and fixed square. |
|||
''Verify:'' |
''Verify:'' |
||
*When the new number is typed the number inside the square changes. |
|||
*The small symbol dissapears from the cursor. |
|||
*Nothing else changes. |
|||
*It appears simultaneously back on the sidebar |
|||
*The symbols that are already in the grid and are the reason the placement of the new symbol is INVALID are highlighted for 3 seconds. |
|||
====In-Range Invalid Inputs==== |
|||
''Actions'' |
|||
#Type a number in an EMPTY square that is INVALID due to a fixed square. |
|||
#Type a number in an EMPTY square that is INVALID due to a variable square. |
|||
#Type a number in an EMPTY square that is INVALID due to both a variable square and fixed square. |
|||
#Type a number in an FILLED square that is INVALID due to both a variable square and fixed square. |
|||
''Verify:'' |
|||
*The squares in the grid that are the reason the number is INVALID are highlighted for 3 seconds. |
|||
*The highlighted squares return to their normal state after 3 seconds. |
*The highlighted squares return to their normal state after 3 seconds. |
||
====Special In-Range Invalid Inputs==== |
|||
===Removing Symbols=== |
|||
''Actions:'' |
|||
#Type a number in an EMPTY square that is INVALID, because of a FIXED square. |
|||
#IMMEDIATELY move the cursor into the FIXED square that caused the invalid input in the previous step. |
|||
''Verify:'' |
|||
*The squares in the grid that are the reason the number was INVALID are highlighted. |
|||
*When the cursor enters the highlighted FIXED square nothing happens. |
|||
*The highlighted squares return to their normal state after 3 seconds. |
|||
''Actions:'' |
''Actions:'' |
||
#Type 2 different numbers in an EMPTY square that are INVALID, because of a filled VARIABLE square. |
|||
#Click on a FIXED square. |
|||
#IMMEDIATELY move the cursor into the filled variable square that caused the invalid input in the previous step. |
|||
#Click on an EMPTY square. |
|||
''Verify:'' |
''Verify:'' |
||
*The squares in the grid that are the reason the 2 numbers are INVALID are all highlighted. |
|||
*Nothing happens. |
|||
*When the cursor enters the highlighted square the INVALID highlighting is replaced by the FOCUS highlighting. The focus highlighting remains even after the 3 secons expires. |
|||
*Other highlighted squares return to their normal state after 3 seconds. |
|||
'''Extras:''' |
|||
The above test could also be applied by clicking in the variable square and making sure the permanent focus is maintained after the 3 seconds expires. This test could also have the user move out of the square before the 3 seconds expires. |
|||
===Removing Numbers=== |
|||
''Actions:'' |
''Actions:'' |
||
#Click on a filled |
#Click on a filled variable square. |
||
#Hit the erase button on the keyboard. |
|||
#Type a new valid input on the keyboard. |
|||
''Verify:'' |
''Verify:'' |
||
*The |
*The number disspears from the square. |
||
* |
*Background color remains the same. |
||
*When the new number is typed it appears in the empty square. |
|||
==Completing a Puzzle== |
|||
''Justification:'' |
|||
This test contains use cases checking that the game runs smoothly through a normal usage scenario. |
|||
''Actions:'' |
|||
#Complete the first puzzle in level 1. |
|||
''Verify:'' |
|||
*A congratulatory picture is displayed to the user. |
|||
*The screen changes to a new puzzle from that level which is empty. |
|||
*The puzzle count increase by 1. |
|||
''Actions:'' |
|||
#Complete the last puzzle in level 1. |
|||
''Verify:'' |
|||
*The congratulatory picture is displayed to the user. |
|||
*The screen changes to a new puzzle from the next level which is empty. |
|||
*The puzzle count returns to 1. |
|||
*The dice (level changer) icon moves to the next number. |
|||
===Optional Extra=== |
|||
''Actions:'' |
|||
#Complete the last puzzle in level 5. |
|||
''Verify:'' |
|||
*A SPECIAL congratulatory picture is displayed to the user. |
|||
*The screen changes to the first puzzle in level 1. |
|||
*The puzzle count returns to 1. |
|||
*The dice (level changer) returns to 1. |
|||
==Quit the activity== |
==Quit the activity== |
||
Line 290: | Line 413: | ||
''Actions:'' |
''Actions:'' |
||
# |
# Switch to the Journal. |
||
# |
# Find the entry for your Browse session. |
||
# |
# Either click on the 'direct launcher' at the right of the entry or |
||
# |
# Click on the entry and use the "Resume" button to resume the entry with the desired activity. |
||
''Verify:'' |
''Verify:'' |
||
* |
* That your entry in the Journal is still present and has updated the preview to indicate your new work. |
||
* |
* That resuming your Browse session loads the last session properly. |
Latest revision as of 03:26, 2 April 2008
General test design
Due to time restraints certain aspects of Sudoku are impractical to test manually. For example it is not practical to test what happens when the final puzzle on level 5 is completed. This would require first passing the other 64 puzzles on level 5, then completing the 65th puzzle; which would take a very long time!
In the Sudoku game levels 1-3 are a simplified form of the game and use shapes- a circle, square, star and triangle. Levels 4-5 use numbers as in traditional Sudoku. Because of this the levels 1-3 and levels 4-5 where considered as two separate equivalence partitions when testing some of the game play features. For example adding and removing symbols from the puzzle is different for the two level types. Numbers are added in levels 4 and 5 by giving squares the keyboard focus and typing a number from the keypad. Where as in levels 1 to 3, symbols are added by clicking and dragging symbols from the side bar.
However for other aspects of game play the two level types were treated as a single equivilence partition. For example the result of completing a puzzle or clicking buttons on the bottom menu bar are assumed to be the same for both level types.
Start the sudoku activity
Justification: HIG
Actions:
- Start the sudoku activity by clicking the icon for it in the home view.
Verify:
- A sudoku icon (with the title sudoku) is added to the activity ring on the home screen.
- The sudoku icon throbs to indicate the activity starting up.
- The the sudoku activity starts properly.
- The first puzzle for level one is loaded.
Use help manual
Justification: The help manual should be clear and easy to follow for someone who has not played the game. The vocabulary used should be understandable by a child as this is the target age group.
Actions:
- Click the help icon on the main menu bar.
- Read the main help page.
- Click each of the icons for the other help pages and read the contents.
Verify:
- The main help page is displayed correctly with a title and text.
- That clicking the icons for each page in the help manual displays the correct help page.
- The help text is easy to read and can be understood by a first time user.
- The icon for the page being displayed is highlighted.
Close
Actions:
- Click the OK button.
Verify:
- The help closes.
- The current sudoku puzzle is displayed in the same state it was before the help was viewed.
Changing levels
Justification: The dice button in the bottom menu should allow users to switch between levels as they please. Left click allows the user to move forward a level while right click moves back a level. Boundary cases that must be tested are what happens when the user left clicks on the dice to move forward a level when the current level is the last one, as well as right clicking the dice to move back a level when the user is already on level 1.
Next
Actions:
- Complete the first puzzle on level 1.
- Click the left mouse button on the 'dice' icon 4 times quickly.
Verify:
- The dice rotates around to the number 5.
- The screen displays a random puzzle from level 5.
- The puzzle count is reset to 1.
Back to 1
Actions:
- Click the left button once more on the dice icon.
Verify:
- The dice rotates and displays the number 1.
- The puzzle count is set to 1.
- The puzzle displayed is the same as the first puzzle completed in step one of 'next' but may have different symbols.
Back
Actions:
- Partially complete the 1st level 1 puzzle.
- Click the left button once more on the dice icon.
- Complete the first puzzle for level 2.
- Partially complete the 2nd puzzle for level 2.
- Click the right button on the dice.
- Click the right button on the dice again.
- Click the left button on the dice.
Verify:
- After clicking right button on the dice the first time the dice moves back to 1 and the 1st level 1 puzzle is shown in its empty form.
- The second right button click does nothing.
- The next left click moves the dice to level 2, and the 1st level 2 puzzle is displayed in its empty form.
Restart puzzle
Justification: The restart puzzle icon should clear the currently displayed puzzle and restore it to it's original state. Boundary testing involves clicking the reset button while the puzzle is empty, as well as having only 1 item in it, and being 1 item from completion. Of these three the final test is least likely to discover a bug and can be skipped if time to execute the tests is limited.
Actions:
- Add a single item to an empty sudoku puzzle.
- Click the reset icon.
Verify:
- The puzzle is returned to its empty form.
Actions:
- Add items to a sudoku puzzle so that it can be completed by adding 1 more item.
- Click the reset icon.
Verify:
- The puzzle is returned to its empty form.
Actions:
- Click the reset icon while an empty form of level 1, puzzle 2 is displayed.
Verify:
- Nothing happens.
Playing Level 1-3
- Fixed squares
- The squares in a puzzle which contain symbols when the puzzle is in its initial state. These symbols can not be removed or changed by the user.
- Valid squares
- A square in which the rules of Sudoku allow a user to place a given symbol or number in that sqare.
Moving Symbols
Justification: For this test in was initially thought that only one of the symbols needed to be tested as the functionality of the other symbols would be identical. However testing discovered that the positioning of a symbol on the side bar effected whether it passes above or below other symbols on the side bar. For that reason it was decided to test both the top and bottom symbols on the side bar.
Hover
Actions:
- Hover over the top symbol on the sidebar.
- Move to hover over the bottom symbol on the sidebar.
Verify:
- The symbol lights up, or gives some other form of feedback to the user that indicates that the cursor is hovering over that symbol.
Click & Drag
Actions:
- Click and hold down the mouse button on the first symbol.
- Drag the symbol over the icons on the side menu bar.
- Drag the symbol over the icons on the bottom menu bar, and the level label.
- Repeat the above steps for the bottom symbol in the side bar.
Verify:
- The symbol disapears from the sidebar and a smaller form appears attached to the cursor.
- The symbol remains attached to the cursor as the mouse is moved.
- The symbols is still visible and attached to the cursor when passing over the bottom bar and level label.
Adding Symbols
Justification: In general it was decided that the functionality of one symbol was the same as the functionality of the other symbols. Hence it was not neccessary to test all the symbols for every possible way of adding symbols to the puzzle.
Invalid
Justification: This test tests all the different symbols on the side bar being dragged into the various invalid positions. It is uneccessary to test all the invalid symbols being dragged into all the invalid positions.
Actions:
- Start with an empty puzzle on level 1.
- Attempt to place the 1st symbol on top of one of the icons on the bottom menu bar.
- Attempt to place the 2nd symbol on the menu bar in an empty space outside the puzzle.
- Attempt to place the 3rd symbol inside one of the FIXED invalid squares.
- Attempt to place the 3rd symbol inside one of the FIXED valid squares.
Verify:
- In all three cases the symbol disapears from the cursor when the mouse is released.
- The symbol reapears on the side menu bar.
- Nothing else happens.
Valid Empty Square
Actions:
- Pick up and release a symbol inside a VALID empty square.
Verify:
- The symbol drops from the cursor.
- An enlarged version of the symbol appears in the empty box.
- The background color of the square does not change.
- The symbol reapears on the side bar.
Valid Variable Square
Actions:
- Pick up and release a symbol inside a VALID variable square which contains a symbol different than the one on the cursor.
- Pick up and release a symbol inside a VALID variable square which contains a symbol the same as the one on the cursor. (This is probably not needed)
Verify:
- The symbol drops from the cursor.
- An enlarged version of the symbol replaces the square in the box below.
- The background color of the square does not change.
- The symbol reapears on the side bar.
Invalid Variable Squares
Justification: Part of the rationale behind this test was a bug that was discovered while exploring the system. This bug resulted in filled variable squares changing to the color of fixed squares when they were highlighted because they had blocked the addition of symbol in an empty variable square.
Actions:
- Release a symbol inside an EMPTY square that is INVALID due to a fixed square.
- Release inside an EMPTY square that is INVALID due to a variable square.
- Release inside an EMPTY square that is INVALID due to both a variable square and fixed square.
- Release inside an FILLED square that is INVALID due to both a variable square and fixed square.
Verify:
- The small symbol dissapears from the cursor.
- It appears simultaneously back on the sidebar
- The symbols that are already in the grid and are the reason the placement of the new symbol is INVALID are highlighted for 3 seconds.
- The highlighted squares return to their normal state after 3 seconds.
Removing Symbols
Actions:
- Click on a FIXED square.
- Click on an EMPTY square.
- Click in the background of a filled VARIABLE square.
Verify:
- Nothing happens.
Actions:
- Click on the symbol inside a filled VARIABLE square.
Verify:
- The symbol inside the square dissapears.
- The background color of the square is the same as a normal empty square.
Playing Level 4-5
Justification: The rationale behind the tests for levels 4 and 5 is similar to that for the testing of levels 1 to 3.
Hovering
Side Bar
Actions:
- Hover over the top symbol on sidebar.
- Click on the second symbol on the side bar.
Verify:
- The symbol's dont light up.
- Nothing happens.
Puzzle Squares
Actions:
- Move the cursor to the edge of the puzzle.
- Move the cursor into an empty square on one of the edges of the puzzle.
- Move the cursor into an adjacent empty square.
- Move the cursor into another empty square on each of the other three edges of the puzzle. (If the corners are free move to the corners)
- Move the cursor into a fixed square.
- Move it into an adjacent empty square.
Verify:
- When the cursor enters and leaves a fixed square nothing happens to that square.
- When the user enters an empty square the background color of the square changes to indicate that the users is hovering over it.
- When the cursor leaves the empty square the background color returns to the original color.
Filled Variable Squares
Actions:
- Put a number in one of the variable squares.
- Give the keyboard focus to another empty square by clicking in it.
- Hover over the background part of that square.
- Hover over the number.
- Leave the square.
Verify:
- The square is highlighted when the cursor hovers over both the background and number inside a filled variable square.
- The background color of the square returns to normal when the mouse leaves the square.
Clicking
Fixed Square
Actions:
- Click on the number in a fixed square.
- Click on the background in a fixed square.
Verify:
- Nothing happens.
Empty Square
Actions:
- Click on an empty square.
- Enter another empty square.
- Click inside the second empty square.
- Leave the second square.
Verify:
- In both cases the square highlighting remains when the cursor leaves the square that is given the focus by clicking on it.
Filled Variable Square
Actions:
- Click in the background of a filled variable square.
- Enter another filled variable square.
- Click on the number inside the second filled variable square.
- Leave the square.
Verify:
- In both cases the square highlighting remains when the cursor leaves the square that is given the focus by clicking on it.
Adding Numbers
Valid Input - Empty Square
Actions:
- Click on an empty square.
- Type a valid number on the keyboard.
Verify:
- The number appears in the empty square.
Out-of-range Invalid Input
Actions:
- Click on an empty square.
- Type the number 0 on the keyboard.
- Type a number 1 higher than the maximum.
- Type a number that is numeric.
- Repeat the above steps for a filled variable square.
Verify:
- Nothing happens.
Valid Input - Filled Variable Square
Actions:
- Click on a filled variable square to give it the focus.
- Type the same number that is in the square.
- Type a new number that is still a valid input.
Verify:
- When the new number is typed the number inside the square changes.
- Nothing else changes.
In-Range Invalid Inputs
Actions
- Type a number in an EMPTY square that is INVALID due to a fixed square.
- Type a number in an EMPTY square that is INVALID due to a variable square.
- Type a number in an EMPTY square that is INVALID due to both a variable square and fixed square.
- Type a number in an FILLED square that is INVALID due to both a variable square and fixed square.
Verify:
- The squares in the grid that are the reason the number is INVALID are highlighted for 3 seconds.
- The highlighted squares return to their normal state after 3 seconds.
Special In-Range Invalid Inputs
Actions:
- Type a number in an EMPTY square that is INVALID, because of a FIXED square.
- IMMEDIATELY move the cursor into the FIXED square that caused the invalid input in the previous step.
Verify:
- The squares in the grid that are the reason the number was INVALID are highlighted.
- When the cursor enters the highlighted FIXED square nothing happens.
- The highlighted squares return to their normal state after 3 seconds.
Actions:
- Type 2 different numbers in an EMPTY square that are INVALID, because of a filled VARIABLE square.
- IMMEDIATELY move the cursor into the filled variable square that caused the invalid input in the previous step.
Verify:
- The squares in the grid that are the reason the 2 numbers are INVALID are all highlighted.
- When the cursor enters the highlighted square the INVALID highlighting is replaced by the FOCUS highlighting. The focus highlighting remains even after the 3 secons expires.
- Other highlighted squares return to their normal state after 3 seconds.
Extras: The above test could also be applied by clicking in the variable square and making sure the permanent focus is maintained after the 3 seconds expires. This test could also have the user move out of the square before the 3 seconds expires.
Removing Numbers
Actions:
- Click on a filled variable square.
- Hit the erase button on the keyboard.
- Type a new valid input on the keyboard.
Verify:
- The number disspears from the square.
- Background color remains the same.
- When the new number is typed it appears in the empty square.
Completing a Puzzle
Justification: This test contains use cases checking that the game runs smoothly through a normal usage scenario.
Actions:
- Complete the first puzzle in level 1.
Verify:
- A congratulatory picture is displayed to the user.
- The screen changes to a new puzzle from that level which is empty.
- The puzzle count increase by 1.
Actions:
- Complete the last puzzle in level 1.
Verify:
- The congratulatory picture is displayed to the user.
- The screen changes to a new puzzle from the next level which is empty.
- The puzzle count returns to 1.
- The dice (level changer) icon moves to the next number.
Optional Extra
Actions:
- Complete the last puzzle in level 5.
Verify:
- A SPECIAL congratulatory picture is displayed to the user.
- The screen changes to the first puzzle in level 1.
- The puzzle count returns to 1.
- The dice (level changer) returns to 1.
Quit the activity
Justification: HIG
Actions:
- Click the quit icon on the bottom menu bar.
Verify:
- That the activity closes properly.
- That the sudoku icon disappears from the activity donut.
Resume a session
Justification: HIG
Actions:
- Switch to the Journal.
- Find the entry for your Browse session.
- Either click on the 'direct launcher' at the right of the entry or
- Click on the entry and use the "Resume" button to resume the entry with the desired activity.
Verify:
- That your entry in the Journal is still present and has updated the preview to indicate your new work.
- That resuming your Browse session loads the last session properly.