QA Plan
Note: The tests in this plan build on each other assuming a passing state at the end of the previous test.
Coding Environment Development Site
Test 1: Initial Load
Load the Coding environment
Expect:
The page loads without any errors
Browsers other than Chrome and Opera
The 'Connect to Dash' button and run buttons are greyed out and not selectable.
A message should be displayed saying that 'The Dash robot connection currently only works in Chrome.'
In Chrome and Opera the 'Connect to Dash' is not greyed out and is selectable, and the run button is greyed out and is disabled.
In browsers other than Chrome, skip to test 5.
Test 2: Failed Connect to Dash
Make sure Dash is near by and turned off, then Click the 'Connect to Dash' button
Expect:
Connection modal dialog will come up with no devices available
2. Click cancel or press esc, or click outside of the modal
Expect:
'Something when wrong' dialog comes up
3. Click "Try Again"
Expect:
Connection modal dialog will come up with no devices available
4. Click cancel or press esc, or click outside of the modal
Expect:
'Something when wrong' dialog comes up
5. Click "Cancel Connection"
Expect:
Dialog closes
Test 3: Connect to Dash after dialog
Make sure Dash is near by and turned off, then Click the 'Connect to Dash' button
Expect:
Connection modal dialog will come up with no devices available
2. Turn Dash on
Expect:
Dash appears in the connection dialog
3. Select 'Dash' in the dialog and click 'Pair'
Expect:
Loading indicator stops spinning and turns into a check mark
If there's any problem with connect to dash, error modal with cancel and retry buttons
Test 4: Connect to Dash
Repeat test 1
Make sure Dash is near by and turned on, then click the 'Connect to Dash' button
Expect:
Loading indicator beside the button starts spinning
Bluetooth modal dialog comes up
3. Select 'Dash' in the dialog and click 'Pair'
Expect:
Loading indicator stops spinning and turns into a check mark
If there's any problem with connect to dash, error modal with cancel and retry buttons
Test 5: Create a simple program
Click on a movement, then click on the first empty space in the program area.
Expect:
The movement appears in the program area
The movement stays selected after it has been placed and you can place the same movement again without clicking on it first
2. Repeat step 1, 3 more times
Expect:
The first four spaces in the program are filled in
Test 6: Run a simple program
Click the run button
Expect:
Dash performs the movements you have programmed
The movement that is happening is highlighted
Run button is disabled while the program is running
Test 7: Create an extended program
Click on a movement, then click on the first empty space in the program area
Repeat step 1, 4 more times
Expect:
There are 9 movements in the program
When the last empty space in the program is filled, a new empty space appears after it
Test 8: Create an extended program (use the +)
Click the '+' then click the last space in the program
Expect:
A new empty space appears at the end of the program (Currently there's a bug where this doesn't work the first time)
The '+' button stays selected
2. Click the last space in the program
3. Repeat step 2, 2 more times
Expect:
There's a total of 13 spaces in the program
Test 9: Run a long program
Click the run button
Expect:
Dash performs the movements you have programmed
Run button is disabled while the program is running
The movement that is happening is highlighted and scrolls into view
Test 10: Remove part of a program and run it
Click the 'x' then click one of the movements in the program
Expect:
The movement you clicked is removed from the program
2. Click the run button
Expect:
Dash performs the movements in the shortened program
Test 11: Remove all of a program
Click the 'x' then click each of the movements in the program until there are no movements left in the program
Expect:
Dash doesn't do anything when pressing the 'Run' button
Test 12: Create and run a program with a single movement
Click on a movement, then click on the first empty space in the program area
Click the run button
Expect:
Dash performs the movement in the program
Test 13: Create and run a program with empty spaces between movements
Click on a movement, then click on the last empty space in the program area
Click the run button
Expect:
Dash performs the two movements in the program
Test 14: Remove all dialog 'Cancel'
Click the 'x' then click delete all button
Expect:
A modal pops up with confirmation message asking if you want to delete everything on the program
2. Click Cancel
Expect:
The dialog closes and the program remains the same as it was at the beginning of this test
Test 15: Remove all
Click the 'x' then click delete all button
Expect:
A modal pops up with confirmation message asking if you want to delete everything on the program
2. Click 'Delete All'
Expect:
The modal closes and all the commands on the program are removed
Test 16: Keyboard
Do tests 1-15 using only the keyboard
Test 17: Screen reader
Do tests 1-15 using a screen reader
Test 18: Run the Axe Accessibility testing tool
Install the Axe Chrome extension, if needed
Open the Chrome Developer Tools
Select the "axe" tab
Click "ANALYZE"
Run the tool at different application states, such as when a dialog box is open, or when the Delete action is selected
Test 19: PWA offline access
In Chrome, open the project website
From the Chrome menu, select "Install Inclusive Coding Environment..."
Click "Install"
Verify that the Inclusive Coding Environment can be run without an internet connection