Verbreitet ist die Auffassung, dass Testen nur aus dem Ausführen von Tests, d.h. dem Ausführen der Software, besteht. Dabei handelt es sich jedoch nur um einen Teilbereich des Testens.

Weitere Testaktivitäten sind vor und nach der Testdurchführung angesiedelt. Dazu gehören: Planung und Steuerung der Tests, Auswahl der Testbedingungen, Testfallspezifikation, Ausführung der Testfälle, Überprüfung der Ergebnisse, Auswertung der Endekriterien, Berichten über den Testprozess und das zu testende System sowie nach Abschluss einer Testphase Abschlussarbeiten zu Ende zu bringen. Zum Testen zählt ebenfalls das Prüfen von Dokumenten (Quellcode inbegriffen) und die Durchführung von statischen Analysen.

Sowohl der dynamische Test als auch der statische Test können als Mittel zur Erreichung ähnlicher Zielsetzungen eingesetzt werden. Dabei werden Informationen zur Verbesserung des zu testenden Systems, des Entwicklungs- und des Testprozesses geliefert.

Testen kann die folgenden Ziele haben:

• Aufdecken von Fehlerzuständen • Erzeugen von Vertrauen bezüglich des Qualitätsniveaus des Systems • Liefern von Informationen zur Entscheidungsfindung • Vorbeugen von Fehlerzuständen

Ein konsequenter Prozess und ein Beginn der Tätigkeiten zur Erstellung von Tests schon früh im Lebenszyklus (das Prüfen der Testbasis durch den Testentwurf) kann Fehler im Programmcode verhindern. Reviews von Dokumenten (z.B. Anforderungsspezifikation) sowie Identifizierung und Lösung von Problemen kann ebenfalls Fehler im Programmcode verhindern.

Aus den verschiedenen Zielsetzungen beim Testen ergeben sich verschiedene Gesichtspunkte. Zum Beispiel könnte bei herstellerinternen Tests im Testentwurf (z.B. Komponententest, Integrationstest oder Systemtest) das Hauptziel sein, so viele Fehlerwirkungen wie möglich zu verursachen, so dass Fehlerzustände in der Software identifiziert und behoben werden können. Demgegenüber könnte im Abnahmetest das Hauptziel sein, zu bestätigen, dass das System wie erwartet funktioniert, um Vertrauen zu schaffen, dass es den Anforderungen entspricht. In manchen Fällen könnte das Hauptziel des Testens sein, die Softwarequalität zu bewerten (ohne die Absicht Fehlerzustände zu beheben), um die Beteiligten über das Risiko einer Systemfreigabe zu einem bestimmten Zeitpunkt zu informieren. Wartungstests enthalten oft Tests, die sicherstellen sollen, dass durch die Änderung der Software keine neuen Fehler eingebaut wurden. Beim Betriebstest (orientiert an Nutzungsprofilen) kann das Hauptziel sein, ein System hinsichtlich Ausprägungen wie Zuverlässigkeit oder Verfügbarkeit zu bewerten.

Debugging und Testen sind verschiedene Dinge. Dynamische Tests können Fehlerwirkungen zeigen, die durch Fehlerzustände verursacht werden. Debugging ist eine Entwicklungsaktivität, die die Ursache einer Fehlerwirkung identifiziert, analysiert und entfernt. Anschließende Fehlernachtests durch einen Tester stellen sicher, dass die Lösung wirklich die Fehlerwirkung behoben hat. Die Verantwortung für Testen liegt üblicherweise beim Tester, die für Debugging beim Entwickler.

Pin It on Pinterest

Shares