logo

Crowdly

Testen und Debuggen Testen Testen ist die systematische Suche nach Fehlern...

✅ The verified answer to this question is available below. Our community-reviewed solutions help you understand the material better.

Testen und Debuggen

Testen

Testen ist die systematische Suche nach Fehlern. Damit soll ein

möglichst sicherer Umgang mit dem Programm gewährleistet werden. Nachdem

alle Programme von Menschen entwickelt werden, kommen Fehler in

Programmen vor. Je mehr Zeilen ein Programm besitzt, desto

wahrscheinlicher ist das Auftreten von Fehlern. Es gibt zwei wichtige

Arten:

  • Syntax-Fehler: Programmanweisungen, die nicht den Regeln der

    Programmiersprache entsprechend geschrieben wurden; Solche Fehler kann

    der Compiler gut erkennen. Sie werden deswegen auch als

    Compiler-Fehler oder auch grammatikalische Fehler bezeichnet.

  • Semantik-Fehler: Fehler, die in der Bedeutung des Programms liegen,

    d.h. in der Programm-Logik. Diese Fehler können vom Compiler nicht

    erkannt werden. Sie werden deshalb oft auch als Logik-Fehler oder

    umgangssprachlich als Bugs bezeichnet.

Beim Testen geht es um das Aufspüren von semantischen Fehlern.

Damit Fehler gefunden werden können, muss ein Programmablauf immer

wieder mit verschiedensten Szenarien durchgespielt werden. Um die

Chancen zu erhöhen, mit diesen Szenarien auch wirklich die Fehler zu

finden, müssen diese Szenarien nach einem bestimmten System entwickelt

werden. Je nach Herangehensweise werden prinzipiell 2 Arten von Tests

unterschieden:

  • Black-Box-Testen: Dabei wird das Programm als "schwarze Box"

    betrachtet, dessen Innenleben nicht bekannt ist. Allein aus der

    Programmbeschreibung bzw. Aufgabenstellung werden die Szenarien

    abgeleitet, die für das Testen herangezogen werden.

  • White-Box-Testen: Hier werden die Testfälle und Testverfahren aus dem

    Wissen über den internen Aufbau des Programms abgeleitet.

Da oft keine klaren Grenzen gezogen werden können, wurde als Begriff

Gray-Box-Testen eingeführt bzw. wird in moderner Literatur die obige

Unterscheidung gar nicht mehr getroffen (vgl.

Introduction in Software-Testing

; Paul Ammann, Jeff Offutt;

Cambridge University Press, 2016).

Ein Zugang, der von vielen Anfängern verwendet wird, ist das

"Ausprobieren" von Software. Beim Ausprobieren wird oft nur ein

einziger typischer Programmablauf durchgeführt und wenn dieser das

gewünschte Ergebnis liefert, wird das Ausprobieren beendet. Die

Wahrscheinlichkeit dabei Fehler zu finden ist nicht sehr groß.

Ausprobieren ist nicht Testen.

Ergänze folgende Zusammenfassung:

  • Im Gegensatz zum Ausprobieren werden beim Testen die Fehler gesucht.

  • Das Testen dient nicht dazu, -Fehler aufzuspüren, denn diese werden vom Compiler erkannt.

  • Beim Testen können hingegen logische Fehler, d.h. -Fehler, gefunden werden.

  • Die einfachere Herangehensweise beim Testen ist das -Testen, weil dabei nur von der Aufgabenstellung bzw. der Programmbeschreibung ausgegangen wird.

  • Beim -Testen wird auf die genauen Programmablauf im Quellcode eingegangen, um die Testszenarien zu entwerfen.

  • Da aber oft die Entwickler selbst die Tests entwerfen und dabei natürlich die Kenntnis über den Quellcode einfließen lassen, spricht man auch öfters von -Testen.

  • Ausprobieren ist mit Testen gleichzusetzen, da das Ausprobieren oft nur ein Szenario umfasst und nicht systematisch abläuft.

More questions like this

Want instant access to all verified answers on elearning.tgm.ac.at?

Get Unlimited Answers To Exam Questions - Install Crowdly Extension Now!