Download Skript - Informationstechnik
Transcript
Andere typische logische Fehler, wie nicht terminierende Schleifen bzw. allgemein ungewollter, d.h. falscher Programmablauf, können prinzipiell nicht im Übersetzer entdeckt werden, da sie stets auch in der Absicht des Programmierers liegen können. Logische Fehler werden im allgemeinen erst durch ihr Symptom erkannt, nämlich durch die Nichteinhaltung der Spezifikation. Logische und funktionale Fehler treten häufig in Kombination auf, wobei erst eine Analyse die tatsächliche Ursache zeigen kann. Es gibt mehrere Test- und Überprüfungsmethoden, um logische und funktionale Fehler zu entdecken. 8.3 Programmvalidierung Validierung heißt: Die Korrektheit des Programms / Moduls plausibel bzw. einsichtig machen! Dazu gibt es diverse manuelle und automatische Methoden, die im folgenden vorgestellt werden. 8.3.1 Schreibtischtest Eine Testperson überprüft am Schreibtisch ein Programm: am Shreibtisch bedeutet ohne Rechner, d.h. die Überprüfung erfolgt an Hand des Listings mit Papier und Bleistift. Der Ablauf ist folgendermaßen: • Testdaten für die Eingabe auswählen: - Testdaten sollen nicht zu kompliziert sein. - Testdatensatz aus Entwurfsphase kann verwendet werden. • Programmablauf anhand des Listings schrittweise durchspielen: - Testperson übernimmt Aufgabe eines Interpreters. - Aktuelle Variablenbelegungen werden mitgeschrieben. - Gleichzeitig wird das Verhalten bei leichter Variation der Eingabe-Daten im Auge behalten, z.B. Grenzfälle bei Verzweigungen. ! Es gibt psychologische Probleme, wenn ein Autor seine eigenen Programme testet: - Die Methode ist langwierig und mühevoll. - Sie erfordert hohe Konzentration und ist selbst sehr fehleranfällig. - Oft werden Variablen vergessen und später nachgetragen. - Sie spiegelt oft nur die eigene Meinung über die Korrektheit des Programmes wieder. 8-4