0.8 QA Plan
Test 1: Initial Load
Load the Coding Environment
Expect:The page loads without any errors
Test 2: Change the character’s position and rotation
Test 2.1: Change the character’s position using alphanumeric grid input
Input the alphanumeric co-ordinates (“E”, “4”) into the alphanumeric grid input
Expect:The character appears at position E4 without drawing any lines
Input the invalid alphanumeric co-ordinates (“10”, “8”) into the alphanumeric grid input
Expect:The character appears at position E8 without drawing any lines
Input the invalid alphanumeric co-ordinates (“$”, “10”) into the alphanumeric grid input
Expect:The character appears at position E10 without drawing any lines
Input the invalid alphanumeric co-ordinates (“H”, “-10”) into the alphanumeric grid input
Expect:The character appears at position H10 without drawing any lines
Input the invalid alphanumeric co-ordinates (“R”, “C”) into the alphanumeric grid input
Expect:The character appears at position R10 without drawing any lines
Input the invalid alphanumeric co-ordinates (“S”, “#”) into the alphanumeric grid input
Expect:The character appears at position S10 without drawing any lines
Input the invalid alphanumeric co-ordinates (“E”, “100”) into the alphanumeric grid input
Expect:The character appears at position E10 without drawing any lines
Test 2.2: Change the character’s position using directional movement buttons
Complete test 12 to refresh the scene
Activate the “Move Right” button three times
Expect:The character moves right three spaces on the grid without drawing any lines
Activate the “Move Down” button two times
Expect:The character moves down two spaces on the grid without drawing any lines
Activate the “Move Left” button two times
Expect:The character moves left two spaces on the grid without drawing any lines
Activate the “Move Up” button one time
Expect:The character moves up one space on the grid without drawing any lines
Activate the “Move left” button ten times.
Expect:The character travels to the left edge of the canvas and stops there.
Activate the “Move up” button ten times.
Expect:The character travels to the top of the canvas and stops there.
Repeat test 2.1, step 1, using the co-ordinates “W” “12”. Activate the “Move down” button ten times.
Expect:The character travels to the bottom of the canvas and stops there.
Activate the “Move right” button ten times.
Expect:The character travels to the right edge of the canvas and stops there.
Repeat test 2.1, step 1, using the co-ordinates “A” “1”.
Test 2.3: Change the character’s rotation using rotation buttons
Activate the “Turn left” button one time
Expect:The character turns left 45 degrees
Activate the “Turn right” button one time
Expect:The character turns right 45 degrees
Repeat steps 1 and 2, activating each button eight times (one 360-degree rotation) instead of once.
Expect:The character completes a full 360-degree rotation in each direction
Use the rotation buttons to set the character’s orientation back to default
Complete test 12 to refresh the scene
Test 3: Simple program
Whenever you add a command block to the program in this test, verify that:
You do not use the “+” button to add it to the program
The command is added to the program
The command stays selected in the commands menu
Select the “Move forward one square” command block and add it to the program
Select the “Turn right 45 degrees” command block and add it to the
Select the “Move forward three squares” command block and add it to the
Select the “Turn left 90 degrees” command block and add it to the program
Expect:There are 4 commands in the program
Test 4: Run program
Activate the play button
Expect:The commands in the program area are performed by the character
If the “Draw lines” switch is on, the character draws lines as it moves. If the “Draw lines” switch is off, the character does not draw any lines.
If the character reaches the edge of the canvas during a movement, it stops at the edge of the canvas (it doesn’t run off the canvas)
The play button switches to a pause button while the program is running
The character produces sounds while the program is running
The stop button is available while the program is running
The command being performed by the character is highlighted while the program is running
Test 5: Extended program
Whenever you add a command block to the program in this test, verify that:
You do not use the “+” button to add it to the program
The command is added to the program
The command stays selected in the commands menu
If a program has already been created, complete test 14.2 to delete the program
If the character is not in the default position, complete test 12 to refresh the scene
Select the “Turn right 90 degrees” command block and add it to the program
Select the “Move forward 3 squares” command block and add it to the program 6 times. This will result in the character attempting to run off the canvas. When running test 4 at the end of this test, make sure to verify the character does not run off the canvas.
Select the “Turn left 45 degrees” command block and add it to the program.
Select the “Turn left 90 degrees” command block and add it to the program.
Select the “Move forward 2 squares” command block and add it to the program.
Select the “Turn right 45 degrees” command block and add it to the program.
Select the “Move forward 1 square” command block and add it to the program.
Select the “Turn right 180 degrees” command block and add it to the program.
Select the “Move backwards 1 square” command block and add it to the program.
Select the “Move backwards 2 squares” command block and add it to the program.
Select the “Turn left 180 degrees” command block and add it to the program.
Select the “Move backwards 3 squares” command block and add it to the program.
Run test 4. The character should end the program on the co-ordinates “D” “14”, facing right.
Complete test 12 to refresh the scene
Test 6: Remove part of program
To complete this test, you should have a program created using test 5. If this is not the case, complete test 14.2 followed by test 12, then complete test 5.
Select a “Move forward 3 squares” command block in the program and delete it using the “delete” button. Repeat this for three of the “Move forward 3 squares” blocks.
Expect:The command is removed from the program
Complete test 4, verifying that the deleted commands are not performed by the character.
Complete test 12 to refresh the scene
Test 7: Use “+” button to add to program
If an extended program as created in test 5 and modified in step 6 is not currently entered, complete test 14.2, followed by test 12, followed by tests 5 and 6 in order.
Test 7.1: No command selected
Verify that no command block is selected
Attempt to add a command block to the end of the program using the “+” button
Expect:No commands are added to the program
Test 7.2: Action selected
Select the “Move forward 2 squares” command block
Expect:The command block appears as selected
Add the command block to the end of the program using the “+” button
Expect:The selected command is added to the end of the program
Select the “Move backward 1 square” command block
Expect:The command block appears as selected
Add the command block in between the first and second “move forward three squares” command blocks using the “+” button
Expect:The selected command is added to the selected position in the program
Select the “Move forward 1 square” command block
Expect:The command block appears as selected
Add the command block to the start of the program using the “+” button
Expect:The selected command is added to the start of the program
Complete test 4
Complete test 12 to refresh the scene
Test 8: Change playback speed
To complete this test, you should have a program created using test 5, modified using test 6 and added to using test 7. If this is not the case, complete test 14.2 followed by test 12, then complete tests 5, 6 and 7 in order.
Any time you complete test 4 during this test, complete test 12 afterwards to refresh the scene.
Verify that the current playback speed is set to the default playback speed (middle of slider). If it is not, use the slider to set the current playback speed to the default playback speed.
Decrease the current playback speed one setting using the slider
Complete test 4, verifying that the program runs at a slower speed than default.
Decrease the current playback speed to the minimum using the slider.
Complete test 4, verifying that the program runs at a slower speed than in step 4.
Attempt to decrease the current playback speed further than the minimum using the slider.
Complete test 4, verifying that the program runs at the same speed as in step 6.
Increase the playback speed to one setting above default using the slider.
Complete test 4, verifying that the program runs at a faster speed than default.
Increase the current playback speed to the maximum using the slider.
Complete test 4, verifying that the program runs at a faster speed than in step 10.
Attempt to increase the current playback speed further than the maximum using the slider.
Complete test 4, verifying that the program runs at the same speed as in step 12.
Test 9: Stop program
Attempt to stop the program using the stop button while the program is not running
Expect:Nothing happens
Activate the play button
During program playback, activate the stop button
Expect:Program playback is stopped
No command in the program is highlighted after the program stops
The character remains where it was when the program was stopped and all lines drawn by the character remain on the canvas
Complete test 4, verifying that program playback starts from the beginning.
Test 10: Pause program
Activate the play button
During program playback, activate the pause button (The play button should switch to a pause button for the duration of program playback)
Expect:A command remains highlighted to indicate the current position in program playback
The pause button switches to a play button
Complete test 4
Test 11: Toggle line drawing
To complete this test, you should have a program created using test 5, modified using test 6 and added to using test 7. If this is not the case, complete test 14.2 followed by test 12, then complete tests 5, 6 and 7 in order.
Toggle the “Draw Line” switch off
Complete test 4, verifying that the character does not draw any lines.
Toggle the “Draw Line” switch back on
Complete test 4, verifying that the character draws lines.
Test 12: Refresh scene
Activate the “Refresh scene” button
Expect:The character is moved to the A1 square
Any lines that were present on the canvas have been removed
Test 13: Program sounds
Create a program that contains one of each command
Run test 4, verifying that each command plays a unique sound associated with it.
Test 14: Delete all dialog
Activate the “Delete all” button
Expect:The “Delete all” dialog appears on the screen
Test 14.1: Cancel delete all
Activate the “Cancel” button in the dialog
Expect:The dialog closes and the program remains the same as it was at the beginning of this test
Test 14.2: Confirm delete all
Activate the “Delete All” button in the dialog
Expect:The dialog closes and all commands in the program are removed
Test 15: Change theme
Complete these steps for each theme:
Verify that all elements are visible and easily identifiable in the selected theme
Test hover styles for all elements by hovering over each element with the mouse. Verify that all elements with hover styles implemented change to the hover style when hovered over with the mouse. Verify that the element stays visible and easily identifiable in the hover style.
Using the tab key, test focus styles for all elements. Verify that the element is visible and clearly identifiable in its focus style, and that the focused element is clearly distinguished from other elements.
Test selected styles for command blocks in the menu by clicking on each block to select it. Verify that each block is clearly indicated as selected when clicked on, and that it is visible and clearly identifiable when selected.
Complete test 4 and verify the hover styles and focus styles for the pause and stop buttons.
Toggle switches and verify that they are visible and clearly identifiable in both the “on” and “off” states. Switches to test:
Announcements switch
Line drawing switch
“+” node switch
Change the character and verify that the current character is distinguished from other characters, and that all character selection buttons are visible and clearly identifiable regardless of what character is selected.
Open the “Actions” menu and verify that the menu is readable and that all elements in the menu are visible and clearly identifiable
Click the “Delete all” button and complete steps 1-3 for the elements in the modal.
Click on a command block in the program to open its control panel and complete steps 1-3 for the elements in the control panel.
Test 16: Change Character
Change the character using the character selection buttons
Expect:The selected character appears on the canvas
Repeat step 1 for each character
Test 17: Share button
Activate the “Share” button
Expect:A message appears saying “The URL for your program has been copied to the clipboard.”
The program URL is copied to the clipboard
Open a new private browser window (incognito on Chrome)
Paste the URL of the program into the private window’s address bar and navigate to the URL.
Expect:The program, character position, and character in the new browser window are the same as in the initial window
Test 18: URL Storage of program
Open a new private browser window (incognito on Chrome)
Copy the URL of the program from the address bar
Paste the URL of the program into the private window’s address bar and navigate to the URL.
Expect:The program, character position, and character in the new browser window are the same as in the initial window
Test 19: Announcement toggle switch
Toggle the announcements switch off
Activate an item in the program that has an associated announcement
Expect:The item does not trigger an announcement
Toggle the announcements switch on
Repeat step 2, expecting that the item triggers an announcement.
Test 20: Announcement feature
To complete this test, you should have a program created using test 5, modified using test 6 and added to using test 7. If this is not the case, complete test 14.2 followed by test 12, then complete tests 5, 6 and 7 in order.
Verify that the announcements switch is set to on.
Select each of the code blocks in the actions menu
Expect:The selected code block is announced
Add one of each code block to the end of the program
Expect:The addition of each block is announced
Select the first code block in the program and replace it with the “Move forward 2 squares” command block
Expect:The replacement of the block is announced
Select the first “Move forward three squares” code block in the program and delete it
Expect:The deletion of the block is announced
Select the “Turn left 180 degrees” command block and move it once to the right
Expect:The movement of the block is announced
Select the “Turn right 180 degrees” command block and move it once to the left
Expect:The movement of the block is announced
Test 21: Keyboard Shortcuts
To complete this test, you should have a program created using test 5, modified using test 6 and added to using test 7. If this is not the case, complete test 14.2 followed by test 12, then complete tests 5, 6 and 7 in order.
Verify that keyboard shortcuts are enabled (open keyboard shortcuts menu and verify that the switch is set to on)
Set the input scheme to the default input scheme using the Keyboard Shortcuts menu
Close the keyboard shortcuts menu.
Open the keyboard shortcuts menu using the show keyboard shortcuts menu keyboard shortcut
Close the keyboard shortcuts menu
Complete test 15 using the toggle announcements keyboard shortcut
Select the “Move forward two squares” command block
Add the command block to the end of the program using the add to end of program keyboard shortcut
Expect:The command is added to the end of the program
Add the command block to the start of the program using the add to start of program keyboard shortcut
Expect:The command is added to the start of the program
Use the announce character position and orientation keyboard shortcut
Expect:The character’s position and orientation are announced
Complete test 12 using the refresh scene keyboard shortcut
Complete test 4 using the play/pause program keyboard shortcut
Complete test 10 using the play/pause program keyboard shortcut
Complete test 9 using the stop program keyboard shortcut
Complete test 8 using the increase and decrease playback speed keyboard shortcuts.
Start NVDA
Open the keyboard shortcuts menu and set the input scheme to the NVDA key bindings
Complete steps 6-15 using the NVDA keyboard shortcuts
Disable keyboard shortcuts using the keyboard shortcuts menu
Close the keyboard shortcuts menu
Attempt steps 4-15, verifying that the shortcuts do not work.
Test 22: Screen reader compatibility
Complete tests 1-21 using a screen reader. Verify the following:
The character’s position should be announced whenever program playback is stopped, paused, or ends.
When the character’s position is changed using the directional arrows or alphanumeric grid input, the character’s new position should be announced.
The state of various controls should be announced by the screen reader when they are selected
When selecting the scene in browse mode, the screen reader should convey scene information
You should be able to navigate by headers using a screen reader
Test 23: Tab order
Open a new window with the coding environment.
Use the tab key to select elements in the program. Verify that the order that the elements are selected matches the “tab order” list below. To test activation of an element for the tab order list, use the spacebar key.
Tab order:
Weavly
App Helper / Keyboard
Announcements toggle
Theme selector
Draw lines switch
Refresh scene button
Robot character select
Bunny character select
Rocket character select
Available actions panel
Forward 1 square
Forward 2 squares
Forward 3 squares
Backwards 1 square
Backwards 2 squares
Backwards 3 squares
Left 45 degrees
Left 90 degrees
Left 180 degrees
Right 45 degrees
Right 90 degrees
Right 180 degrees
“+” node switch
Delete all button
Rotate left 45 button
Rotate right 45 button