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 are scripts.
* 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.

Design