A tactical testing framework is a framework which supports what I am calling TacticalTesting. In my opinion, this is not revolutionary stuff, it's evolutionary from existing TestingFrameworks. There are still ideas from TacticalTesting that haven't found a home. BTW, I haven't made a TacticalTestingFramework, this is my ideas on what I would want from a testing framework.
The testing framework is an environment which supports UnitTesting for a piece of code called a CodeUnit?. This piece of code has been written to support the testing framework, so it has ClassInvariant testing coded in, and uses a BugReportingFramework. The tripartite inner box on the left is all the code under test, though the BugReportingFramework is a standard module which has been linked in.
The CodeUnit? is not a trivial nor deterministic piece of code - it has an interface to an ExternalSystem? which may be a CORBA server, database, real-time data feed, I dunno. The CodeUnit? also has a public interface, which is the interface through which users will typically use the system. (I am trying to figure out whether the external interface and the public interface have any important differences - are we testing just the public interface or both of them?)
[an image may be missing here]
The pink arrows denote data flow through the system. The testing framework is responsible for the ends of any arrows which nobody else owns. Because no arrows leave the outer box, the testing framework has complete control of the environment of the code unit under test.
The testing framework is responsible for: