Zum Inhalt springen

Softwaretest


Empfohlene Beiträge

Das ist keine Aufgabe, das sind nur Fragen, die man zum Softwaretest stellen kann.

Was ist Softwaretest? Es gibt verschiedene Definitionen:

1. "Testen ist ein Prozeß, ein Programm mit der Absicht auszuführen, Fehler zu finden.

Um damit:

-> den Programmierern Informationen zu geben, wie man Fehler vermeidet.

-> dem Management die Möglichkeit zu geben, das Risiko einzuschätzen, das den Einsatz der Software birgt."

2. "Unter dem Softwaretest versteht man den Prozess, bei dem geprüft wird, ob ein bestimmtes Softwaresystem den zugrundeliegenden Spezifikationen entspricht und ob es in der dafür vorgesehenen Systemumgebung lauffähig ist"

Was wird getestet?

"Eine Auswahl: Funktionstest, Systemtest, Vollständigkeitstest, Volumentest, Lasttest, Benutzerfreundlichkeitstest, Sicherheitstest, Leistungstest, Speichertest, Konfigurationstest, Kompatibilitätstest, Installationstest, Zuverlässigkeitstest, Fehlerbehandlungstest, Wartbarkeitstest, Dokumentationstest, Vorschriftentest, Abnahmetest, etc."

Wie sieht ein Testablauf aus?

"In jedem Test gibt es drei Phasen:

Planung

Vorbereitung

Durchführung

In der Testplanung wird die Teststrategie festgelegt und werden im Rahmen der Projektplanung die notwendigen Arbeiten und die dafür erforderlichen Ressourcen geplant.

In der Testvorbereitung werden die zu testenden Testfälle ausgewählt, eine Testumgebung zur Abarbeitung dieser Testfälle bereitgestellt und die Testvorschriften (d.h. die Vorgabedokumente, gemäß denen die Tests durchgeführt werden) erstellt.

Bei der Testdurchführung wird zunächst die Testumgebung nach den Angaben der für diesen Test geltenden Testvorschrift eingerichtet. Dann werden die Testfälle der Testvorschrift der Reihe nach ausgeführt. Alle Befunde werden notiert. Während der Testdurchführung wird der Prüfling nicht verändert. Die Testergebnisse werden in einer Testzusammenfassung festgehalten. Die Fehlerbehebung ist kein Bestandteil des Tests. Sie erfolgt nachher, indem die Testbefunde analysiert, die Fehlerursachen bestimmt und die Fehler dann behoben werden.

Es ist sehr wichtig, dass die Aufwendungen für das Testen in jedem Projekt sorgfältig geschätzt und in der Projektplanung berücksichtigt werden. Nur dann ist es möglich, die für das Erreichen der angestrebten Qualität notwendigen Tests auch tatsächlich durchzuführen."

Was gibt es für Tetphasen?

-> Bausteintest: Hier werden Objekte und Funktionen auf ihre Korrektheit hin getestet.

-> Modultest: Es wird überprüft, ob alle Bausteine eines Moduls korrekt zusammenarbeiten und ob das Modul alle Anforderungen erfüllt.

-> Teilsystemtest: Mehrere Module werden im Entwurf zu einem Teilsystem zusammen gefasst. Bei diesen Tests wird überprüft, ob alle Schnittstellenspezifikationen erfüllt werden.

-> Integrationstest: Hier wird das gesamte System auf einwandfreie Funktion getestet.

-> Abnahmetest: Er findet durch den Abnehmer statt, der überprüft, ob das System seinen Anforderungen entspricht (Alpha-Test).

-> Akzeptanztest: Das Programm wird einer kleinen Anzahl von Benutzern übergeben, die es anwenderorientiert überprüfen und sich anschließend kritisch über das Programm äußern (Beta-Test).

Testverfahren:

-> Programminspektion und Reviews

Ein Programmierer erklärt z.B. anderen Programmieren, Testspezialisten oder Programmdesignern sein Programm Anweisung für Anweisung. Aufkommende Fragen werden besprochen um mögliche Fehler zu finden.

Die Praxis zeigt, daß dadurch 30-70% der Fehler gefunden werden. Die meisten Fehler werden vom Programmierer selbst gefunden. Dieses Verfahren ist sehr kostengünstig, da Fehler früh entdeckt und behoben werden können.

-> Modultest:

Wird ein Modul getestet muß ggf. ein Treiber erstellt werden, um das Modul mit Daten zu versorgen. Ein Stub sorgt dafür, daß ein Unterprogramm simuliert wird.

-> Integrationstest:

Der Ablauf der Integration erfolgt durch:

- Inkrementelles Testen oder durch

- Nichtinkrementelles Testen (Big-bang)

-> Inkrementelles Testen:

Nach dem Test des ersten Moduls wird das zweite dazugebunden und getestet, dann das nächste usw. solange bis alle Module integriert sind.

-> Nichtinkrementelles Testen:

Jedes Modul wird einzeln für sich getestet. Am Ende werden alle Module auf einen Schlag zusammengebunden und getestet.

-> Blackbox-Test:

(Blackbox-, datengetriebenes oder Ein/Ausgabe-Testen)

Der Tester betrachtet das Programm als Blackbox. Er interessiert sich nicht für die innere Struktur des Programmes. Die Testdaten werden nur aus der Spezifikation abgeleitet.

Ein vollständiger Test beinhaltet die Eingabe alle möglichen Daten.

- Man kann ein Programm nicht so testen, daß seine Fehlerfreiheit garantiert wird.

- ein fundamentaler Gesichtspunkt beim Programmtesten ist die Wirtschaftlichkeit.

-> Whitebox-Test:

Logikorientiertes Testen, mit der die innere Struktur des Programmes getestet werden kann.

Man kann ein Programm als vollständig ausgetestet bezeichnen, wenn man alle möglichen Pfade des Steuerflusses durch das Programm über die Testfälle ausgeführt hat.

- in der Regel unrealistisch, da astronomisch hoch.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...