mirror of
https://github.com/nasa/openmct.git
synced 2025-03-15 00:36:33 +00:00
initial list of test heuristics
This commit is contained in:
parent
dbac9e6cd2
commit
75241a42fb
72
docs/src/process/testing/test-heuristics.md
Normal file
72
docs/src/process/testing/test-heuristics.md
Normal file
@ -0,0 +1,72 @@
|
||||
# Test Heuristics / QA Checklist
|
||||
|
||||
The purpose of this document is to identify common patterns and "implicit requirements" associated with Open MCT domain objects to prevent bugs as early as possible in the SDLC: the design and implementation phases.
|
||||
|
||||
These checklist items are not strict rules to follow, but just a list of "implicit requirements" that come when adding new domain objects to Open MCT given how it is leveraged by many downstream projects. When a checklist item in the form of a question, they should be viewed as design decision as well as a requirement.
|
||||
|
||||
## Net New Domain Object
|
||||
The following checklist items should be considered when adding a net new domain object.
|
||||
|
||||
### CRUD
|
||||
Checklist items specific to creating, reading, updating, or deleting interactions.
|
||||
|
||||
#### Create
|
||||
- A domain object should be visible on the Create Menu with an icon and hoverover helper text
|
||||
- A domain object should be creatible with only required fields selected.
|
||||
- A domain object should be creatible with optional fields.
|
||||
- A newly created domain object should have a selectable Location which can have composition (i.e. Folders)
|
||||
- If a domain object is editable, it should be in edit mode after create modal
|
||||
|
||||
#### Read
|
||||
- Once a domain object is created, it should be possible to directly navigate to it by URL in fixed and real-time
|
||||
|
||||
#### Edit
|
||||
- Can edit all properties from 'Edit properties' action
|
||||
|
||||
#### Delete
|
||||
- Can delete domain object with 'Remove Object' action
|
||||
- Once removed, object is no longer visible in tree, no traces remain as links, and the object is not returned in Search
|
||||
|
||||
### Interaction with first order domain objects
|
||||
The following is a list of "first order" domain objects which integrate with _new_ domain objects by default
|
||||
|
||||
#### Notebook interaction
|
||||
- Should be able to drag object into notebook?
|
||||
- Can take a snapshot of the object in fixed or realtime mode
|
||||
- Can include snapshot of object in notebook entry
|
||||
- Snapshot Modal. Can export as JPEG/PNG
|
||||
|
||||
#### Drop interaction
|
||||
- Should this object be droppable into other objects like display layout?
|
||||
- What should be droppable into this domain object's main view?
|
||||
|
||||
#### Telemetry Interaction
|
||||
- Does this object need to receive realtime updates from a telemetry endpoint?
|
||||
- If yes, how many telemetry endpoints can we reference. If one, show confirmation dialoge to replace existing.
|
||||
- Does this object need
|
||||
|
||||
#### Form Properties
|
||||
- All form props (except hidefromInspector) are visible in inspector
|
||||
- All props should be testable
|
||||
- All time related properties should avoid DDOS attacks
|
||||
|
||||
#### Search
|
||||
- Search for object in tree
|
||||
|
||||
#### Import and Export
|
||||
- Export Object and Re-import this domain object as JSON
|
||||
|
||||
#### Navigation
|
||||
- Can refresh after creating object
|
||||
- Can navigiate direclty via URL to object
|
||||
- Open Object in New Tab action works as expected
|
||||
|
||||
#### Fixed vs Realtime mode
|
||||
- Events generated by time API
|
||||
- Clock
|
||||
- Time system
|
||||
- Bounds
|
||||
|
||||
#### Display Layout
|
||||
- Can drag object into Displaylayout and object "looks good"
|
||||
- Should be able to use Large Display Action
|
Loading…
x
Reference in New Issue
Block a user