Das Wissensportal für IT-Professionals. Entdecke die Tiefe und Breite unseres IT-Contents in exklusiven Themenchannels und Magazinmarken.

SIGS DATACOM GmbH

Lindlaustraße 2c, 53842 Troisdorf

Tel: +49 (0)2241/2341-100

kundenservice@sigs-datacom.de

Wie viele Integrationstests kann es geben?

In dieser Kolumne diskutiert der Autor Themen rund um die Terminologie beim Softwaretesten. Heute geht es um den Integrationstest.

  • 29.11.2019
  • Lesezeit: 5 Minuten
  • 82 Views

Als ich angefangen habe, mich mit Testmanagement systematisch zu beschäftigen, habe ich die Testmethode TMap gelernt [Koo07]. Darin kamen zwei grundlegende Integrationsteststufen vor: die Unit-Integrationstests und Systemintegrationstests. Hingegen war im damaligen ISTQB® Certified Tester Foundation Level nur von einem (einheitlichen) Integrationstest die Rede. Obwohl inzwischen auch ISTQB® zwischen Komponentenintegrationstests und Systemintegrationstests unterscheidet [GTB-b], wird im allgemeinen V-Modell (siehe Abbildung 1) immer noch oft nur ein Integrationstest als Teststufe dargestellt [Spi19].

Abb. 1: Ein allgemeines V-Modell mit einer Integrationsteststufe

Eine solche Platzierung weist den Integrationstest klar als Teststufe aus. Die aktuelle Definition des Integrationstests in [GTB-a] klingt aber eher nach einer Testart:

  • Integrationstest: Testen mit dem Ziel, Fehlerzustände in den Schnittstellen und im Zusammenspiel zwischen integrierten Komponenten aufzudecken.

Wenn wir die Frage, ob es einen oder mehrere Integrationstests gibt, methodisch fundiert beantworten möchten, müssen wir also zuerst die grundlegende Frage beantworten, ob der Integrationstest eine Testart oder eine Teststufe ist.

Testart oder Teststufe?

Was überhaupt ist eine Teststufe und was ist eine Testart? Eine aktuelle Antwort finden wir im ISTQB-Glossar [GTB-a]:

  • Testart: Eine Gruppe von Testaktivitäten basierend auf bestimmten Testzielen mit dem Zweck, eine Komponente oder ein System auf spezifische Merkmale zu prüfen.
  • Teststufe: Eine spezifische Instanziierung eines Testprozesses.

In diesem Sinne ist der Integrationstest, so wie oben definiert, tatsächlich eine Testart. Er ist eindeutig durch Testziele geprägt. In der Terminologie der ISO-Norm für Softwarequalität [SQuaRE] wird das Qualitätsmerkmal Kompatibilität getestet. Im ISO-Modell der Produktqualität hat die Kompatibilität zwei Untermerkmale: die Interoperabilität und die Koexistenz. Meist spielt die Interoperabilität beim Integrationstest die wesentliche Rolle, aber die Koexistenz kommt manchmal auch vor.

Für Testexperten ist es von großem Vorteil, den Unterschied zwischen Teststufen und Testarten zu verstehen. So machen sie nicht den Fehler, eine Testart wie den Integrationstest prinzipiell auf nur eine Teststufe zu beschränken, oder anders herum eine Teststufe auf eine bestimmte Testart.

In der Projektpraxis bin ich diesem Fehler oft begegnet. Dadurch haben sowohl die Effektivität der Fehlerfindung als auch die Effizienz des Testens gelitten.

Gibt es nur einen oder mehrere Integrationstests?

Während der Integrationstest eine grundlegende Testart ist, sind bei komplexeren Systemen mehrere Integrations-Teststufen üblich. Ein Komponentenintegrationstest, das heißt der Test der Kompatibilität der einzelnen Komponenten untereinander, ist die erste dieser Teststufen. Ein Systemintegrationstest (d. h. der Test der Kompatibilität von Systemen untereinander in einer Anwendungslandschaft) könnte eine Stufe nach dem Abnahmetest sein, oder aber eine Unterstufe des Abnahmetests. In der eingebetteten Software kommt typischerweise auch der Hardware-Software-Integrationstest als weitere Teststufe hinzu.

