Was ist Integrationstest?
Integrationstests sind eine Phase der Softwareentwicklung und -tests, in der mehrere Einheiten oder Module innerhalb einer Programm- oder Hardwarekonfiguration zusammengeführt und getestet werden. Diese verschiedenen Einheiten wurden in der Regel alle einzeln getestet, um sicherzustellen, dass jede Einheit für sich allein einwandfrei funktioniert. Diese Testphase integriert diese unterschiedlichen Einheiten in ein größeres System. Dies kann in der Softwareentwicklung erfolgen, um sicherzustellen, dass verschiedene Aspekte eines größeren Programms zusammenarbeiten können, oder in Hardwaretests, um die ordnungsgemäße Funktionalität zwischen verschiedenen Einheiten sicherzustellen. Integrationstests sind eine wichtige Testphase, da viele Fehler gefunden und frühzeitige Versionen der gesamten Software oder Hardware entwickelt werden können.
Der Integrationstest, auch als Integration and Testing oder I & T bezeichnet, wird normalerweise als die zweite wichtige Testphase angesehen. Die erste Phase wird als Einheitentest bezeichnet und konzentriert sich hauptsächlich auf das Testen einzelner Einheiten oder Teile eines größeren Programms oder Systems, um sicherzustellen, dass jede Einheit für sich funktioniert. Diese separaten Einheiten werden beim Integrationstest zusammengeführt, sobald sie den Unit-Test bestanden haben, um sicherzustellen, dass sie in größeren Gruppen zusammenarbeiten können. Anschließend werden sie in der Regel zu einem vollständigen System oder Programm zusammengefasst, das als Teil dieses vollständigen Systems entwickelt und getestet wird. Dies wird als Systemtest bezeichnet.
Es gibt viele Möglichkeiten, Integrationstests durchzuführen, obwohl in der Regel einige gängige Methoden verwendet werden. Bottom-up-Tests sind weit verbreitet und umfassen in der Regel das Testen verschiedener Aspekte eines integrierten Systems, beginnend mit den unteren Systemebenen. Sobald diese „unteren“ Aspekte des Systems den Test bestanden haben, rückt der Test zu wichtigeren Aspekten vor. Es kann auch eine Top-Down-Form des Integrationstests durchgeführt werden, bei der die höchsten Ebenen eines Systems zuerst getestet werden und der Prozess weiter auf niedrigere Ebenen verschoben wird.
Eines der Hauptprobleme bei diesen beiden Arten von Integrationstests besteht jedoch darin, dass keines von beiden leicht eine frühzeitige Veröffentlichung eines Produkts mit grundlegenden Funktionen feststellen kann. Diese Art der Alpha-Version kann für größere Testmöglichkeiten von entscheidender Bedeutung sein. Daher müssen in der Regel andere Ansätze gewählt werden, um eine solche Version zu ermöglichen. Ein solcher Ansatz ist eine Urknall-Testform, bei der alle Teile des integrierten Systems gleichzeitig getestet werden. Dies kann vorteilhaft sein, wenn nur wenige Probleme oder Fehler mit der getesteten Software vorliegen, es kann jedoch schwierig sein, bestimmte Probleme zu lokalisieren, wenn zu viele vorhanden sind.
Es gibt auch eine Art von Integrationstest, die als „Sandwich-Test“ bezeichnet wird und einige dieser Probleme lösen soll. Grundsätzlich beginnt diese Art des Testens mit Top-Down- und Bottom-Up-Tests gleichzeitig, und beide Testformen treffen sich effektiv „in der Mitte“. Dies ermöglicht das frühe Testen grundlegender Logiksysteme, ein Vorteil von Top-Down-Tests, und identifiziert kleinere Probleme früher als bei Bottom-up-Tests. Durch solche Tests kann auch schneller eine frühzeitige Version des Produkts für umfangreichere Tests oder erweiterte Mediendemonstrationen des Produkts erstellt werden.