Outside-In-Integrationstest

Der Outside-In-Integrationstest ist eine Strategie zur Durchführung eines Integrationstests. Dabei können die äußeren Softwareteile (i. d. R. mit der Systemumgebung interagierend, „Outside“) und die inneren, aufzurufenden Einheiten („In“) durch Verwendung von Hilfsroutinen unabhängig voneinander getestet werden.

Testen nach dem Outside-In-Ansatz

Grundsätzlich besteht der Integrationstest aus einer Reihe von Einzeltests, durch die das Zusammenspiel unabhängig voneinander entwickelter Komponenten einer Software getestet wird. Dafür wird eine Integrationsstrategie benötigt, die festlegt, in welcher Reihenfolge die Tests stattfinden. Ziel ist es, eine fehlerfreie Interaktion zwischen allen beteiligten Modulen des Softwaresystems zu prüfen und sicherzustellen. Je nach angewendetem Vorgehensmodell kann dem Integrationstest das Testen isolierter Softwarebausteine als eigene Teststufe ‚Modultest‘ vorausgehen.

Nach dem Outside-In-Ansatz benötigt der Integrationstest ersatzweise Treiber anstelle von fehlenden (noch ungetesteten) aufrufenden Komponenten und Dummies (Stubs) anstelle von noch fehlenden ‚unterlagerten‘ Modulen. Erfolgreich getestete Komponenten ersetzen in nachfolgenden Tests sukzessive ihre Stellvertreter, sodass zuletzt das vollständige System abschließenden Einzeltests unterworfen werden kann. Die Reihenfolge im Integrationstest wird also durch die Aufrufstruktur der zu testenden Komponenten (Testobjekte) bestimmt.

Outside-In- und auch Inside-Out-Softwaretests gehören zu den verfahrensorientierten inkrementellen Strategien für Integrationstests. Sie sind Varianten der Sandwich-Strategie, die eine Mischung aus der Bottom-Up- und der Top-Down-Strategie ist und die Vorteile der Top-Down- und der Bottom-Up-Strategie vereint.

Funktionsweise der Outside-In-Strategie

Bei der Outside-In-Strategie arbeiten sich zwei Teams unabhängig voneinander bis zur Mitte vor. Das erste Team beginnt bei der untersten Hierarchieebene, welche die dienstanbietenden Module beinhaltet und geht weiter zu den dienstnutzenden, welche die obersten Module sind. Sie verwenden also die Bottom-Up Methode. Das zweite Team arbeitet genau umgekehrt, sie beginnen bei den dienstnutzenden Modulen, gehen nach unten zu den dienstanbietenden Modulen. Dieses Vorgehen ist die Top-Down-Methode. So treffen sich beide Teams dann in der Mitte der Hierarchie und setzten so das Gesamtsystem zusammen. Das heißt die Outside-In-Methode modelliert [testet] zuerst die Umwelt eines Systems, bevor sie sich mit dem Systeminneren befasst. Dieser Integrationstest ist, neben dem Inside-out-Test, die einzige Strategie, die den Einsatz mehrerer [getrennt voneinander arbeitender] Testteams unterstützt.

Vor- und Nachteile

Vorteile

Die Vorteile der Outside-In-Methode sind:

Nachteile

Die Nachteile des Outside-In-Tests sind:

Inside-Out-Integrationstest

Im Gegensatz zur Outside-In Methode wird bei der Inside-Out-Methode zuerst das Systeminnere modelliert, bevor sie sich mit der Umwelt des Systems befasst. Bei der Inside-Out-Methode stehen die Strukturüberlegungen im Mittelpunkt. Das birgt die Gefahr, dass Notwendigkeiten der Umwelt übersehen oder zu spät entdeckt werden. Die Inside-Out-Integration wird sehr selten eingesetzt, da sie nicht die Vorteile von Top-Down und Bottom-Up vereint, sondern eher ihre Nachteile.

Methode der Inside-Out-Integration

Begonnen wird in der Mitte der Hierarchie und von dort aus werden sowohl nach oben als auch nach unten Komponenten integriert, bis das System vollständig integriert wurde.

Literatur

Einzelnachweise

  1. ↑ Abgerufen am 17. Juni 2018.
  2. ↑ Dirk Zander, Toolgestützte Verifikation verteilter technischer Steuerungssysteme auf der Basis von Aktivitätsdiagrammen, Ruhr-Universität Bochum; Dissertation, Bochum 2009, S. 72–74.
  3. ↑ Peter Liggesmeyer; Software-Qualität Testen, Analysieren & Verifizieren von Software; Spektrum akademischer Verlag, Heidelberg 2009; 2. Auflage; S. 372.
  4. 1 2 3 Mario Winter, Mohsen Ekssir-Monfared, Harry Sneed, Richard Seidl, Lars Borner: Der Integrationstest – Von Entwurf und Architektur zur Komponenten- und Systemintegration. Carl Hanser Verlag; 2012; 1. Auflage; S. 163f.
  5. 1 2 Florin-Avram Pinte; Automatische Optimierung und Evaluierung modellbasierter Testfälle für den Komponenten- und Integrationstest, Dissertation, Erlangen, 2012; S. 26.
  6. 1 2 3 4 5 Helmut Balzert; Lehrbuch der Softwaretechnik, Basiskonzepte und Requirements Engineering; Spektrum akademischer Verlag; 2009; 3. Auflage; S. 54–56.
  7. 1 2 Peter Liggesmeyer; Software-Qualität Testen, Analysieren & Verifizieren von Software; Spektrum akademischer Verlag, Heidelberg 2009; 2. Auflage; S. 375/376.
  8. 1 2 Walter Masing, Tilo Pfeifer; Masing Handbuch Qualitätsmanagement; München, Wien: Carl Hanser Verlag GmbH & Co. KG; 2014; 6. Auflage; S. 910f.
  9. ↑ (Seite nicht mehr abrufbar, festgestellt im Mai 2019. Suche im Internet Archive) ( Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.) Abgerufen am 17. Juli 2018.
  10. ↑ Jürgen Moormann, Günter Schmidt; IT in der Finanzbranche: Management und Methode; ISBN 978-3-540-34511-4; Springer; 2007; S. 144f.
  11. ↑ Torsten Cleff; Basiswissen Testen von Software; ISBN 978-3-86834-012-9; W3L GmbH, 1. Auflage; 2010; S. 29.