Solche Teststufen haben alle ihre spezifischen Testziele, Testplanung, Steuerung und Berichtswesen, Verantwortlichen, Testverfahren usw. Aber diese Teststufen haben auch gewisse Eigenarten, die sie voneinander unterscheiden. Im Systemintegrationstest ist es zum Beispiel eine typische Herausforderung, dass die Testabläufe besonders sorgfältig koordiniert werden müssen, da sich mehrere Organisationseinheiten an den Testaktivitäten beteiligen.

Diese Überlegungen zeigen, dass das, was in Abbildung 1 Integrationstest genannt wurde, eigentlich der Komponentenintegrationstest ist.

Die Situation ist hier ähnlich wie bei anderen Testarten. Die Testart wird in der Umgangssprache mit einer Teststufe identifiziert, in der diese Testart größtenteils ausgeführt wird. Auch bei Last- und Performanztests, IT-Sicherheitstests oder Gebrauchstauglichkeitstests handelt es sich um Testarten, die prinzipiell in verschiedenen Teststufen durchgeführt werden können. Zum Beispiel kann für Komponenten die Performanz der verschiedenen Ressourcen wie Datenbank, Speicher oder Netzwerk-Bandbreite getestet werden. Dennoch ist mit dem Last- und Performanztest in der Umgangssprache meist eine Teststufe auf einem voll integrierten System gemeint.

Ist der Integrationstest noch aktuell?

In agilen oder DevOps-Softwareentwicklungslebenszyklen sind die Testaktivitäten mit den übrigen Entwicklungsaktivitäten sehr stark integriert und verzahnt. Im Sinne der obigen Definition spielen die Teststufen deshalb keine so große Rolle mehr. Sie werden oft als „alte Schule“ abgetan. Der Testprozess wird in einer Instanz für verschiedene Aggregationsstufen durchlaufen.

Andererseits ist die Kompatibilität von Komponenten, Systemen oder Software und Hardware nach wie vor relevant, oft sogar noch wichtiger als vorher. Deshalb spielt der Integrationstest als Testart unbestritten eine große Rolle. Aus dem allgemeinen V-Modell der alten Schule können wir trotzdem lernen, dass ein effektiver und effizienter Integrationstest für jede Aggregationsstufe seine differenzierten Testziele und Testverfahren haben soll.

Referenzen

[GTB-a] ISTQB®/GTB Standardglossar der Testbegriffe, Version 3.2 vom 27.9.2018, siehe: glossar.german-testing-board.info/v3.2/

[GTB-b] ISTQB®/GTB Lehrplan Certified Tester Foundation Level, Version 2018, siehe: https://www.german-testing-board.info/wp-content/uploads/2018/09/Lehrplan-Certified-Tester_Foundation-Level_Version2018.pdf

[Koo07] T. Koomen, L. van der Aalst, M. Vroon, B. Broekman, TMap® Next – ein praktischer Leitfaden für ergebnisorientiertes Softwaretesten, dpunkt.verlag, 2007

[Spi19] A. Spillner, T. Linz, Basiswissen Softwaretest – Aus- und Weiterbildung zum Certified Tester – Foundation Level nach ISTQB-Standard, 6., überarbeitete und akt. Auflage 2019, dpunkt.verlag

[SQuaRE] ISO/IEC Standard 25010. Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – System and software quality models, 1st Edition, 2011

. . .

Author Image
Zu Inhalten
Dr. Matthias Hamburg war bis zu seiner Pensionierung im September 2019 Managing Consultant bei der Sogeti Deutschland GmbH. Im German Testing Board (GTB) engagiert er sich weiterhin ehrenamtlich. Als Leiter der GTB-Arbeitsgruppe Glossar gibt er das ISTQB®/GTB Standardglossar der Testbegriffe heraus. Darüber hinaus leitet er die Glossary Working Group und die Advanced Test Analyst Task Force beim International Software Testing Qualifications Board (ISTQB®).

Artikel teilen