Skip to Main Content
We consider the problem of testing asynchronous systems in a way that maximizes the options for test implementation and application. We prove that all testers that distinguish between healthy and faulty versions of the device under test refine a most general tester (MGT) derived from specifications of the device under test, the fault models, and the symptoms (verdicts). We show that our approach applies for circuits with non-determinism (such as arbiters) and constrained environments (rejection of invalid inputs). We give examples of fixed linear test patterns, adaptive tree-like test strategies, cyclic and non-deterministic testers, all refining their MGTs. We also demonstrate our approach for tests in which illegal signal transitions are observed, tests in which deadlock is observed, and tests in which a large persistent supply current is observed.