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

  1. 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

  1. 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

  1. 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

  1. Repeat test 1
  2. 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

  1.  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

  1. 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

  1. Click on a movement, then click on the first empty space in the program area
  2. 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 +)

  1. 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

  1. 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

  1. 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

  1. 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

  1. Click on a movement, then click on the first empty space in the program area
  2. Click the run button

Expect:

  • Dash performs the movement in the program

Test 13: Create and run a program with empty spaces between movements

  1. Click on a movement, then click on the last empty space in the program area
  2. Click the run button

Expect:

  • Dash performs the two movements in the program

Test 14: Remove all dialog 'Cancel'

  1. 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

  1. 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

  1. Do tests 1-15 using only the keyboard


Test 17: Screen reader

  1. Do tests 1-15 using a screen reader


Test 18: Run the Axe Accessibility testing tool

  1. Install the Axe Chrome extension, if needed
  2. Open the Chrome Developer Tools
  3. Select the "axe" tab
  4. Click "ANALYZE"
  5. 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

  1. In Chrome, open the project website
  2. From the Chrome menu, select "Install Inclusive Coding Environment..."
  3. Click "Install"
  4. Verify that the Inclusive Coding Environment can be run without an internet connection