Zweigabdeckung eines Quelltextes 
Die Zweigabdeckung ist eine der drei Abdeckungsmessungen, die das Coverage API berechnet.
Die Zweigabdeckung gibt an, ob alle Pfade durch die Kontrollstrukturen gegangen sind. Im Allgemeinen drücken Kontrollstrukturen Verzweigungsentscheidungen in Form von Booleschen Ausdrücken aus, und die Zweigabdeckung misst, ob solche Ausdrücke nach True und False ausgewertet haben. ABAP hat jedoch unbedingte Verzweigungsanweisungen, in denen das Verzweigen nicht durch die Auswertung eines Boolesichen Ausdrucks bestimmt wird.
Beispiel: Ein Konstrukt IF...ELSEIF...ENDIF hat eine Zweigabdeckung von 100%, wenn die beiden Anweisungen IF und ELSEIF mit den Ergebnissen True und False ausgeführt wurden..
Details
Die Statistik des Coverage API meldet die Prozentzahl jener Verzweigungen im zu testenden Quelltext, die mindestens einmal ausgeführt wurden.
ABAP unterscheidet zwischen bedingten, unbedingten und 'schaltbaren' Verzweigungsanweisungen.
Bedingte Verzweigungsanweisungen definieren jeweils einen True- und einen False-Zweig. Für eine 100%-Abdeckung muss jede der Anweisungsbedingungen sowohl nach True als auch nach False ausgewertet haben.
Nachfolgend sind die bedingten ABAP-Verzweigungsanweisungen:
AT in Kontrollstrukturen (mit ENDAT)
CHECK
DO bei Verwendung mit TIMES
IF und ELSEIF (ELSE zählt nicht als Verzweigungsanweisung)
LOOP
ON
PROVIDE
SELECT bei Verwendung mit ENDSELECT
WHEN (OTHERS zählt nicht als Verzweigungsanweisung)
WHILE
Unbedingte Verzweigungsanweisungen definieren jeweils nur einen Zweig. CATCH und CLEANUP sind unbedingte Verzweigungsanweisungen in ABAP. Wenn Sie ausgeführt werden, beträgt die Zweigabdeckung 100%. Wenn Sie nicht ausgeführt werden, beträgt die Zweigabdeckung 0%.
Nachfolgend sind die schaltbaren Verzweigungsanweisungen: ASSERT, ENHANCEMENT, ENHANCEMENT-POINT und ENHANCEMENT-SECTION. Das Coverage API ignoriert schaltbare Verzweigungsanweisungen, um die Zweigabdeckung eines Quelltextes zu messen.
Außerdem wird davon ausgegangen, dass jeder Verarbeitungsblock einen Standardzweig enthält, der vom Verarbeitungsblock selbst definiert wird. Dieser Standardzweig hat eine 100%-Abdeckung, wenn der Verarbeitungsblock ausgeführt wird und eine 0%-Abdeckung, wenn er nicht läuft.
Sie können die genaue Zweigabdeckung im ABAP-Quelltext in der graphischen Anzeige des Coverage API anzeigen.
Die Zweigabdeckung von ABAP ermöglicht es nicht, die Bedingungsabdeckung zu messen - ob Boolesche Unterausdrücke in einer Steuerungsanweisung nach True und False ausgewertet haben. In der Abdeckungsanzeige auf Quelltextebene können Sie jedoch anzeigen, wie Unterausdrücke in einer Verzweigungsanweisung während einer Messung der Quelltextabdeckung ausgewertet haben.
Zweigabdeckung wird häufig als die nützlichste der verfügbaren Messungen der Quelltextabdeckung angesehen. Eine hohe Prozentzahl der Zweigabdeckung weist darauf hin, dass viele Ausführungspfade im zu testenden Quelltest verwendet wurden. Außerdem gilt die Regel, dass ein bestimmtes Niveau der Zweigabdeckung ein umfangreicheres Testen erlaubt als das gleiche Niveau der Anweisungsabdeckung.
Zweigabdeckung wird häufig auch 'Entscheidungsabdeckung' genannt.
Siehe auch Schritt 3: Ergebnisse der Quelltextabdeckung berechnen