Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
   
  •  
    Biologie
    Themen der Chemie
    Deutsch online artikel
    Englisch / Englische
    Franzosisch
    Geographie
    Geschichte
    Informatik
    Kunst
    Mathematik / Studium
    Musik
    Philosophie
    Physik
    Recht
    Sport
    Wirtschaft & Technik



    Biographie

    Impressum

informatik artikel (Interpretation und charakterisierung)

Fehler

Games

Fehlerarten, teststrategien und hilfsmittel


1. Java
2. Viren



1. Fehlerarten r / . Abweichungen gegenüber der Spezifikation

. Syntaktische Fehler
werden beim Übersetzen vom Compiler erkannt, der Compiler gibt eine entsprechende Fehlermeldung aus. Diese Fehlerart ist am schnellsten von allen zu beheben.
Typische Fehler: falsch geschriebene Befehle, vergessene Klammern, kein Strichpunkt

. Logische Fehler
Die Syntax ist korrekt, das Programm läuft jedoch nicht wie geplant.
Folgen:

- falsche Ergebnisse
- Endlosschleifen

- nie erreichter Code


Ursachen:
- falsche Bedingungen in Schleifen oder Verzweigungen

- falsche Operatoren


. Laufzeitfehler
treten während der Laufzeit des Programmes auf und führen meist zum Programmabsturz.

Beispiele:
- Division durch 0
- Überschreiben von verwendetem Speicher
- Pointer zeigt nicht an die richtige Stelle

- Stack oder Heap Overflow


2. Testen und Debugging


. Begriffe
- Testen: ist die Untersuchung eines Programmes auf alle Arten von Fehlern

- Debugging: Analysieren und Beheben von Fehlern.

. Teststrategien
- codeorientiert (White-Box, intern, WIE funktioniert das Programm?)
Jeder Befehl des Codes (alle Zweige von Entscheidungen, alle Schleifen) werden in allen Kombinationen mindestens 1 mal durchlaufen. Basis ist der Programmentwurf.

Vorteil: sehr gründlich
Nachteil: sehr aufwendig (nur für kleine Module)
- funktionsorientiert (Black-Box, extern, WAS leistet das Programm?)
Die fertigen Funktionen werden mit Hilfe des Pflichtenheftes und dem Kriterienkatalog (aus Benutzersicht) getestet, wesentlich ist das Verhalten der Schnittstelle.

. Auswahl der Testfälle bei funktionsorientiertem Test

- repräsentatives Testen
Die Funktionen werden entsprechend der Häufigkeit, mit der sie verwendet werden, getestet.

- schwachstellenorientiertes Testen
Jene Funktionen, bei denen die Wahrscheinlichkeit, daß ein Fehler auftritt, relativ hoch ist, werden intensiver getestet (z.B. komplexe Algorithmen, komplizierte Datenstrukturen).


- schadensausmaßorientiertes Testen
Es werden jene Funktionen, bei denen Fehler gravierend sind oder sehr teuer wären, besonders intensiv getestet.
nicht gravierend: Fehler beim Schreiben einer Überschrift
gravierend: Zerstörung der Datei

. Arten von Testdaten

- Normalwerte
Werte, die im Betrieb häufig vorkommen

- Extremwerte
Minimum, Maximum, NULL, Leerstring, leere Datei


- falsche Werte
"Robustheit" - können durch Fehleingaben des Benutzers zustande kommen, liegen außerhalb gültiger Grenzen

. Hierarchie des Testens

1. Modultest
Testen einzelner Module

2. Komponententest

Testen mehrerer zusammengefügter Module


3. Integrationstest
Testen aller Module in einer Testumgebung

4. Systemtest
Probebetrieb, Prüfung der Stabilität und Leistung beim Kunden


5. Abnahmetest
Programmanforderungen werden getestet

- Mengenanforderungen
max. Anzahl der User bzw. von Datensätzen



- Leistungsanforderungen
Durchschnittliche Bearbeitungszeit

- Verfügbarkeitsanforderungen
Bürobetrieb 79 - 100 %. Echtzeitbetrieb 99.5 - 100 %


- Genauigkeitsanforderungen
Anzahl der Kommastellen, Runden oder Abschneiden

. Arten des Modultests
- Ein-/Ausgabeanweisungen statt Parameter
Nachteil: Das Modul wird nach dem Testen nochmals verändert

- über- und untergeordnete Simulationsmodule

Nachteil: aufwendig


Driver-Modul: ruft das Testmodul auf, versorgt es mit Parametern, enthält

Ergebnisse, wertet Daten aus.

Dummy-Modul: wird aufgerufen, muß Minimalfunktionen erfüllen
z.B. fixe Testdaten zurückliefern.

. Kosten von Fehlern
- Je später Fehler entdeckt werden, um so teurer sind diese
- Zusammenhang zwischen Fehlerentstehung und Fehlererkennung

Fehlerentstehung Fehlererkennung
Codierung Übersetzung
Feinentwurf Modultest
Grobentwurf Komponententest
Spezifikation System- und
Integrationstest

Fehler können nur auf der Ebene erkannt werden, auf der sie begangen
wurden.



. Grundsätze
- Test planen, nicht improvisieren
- genügend Zeit vorsehen (ca. 40 % der Projektdauer)
- gründlich Testen, nicht schummeln
- nach Änderungen wieder alles durchtesten
- nicht jeden Fehler sofort korrigieren, sondern zu Ende testen (wenn möglich)
- Ein Programmierer sollte seine eigenen Module nicht testen (Wer gibt schon gerne zu, daß er einen Fehler gemacht hat?)
- Ein Test kann über die Anwesenheit von Fehler Auskunft geben, aber nicht über Abwesenheit, d.h. man kann nicht beweisen, daß ein Programm fehlerfrei ist, sondern nur, daß ein Fehler vorhanden ist.
- Jeder Test sollte mitprotokolliert werden. In diesen Berichten sollten die auftretenden Fehler und Probleme, Fehlerursachen und Lösungen beschrieben werden.


3. Hilfsmittel
. Debugger

- Breakpoints
- Watches: Anzeigen von Variablenwerte
- Trace-Modus: Programmablauf wird mitprotokolliert, Protokoll kann dann analysiert werden
- Single-Step-Modus

. Dump-Programme
. Testdatengenerator
. Ausgaben im Programm

 
 




Datenschutz

Top Themen / Analyse
IP-Netzwerkplanung
CYCLE STEALING
Wie kann man seinen Computer schützen?
Aufzeichnungsverluste
E-Commerce - A New Part Of Economy
Backbone
GNutella
Hypertext - Hypermedia
Fehler bei Funktionsaufrufen
Die TCP/IP-Protokoll-Familie





Datenschutz

Zum selben thema
Netzwerk
Software
Entwicklung
Windows
Programm
Unix
Games
Sicherheit
Disk
Technologie
Bildung
Mp3
Cd
Suche
Grafik
Zahlung
Html
Internet
Hardware
Cpu
Firewall
Speicher
Mail
Banking
Video
Hacker
Design
Sprache
Dvd
Drucker
Elektronisches
Geschichte
Fehler
Website
Linux
Computer
A-Z informatik artikel:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z #

Copyright © 2008 - : ARTIKEL32 | Alle rechte vorbehalten.
Vervielfältigung im Ganzen oder teilweise das Material auf dieser Website gegen das Urheberrecht und wird bestraft, nach dem Gesetz.