The principle of the SBST involves generation, storage and execution of a test program. Its main advantages are reusability at all the stages of the system life cycle, dispense with expensive test equipment, and low Design for Testability (DfT) overhead. Originally, SBST was implemented as a purely functional test, which did not consider the structure of the Core Under Test (CUT) but relied merely on the Instruction Set Architecture (ISA). It was mainly applied to systems with discrete components. However, a structural fault model was not explored, and test quality could not be assessed sufficiently.