Details
-
Feature
-
Must have
-
Obs Mgt & Controls
-
-
2
-
5
-
40
-
20
-
Team_BUTTONS
-
Sprint 5
-
-
-
-
12.6
-
Stories Completed, BDD Testing Passes (no errors), Outcomes Reviewed, NFRS met, Demonstrated, Satisfies Acceptance Criteria, Accepted by FO
-
-
Team_BUTTONS
Description
Initial ideas for robustness improvements:
- Improve handling of missing / unresponsive SKUID service (fall back to internal IDs? reject requests entirely? Would also need modifications to REST CLI for this to be user-friendly)
- Guards to assert that target device state is as expected before attempting a command (does not eliminate race conditions - state at cmd exec time may not be same as at read time. Responsibility better placed with server rather than client. Adds complexity that could be addressed by better design).
- Terminate commands if state transitions to a state outside the set allowed for happy path + sad path
- Introduce timeouts to catch the most egregious problems with unresponsive devices and long-running commands (could be tricky for some transitions. how long should a command take? ideally, progress events should be emitted by target device. to come with long-running commands feature?)
- Minimise event subscriptions (aiming for one long-lived subscription per device attribute per script rather than one transient subscription per request - multiple subscriptions suspected to have problems with Tango)
- Use SKALLOP test fixtures for setup + teardown (would give better, standardised handling of faults and errors during test setup)
- Better exception handling and messages, reporting the likely cause of a problem where understood
- Increase robustness of OET CLI to malformed user input
- Improved OET CLI reporting of deployment errors
- Better test runner logging that retrieve stack trace via 'oet describe' when a test fails so this can be reported alongside the test that failed.
Selected for PI12:
- Better test runner logging that retrieve stack trace via 'oet describe' when a test fails so this can be reported alongside the test that failed.
- Minimise event subscriptions (aiming for one long-lived subscription per device attribute per script rather than one transient subscription per request - multiple subscriptions suspected to have problems with Tango)
- Terminate commands if state transitions to a state outside the set allowed for happy path + sad path