<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.uni-due.de/jack/index.php?action=history&amp;feed=atom&amp;title=TracingChecker</id>
	<title>TracingChecker - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.uni-due.de/jack/index.php?action=history&amp;feed=atom&amp;title=TracingChecker"/>
	<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=TracingChecker&amp;action=history"/>
	<updated>2026-05-08T16:51:43Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in JACK Wiki</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=TracingChecker&amp;diff=12773&amp;oldid=prev</id>
		<title>LGlaser: Hinweis auf Java-Version</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=TracingChecker&amp;diff=12773&amp;oldid=prev"/>
		<updated>2026-05-06T13:24:01Z</updated>

		<summary type="html">&lt;p&gt;Hinweis auf Java-Version&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 6. Mai 2026, 15:24 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Der TracingChecker führt dynamische Tests auf Java Programmcode aus, die dem Prinzip von Unit-Tests folgen. Es müssen daher die zu prüfenden Dateien (“Source files”) sowie ein Testtreiber (“Test driver”) angegeben werden. Im Eintrag “Classes to trace” kann zudem eine kommaseparierte Liste von Klassennamen angegeben werden, für die während der Testausführung ein Trace erzeugt werden soll. Jeder ausgeführte Programmschritt in diesen Klassen wird dann in den Trace aufgenommen.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Hinweis|Der Checker unterstützt aktuell Programmiercode bis Java 17 inklusive der Standardbibliothek des offiziellen Java 17-JDKs.}}&lt;/ins&gt;Der TracingChecker führt dynamische Tests auf Java Programmcode aus, die dem Prinzip von Unit-Tests folgen. Es müssen daher die zu prüfenden Dateien (“Source files”) sowie ein Testtreiber (“Test driver”) angegeben werden. Im Eintrag “Classes to trace” kann zudem eine kommaseparierte Liste von Klassennamen angegeben werden, für die während der Testausführung ein Trace erzeugt werden soll. Jeder ausgeführte Programmschritt in diesen Klassen wird dann in den Trace aufgenommen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Beispiel einer Testklasse ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Beispiel einer Testklasse ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>LGlaser</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=TracingChecker&amp;diff=4794&amp;oldid=prev</id>
		<title>Swolff: Kategorie Checker entfernt</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=TracingChecker&amp;diff=4794&amp;oldid=prev"/>
		<updated>2018-12-11T11:15:41Z</updated>

		<summary type="html">&lt;p&gt;Kategorie Checker entfernt&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 11. Dezember 2018, 13:15 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l51&quot;&gt;Zeile 51:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 51:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Schreibt der geprüfte Programmcode während der Testausführung Ausgaben auf die Standardausgabe, werden diese unabhängig von den einzelnen Testfällen gespeichert und als zusätzliche Information in der Web-Oberfläche von JACK mit ausgegeben. Eine automatische inhaltliche Auswertung der Ausgaben ist nicht möglich.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Schreibt der geprüfte Programmcode während der Testausführung Ausgaben auf die Standardausgabe, werden diese unabhängig von den einzelnen Testfällen gespeichert und als zusätzliche Information in der Web-Oberfläche von JACK mit ausgegeben. Eine automatische inhaltliche Auswertung der Ausgaben ist nicht möglich.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[category:Checker]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Swolff</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=TracingChecker&amp;diff=2531&amp;oldid=prev</id>
		<title>Pbabucke am 6. Juni 2018 um 09:50 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=TracingChecker&amp;diff=2531&amp;oldid=prev"/>
		<updated>2018-06-06T09:50:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 6. Juni 2018, 11:50 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l3&quot;&gt;Zeile 3:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 3:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Beispiel einer Testklasse ===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Beispiel einer Testklasse ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die Test-Klasse muss dem Grundgerüst &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vie dem folgendem Programmcode &lt;/del&gt;folgen.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Die Test-Klasse muss dem Grundgerüst &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;des folgenden Programmcodes &lt;/ins&gt;folgen.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line=&amp;#039;line&amp;#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line=&amp;#039;line&amp;#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pbabucke</name></author>
	</entry>
	<entry>
		<id>https://wiki.uni-due.de/jack/index.php?title=TracingChecker&amp;diff=2530&amp;oldid=prev</id>
		<title>Pbabucke: Die Seite wurde neu angelegt: „Der TracingChecker führt dynamische Tests auf Java Programmcode aus, die dem Prinzip von Unit-Tests folgen. Es müssen daher die zu prüfenden Dateien (“Sou…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.uni-due.de/jack/index.php?title=TracingChecker&amp;diff=2530&amp;oldid=prev"/>
		<updated>2018-06-06T09:49:56Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „Der TracingChecker führt dynamische Tests auf Java Programmcode aus, die dem Prinzip von Unit-Tests folgen. Es müssen daher die zu prüfenden Dateien (“Sou…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Der TracingChecker führt dynamische Tests auf Java Programmcode aus, die dem Prinzip von Unit-Tests folgen. Es müssen daher die zu prüfenden Dateien (“Source files”) sowie ein Testtreiber (“Test driver”) angegeben werden. Im Eintrag “Classes to trace” kann zudem eine kommaseparierte Liste von Klassennamen angegeben werden, für die während der Testausführung ein Trace erzeugt werden soll. Jeder ausgeführte Programmschritt in diesen Klassen wird dann in den Trace aufgenommen.&lt;br /&gt;
&lt;br /&gt;
=== Beispiel einer Testklasse ===&lt;br /&gt;
&lt;br /&gt;
Die Test-Klasse muss dem Grundgerüst vie dem folgendem Programmcode folgen.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line=&amp;#039;line&amp;#039;&amp;gt;&lt;br /&gt;
import de.uni_due.s3.jack2.backend.checkers.tracingchecker.framework.TracingFramework;&lt;br /&gt;
import de.uni_due.s3.jack2.backend.checkers.tracingchecker.framework.TracingFramework.Test;&lt;br /&gt;
&lt;br /&gt;
public class DemoprojektDynamisch {&lt;br /&gt;
&lt;br /&gt;
    private int punkte = 0;&lt;br /&gt;
&lt;br /&gt;
    public int getResult() {&lt;br /&gt;
        return punkte;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    @Test(name=&amp;quot;Test 1&amp;quot;)&lt;br /&gt;
    public void test1() {&lt;br /&gt;
&lt;br /&gt;
        Demoprojekt p = new Demoprojekt();&lt;br /&gt;
&lt;br /&gt;
        float faktor1 = p.faktor(&amp;quot;Andre&amp;quot;, 36, 4, 10);&lt;br /&gt;
        float result1 = p.betrag(faktor1, 50000);&lt;br /&gt;
&lt;br /&gt;
        if (result1 &amp;lt; 3207.78f || result1 &amp;gt; 3207.79f){&lt;br /&gt;
            if (faktor1 &amp;lt; 6.41f || faktor1 &amp;gt; 6.42f) {&lt;br /&gt;
                TracingFramework.printError(&amp;quot;Falsches Ergebnis und falscher Faktor!&amp;quot;);&lt;br /&gt;
            } else {&lt;br /&gt;
                TracingFramework.printError(&amp;quot;Falsches Ergebnis, aber richtiger Faktor!&amp;quot;);&lt;br /&gt;
                punkte += 20;&lt;br /&gt;
            }&lt;br /&gt;
        } else {&lt;br /&gt;
            punkte += 50;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    @Test(name=&amp;quot;Test 2&amp;quot;)&lt;br /&gt;
    public void test2() {&lt;br /&gt;
        // ...&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Die Klasse importiert das Tracing-Framework von JACK, das in der Datei “&amp;#039;&amp;#039;jack-tracing-framework.jar&amp;#039;&amp;#039;” bereitgestellt wird (Zeile 1 und 2). Die einzige Methode, die ein Testtreiber in jedem Fall anbieten muss, ist die Methode &amp;lt;code&amp;gt;getResult()&amp;lt;/code&amp;gt;, die die erreichte Punktzahl von 0 bis 100 Punkten als Ganzzahl zurück gibt (Zeile 8-10). Zusätzlich kann der Testtreiber beliebig viele weitere, beliebig komplexe Methoden enthalten, die mit der Annotation @Test(name=“&amp;lt;Name_des_Testfalls&amp;gt;”) versehen werden (Zeile 12 und 32). Ist vor dem Start des gesamte dynamischen Tests eine einmalige Initialisierung notwendig, kann eine Methode &amp;lt;code&amp;gt;init()&amp;lt;/code&amp;gt; ergänzt werden. Die Deklaration von zusätzlichen Hilfsmethoden und&lt;br /&gt;
beliebigen Feldern ist zulässig. &lt;br /&gt;
&lt;br /&gt;
Die Testmethoden werden in der Reihenfolge abgearbeitet, in der sie im Programmcode deklariert sind. Sie führen Aufrufe auf dem zu testenden Programmcode durch und vergleichen die Rückgaben mit den erwarteten Werten. Zur Erzeugung einer textuellen Rückmeldung an die Studierenden stellt das Tracing-Framework die Methode &amp;lt;code&amp;gt;TracingFramework.printError(“&amp;lt;Meldung&amp;gt;”)&amp;lt;/code&amp;gt; bereit (Zeile 22 und 24). Wird eine solche Zeile erreicht, führt dies im Fehlerbericht von JACK zu einer Ausgabe der Form “Fehler in &amp;lt;Name_des_Testfalls&amp;gt;: &amp;lt;Meldung&amp;gt;”. Die Ausführung der Testmethode wird danach weiter fortgesetzt, d.h. eine Testmethode kann mehrere Meldungen erzeugen. Jede Meldung wird automatisch um einen Trace ergänzt, der die ausgeführten Programmschritte seit dem Start der Testmethode bis zur Erzeugung der Fehlermeldung erhält. Analog zur Erzeugung von Fehlermeldungen steht auch eine Methode &amp;lt;code&amp;gt;TracingFramework.printWarning(“&amp;lt;Meldung&amp;gt;”)&amp;lt;/code&amp;gt; zur Verfügung. Diese erzeugt Ausgaben der Form “Warnung in &amp;lt;Name_des_Testfalls&amp;gt;: &amp;lt;Meldung&amp;gt;”. Treten während der Ausführung eines Testfalls Exceptions im geprüften Programmcode auf, führt dies automatisch zu einer Ausgabe der Form “Fehler in &amp;lt;Name_des_Testfalls&amp;gt;: &amp;lt;Beschreibung_der_Exception&amp;gt;&amp;quot;. In diesem Fall wird die Ausführung der Testmethode abgebrochen und der dynamische Test mit dem Aufruf der nächsten Testmethode fortgesetzt. Auch bei einer Exception wird die Meldung um einen Trace ergänzt. Tritt hingegen eine Exception im Testtreiber auf, führt diese zu einem Abbruch des gesamten dynamischen Tests. Es wird keine Punktzahl vergeben, sondern die Lösung wird stattdessen mit einem “internal error” markiert. Die aufgetretene Exception wird als interne Fehlernachricht ausgegeben.Das Erzeugen der Traces zum Programmablauf führt zu einer signifikant verlängerten Laufzeit für die zu testenden Programme. Um den Server nicht zu lange mit einem einzelnen Test zu blockieren, ist die Erzeugung von Traces daher auf eine Länge von 500 Schritten begrenzt. Das Programm wird nach erreichen dieser Grenze weiter ausgeführt, aber es wird kein Trace mehr dazu aufgezeichnet. Die Traceaufzeichnung kann gezielter gesteuert werden, indem die Aufrufe &amp;lt;code&amp;gt;TracingFramework.switchOffTracing()&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;TracingFramework.switchOnTracing()&amp;lt;/code&amp;gt; verwendet werden. Damit kann für Abschnitte eines Testfalls das zeitaufwändige Tracing abgeschaltet und später wieder eingeschaltet werden. Die Ein-/Ausschaltung gilt immer nur pro Testfall. Insbesondere beginnt jeder Testfall standardmäßig mit eingeschaltetem Tracing. &lt;br /&gt;
&lt;br /&gt;
Schreibt der geprüfte Programmcode während der Testausführung Ausgaben auf die Standardausgabe, werden diese unabhängig von den einzelnen Testfällen gespeichert und als zusätzliche Information in der Web-Oberfläche von JACK mit ausgegeben. Eine automatische inhaltliche Auswertung der Ausgaben ist nicht möglich.&lt;/div&gt;</summary>
		<author><name>Pbabucke</name></author>
	</entry>
</feed>