Schreibtischtest

Schreibtischtest

Der Schreibtischtest ist ein Verfahren, das im Bereich der Softwareentwicklung verwendet wird, um Algorithmen oder Routinen auf Richtigkeit zu prüfen. Der Schreibtischtest wird nicht mit Hilfe eines Rechners durchgeführt sondern vielmehr im Kopf des Entwicklers. Dazu werden für einen deterministischen und terminierenden Programmablauf eine Eingabe- und eine mögliche Ausgabemenge festgelegt. Anschließend wird mit jedem Element der Eingabemenge durch schrittweises Durchrechnen die Korrektheit des Programmablaufs überprüft. Der gewählte Programmablauf verhält sich für das gewählte Eingabeelement genau dann korrekt, wenn das ausgegebene Element, also das Ergebnis, Teil der Ausgabemenge ist.

Die Tatsache, dass die Größe der Eingabemenge für einen beliebigen Algorithmus beliebig groß sein kann, z. B. eine Untermenge der natürlichen Zahlen, erfordert vom Entwickler für die Überprüfung der Korrektheit des daraus resultierenden Programms die schrittweise Durchrechnung mit allen Elementen der Eingabemenge. Gibt es für die Eingabemenge keine obere oder untere Schranke, dann kann der Schreibtischtest höchstens mit einigen plausiblen Eingaben zur Herbeiführung eines Verdachtsmoments auf Korrektheit des Programms dienen.

Voraussetzungen für den Schreibtischtest sind also ein deterministischer und terminierender Programmablauf, die Kenntnis über plausible und sinnvolle Eingabeelemente, und die Kenntnis der zu den Eingabeelementen passenden Ausgabeelemente um aus der jeweiligen Ausgabe auf die Richtigkeit schließen zu können. Das Ergebnis für die jeweilige Eingabe muss also bekannt sein.

Beispiel: Potenz

Zu folgender Pascal-Funktion soll ein Schreibtischtest durchgeführt werden:

1  function nHochM(n,m:integer);
2  var i:integer;
3  var produkt:integer;
4  begin
5   if m=0 then nHochM:=1 else
6   if m=1 then nHochM:=n else
7   begin
8    produkt:=n;
9    for i:=2 to m do
10    produkt:=produkt*n;
11   nHochM:=produkt;
12  end;
13 end;

Berechnung von 23:

Zeile i produkt Bedingung
5 false
6 false
8 2
9 2 2 true (Schleife wird ausgeführt)
10 2 4
9 3 4 true
10 3 8
9 3 8 false

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Schreibtischtest — Code Inspection; einfachste, aber oft wirkungsvolle Möglichkeit des ⇡ Testen eines Programms; der Text des Quellprogramms (⇡ Programm) wird von dem Programmierer oder von jemandem, der zumindest die ⇡ Spezifikation und die Anforderungen an das… …   Lexikon der Economics

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”