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