Testing Design
From ParaQ Wiki
Jump to navigationJump to search
Requirements
- Support easy test creation for user contributed tests.
- Support playback and recording of test commands.
- Support hand editing of test commands.
- Test cases can be scripts (but we support a trivial "metafile" format, so we aren't dependent on any given script engine for testing).
- Test commands are stored with a high level of abstraction instead of low-level events, to reduce test-case breakage (e.g. "button push" instead of "mouse down at x,y location").
- Test commands still work if widget moves to new location in object tree (docking window can be top level or child), to reduce test-case breakage - implies a flat naming scheme for UI components.
- Test commands not completely tied to type of object (spin box & slider bar represent the same thing & swapping them should make test work still).
- Support verification - check that a line edit has the right text at a certain point in the test, or (more complex) retrieve data from VTK objects.
- Support an inspector to navigate the object tree as an aid for hand-editing.