- Integrationstest
-
Der Begriff Integrationstest bezeichnet in der Softwareentwicklung eine aufeinander abgestimmte Reihe von Einzeltests, die dazu dienen, verschiedene voneinander abhängige Komponenten eines komplexen Systems im Zusammenspiel miteinander zu testen. Die erstmals im gemeinsamen Kontext zu testenden Komponenten haben jeweils einen Modultest erfolgreich bestanden und sind für sich isoliert fehlerfrei funktionsfähig.
Systematik
Für jede Abhängigkeit zwischen zwei Komponenten eines Systems wird ein Testszenario definiert, welches in der Lage ist nachzuweisen, dass nach der Zusammenführung sowohl beide Komponenten für sich wie auch der Datenaustausch über die gemeinsame(n) Schnittstelle(n) spezifikationsgemäß funktionieren. Als Methoden werden sowohl Funktionstests als auch Schnittstellentests angewendet. Da die Funktionstests meistens im Rahmen der Komponententests bereits durchgeführt wurden, dienen sie an dieser Stelle dazu festzustellen, ob die richtige Komponente verwendet wird. Die Schnittstellentests dienen zur Überprüfung der Daten, die zwischen den Komponenten ausgetauscht werden.
Umfang
Der Umfang von Integrationstests ist nicht auf ein Gesamtsystem festgelegt. Da der zeitliche Aufwand für Integrationstests mit wachsender Komponentenanzahl überproportional ansteigt, ist es üblich, Integrationstests für einzelne, abgegrenzte Subsysteme durchzuführen und diese dann im weiteren Verlauf als eine Komponente zu betrachten (Bottom-Up-Methode). Bei dieser Methode enden die Integrationstests erst mit den erfolgreichen Testläufen in einer mit dem späteren Produktivsystem identischen Testumgebung.
In kleineren Softwareprojekten finden Integrationstests häufig während der Programmierung durch den oder die Programmierer statt. Unmittelbar im Anschluss an die Programmierung eines Moduls wird das Modul selbst und das Zusammenspiel mit dem bisher erstellten Programmcode getestet. Bei großen, umfangreichen Software-Entwicklungen, die meist im Rahmen eines Projekts durchgeführt werden, erhöht sich der Aufwand für Tests generell so stark, dass diese zur Steigerung der Effizienz automatisiert durchgeführt werden.
Literatur
- Ian Sommerville: Software Engineering; Addison-Wesley, 6. Auflage, 2001, ISBN 3-827-37001-9
- IEEE: IEEE Standard Glossary of Software Engineering Terminology; IEEE, 1991, ISBN 1-559-37067-X
- British Computer Society: Glossary of terms used in software testing, Version 6.3; http://www.testingstandards.co.uk/bs_7925-1_online.htm
- Article Managing Your Way through the Integration and Test Black Hole from Methods & Tools
Kategorie:- Testen (Software)
Wikimedia Foundation.