Difference between revisions of "Testing Tool (Architecture)"

(Created implementation details page for Testing Tool)
 
(Initial description of tester system and communication)
Line 1: Line 1:
 
 
[[Category:Testing]]
 
[[Category:Testing]]
 +
 +
== Test system architecture ==
 +
 +
* separate system for executing tests
 +
* system is only responsible for running tests, without determine whether a test fails or not -> compiling and launching system is done by tool, which is also oracle
 +
* tests are compiled up to degree 3 in development system, so user can edit tests like normal classes, but do not affect resulting binary
 +
* test referenced by root class of development system will be compiled anyway, this way we can also run tests in debugger
 +
* in CDD: test system is implicit target (does not have to be in ecf) which inherits from development target, test target simply defines new root class/feature
 +
* re-use development EIFGEN (copy) so test system does not need to compile from scratch?
 +
 +
== Communication between tool and test executor ==
 +
 +
=== Protocol ===
 +
 +
'''From tool to executor'''
 +
 +
* name(s) of test to execute
 +
* quit
 +
 +
'''From executor to tool'''
 +
 +
* test result
 +
* text output produced by test
 +
* exception details (type, tag, feature, class? occurred during set up, test, tear down?)
 +
* call stack for exception
 +
 +
=== Open questions ===
 +
 +
* executor per machine/processor?
 +
* text based/object base communication?

Revision as of 14:18, 12 June 2008


Test system architecture

  • separate system for executing tests
  • system is only responsible for running tests, without determine whether a test fails or not -> compiling and launching system is done by tool, which is also oracle
  • tests are compiled up to degree 3 in development system, so user can edit tests like normal classes, but do not affect resulting binary
  • test referenced by root class of development system will be compiled anyway, this way we can also run tests in debugger
  • in CDD: test system is implicit target (does not have to be in ecf) which inherits from development target, test target simply defines new root class/feature
  • re-use development EIFGEN (copy) so test system does not need to compile from scratch?

Communication between tool and test executor

Protocol

From tool to executor

  • name(s) of test to execute
  • quit

From executor to tool

  • test result
  • text output produced by test
  • exception details (type, tag, feature, class? occurred during set up, test, tear down?)
  • call stack for exception

Open questions

  • executor per machine/processor?
  • text based/object base communication?