Download Dokument_45.

Transcript
2.5. Testen
kann. Da Komponenten meistens von anderen Komponenten abhängig sind und/oder anderen
Komponenten Funktionalitäten zur Verfügung stellen, muss eine geeignete Testumgebung hergestellt werden. Dies wird realisiert, in dem Testtreiber (Engl. Driver) und/oder Platzhalter (Engl.
Stub) umgesetzt werden. Ein Testtreiber ist eine Komponente, deren einzige Funktionalität darin
besteht, Dienste der zu testenden Komponente aufzurufen. Dagegen simuliert ein Platzhalter eine Komponente, die der getesteten Komponente Dienste zur Verfügung stellt. Meistens bedeutet
die Programmierung eines Platzhalters mehr Aufwand als die Programmierung eines Testtreibers, da der Treiber nur Aufrufe enthalten muss; dagegen muss der Platzhalter eine bestimmte
Funktionalität simulieren.
2.5.1.2. Integrationstest
Im Rahmen dieser Testart werden mehrere Komponenten zu einem Gesamtsystem zusammengesetzt mit dem Ziel, speziell deren Zusammenspiel zu testen. Es sollen dabei Fehler an den
Schnittstellen der Komponenten aufgedeckt werden. Für das Zusammensetzen der Komponenten gibt es mehrere Strategien, die laut [Hof08] in drei Klassen aufgeteilt werden können:
Big-Bang-Integration
Diese Vorgehensweise als Strategie zu bezeichnen ist etwas unpassend, da sich dahinter keine
wirklich systematische Herangehensweise verbirgt. Sie gibt nur vor, dass erst nach Entwicklung
und Test aller benötigten Bausteine mit der Integration begonnen wird, indem alle Bausteine
auf einmal zu einem Ganzen zusammengesetzt werden. Diese Vorgehensweise ist aber meistens
nicht zu empfehlen, da sie bedeutende Nachteile mit sich bringt. Zum einen kann mit dem Integrationstest erst begonnen werden, nachdem alle Bausteine fertig gestellt worden sind; zum
anderen wird – im Falle, dass Fehler entdeckt werden – die Suche nach der fehlerhaften Komponente erschwert.
Strukturorientierte Integration
Die Strategien dieser Klasse verlangen, dass das Gesamtsystem inkrementell aufgebaut wird:
zunächst sollte nur ein Teil der Komponenten zu einem Subsystem zusammengesetzt und getestet
werden. Dieses Subsystem wird dann nach und nach um weitere Komponenten erweitert. Welche
Komponenten zuerst integriert werden, wird anhand der Architektur bestimmt.
Ein kleiner Nachteil dieser Strategien (im Vergleich zur Strategie Big-Bang-Integration) ist,
25