Angenommen, Sie haben eine Software, die eine Liste von n Variablen s 1 , s 2 , ..., s n enthält, und nehmen an, dass jede dieser Variablen einen Wertebereich annehmen kann. Angenommen, Sie möchten das Programm auf wechselseitige Interaktionen testen, dh Sie möchten testen, ob das Programm für jedes Variablenpaar s i und s j und jeden möglichen Wert, den diese Variablen annehmen können, korrekt ausgeführt wird .
Um dies durch eine Brute-Force zu tun - indem jedes Paar i und j einzeln verarbeitet und dann jeder zulässige Wert von s i und s j getestet wird (während die anderen willkürlich ausgewählt werden) - müsste eine enorme Anzahl von Werten getestet werden Fälle.
Wir können jedoch in einem einzigen Test mehrere Wechselwirkungen in beide Richtungen testen. Wenn wir zum Beispiel drei Variablen s 1 , s 2 und s 3 haben und testen, wenn s 1 = 1, s 2 = 2 und s 3 = 0, dann haben wir drei mögliche Wechselwirkungen in beide Richtungen gleichzeitig getestet.
Wir können eine Testsuite für das Programm basierend auf einem abdeckenden Array entwerfen - die Spalten repräsentieren die Variablen und die Zeilen repräsentieren den spezifischen durchzuführenden Test (also sind weniger Zeilen besser). In einem Stärke-2-Abdeckungsarray existiert innerhalb von zwei beliebigen Spalten i und j jedes mögliche Paar der Variablen s i und s j . Es gibt Abdeckungsarrays mit höherer Festigkeit, die auf T-Way-Wechselwirkungen testen können (aber normalerweise sind Wechselwirkungen das Ergebnis nur weniger Komponenten).
Sätze von zueinander orthogonalen lateinischen Quadraten (und verschiedene andere Blockdesigns) bilden besonders effiziente Abdeckungsarrays.
Überprüfen Sie diese Referenzen:
Cohen, DM; Dalal, SR; Parelius, J.; Patton, GC, Der kombinatorische Entwurfsansatz zur automatischen Testgenerierung
Cohen, DM; Dalal, SR; Fredman, ML; Patton, GC;, Das AETG-System: Ein Testansatz basierend auf kombinatorischem Design
quelle