Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


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
indicator IP-Netzwerkplanung
indicator CYCLE STEALING
indicator Wie kann man seinen Computer schützen?
indicator Aufzeichnungsverluste
indicator E-Commerce - A New Part Of Economy
indicator Backbone
indicator GNutella
indicator Hypertext - Hypermedia
indicator Fehler bei Funktionsaufrufen
indicator Die TCP/IP-Protokoll-Familie


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon 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.
dsolution