 |
 | |  |  | | Beschreibung |  | Nachdem die Software an den Kunden ausgeliefert wurde, erfolgt in der Regel im Rahmen von Pflege- und Wartungsarbeiten eine stetige Anpassung des Systems an geänderte Randbedingungen bzw. die Behebung von Fehlern. Unter Wartung versteht man in diesem Zusammenhang die Behebung von im Betrieb beim Kunden aufgetretenen Fehlerwirkungen. Da Software nicht wie physikalische Systeme altern kann, waren die verursachenden Defekte schon bei der Übergabe an den Kunden in der Software enthalten, wurden allerdings in den vorangehenden Testphasen leider nicht entdeckt.Weiterhin wird Software in den meisten Fällen auch permanent weiterentwickelt, d.h. es werden vorgesehene Erweiterungen der Funktionalität, die im Zeitrahmen des ursprünglichen Projekts nicht mehr durchgeführt werden konnten, nun nach der Einführung beim Kunden nachgeholt, oder der Kunde wünscht zu einem späteren Zeitpunkt eine Erweiterung der bestehenden Funktionalität.
In jedem Fall wird das übergebende Software-System durch die Entwickler erneut „angefasst“, d.h. Software-Bausteine werden geändert, korrigiert, oder neue Komponenten werden dem bestehenden System hinzugefügt. Da dies nicht ungetestet geschehen darf, ist ein sog. Regressionstest notwendig, bei dem das System bzw. Teile davon erneut auf Fehler getestet werden. Da das Testobjekt in diesem Fall ein teilvalidiertes System darstellt, stellt sich die Frage nach dem Umfang des Regressionstests. [Basiswissen Softwaretest, Spillner] unterscheidet hier die folgenden Fälle:
- Fehlernachtest
Hier werden nur die Tests erneut durchgeführt, bei denen Fehlerwirkungen aufgetreten sind, und die nun korrigiert wurden. Es wird also überprüft, ob nach der erfolgten Korrektur der Software die zuvor beobachteten Fehlerwirkungen verschwunden sind.
- Test von allen modifizierten Programmteilen
Hier werden diejenigen Teile des Systems erneut getestet, die z. B. im Zuge einer Änderung der Funktionalität modifiziert wurden.
- Test von allen neu hinzugenommenen Software-Bausteinen oder neuen Programmteilen
- Test des kompletten Systems
Da wegen sog. Seiteneffekte geänderte Programmstellen auch Einflüsse auf nicht geänderte Programmstellen haben können, ist der Fehlernachtest und der Test der modifizierten Programmstellen allein nicht ausreichend. Prinzipiell wäre der vollständige Regressionstest, bei dem das komplette System mit sämtlichen Testfällen erneut getestet werden würde, die sicherste Methode, das System erneut zu validieren. In der Praxis scheitert aber so ein Vorgehen meistens, da der dazu notwendige Aufwand und die damit verbundenen Kosten nicht vertretbar sind. Deswegen müssen Testfälle gezielt weggelassen werden, und man benötigt somit eine Strategie zu deren Auswahl.
Eine von [Basiswissen Softwaretest, Spillner] aufgestellte Auswahlstrategie ist folgende:
- Testfälle mit hoher Priorität werden erneut durchgeführt
- Es wird kein Test von Sonderfällen durchgeführt
- Es werden nur bestimmte Konfigurationen (z. B. Betriebssysteme) getestet
- Es werden nur ausgewählte Systemteile getestet
- Es wird nur in bestimmten Teststufen getestet
Falls während des Projekts gute Testfälle entwickelt und eine effektive Testfallorganisation eingeführt wurden, können, falls nötig, vorhandene Testfälle nun relativ schnell an die geänderten Verhältnisse angepasst werden. Auch hier zahlt sich wiederum ein gutes Testmanagement aus. |  |
 | |  |  | |  | |  | |  |  |  | | Zu dieser Seite wurden noch keine Kommentare oder Bewertungen abgegeben. |
|
|  | |  |  |   | Übergeordnet |  |  |  | |  |  |  |  |  | Regressionstest |  |  |  |  |  | Weitere Themen |  |  |  | |  |  | |  |  | |  |  |  |  |  |  |
|