Der Testfragmenttyp executableUnit ermöglicht eine aufgabenspezifische Datenerfassung für Methoden, die mit den Zielspezifikationen des Tests übereinstimmen, und für die Quellcodeinformationen zur Verfügung stehen.
Ein Aufruf dieses Fragmenttyps wird vor jeder ausführbaren Einheit in der Zielmethode eingefügt. Bei Methoden, deren Zielspezifikationen mit denen des Tests übereinstimmen, für die jedoch keine Quellcodeinformationen vorliegen, wird das Fragment einmal, nämlich zu Beginn der Methode, eingefügt.
Ein executableUnit-Fragment kann alle Datenelementtypen verwenden, außer returnedObject, exceptionObject, isFinally, und thisObject. Vor allem kann es das Datenelement executableUnitNumber verwenden, das die Nummer der ausführbaren Einheit enthält, die kurz davor steht, ausgeführt zu werden.
Die Anzahl der ausführbaren Einheiten in einer Methode und in den Zeilentabellen enthält keine ausführbaren Einheiten, die von Probekit in die Methode eingefügt wurden.
Eine ausführbare Einheit beginnt am Anfang eines jeden Basisblocks, sowie bei Bytecode, dessen Quellenzeilennummer sich von der des vorherigen Bytecodes unterscheidet. Ein Basisblock ist ein Bereich mit Bytecodeanweisungen, in den weder hinein noch hinaus verzweigt werden kann. Wenn die erste Anweisung in einem Basisblock ausgeführt wird, werden alle Anweisungen ausgeführt, so dass die Anweisungen als einzelne Gruppe angesehen werden.
Basisblöcke enden mit Anweisungen wie branch, call, throw und return.
Manche Anweisungen wie z.B. divide werden nicht als das Ende einer ausführbaren Einheit angesehen, obwohl sie eine Ausnahmebedingung auslösen können. Dies ist ein Merkmal, das eine ausführbare Einheit von einem Basisblock unterscheidet.
Wenn eine Java-Methode nicht über zugeordnete Quellendaten verfügt, wird die gesamte Methode als eine Methode mit nur einer ausführbaren Einheit betrachtet.