Debugger - Test Suite
Note
User Guide: https://analogdevicesinc.github.io/scopy/plugins/debugger/index.html
Note
Tester |
Test Date |
Scopy version |
Plugin version (N/A if not applicable) |
Comments |
---|---|---|---|---|
Setup enviroment:
- Pluto.Usb:
Open the Scopy application
Connect the PlutoSDR to the computer via USB
Type the URI of the PlutoSDR in the URI field (if you don’t know the URI, just type “ip:192.168.2.1”)
Test 1: Loading the debugger
UID: TST.DBG.EXPLR.LOAD
Description: This test checks if the debugger plugin is loaded when any device is connected to Scopy.
- Preconditions:
Disable the Scopy scan feature
Use pluto-usb setup.
OS: ANY
- Steps:
After adding the URI, click the “Verify” button
- Select the debugger plugin from the list of compatible plugins (the debugger works with any IIO compatible device)
Expected Result: The plugin list should contain the Debugger plugin
Actual result:
- Connect to the device and see that the Debugger plugin appears on the left side of the screen (the tool menu)
Expected Result: The tool menu panel (left side of the screen) should contain the Debugger plugin
Actual result:
- Disconnect the device and see that the Debugger plugin disappears from the tool menu
Expected Result: The tool menu panel (left side of the screen) should not contain the Debugger plugin
Actual result:
- Connect the device again and see that the Debugger plugin reappears in the tool menu
Expected Result: The tool menu panel (left side of the screen) should contain the Debugger plugin
Actual result:
- Disconnect the device and see that the Debugger plugin disappears from the tool menu
Expected Result: The tool menu panel (left side of the screen) should not contain the Debugger plugin
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 3: The Filter Bar from the debugger works correctly
UID: TST.DBG.EXPLR.FILTER
Description: This test checks if the Filter Bar from the debugger works correctly.
- Test prerequisites:
- Preconditions:
Use pluto-usb setup.
OS: ANY
- Steps:
Connect a device to Scopy
- Connect to the device.
Expected Result: On the top left side of the Debugger tool there is a filter bar. The filter bar should have a placeholder text that says “Type to filter”
Actual result:
- Click on the filter bar and type a string that is not present or contained in the navigation tree.
Expected Result: The navigation tree should be empty
Actual result:
- Clear the filter bar
Expected Result: The navigation tree should be populated again. No element should be missing, the context element should be the first one and the devices should be displayed below it (it is opened).
Actual result:
- Click on the filter bar and type a string that is present in the navigation tree.
Expected Result: The navigation tree should display only the elements that contain the string
Actual result:
- Repeat step 4 and 5 with another string that is present in the navigation tree.
Expected Result: The steps should work as before.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 5: The watch list from the debugger works correctly
UID: TST.DBG.EXPLR.WATCH
Description: This test checks if the watch list from the debugger works correctly.
- Test prerequisites:
- Preconditions:
Use pluto-usb setup.
OS: ANY
- Steps:
Connect a device to Scopy
- Connect to the device
Expected Result: At the bottom of the Debugger tool there is a watch list. The watch list should be a tabel with 4 columns: Name, Value, Type and Path. The table should have a header with the column names. There should also be another column with no name where the ‘X’ buttons for each row are displayed.
Actual result:
Click on an element from the navigation tree, the title bar should update with the name of the selected element and a green circle with a plus sign should exist on the right side of the title bar.
- Click on the green circle with the plus sign.
Expected Result: The circle should change to an x and the selected element should be added to the watch list. The element should be added in the first row of the table and the columns should be filled with the information from the selected element.
Actual result:
- Repeat step 3 and 4 with another element from the navigation tree.
Expected Result: The new element should be added to the watch list in the second row of the table and the columns should be filled with the information from the selected element.
Actual result:
- Modify the value of an element from the watch list.
Expected Result: The value should be updated in the table and in the panel above it (the details view).
Actual result:
- Click on the red x from the watch list.
Expected Result: The selected element should be removed from the watch list.
Actual result:
- Click on the x from the last column of the watch list.
Expected Result: The selected element should be removed from the watch list.
Actual result:
- Repeat steps 3 to 8 with other elements from the navigation tree.
Expected Result: All elements are added/removed correctly and the watchlist is up-to-date.
Actual result:
- Add a few elements in the watch list. Click any other element from the watch list.
Expected Result: The navigation bar, title bar and information from the details view should be updated with the information from the selected element.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 6: The details view from the debugger work correctly
UID: TST.DBG.EXPLR.DETAILS
Description: This test checks if the details view from the debugger work correctly.
- Test prerequisites:
- Preconditions:
Have the iio_info command installed on the system
Use pluto-usb setup.
OS: ANY
- Steps:
Connect a device to Scopy
- Connect to the device
Expected Result: Ensure that on the right side of the Debugger tool there is a details view. The details view should have a title bar with the name of the selected element from the navigation tree. At first the details view should display the context attributes.
Actual result:
Test the GUI View.
- Click on any element from the navigation tree.
Expected Result: The details view should display the information from the selected element.
Actual result:
- Click on any attribute from the details view. Change the data, press enter or click outside the attribute.
Expected Result: Under the attribute value, a progress bar should appear and start filling. After the progress bar is filled, the progress bar should turn green for a few seconds and the attribute value should be updated. To verify that the value was updated, run an external program like iio_info and check that the value is the same
Actual result:
Repeat step 5 with the following 3 types of attributes: a text box (a box where the user can type any string), a combo box (a box where the user can select from a list of options) and a range box (a box where the user can type a number or use the arrows (or the +/- sign) to increase or decrease the value and/or write the desired value).
- While selecting different elements from the navigation tree, lower part of the GUI View, the General Info section should update with the information from the selected element (information such as weather it is a hardware monitor, a trigger, has a trigger attached, if the channel is a scan element, input or output, enabled or disabled). All these informations should be present within the elements of the ADALM-PLUTO device.
Expected Result: The General Info section should update with the information from the selected element.
Actual result:
Test the IIO View.
- Click on the IIOView button, it should be next to the GUI View, under the title.
Expected Result: The IIO View should display a snippet similar to the iio_info command. The snippet should contain the information from the selected element from the navigation tree. To check this, run the iio_info command in a terminal and compare the information from the terminal with the information from the IIO View.
Actual result:
- Repeat step 9 with different elements from the navigation tree.
Expected Result: The IIO View should update with the information from the selected element.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL
Test 8: The log window from the debugger correctly displays the operations
UID: TST.DBG.EXPLR.LOG
Description: This test checks if the log window from the debugger correctly displays the operations.
- Test prerequisites:
- Preconditions:
Use pluto-usb setup.
OS: ANY
- Steps:
Connect a device to Scopy
Connect to the device and see that the Debugger plugin appears on the left side of the screen (the tool menu)
- At the bottom of the debugger instrument, next to the ‘IIO Attributes’ button, there should be a ‘Log’ button. Click on the ‘Log’ button.
Expected Result: The current window should change to the log window.
Actual result:
- Select back the ‘IIO Attributes’ button.
Expected Result: The current window should change back to the details view.
Actual result:
- (Correct attribute change) Modify an attribute from the detais view (e.g. on the ADALM-PLUTO device, select the ad9361-phy device and the voltage0 channel and modify the gain_control_mode attribute to hybrid).
Expected Result: The progress bar should appear and start filling. After the progress bar is filled, it should turn green and the value should be read again.
Actual result:
- (Incorrect attribute change) Select the adm1177-iio device from the navigation tree, the voltage0 channel and modify the raw attribute (write whatever value you want, it should be read-only anyways). After the progress bar is filled, it should turn red and the value should be read again.
Expected Result: The progress bar should appear and start filling. After the progress bar is filled, it should turn red and the value should be read again.
Actual result:
- Click on the ‘Log’ button. The log window should appear and display the operations from steps 6 and 7. The operations should be displayed in the following format: [timestamp] [operation] [status] [attribute path] [old value (if write operation)] [new value]. The timestamp should be the current time, the operation should be ‘W’ (write) or ‘R’ (read), the status should be SUCCESS or FAILURE and the error code, the attribute path should be the name of the modified attribute title, separated by slashes, the old value should be the value before the modification, the new value should be the value after the modification. If the operation is a read operation, the old value should be empty (not exist). Step 6 should be a successful write operation and step 7 should be a failed write operation. After each write operation, a read operation is automatically performed. The read operation should be displayed in the log window as well.
Expected Result: The log window should display the operations from steps 6 and 7 in the format described above.
Actual result:
Tested OS:
Comments:
Result: PASS/FAIL