Testing Design: Difference between revisions
From ParaQ Wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
* Support playback and recording of test commands. | * Support playback and recording of test commands. | ||
* Support hand editing of test commands. | * Support hand editing of test commands. | ||
* Test cases | * 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 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 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. | ||
Line 10: | Line 10: | ||
* 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 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. | * Support an inspector to navigate the object tree as an aid for hand-editing. | ||
==Design== |
Revision as of 16:54, 26 October 2005
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.