Definition
Across the cited evidence, black-box testing is characterized by what is observable rather than by what is known internally about the system under test (SUT). Two complementary characterizations appear in the sources:
- In the microprocessor conformance case study (Brucker et al.), a black-box testing scenario is one in which an abstract description of the SUT is used as the basis for test generation, and the aim is to check that the implementation behaves as described by the abstract model, independently of the internal implementation details [aecb3458].
- In the SoC validation literature, post-silicon validation of a manufactured chip is identified as a form of black-box testing because it has limited visibility into the design, in contrast to pre-silicon validation, which is described as a white-box testing setting with high visibility into the design for debugging [18bd92ff].
The second characterization makes the consequence explicit: when a failure is observed in this environment, debugging it is laborious and time-consuming [18bd92ff].
Role in Model-Based Test Generation
In the microprocessor conformance case study, the assembler-level model used to drive test generation is more abstract than the processor model, which makes implementation-level details transparent. Examples of details rendered invisible at the abstract level include interrupt handling, virtual memory and caching, pipelining, and instruction reordering [aecb3458]. In this black-box scenario, the processor model is used to extract abstract test cases that are then run against the SUT to check that it conforms to the assembler model [aecb3458].
Black-Box Testing in Post-Silicon Validation
In System-on-Chip (SoC) development, validation is split into pre-silicon and post-silicon phases, and these are explicitly mapped onto testing paradigms [18bd92ff]:
- Pre-silicon validation addresses the validation of hardware logic in its definition. This step is also called white-box testing and allows high visibility into the design for debugging, although limited simulation speed restricts the number of tests that can be run [18bd92ff].
- Post-silicon validation performs the functional validation of a manufactured chip. It is also called black-box testing and has limited visibility in the design, so debugging a failure in this environment is laborious and time-consuming [18bd92ff].
A consequence highlighted in the SoC coverage study is that capturing coverage data is more viable in pre-silicon than in post-silicon; post-silicon coverage analysis requires the design to include additional on-chip coverage monitoring hardware, which increases observability but does not contribute to functional logic and is therefore controlled and limited [18bd92ff].
Observable Behavior and Conformance
The microprocessor conformance case study distinguishes testing scenarios by what is controlled and observed [aecb3458]:
- Sequence testing: The result is inferred from a sequence of system inputs and observed outputs; only initialization of the internal state is necessary, and sometimes a reference to the final state is used.
- Unit testing: A special one-step form of sequence testing in which the output state is more or less completely accessible.
For conformance in the case study, test specifications compare the state controlled according to the model with the state produced by the SUT using a conformance relation _ =k _ that compares register content and just the top k memory cells (instead of infinite memory) [aecb3458]. A test case is composed of an instruction, an initial configuration, and the resulting configuration after executing the instruction [aecb3458].
Application to Processors Without Implementation Access
The case study positions test program generation as useful for validating processor designs at the instruction-set or assembly level [f8849d84, aecb3458]. This is especially suitable for commercial off-the-shelf (COTS) processors, where implementation details are usually unavailable [f8849d84]. In that setting, black-box testing aligns with generating and running low-level test programs against the processor and checking that the observed behavior matches the specified instruction set [f8849d84].
Theoretical Frameworks
The cited arXiv literature supplies additional perspectives on what black-box tests can express:
- The paper A Theory of Black-Box Tests builds a theory of tests and refutation based on satisfaction and refinement, uses it to characterize the requirements that can be refuted through black-box testing and, dually, verified through such tests, and obtains finite falsifiability of hyper-safety temporal requirements as a special case, while extending the theory with computational constraints and separating refutation from enforcement in the context of temporal hyper-properties [arxiv:2006.10387].
- The paper Equivalence, Identity, and Unitarity Checking in Black-Box Testing of Quantum Programs addresses quantum programs' inherent non-determinism by presenting three algorithms for equivalence, identity, and unitarity checking in black-box testing of quantum programs, along with optimization techniques and parameter-selection guidance for these algorithms [arxiv:2307.01481].
Tooling
The microprocessor conformance case study uses HOL-TestGen, a model-based testing environment that is an extension of Isabelle/HOL, to synthesize test programs that were run against real hardware in the loop [11aee6c9, f8849d84].
Related Testing Scenarios in the Evidence
The microprocessor conformance case study also discusses model-based unit testing and sequence testing alongside black-box testing [aecb3458]:
- Unit testing uses pre- and post-conditions on inputs and results and assumes control over the initial state plus access to internal states after the test.
- Sequence testing uses sequences of inputs and observed outputs, and may compare the final state.
The authors applied these scenarios to instruction categories including memory-related load/store operations, arithmetic operations, logic operations, and control-flow operations [aecb3458]. In the SoC literature, pre-silicon validation / white-box testing is the complementary scenario with high design visibility, contrasted against the limited-visibility black-box setting of post-silicon validation [18bd92ff].