INTEGRATIONSTEST - Sigs Datacom

Die Seite wird erstellt Joel Fleischer
 
WEITER LESEN
INTEGRATIONSTEST - Sigs Datacom
– Verlagsbeilage –

INTEGRATIONSTEST
    DER INTEGRATIONSTEST
           IM KONTEXT DES
  ENTWICKLUNGSPROZESSES

      KOMPATIBILITÄTSTESTS
      MIT CONSUMER-DRIVEN
                CONTRACTS

      KONKRETE LEARNINGS
   AUS EINEM AGILEN INTE-
 GRATIONSTESTING-PROJEKT

INTEGRIERTES TESTEN VON CONNECTED-CAR-LÖSUNGEN BEI DER RENAULT-NISSAN- MITSUBISHI-ALLIANZ
INTEGRATIONSTEST - Sigs Datacom
www.GermanTestingDay.info
                                                                            #GermanTesting

GERMAN TESTING DAY 2020
Die unabhängige Konferenz zu Software-Qualität

SAVE THE DATE
06. + 07. Mai 2020 | Kap Europa | Frankfurt am Main

Jetzt Termin vormerken und auf diese Themen freuen!

                                                 PERFORMANCE
               TESTING

                                                      AGILITÄT
                         OPTIMIERUNG                                DIGITALISIERUNG

                                     ANALYSE
                                                                              QUALITY

                                                      AUTOMATION
                                                                        INTEGRATION
INTEGRATIONSTEST - Sigs Datacom
EDITORIAL / INHALT

INTEGRATIONSTESTS
Wer von Ihnen hat früher nicht auch mit LEGO gespielt und auf Seite 95   definieren. Für Projekte, die auf einer Microservice-Architektur basie-
der Anleitung den eigenen Fehler von Seite 4 verflucht? Schon damals      ren und über eine Vielzahl von Schnittstellen verfügen, ist das Thema
war instinktiv klar, dass sich kleine Fehler in der Anfangsphase zum     Integrationstest besonders relevant.
Ende hin dramatisch äußern können. Ein perfektes Gegenmittel für die
eigenen Fehler war nicht bekannt und außerdem wollten wir alle schnell   Wir wünschen Ihnen viel Spaß bei der Lektüre, neue Ideen, Inspirati-
fertig werden – genau wie heute. Bei LEGO Technik wird es nicht besser   onen und Anregungen für Ihre eigenen Integrationsprojekte – sei es
und mit echter Software oder gar eingebetteten Systemen können die       eines mit Software oder mit LEGO.
Wirkungen katastrophal werden. Diese Zusammenhänge zwischen
Entstehen und Entdecken eines Fehlers sind hinlänglich bekannt. Wann
jedoch werden die in der Testphase von Teilsystemen unentdeckten
Fehler oft entdeckt? In der Integration dieser zu einem Gesamtsystem.

Der Integration eines Systems kommt daher eine besondere Bedeutung
zu. Vielen Testmanagern steht zu Beginn der Integration (zurecht) der
Schweiß auf der Stirn, da vor der ersten erfolgreichen Durchführung
eines funktionalen Tests durchaus viel Zeit mit der Suche nach Inkon-
sistenzen in Schnittstellen, Teilsystemspezifikationen oder Testdaten
verbracht werden kann.

Diese Ausgabe des German Testing Magazins haben wir entsprechend
dem Integrationstest gewidmet. Neben Querschnittsthemen wie Test-
automatisierung und Erfahrungsberichten aus der Praxis haben wir         Ihre
den Schwerpunkt auf Consumer-Driven Contracts (CDC) gesetzt, die
ein Vorgehen für den Test von Schnittstellen zwischen Microservices      Dr. Stephan Weißleder und Richard Seidl

    INHALT
    Editorial                                                       3    Integrationstests von Microservices
                                                                         in CI/CD-Deployment-Pipelines
    Die Komplexität der Integration                                      Stefan Friese                                                 21
    Richard Seidl und Stephan Weißleder                             4
                                                                         Continuous Everything (jetzt mit Cloud™ ;))
    THEMA: INTEGRATIONSTESTS                                             Tom Vollerthun                                                24

    Wie viele Integrationstests kann es geben?
    Matthias Hamburg                                                6    THEMA: TESTS VON INTEGRIERTEN SYSTEMEN
                                                                         Testen der integrierten, hyperverbundenen Welt
    V-Modell++ – das Modell für die Entwicklung
                                                                         Vimmi Walia, Rajni Singh und Helmut Pichler                   28
    und den Test von Multisystemen
    Mohsen Ekssir                                                   8
                                                                         Integriertes Testen mehrerer Komponenten
                                                                         zur Simulation des vernetzten Fahrzeugs
    Agiler Integrationstest mit Mehrwert
                                                                         Gregor Mayer                                                  32
    Thomas Klein und Carsten Negrini                               11

    Der Integrationstest im Kontext des Entwicklungsprozesses            KONFERENZBERICHT
    Joachim Schulz                                                 14
                                                                         Grumplexity Theory trifft die Frage,
                                                                         ob Frösche Zähne haben
    THEMA: CONSUMER-DRIVEN CONTRACTS                                     Rudolf Grötz                                                  36
    Kompatibilitätstests mit CDC
    Antoniya Atanasova und Sebastian Letzel                        18    Impressum                                                     39

                                                                                                                                                  3
INTEGRATIONSTEST - Sigs Datacom
DIMENSIONEN DER INTEGRATION                                                          RICHARD SEIDL UND STEPHAN WEISSLEDER

    »DIE KOMPLEXITÄT DER INTEGRATION«
    Der Duden definiert Integration als „[Wieder]herstellung einer Einheit [aus Differenziertem]; Vervollständigung“ und somit
    ein großes Ziel, auf das dieser Prozess zusteuert. Die konkreten Ausprägungen gerade in der Softwareentwicklung könnten
    unterschiedlicher kaum sein: horizontal, vertikal, Microservices, APIs, lose gekoppelt, Schichten, Silos, eng verzahnt, als Inte-
    grationsplattform oder dateibasiert, Kapselung usw. – die Integration dessen hat umso mehr Ziele, da hier zusätzlich noch
    integrationsspezifische Aspekte wie die Integrationsstrategie inklusive Anforderungen an die Testumgebung hinzukommen.

    Um hier den Überblick zu behalten, braucht      und mehr in den Fokus rücken und sollten            ›   Units: Hier gibt es meist eine gute
    es Struktur. Und wir möchten an dieser Stelle   entsprechend berücksichtigt werden.                     Test-Unterstützung durch die Entwick-
    ein paar Dimensionen aufzeigen, die bei der                                                             lungsumgebung bzw. durch das Frame-
    Klassifikation der eigenen Integrationstests     Dimension: Testobjekte                                  work.
    oder bei der Prüfung auf weitere notwendige
    Dimensionen helfen können.                      Das zu prüfende Testobjekt beeinflusst maß-          ›   Systemkomponenten: Eingebundene Bib-
                                                    geblich die Ausgestaltung der Tests und der             liotheken oder Datenbanken unterstützen
    Dimension: Testziele                            Testumgebung: Schnittstellen, Services, APIs,           den Test.
                                                    Datenbanken, Subsysteme, aber auch Infra-
    Ein typisches Testziel des Integrationstests    struktur und Hardware.                              ›   Systeme: Selbst wenn Schnittstellen von
    ist der Nachweis der korrekten Kommunikati-                                                             Softwaresystemen gut dokumentiert sind,
    on zwischen den zu integrierenden Objekten.     Wesentlich für den Erfolg der Integrations-             ist die Integration komplex und fehler-
    Dabei geht es wie so oft vorrangig um die       tests ist, dass die einzelnen Integrationsob-           anfällig.
    Minimierung des Risikos unentdeckter Fehler     jekte unabhängig von der Kommunikation an
    und um das frühzeitige Finden von Fehlerwir-    den Schnittstellen bereits als Produkt oder         ›   Integration von Software und Hardware:
    kungen.                                         Teilsystem getestet wurden. Ansonsten lässt             Hier besteht für Tests eine besondere
                                                    sich im Fehlerfall nicht feststellen, ob die Pro-       Herausforderung, auch nicht-funktionale
    Meist stehen die funktionalen Aspekte im        bleme von für Schnittstellen relevanten oder            Aspekte zu berücksichtigen.
    Vordergrund. Aber auch nicht-funktionale        irrelevanten Fehlern herrühren. So kann viel
    Aspekte spielen eine wesentliche Rolle: Zu-     Zeit für die Fehlersuche eingespart werden.         ›   Integration von Software und Daten: Beide
    verlässigkeit, Gebrauchstauglichkeit, Infor-                                                            beschreiben Informationen, die zusam-
    mationssicherheit (Security), Kompatibilität,   Dimension: Testebene                                    menpassen müssen. Meist beschreibt Ers-
    Übertragbarkeit, Änderbarkeit, Performanz/                                                              teres einen generischen Teil und Letzteres
    Effizienz (siehe ISO 25010). Je nach Branche,    Je nach Testobjekt spielt der Integrationstest          den projektspezifischen Teil. Hier ist der
    Anwendungszweck und Kundenwünschen              auf einer anderen Ebene, auf einem anderen              Spagat zwischen allgemeingültiger und
    können die nicht-funktionalen Aspekte mehr      Abstraktionsniveau:                                     projektspezifischer Prüfung wichtig.
4
INTEGRATIONSTEST - Sigs Datacom
DIMENSIONEN DER INTEGRATION

Auch Ebenen übergreifend kann es komplex
werden: Findet die Integration auf der System-
ebene (oftmals Black Box) statt, fokussiert                  WEITERFÜHRENDE L ITERATUR
aber auf Eigenschaften, die nur bei einer
White-Box-Betrachtung erkennbar sind, ist
dieser Spagat für viele Entwicklungsteams                    Der Integrationstest –
eine besondere Herausforderung.                              Von Entwurf und Architektur
                                                             zur Komponenten- und Systemintegration
Auf jeden Fall müssen bei der Integration
verschiedene Teams von verschiedenen Ebe-                    M. Winter, M. Ekssir-Monfared, H. M. Sneed,
nen mit verschiedenen Betrachtungswinkeln                    R. Seidl, L. Borner
zusammenspielen, um die effiziente Integra-
tion zu ermöglichen.                                         Hanser-Verlag, 2012,
                                                             ISBN: 978-3-446-42564-4
Dimension: Testbasis

Als Testbasis können zum Beispiel dienen:
Schnittstellenspezifikationen, Definitionen            zum Beispiel: falsche Datenstrukturen, feh-               Und auch in dem Etablieren der Testautoma-
von Kommunikationsprotokollen, Sequenz-              lerhafte Schnittstellen, falsche Annahmen                 tisierung selbst liegt eine große Herausfor-
diagramme, Modelle wie Zustandsdia-                  zu den übergebenen Daten, fehlende Daten,                 derung, da dieser Schritt oft Anpassungen in
gramme, Architekturbeschreibungen, Soft-             Probleme bei der Performanz oder der Si-                  den Frameworks oder die Entwicklung eige-
ware- und Systementwürfe, Workflows,                  cherheit (Verschlüsselung).                               ner Testwerkzeuge benötigt – ein Aufwand,
Anwendungsfälle oder Beschreibungen von                                                                        der nicht zu unterschätzen ist.
Datenstrukturen.                                     Diese Dimensionen können in fast beliebiger
                                                     Kombination betrachtet werden und spannen                 Fazit
Generell gilt: Je höher der Grad der Forma-          somit ein großes Feld an möglichen Integra-
lisierung desto eher kann man sich auf die           tionstests auf. Während Komponenten oder                  Erschlagen von der Fülle der Möglichkeiten
Ergebnisse verlassen. Wenn wir sicher sein           Systemtests eher homogen sind, ist dieses                 möchte man als Testmanager oder Tester
können, dass die Schnittstellenspezifikati-           Feld der Integrationstests sehr unterschied-              fast den Kopf in den Sand stecken. Aber
onen der kommunizierenden Produkte kon-              lich in Umsetzung, Technologie und Metho-                 lassen Sie sich nicht entmutigen und fangen
sistent zueinander sind, dann ist bereits viel       dik. Viele Tests, insbesondere nicht-funktio-             einfach klein an: Spannen Sie ein Feld mit
gewonnen.                                            nale, sind nur automatisiert sinnvoll testbar.            den wichtigsten Dimensionen auf und prü-
                                                     Die hier beschriebene Menge an Kombina-                   fen Sie, wo Sie Integrationstests bereits gut
Dimension: Typische Fehler                           tionsmöglichkeiten, die auf den Test durch-               umgesetzt haben, wo vielleicht noch Lücken
                                                     schlagen, legt die Notwendigkeit der Effi-                 sind und weitere Tests einen echten Mehr-
Mit Integrationstests können viele verschie-         zienzsteigerung über Testautomatisierung                  wert bringen würden, und starten Sie danach
dene Arten von Fehlern entdeckt werden,              ebenfalls nahe.                                           die Verbesserung. Viel Erfolg dabei!

                             Richard Seidl
                             mail@richard-seidl.com
                             hat in seiner beruflichen Laufbahn schon viel Software gesehen und getestet: gute und schlechte, große und kleine, alte und neue,
                             Schokolade und Grütze. Sein Credo: Qualität ist eine Haltung. Wer heute exzellente Software kreieren möchte, denkt den Entwicklungs-
                             prozess ganzheitlich: Menschen, Methoden, Tools und Mindset – wenn alles in einem Flow zusammenspielt, entsteht Potenzialentfal-
                             tung und Innovation.

                             Dr. Stephan Weißleder
                             stephan.weissleder@gmail.com
                             kennt die Mühen der Systemintegration aus eigener Erfahrung. Das Zusammenspiel von liefernden und integrierenden Akteuren spielt
                             die Hauptrolle für den Erfolg. Mit ausreichenden Tests vor der Integration scheitert diese nicht mehr an zuvor nicht entdeckten Fehlern.
                             Weitestgehende Gleichheit zwischen der Komponententestumgebung und der Integrationstestumgebung sorgt für belastbare Tester-
                             gebnisse. Die Unterstützung der automatisierten Integration schon mit entsprechenden Komponentenschnittstellen kann die Integration
                             zusätzlich beschleunigen.

                                                                                                                                                                        5
INTEGRATIONSTEST - Sigs Datacom
GLOSSAR-KOLUMNE                                                                                                                      MATTHIAS HAMBURG

    »WIE VIELE INTEGRATIONSTESTS
    KANN ES GEBEN?«
    In dieser Kolumne diskutiert der Autor Themen rund um die Terminologie beim Softwaretesten. Heute geht es um den Integra-
    tionstest.

    Als ich angefangen habe, mich mit Testma-                          zuerst die grundlegende Frage beantworten,         Für Testexperten ist es von großem Vorteil,
    nagement systematisch zu beschäftigen,                             ob der Integrationstest eine Testart oder eine     den Unterschied zwischen Teststufen und
    habe ich die Testmethode TMap gelernt                              Teststufe ist.                                     Testarten zu verstehen. So machen sie nicht
    [Koo07]. Darin kamen zwei grundlegende                                                                                den Fehler, eine Testart wie den Integrati-
    Integrationsteststufen vor: die Unit-Integ-                        Testart oder Teststufe?                            onstest prinzipiell auf nur eine Teststufe zu
    rationstests und Systemintegrationstests.                                                                             beschränken, oder anders herum eine Test-
    Hingegen war im damaligen ISTQB® Certi-                            Was überhaupt ist eine Teststufe und was           stufe auf eine bestimmte Testart.
    fied Tester Foundation Level nur von einem                          ist eine Testart? Eine aktuelle Antwort finden
    (einheitlichen) Integrationstest die Rede.                         wir im ISTQB-Glossar [GTB-a]:                      In der Projektpraxis bin ich diesem Fehler oft
    Obwohl inzwischen auch ISTQB® zwischen                                                                                begegnet. Dadurch haben sowohl die Effek-
    Komponentenintegrationstests und System-                           ›   Testart: Eine Gruppe von Testaktivitäten ba-   tivität der Fehlerfindung als auch die Effizienz
    integrationstests unterscheidet [GTB-b],                               sierend auf bestimmten Testzielen mit dem      des Testens gelitten.
    wird im allgemeinen V-Modell (siehe Abbil-                             Zweck, eine Komponente oder ein System
    dung 1) immer noch oft nur ein Integrations-                           auf spezifische Merkmale zu prüfen.             Gibt es nur einen oder mehrere
    test als Teststufe dargestellt [Spi19].                                                                               Integrationstests?
                                                                       ›   Teststufe: Eine spezifische Instanziierung
    Eine solche Platzierung weist den Integrati-                           eines Testprozesses.                           Während der Integrationstest eine grund-
    onstest klar als Teststufe aus. Die aktuelle                                                                          legende Testart ist, sind bei komplexeren
    Definition des Integrationstests in [GTB-a]                         In diesem Sinne ist der Integrationstest, so       Systemen mehrere Integrations-Teststufen
    klingt aber eher nach einer Testart:                               wie oben definiert, tatsächlich eine Testart.       üblich. Ein Komponentenintegrationstest,
                                                                       Er ist eindeutig durch Testziele geprägt. In       das heißt der Test der Kompatibilität der
    ›   Integrationstest: Testen mit dem Ziel,                         der Terminologie der ISO-Norm für Software-        einzelnen Komponenten untereinander, ist
        Fehlerzustände in den Schnittstellen und                       qualität [SQuaRE] wird das Qualitätsmerkmal        die erste dieser Teststufen. Ein Systeminte-
        im Zusammenspiel zwischen integrierten                         Kompatibilität getestet. Im ISO-Modell der         grationstest (d. h. der Test der Kompatibilität
        Komponenten aufzudecken.                                       Produktqualität hat die Kompatibilität zwei        von Systemen untereinander in einer Anwen-
                                                                       Untermerkmale: die Interoperabilität und die       dungslandschaft) könnte eine Stufe nach
    Wenn wir die Frage, ob es einen oder meh-                          Koexistenz. Meist spielt die Interoperabilität     dem Abnahmetest sein, oder aber eine Un-
    rere Integrationstests gibt, methodisch fun-                       beim Integrationstest die wesentliche Rolle,       terstufe des Abnahmetests. In der eingebet-
    diert beantworten möchten, müssen wir also                         aber die Koexistenz kommt manchmal auch vor.       teten Software kommt typischerweise auch
                                                                                                                          der Hardware-Software-Integrationstest als
                                                                                                                          weitere Teststufe hinzu.

                                                                                                                          Solche Teststufen haben alle ihre spezifi-
                                                                                                                          schen Testziele, Testplanung, Steuerung und
                                                                                                                          Berichtswesen, Verantwortlichen, Testver-
                                                                                                                          fahren usw. Aber diese Teststufen haben
                                                                                                                          auch gewisse Eigenarten, die sie voneinan-
                                                                                                                          der unterscheiden. Im Systemintegrations-
                                                                                                                          test ist es zum Beispiel eine typische Heraus-
                                                                                                                          forderung, 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 Komponentenintegra-
    Abb. 1: Ein allgemeines V-Modell mit einer Integrationsteststufe
                                                                                                                          tionstest ist.
6
INTEGRATIONSTEST - Sigs Datacom
GLOSSAR-KOLUMNE

   Referenzen
   ›   [GTB-a] ISTQB®/GTB Standardglossar der Testbegriffe, Version 3.2 vom 27.9.2018, siehe: http://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

 Die Situation ist hier ähnlich wie bei anderen        in der Umgangssprache meist eine Teststufe                prozess wird in einer Instanz für verschiede-
 Testarten. Die Testart wird in der Umgangs-           auf einem voll integrierten System gemeint.               ne Aggregationsstufen durchlaufen.
 sprache mit einer Teststufe identifiziert, in
 der diese Testart größtenteils ausgeführt             Ist der Integrationstest                                  Andererseits ist die Kompatibilität von Kom-
 wird. Auch bei Last- und Performanztests,             noch aktuell?                                             ponenten, Systemen oder Software und Hard-
 IT-Sicherheitstests oder Gebrauchstauglich-                                                                     ware nach wie vor relevant, oft sogar noch
 keitstests handelt es sich um Testarten, die          In agilen oder DevOps-Softwareentwick-                    wichtiger als vorher. Deshalb spielt der Inte-
 prinzipiell in verschiedenen Teststufen durch-        lungslebenszyklen sind die Testaktivitäten                grationstest als Testart unbestritten eine gro-
 geführt werden können. Zum Beispiel kann für          mit den übrigen Entwicklungsaktivitäten                   ße Rolle. Aus dem allgemeinen V-Modell der
 Komponenten die Performanz der verschie-              sehr stark integriert und verzahnt. Im Sinne              alten Schule können wir trotzdem lernen, dass
 denen Ressourcen wie Datenbank, Speicher              der obigen Definition spielen die Teststufen               ein effektiver und effizienter Integrationstest
 oder Netzwerk-Bandbreite getestet werden.             deshalb keine so große Rolle mehr. Sie wer-               für jede Aggregationsstufe seine differenzier-
 Dennoch ist mit dem Last- und Performanztest          den oft als „alte Schule“ abgetan. Der Test-              ten Testziele und Testverfahren haben soll.

                                Dr. Matthias Hamburg
                                matthias.hamburg@german-testing-board.info
                                war bis zu seiner Pensionierung im September 2019 Managing Consultant bei der Sogeti Deutschland GmbH. Im German Testing Board
                                (GTB) engagiert er sich ehrenamtlich und ist sein stellvertretender Vorsitzender. Als Leiter der GTB-Arbeitsgruppe Glossar gibt er das
                                ISTQB®/GTB Standardglossar der Testbegriffe heraus. Darüber hinaus leitet er die Glossary Working Group beim International Software
                                Testing Qualifications Board (ISTQB®).

NovaCarts Hybrid-Tests
HW-Karten für den Hybrid-Einsatz – von
der Baugruppe bis zum schlüsselfertigen
Hybrid-HiL                                                                                                                       » Batterie-Zellsimulation
                                                                                                                                 » Hochspannungsquelle
                                                                                                                                 » Widerstandssimulation
» Karten optimiert für NovaCarts-HiL
                                                                                                                                 » Isolationsfehleraufschaltung
» Standalone-Betrieb möglich
                                                                                                                                 » Shunt-Simulation
» Betrieb der Karten mit NovaCarts-SW
                                                                                                                                 » Pilot-, Crash- und
  und unter Windows
                                                                                                                                   Interlock-Simulation
                                                                                                                                 » Ruhestrommessung
                                                                                                                                 » E-Maschinen-Simulation

                                                                                                                                         Tel.: +49 8139 9300-0
                                                                                                                                  sales-testing@micronova.de
                                                                                                                                             www.novacarts.de
                                                                                                                                                                         7
INTEGRATIONSTEST - Sigs Datacom
MULTISYSTEME & MULTI-INTEGRATIONSTEST                                                                                                MOHSEN EKSSIR

    »V-MODELL++ –
    DAS MODELL FÜR DIE ENTWICKLUNG
    UND DEN TEST VON MULTISYSTEMEN«
    Durch die verstärkte Vernetzung der menschlichen Gesellschaft werden heutzutage die einzelnen Softwaresysteme zuneh-
    mend miteinander zusammengeschweißt und integriert in Betrieb genommen. Die System-Size wird immer größer und diese
    Tatsache verleiht der Integration und dem Integrationstest eine neue Dimension. Das gilt sowohl für Fertigsysteme, die gekauft
    werden, als auch für Services, die in der Cloud gemietet werden. Kompatibilität, Systemintegration und IoT sind die Schlagwör-
    ter. Die Qualitätssicherung (QS) bewegt sich dementsprechend in den letzten Jahren immer mehr in Richtung QS von integrier-
    ten Softwaresystemen, um die erforderliche Qualität der neuen Geschäftsprozesse und Anwendungsfälle beziehungsweise
    Services, nach dem Standard ISO 25010, zu sichern.

    Dabei geht es hauptsächlich um die Inte-        nachdem das V-Modell bereits erfolgreich                       Abbildung 1 zeigt das V-Modell++-Vorge-
    gration einzelner Softwaresysteme, die im       umgesetzt worden ist.                                          hensmodell. Die drei neuen spezifizierenden
    Stand-alone-Betrieb lebensfähig sind und                                                                       Entwicklungsschritte und die drei korrespon-
    als einzelne Systeme verkauft und einge-        Das V-Modell++ erweitert das V-Modell                          dierten Teststufen für einen Verbund von meh-
    setzt werden können. Im Digitalisierungs-       ([Spi05], Seiten 39, 40) um drei weitere Ent-                  reren Systemen sind farbig hervorgehoben.
    zeitalter werden die Systeme, die bereits       wicklungsschritte auf dem linken und drei
    als Stand-alone-Lösungen getestet und           entsprechende Teststufen auf dem rechten                       Aus Testsicht verkörpern die hellblauen Be-
    eingesetzt worden sind, nach Bedarf, auf        Ast des Vs:                                                    reiche in der Grafik die sogenannte Teststufe
    unterschiedliche Arten (System-Interaktion,                                                                    Unittest für einen Verbund von integrierten
    Frontend-, Backend- und Webservice-Inte-        ›   Anforderungsdefinition für Verbund – Mul-                   Systemen. Es geht hier ausschließlich um
    gration) [Win12] miteinander integriert, um         ti-Abnahmetest,                                            den Test einzelner Applikationen. Der eigent-
    den Stakeholdern und Endbenutzern neue                                                                         liche Test von integrierten Systemen beginnt
    Services anzubieten. Dabei reicht das Spek-     ›   funktionaler Systementwurf für Verbund –                   erst nach der Freigabe oder nach dem Abnah-
    trum der Heterogenität der verwendeten              Multi-Systemtest,                                          metest der einzelnen Systeme.
    Technologien meistens von unterschiedli-
    chen Betriebssystemen, Datenbanken bis hin      ›   technischer Systementwurf – Multi-Inte-                    Die neuen Teststufen und deren Aktivitäten
    zu verschiedenen Programmiersprachen und            grationstest.                                              sollen für den Test eines Multisystems nach
    Webbrowsern.

    Das V-Modell++

    Um den Bedürfnissen der QS für ein Multi-
    system oder einen Systemverbund besser
    gerecht zu werden, hat der Autor die ersten
    Ideen bezüglich des V-Modells++ im Jahre
    2012 vorgeschlagen. Dieses Modell versucht
    als Entwicklungsmodell sowohl die Entwick-
    lung als auch die QS der zu integrierenden
    Systeme in einem Verbund, vorausschauend
    und planbar zu gestalten und damit die Kom-
    plexität besser beherrschen zu können und
    die Übersichtlichkeit zu erhöhen.

    Wenn das V-Modell ein Modell für die Ent-
    wicklung und den Test der Systeme bis zur
    Freigabe und zum Einsatz ist, ist das V-Mo-
    dell++ ein Modell, um die bereits freigegebe-
    nen Systeme, die im Produktivbetrieb sind, zu
    integrieren und als einen Verbund in Betrieb
                                                    Abb. 1: V-Modell++, das erweiterte V-Modell für Multisysteme
    zu nehmen. Das V-Modell++ beginnt erst,
8
INTEGRATIONSTEST - Sigs Datacom
MULTISYSTEME & MULTI-INTEGRATIONSTEST

   dem vorgeschlagenen V-Modell++ eingeplant                 verbundenen Systemen aufzudecken. Diese            der Schnittstellen bei den integrierten einzel-
   und durchgeführt werden. Dem Heftschwer-                  Stufe spielt eine enorm wichtige Rolle in          nen Systemen erforderlich sind. Es ist aber
   punkt entsprechend wird hier nur auf den                  der gesamten Kette der QS insbesondere für         oft nicht sehr einfach, diese Anpassungen
   Multi-Integrationstest näher eingegangen.                 Qualitätsmerkmale wie funktionale Eignung,         bei den Systemen, die möglicherweise von
   Tiefere Einblicke in die Entwicklungsschritte             Sicherheit, Benutzbarkeit, Zuverlässigkeit,        unterschiedlichen Herstellerfirmen geliefert
   sowie die Teststufen Multi-Systemtest und                 Kompatibilität und Effizienz der zusammen-          werden, durchzuführen. Diese stellen sowohl
   Multi-Abnahmetest sind dem Buch „Der Inte-                gesetzten Funktionalitäten und Geschäfts-          organisatorisch als auch technisch eine gro-
   grationstest“ [Win12] zu entnehmen.                       prozesse.                                          ße Herausforderung dar, weil oft bei solchen
                                                                                                                Integrationsprojekten konkurrierende Firmen
   Teststufe Multi-Integrationstest                          Das Ziel des Multi-Integrationstests ist es,       in die Implementierung von Multisystemen
                                                             die Abweichungen in den gemeinsamen                involviert sind und dabei nicht selten gewis-
   Die Qualität der Integration und Kommunika-               Schnittstellen und im Zusammenspiel der            se politische und wirtschaftliche Aspekte so-
   tion zwischen unterschiedlich voneinander                 integrierten Systeme zu finden. Die Ab-             wie Geheimhaltung der technischen Details
   entwickelten Systemen mit einer Vielzahl                  weichungen können durch den manuellen              eine wichtige Rolle spielen.
   gemeinsamer Schnittstellen im Verbund zu                  oder automatischen Abgleich der Soll- und
   sichern, ist die Aufgabe des Multi-Integrati-             Istwerte sowie durch die visuelle Überprü-         Die Errichtung der erforderlichen Testumge-
   onstests. Bei diesem Test wird systematisch               fung der Schnittstellenzustände gefunden           bung für die Durchführung des Multi-Integra-
   die Kommunikation zwischen den Systemen                   werden. In dieser Teststufe werden die in-         tionstests ist eine weitere Herausforderung
   auf Protokollebene untereinander und im                   tegrierten Systeme gegen den detaillierten         bei dem Test von Multisystemen. Die Anfor-
   Verbund über ihre gemeinsamen spezifizier-                 spezifizierten technischen Systementwurf,           derungen an die notwendige Testumgebung
   ten Schnittstellen erprobt und getestet. Die              meistens die Schnittstellendefinitionen für         sind oft sehr speziell und dies kann den
   Teststufe Multi-Integrationstest soll dazu                das Multisystem, validiert.                        Aufbau der Testumgebung erschweren. Um
   dienen, Inkonsistenzen, wie falsche oder                                                                     die Integrationstests trotz unterschiedlicher
   fehlerhafte Parameter- oder Werteübertra-                 Es ist oft durch den Test ersichtlich, dass ge-    Herausforderungen effizient durchführen zu
   gung, sowie Timing-Fehler zwischen den                    wisse Neuentwicklungen oder Anpassungen            können, werden üblicherweise Mock-Objek-

Know-how für Tester
A. Spillner · T. Linz

Basiswissen Softwaretest
Aus- und Weiterbildung zum Certified Tester –
Foundation Level nach ISTQB®-Standard
6. Auflage · 2020 · 378 Seiten
komplett in Farbe · Festeinband
€ 39,90 (D) · ISBN 978-3-86490-583-4

                                                    obte
                                          praxiserpr        9.
                              Ergänzt um n aus der ISO 2911
                                         re
                              Testverfah

F. Simon · J. Grossmann · C. A. Graf ·
J. Mottok · M. A. Schneider                                                                          M. Unterauer
Basiswissen Sicherheitstests                                                                         Workshops im Requirements Engineering
Aus- und Weiterbildung zum ISTQB® Advanced                                                           M th d Ch
                                                                                                     Methoden,   Checklisten
                                                                                                                      kli t unddBBestt P
                                                                                                                                       Practices
                                                                                                                                           ti
Level Specialist – Certified Security Tester                                                         für die Ermittlung von Anforderungen
2020 · 414 Seiten                                                                                    2. Auflage · 2020 · 226 Seiten
Festeinband                                                                                          komplett in Farbe · Broschur
€ 39,90 (D) · ISBN 978-3-86490-618-3                                                                 € 29,90 (D) · ISBN 978-3-86490-695-4

                                                                                                     dpunkt.verlag GmbH · Wieblinger Weg 17 · D-69123 Heidelberg
                                                                                                     fon: 0 62 21 / 14 83 40 · fax: 0 62 21 / 14 83 99
                                                                                                     e-mail: bestellung@dpunkt.de · www.dpunkt.de                9
INTEGRATIONSTEST - Sigs Datacom
MULTISYSTEME & MULTI-INTEGRATIONSTEST

     te und/oder Testtreiber definiert, implemen-
     tiert und eingesetzt.                                 Referenzen
                                                           ›   [Spi05] A. Spillner, T. Linz, Basiswissen Softwaretest, dpunkt.verlag, 3. Auflage, 2005
     Teilintegrationstests                                 ›   [Win12] M. Winter, M. Ekssir-Monfared, H. M. Sneed, R. Seidl, L. Borner, Der Integrationstest –
                                                               Von Entwurf und Architektur zur Komponenten- und Systemintegration, Hanser-Verlag, 2012
     Die zentrale Frage bei der Planung und dem
     Design des Multi-Integrationstests ist zu klä-
     ren, welche Systeme und deren Schnittstel-         Um die notwenige „Testtiefe“ in der Kette                    soweit wie möglich zu finden und dazu beizu-
     len als Erste getestet werden müssen. Dabei        der zusammengeschalteten Softwaresyste-                      tragen, diese möglichst einzugrenzen.
     können verschiedene Faktoren, wie die inter-       me zu erreichen, müssen geeignete Testda-
     nen Abhängigkeiten und die zeitliche Verfüg-       ten bereitgestellt werden. Die Spezifikation                  Fazit
     barkeit der Systeme, eine wesentliche Rolle        und Erstellung der relevanten Testdaten sind
     spielen. Es müssen die Systeme zum Test            wichtige Aufgaben, die aber oft unterschätzt                 Der Multi-Integrationstest führt, wenn er
     genommen werden, die soweit wie möglich            werden.                                                      richtig durchgeführt wird, zu einer Komposi-
     unabhängig von den anderen Systemen ge-                                                                         tion von mehreren unterschiedlichen Syste-
     triggert und getestet werden können.               Mehr als nur die Summe aller                                 men, sozusagen einem „Vertumnus“ (siehe
                                                        Teilsysteme                                                  Abbildung 2), anderenfalls – wenn der Mul-
     Diese Teilintegrationen werden, nach dem                                                                        ti-Integrationstest unterschätzt und nicht
     Zwiebelschalenprinzip, sukzessive um wei-          Ein wichtiges Phänomen, das bei der Inte-                    systematisch durchgeführt wird – kann das
     tere Systeme bis zu ihrem Vollumfang er-           gration von mehreren Systemen vorkommen                      Ergebnis zu einem Desaster führen.
     weitert und iterativ getestet. Ein großer          kann, ist das Auftreten
     Vorteil bei Anwendung dieses Ansatzes ist          von ungünstigen und
     es, dass durch die Iterationen die gefunde-        unvorhergesehenen Ne-
     nen Abweichungen besser zu lokalisieren            beneffekten. Ein Multi-
     und somit zu beheben sind. Für die Teilinte-       system ist mehr als nur
     grationstests müssen sowohl funktionale als        die Summe aller kons-
     auch nicht-funktionale Testfälle spezifiziert       tituierenden Systeme.
     und durchgeführt werden. Dabei dürfen              Es ist die Summe aller
     besonders die Performanztests nicht außer          einzelnen Systeme, plus
     Acht gelassen werden, um die Engpässe in           die Summe aller Bezie-
     der Kette der zusammengeschalteten Sys-            hungen zwischen diesen
     teme zu finden. Hier gilt, dass „ein Multi-         Systemen, plus alle Zu-
     system nur so stark ist wie das schwächste         stände, die durch die Be-
     System“.                                           ziehung und Zusammen-
                                                        wirkung dieser einzelnen
     Gesamtintegrationstest                             Systeme entstehen. Das
                                                        heißt:
     Nach erfolgreichem Abschluss der Teilin-
     tegrationstests beginnt der Gesamtinte-            Multisystem = ∑ aller
     grationstest. Dieser ist komplexer als die         Systeme + ∑ aller Be-
     Teilintegrationstests und muss für den Sys-        ziehungen + ∑ aller Zu-
     temverbund in seiner Gesamtheit geplant            stände
     und durchgeführt werden. Es muss sicher-
     gestellt werden, dass die übergreifenden           Der Multi-Integrations-
     Transaktionen über mehreren Systemen spe-          test soll auch dazu die-
                                                                                           Abb. 2: Vertumnus von Arcimboldo (Porträt von Kaiser Rudolf II), Quelle: Wikimedia
     zifikationskonform ablaufen.                        nen, diese Nebeneffekte

                                  Dipl.-Ing. Dr. Mohsen Ekssir
                                  mohsen.ekssir@expleogroup.com
                                  ist QA-Manager bei der Firma Expleo Group Austria GmbH und unterrichtet seit dem Jahr 2011 an der Fachhochschule Wiener Neustadt
                                  Software-Qualitätsmanagement. Er leitet die ASQF-Fachgruppe Softwaretest Österreich und ist unter anderem Co-Autor des Buches
                                  „Der Integrationstest“.

10
ERFAHRUNG MIT INTEGRATION UND AUTOMATISIERUNG                                              THOMAS KLEIN UND CARSTEN NEGRINI

»AGILER INTEGRATIONSTEST MIT MEHRWERT«
Eine halb agile Insel im Ozean des Wasserfallkonzerns: Für viele Fundamentalisten der Agilität ein Unding, ist sie für die meis-
ten Teams gelebter Projektalltag. Storys als vollintegriertes Inkrement im selben Sprint in den Status „DONE“ zu bringen, wird
durch verschiedene Dienstleister, Systeme und Prozesse für viele Teams im Enterprise-Umfeld nahezu unmöglich. Ein spezi-
eller Integrationstest kann hier viele Probleme der skalierten agilen Delivery abfangen und erheblichen Mehrwert schaffen.

Beim Begriff Integrationstest denkt man un-       niert, scheitert spätestens im Konzernum-        Die Herausforderungen
willkürlich an die rechte untere Ecke des         feld kläglich. Hier fehlen elementare Voraus-
V-Modells, Testfallzahlen und Bürokratie.         setzungen, damit ein agiles Team erfolgreich     Der Status „DONE“ einer Story bedeutet,
Wie kann das etwas mit agiler Methodik zu         ist. Dies ist keine neue Erkenntnis und gera-    dass nichts mehr daran zu tun ist: Alles –
tun haben?                                        de bei Fixed-Time-Fixed-Price-Dienstleistern     inklusive jeglicher Tests – ist erledigt, das
                                                  oder Werklieferverträgen ist daher das Mo-       Inkrement produktionsbereit. In der agile
Für dieses Relikt ist doch seit Scrum & Co.       dell der agile delivery weit verbreitet.         delivery lässt sich das nicht so schnell fest-
und CI/CD kein Platz mehr in unseren agi-                                                          stellen: Ob eine Story wirklich DONE ist,
len Teams. Allenfalls als eine Aktivität von      Klingt modern und fancy. Die Idee dahinter       kann erst final beantwortet werden, wenn
vielen, die während eines Sprints mit einer       ist, dass der Auftraggeber problemlos in sei-    der Nachweis unter Einbeziehung aller be-
Story passieren – aber doch nicht als dedi-       nem Konzernwasserfall und eingefahrenen          teiligten Systeme, Komponenten, Daten und
zierte Phase mit Team! Oder doch?                 Prozessen bleiben kann, bis alle Require-        Konfigurationen erbracht wurde, die aber oft
                                                  ments (Lasten- und Pflichtenheft lassen grü-      fehlen.
Der agile Idealfall                               ßen) fertig sind. Dann wird ein Dienstleister
                                                  mit der Implementierung beauftragt, der          Lisa Crispin und Janet Gregory haben in Agile
Ein Team konzipiert, entwickelt, integriert,      agil-inkrementell das Produkt herstellt. Dank    Testing ([Cri14], Seiten 229, 459) beschrie-
testet und demonstriert ein Inkrement inner-      agiler Methodik und Befreiung vom Konzern-       ben, was das für die Integration bedeutet.
halb eines Sprints und schiebt am Ende ein        ballast geht es schneller. Das fertige Produkt   Frei übersetzt:
Sticky Note von „IN PROGRESS“ auf „DONE“.         wird in die Konzernlandschaft implantiert.
                                                  Soweit die Theorie.                              ›   „Wenn Ihr System mit anderen zusam-
Natürlich findet auch hier ein Integrations-                                                            menarbeiten muss, kann es sein, dass Sie
test statt. Niemand nennt es aber so, denn        In der Praxis ist das Team nun auf einer Insel       diese nicht alle in Ihren Testumgebungen
es gibt keine Rolle namens Integrationstes-       des agilen Optimismus gestrandet, umgeben            darstellen können. [...] Dies ist eine der
ter, keine speziellen Integrationstestfälle und   vom Ozean der Widrigkeiten: Feste Release-           möglichen Situationen, in denen es un-
keine Spalte Integrationstest auf dem Scrum-      termine, autoritäre Prozesse, Schnittstel-           vermeidbar ist, dass Sie mit dem Test erst
board (gehört zu „IN PROGRESS“).                  lenpartner mit anderen Releasezyklen,                starten können, wenn die Entwicklung
                                                  fehlende Product Owner, unterschiedliche             schon vollständig abgeschlossen ist.“
Die Realität – „agile delivery“                   Dienstleister und Zuständigkeiten. Eine Story
                                                  in nur einem Sprint abzuliefern, ist hier fast   ›   „Simulatoren, Mocks und andere Hilfsmit-
Was im Mikrokosmos von Produkt/Feature-           unmöglich, der Sprint wird zum Hindernis-            tel für das Testen während der Entwick-
Innovation oder Start-up-Inselleben funktio-      parcours.                                            lung können manche Risiken verringern,
                                                                                                                                                    11
ERFAHRUNG MIT INTEGRATION UND AUTOMATISIERUNG

         aber je früher Sie Ihr Produkt in Verbindung
         mit den externen Anwendungen testen
         können, umso geringer wird das Risiko.“

     ›   „Ihr Team mag agil sein, aber andere Pro-
         duktteams in Ihrer Organisation oder Dritt-
         anbieter, mit denen Ihr Team zusammenar-
         beitet, sind es vielleicht nicht.“

     ›   „Beginnen Sie frühzeitig damit, sich mit
         anderen Produktteams oder externen
         Partnern zu koordinieren, deren Produkte
         mit Ihrem integriert werden sollen.“

     Zusammengefasst bedeutet das Risiko ...

     ›   ... aufgrund fehlender End-to-End-Integra-
         tion während der Entwicklung.

     ›   ... durch das Auffinden von Fehlern nach
         Abschluss des Sprint/Release.

     ›   ... durch Reibungsverluste an den Übergän-
         gen zwischen agiler und klassischer Welt.
                                                        Abb. 1: Schnittstellen zwischen den Teams
     ›   ... durch Änderungen innerhalb der Part-
         nersysteme oder deren Schnittstellen.
                                                        lende, fehlerhafte oder unvollständige Kom-    die Tester auch exzellente Ansprechpartner
     Wie geht man damit um?                             ponenten, nicht verfügbare Schnittstellen      für die Entwicklungs-SMEs waren (SME:
                                                        oder Partnersysteme. Wenn sich aus den         Subject Matter Expert, hier die „lead“-Ent-
     Ein praktisches Beispiel                           Sprints aller Teams die Testbarkeit einer      wickler), die ihrerseits über die Scrum-Teams
                                                        Schuld ergab, wurde diese getestet und die     verteilt waren (siehe Abbildung 1).
     In einem aktuellen Projekt sah die agile deli-     Erkenntnisse daraus wurden zurück in das
     very so aus: Mehrere Scrum-Teams mit unter-        Entwicklungsteam oder an den zuliefernden      Um das Potenzial ausschöpfen zu können,
     schiedlicher Erfahrung in agilen Prozessen,        Partner gegeben (IT-Abteilung des Kunden,      wurden organisatorische Maßnahmen getrof-
     unzureichendes Ownership durch den Kunden          Drittanbieter).                                fen und Prozesse definiert oder angepasst:
     bei Anforderungen und Lieferantenmanage-
     ment sowie überlastete kundenseitige IT.           Organisation/Prozesse                          Es war klar, dass wir Fehler finden würden,
                                                                                                       nachdem die Entwicklung des entsprechen-
     Dass unsere Teams dennoch „abliefern“              Unsere Integrationstester als eigenes Team     den Codes längst abgeschlossen wäre. Also
     konnten, lag zu einem Großteil an unseren In-      in einem Raum: Das war zu Beginn eine lo-      machten wir aus der Not eine Tugend und
     tegrationstestern, die als Mitglieder ihrer je-    gistische Notlösung, die wir zugunsten inte-   passten die Workflows so an, dass die Test-
     weiligen Scrum-Teams an den Sprints betei-         grierter Scrum-Teams abschaffen wollten,       schulden fester Bestandteil unserer Back-
     ligt waren und gemeinsam als Service-Unit          entpuppte sich dann aber als Glücksgriff:      logs wurden: Statt auf frühe Fehlerfindung
     teamübergreifend agierten:                                                                        zu hoffen, planten wir späte Fehler fest ein,
                                                        Da sie bei sämtlichen Scrum-Events und         da sie sich ohnehin nicht vermeiden ließen.
     Im Scrum-Team                                      häufig während eines Sprints bei ihrem je-
                                                        weiligen Scrum-Team saßen, konnten sie         Wir verzichteten darauf, den Integrations-
     Die Testaktivitäten innerhalb des Sprints          Erkenntnisse zentral sammeln und wieder        test als Bestandteil der Definition of Done
     wurden so weit getrieben, wie es unter Ein-        in die Teams verteilen. Der Integrationstest   zu schreiben. Sobald Unittests und Code-Re-
     satz von Mocks/Simulatoren sinnvoll mög-           entwickelte ein team- und scopeübergreifen-    view erledigt waren, galt „DONE“. War et-
     lich war. Alles Weitere (wir nannten es „Test-     des Verständnis, quasi das „big picture“.      was davon direkt testbar, feature oder bugfix,
     schuld“) wurde in die Service-Unit geschoben.                                                     wurde es sofort so tief wie möglich getestet.
                                                        Der tägliche Umgang mit mehreren Umge-         Alle fehlenden Testanteile wurden auf den
     In der Service-Unit                                bungen, den builds, Partnersystemen und        Parkplatz der Service-Unit geschoben.
                                                        deren Schnittstellen ergab eine enge Verbin-
     Hier bestand die Hauptaufgabe darin, die           dung zu DevOps und den Drittparteien. Der      Natürlich entstanden daraus auch Nachteile.
     team- und sprintübergreifenden Testschul-          direkte Zugang zu Informationen, Problemen     Diese wurden in Kauf genommen, denn die
     den und deren Ursachen zu verfolgen: feh-          und Lösungen in den Teams führte dazu, dass    Vorteile waren wichtiger: Die Entwickler hat-
12
ERFAHRUNG MIT INTEGRATION UND AUTOMATISIERUNG

  Referenzen
  ›   [Coh09] M. Cohn, The Forgotten Layer of the Test Automation Pyramid, 2009, siehe:
      https://www.mountaingoatsoftware.com/blog/the-forgotten-layer-of-the-test-automation-pyramid
  ›   [Cri14] L. Crispin, J. Gregory, Agile Testing – A practical guide for testers and agile teams, Addison-Wesley, 2014

ten mehr Bandbreite für Backlog Grooming                  von elementarer Wichtigkeit ist. Ihr Fehlen                Rolle des Release-Managements in unserer
oder Bugfixing und die Tester hatten mehr                  führt dazu, dass notgedrungen rasch unter-                 Integrationstest-Service-Unit zu verankern.
Bandbreite, um sich um Themen zu kümmern,                 schiedliche Packages ad hoc kreierter Daten
die mehr als nur ihr jeweiliges Team betra-               kursieren. Extrapoliert auf mehrere Scrum-                 Der Integrationstest stellte fortan den Ent-
fen: den Mehrwert.                                        Teams führte das zu einem Datenwildwuchs,                  wicklungsteams abgestimmte Pakete zur
                                                          in dem derselbe Code funktionierte oder                    Verfügung – seien es Konfigurationen, Work-
Der Mehrwert                                              auch nicht funktionierte.                                  flows, Testuser oder JSON/XML-snippets.

Automatisierung                                           Hier konnten unsere Integrationstester aus                 Learnings
                                                          dem Vollen schöpfen: Sie saßen bei Proble-
Dadurch, dass die Integrationstester direkt               men im jeweiligen Team direkt an der Quelle.               Der Mehrwert entstand durch zusätzlichen
mit den Schnittstellen und Partnersystemen                Andererseits hatten sie als Service-Unit den               Aufwand. Also Aufwand, der zusätzlich zur
in den jeweiligen Umgebungen zu tun hatten,               gesamten Überblick. Der Integrationstest                   Testaktivität im Sprint anfällt. Dieser Auf-
lag es nahe, dies zu instrumentalisieren. Au-             hatte den „Rundumblick“, auf bestimmten                    wand verteilte sich zu 50 Prozent auf das In-
tomatisierte Schnittstellentests verifizierten             Umgebungen, die jeweils gültige und kor-                   sprint-Testen (inklusive manueller Regressi-
die Funktionsfähigkeit der Partnersysteme in              rekte Kombination von Software, Konfigura-                  onstestanteil) und 50 Prozent auf den Anteil
den integrierten Umgebungen.                              tion und Content zu bestimmen.                             der Service-Unit.

Dies war für alle Beteiligten ein enormer Ge-             Das funktionierte so gut, dass gemeinsam                   Bei uns hat dieses Modell funktioniert, weil
winn: Fehler wurden aufgedeckt, bevor auch                mit dem Kunden beschlossen wurde, die                      es durch alle Beteiligten getragen wurde,
nur der erste Code unserer Teams involviert                                                                          wir die Prozesse entsprechend gestalten
war. Die ansonsten komplexe Fehleranalyse                                                                            konnten, und weil wir bei Bedarf auf einen
(und Ressourcenbindung unserer Entwickler)                   Im Zusammenhang mit Automatisierung                     erfahrenen Testautomatisierer zurückgreifen
entfiel größtenteils.                                         sei auf den Beitrag von Mike Cohn „Die                  konnten, der primär im kundenseitigen Ab-
                                                             vergessene Schicht der Testautomati-
                                                                                                                     nahmetest tätig war. Und zu guter Letzt, weil
                                                             onspyramide“ [Coh09] verwiesen: Hier
Qualitätsgesicherte Testware                                                                                         wir mit den richtigen Leute arbeiteten. Denn
                                                             liegt erhebliches Potenzial, das leider im
                                                             Kreuzfeuer agiler Methodik und dem Silo-                es braucht einen guten Mix aus technischen
Während der ersten Sprints existiert noch                    denken einer umgebenden Plattformwelt                   Skills, persönlichen, diplomatischen und pla-
keine qualitätsgesicherte „Testware“ (user,                  oft brach liegt.                                        nerischen Fähigkeiten, etwas Erfahrung und
configs, content, …), die für die Entwickler                                                                          Fingerspitzengefühl und eine dicke Haut.

                                  Thomas Klein
                                  thomas.klein@redbots.de
                                  ist Senior Consultant bei der redbots. Als Testmanager und Scrum Master betreut er die Projekte der redbots in den Bereichen
                                  Softwarequalitätssicherung und agiler Methodik.

                                  Carsten Negrini
                                  carsten.negrini@redbots.de
                                  ist Geschäftsführer der redbots und arbeitet daran, die Effizienz von IT-lastigen Organisationen zu optimieren.

                                                                                                                                                                     13
ANFORDERUNGEN UND TESTS NICHT VERNACHLÄSSIGEN                                                                                    JOACHIM SCHULZ

     »DER INTEGRATIONSTEST
     IM KONTEXT DES ENTWICKLUNGSPROZESSES«
     Das System steht kurz vor der Fertigstellung – nur noch schnell testen und dann kann es produktiv eingesetzt werden. Häufig
     starten die Aktivitäten zum Integrationstest sehr spät in der Entwicklung. Völlig überraschend treten dann Probleme auf, deren
     Ursachen in vorgehenden (vermeintlich abgeschlossenen) Entwicklungsphasen liegen.

     Eine Problematik liegt darin, dass die Sys-                 Drittherstellern, sei es Hardware (HW) oder    Begründet wird dies meist damit, dass die
     teme unserer Zeit immer mächtiger und                       Software (SW). Weiterhin wird in vielen Pro-   bewährten Entwicklungsprozesse „nicht
     komplexer werden. Softwareanwendungen                       jekten eine Middleware eingesetzt, welche      passend“ für das jeweilige Projekt seien und
     sind nur selten noch Stand-alone-Program-                   die einzelnen Komponenten zu einem kom-        deshalb ein eigener Prozess genutzt wird.
     me, sondern vernetzen Informationen aus                     pletten System verbindet.                      Dieser ist dann meist nicht näher definiert,
     diversen Quellen (z. B. Apps nutzen zahllose                                                               geschweige denn in einem Projekthandbuch
     Web-Services Dritter). Hardwareprodukte                     Diese gestiegene Komplexität erfordert bei     dokumentiert.
     besitzen komplexe Softwaresteuerungen,                      der Systementwicklung äußerste Sorgfalt.
     welche nun unter dem Schlagwort „Internet                   Mängel hierbei können heutzutage nicht         Gerade in Projekten, die „agil“ sein wollen,
     der Dinge“ vernetzt werden (z. B. digitale                  mehr durch einzelne sehr erfahrene Entwick-    wird das agile Manifest geradezu miss-
     Stellwerke der Bahn). Selbst vermeintlich                   ler ausgeglichen werden, denn die Komple-      braucht, um ungeplantes Arbeiten auf Zuruf
     einfache Alltagsprodukte werden für die be-                 xität des Gesamtsystems kann in der Tiefe      zu rechtfertigen und Dokumentation als ge-
     queme Bedienung von überall vernetzt (z. B.                 nicht mehr von einer Person erfasst werden.    nerell überflüssig abzulehnen. Eine erfolg-
     Smart-Home-Produkte).                                                                                      reiche Systementwicklung erfordert es aber,
                                                                 „Mein“ Entwicklungsprozess                     dass die Spezialisten eines Teams Hand-in-
     Mächtig komplex                                                                                            Hand zusammenarbeiten, damit der Entwick-
                                                                 Erprobte Entwicklungsprozesse sind bereits     lungsprozess gelingen kann.
     Häufig handelt es sich auch nicht mehr um                    ausgiebig beschrieben, sei es das klassische
     ein homogen entwickeltes System eines ein-                  Vorgehensmodell (V-Modell) oder agile Ent-     sepp.med empfiehlt:
     zigen Entwicklungsteams, sondern es wird                    wicklungsprozesse wie Scrum. In der Praxis
     von verteilten Spezialistenteams entwickelt.                stößt man jedoch nicht selten auf lücken-      ›   Definieren Sie Ihren Entwicklungspro-
     Ferner beinhaltet das System oft ältere Vor-                hafte Prozesse, bei denen häufig nur die            zess (z. B. Projekthandbuch, „Sprint 0“ in
     gänger-Subsysteme und Subsysteme von                        Programmiertätigkeit im Vordergrund steht.         Scrum).

                                                                                                                ›   Nutzen Sie bewährte Ent wicklungsme-
                                                                                                                    thoden.

                                                                                                                ›   Dokumentieren und hinterfragen Sie eige-
                                                                                                                    ne Adaptionen.

                                                                                                                System mit Fundament

                                                                                                                Konzentrieren wir uns im Folgenden zunächst
                                                                                                                auf das V-Modell (siehe Abbildung 1) und
                                                                                                                die klassische Entwicklung. Basis eines Sys-
                                                                                                                tems ist das kundenseitig erstellte Lastenheft
                                                                                                                und darauf aufbauend die Systemspezifikati-
                                                                                                                on, das Pflichtenheft. Die Komplexität wird
                                                                                                                dann zerlegt über den Systementwurf (Ar-
                                                                                                                chitektur & Schnittstellenspezifikation). Für
                                                                                                                komplexe Datenschnittstellen ist zu empfeh-
                                                                                                                len, diese in separaten Dokumenten zu be-
                                                                                                                schreiben, da diese für jedes an der Kommu-
                                                                                                                nikation beteiligte Subsystem genutzt wird
                                                                                                                und Schnittstellen ebenfalls einer Versionie-
                                                                                                                rung unterliegen, wenn sie weiterentwickelt
     Abb. 1: Vorgehensmodell (V-Modell) mit den Abstraktionsebenen
                                                                                                                werden.
14
ANFORDERUNGEN UND TESTS NICHT VERNACHLÄSSIGEN

                                                                                                               ›   Jede Anforderung hat eine Motivation,
                                                                                                                   das heißt, sie hat mindestens einen Vor-
                                                                                                                   gänger (kein „Gold-Plating“).

                                                                                                               ›   Jede Anforderung wird weiter verfeinert,
                                                                                                                   das heißt, sie hat mindestens einen Nach-
                                                                                                                   folger (keine Umsetzungslücken).

                                                                                                               ›   Stellen Sie klare prüfbare Regeln für die
                                                                                                                   Verfolgbarkeit (Traceability) durch die Do-
                                                                                                                   kumente auf (z. B. Verlinkung nur zwischen
                                                                                                                   benachbarten Ebenen).

                                                                                                               Abstraktionsebenen prüfen
Abb. 2: Schematische Darstellung der Anforderungstraceability über drei Abstraktionsebenen
                                                                                                               Bei der strikten Umsetzung dieser Regeln
                                                                                                               treten im Bereich des Anforderungsmana-
Für jedes Subsystem ist dann eine Subsys-                     Es ergibt sich schnell eine große Menge an Do-   gements teilweise Probleme auf. Ursache
temspezifikation zu erstellen, in der das                      kumenten mit einer hohen Zahl von Anforde-       sind hierfür nicht zu strikte Regeln, sondern
jeweilige Subsystem als „Black Box“ be-                       rungen. Bei sauber definierten Prozessen und      lückenhafte Anforderungen oder die fehler-
schrieben wird. Gegebenenfalls können noch                    klaren Regeln für das Anforderungsmanage-        hafte Zuordnung der Anforderung zur Abs-
weitere Verfeinerungsebenen für Kompo-                        ment kann nun ein belastbares Fundament für      traktionsebene (= Spezifikationsdokument,
nenten und Module folgen. Für diese gelten                    alle folgenden Entwicklungsschritte gelegt       siehe Abbildung 2). Fordert der Kunde in
die weiter unten beschriebenen Grundsätze                     werden. Idealerweise verfeinern sich die An-     seinem Lastenheft zum Beispiel nur eine
selbstverständlich ebenso.                                    forderungen von Ebene zu Ebene wie folgt:        spezielle Benachrichtigungsinformation nach

     EIN MUSS
      FÜR DEN
               S-
   INTEGRATION
       TESTER

                        Certified Tester Training
                  zum Testautomatisierungsentwickler
                                                                      German Testing Board e. V.
                                                                    info@german-testing-board.info

                                   www.german-testing-board.info                                                                                                 15
ANFORDERUNGEN UND TESTS NICHT VERNACHLÄSSIGEN

     1000 Betriebsstunden für
     die Wartung des Systems,
     so meint er vermutlich eine
     komplexe Diagnoseschnitt-
     stelle über die Statusinfor-
     mationen, Wartungs- und
     Fehlermeldungen. Schnell
     lässt sich erahnen, dass
     hierfür plötzlich ein großes
     Bündel an Anforderungen
     auf System-, Subsystem-
     und Schnittstellenebene
     benötigt wird.

     Ob eine Anforderung kor-
     rekt dem Spezifikationsdo-
     kument zugeordnet ist, kann
     sehr gut geprüft werden, in-
     dem die korrespondierende
     Testphase betrachtet wird.
     Lässt sich die Anforderung
     wirklich in dieser Phase
     testen oder gehört Anfor-
     derung und Test in eine
     andere Abstraktionsebene?
     Wird zum Beispiel in einer
                                     Abb. 3: Schematische Darstellung zum anforderungsbasierten Testen
     Schnittstellenspezifikation
     gefordert, dass innerhalb
     von 100 ms eine Anfrage korrekt beantwor- tion von Schnittstellen und Subsystemen                    down- oder Botton-up-Integration ermög-
     tet werden muss, so ist diese falsch zugeord- sollten nicht nur die funktional erlaubten             lichen es, frühzeitig mit Integrationstests
     net. Es ist eine Anforderung an das Subsys- Datenwerte im Funktionsbereich betrachtet                zu beginnen, allerdings benötigen diese
     tem! Für die Schnittstellenspezifikation ist werden, sondern der gesamte Wertebereich,                Platzhalter (für die fehlenden Funktio-
     zutreffend, dass es einen Timeout nach 100 der technisch über diese Schnittstelle über-              nen) oder Testtreiber (für den Aufruf). Die
     ms gibt. Das befragte Subsystem soll beim mittelt werden kann.                                       Wahl einer passenden Strategie hängt
     Timeout eine qualifizierte Fehlernachricht                                                            von den Projektgegebenheiten ab, jedoch
     generieren und versenden. Das anfragende Das Subsystem sollte robust ausgelegt sein,                 sollte die „Big Bang“-Strategie vermieden
     Subsystem muss diese Fehlernachrichten sodass im Falle von fehlerhaften Signalen                     werden.
     behandeln sowie eigenständig Timeouts oder inkonsistenten Daten qualifizierte Fehler-
     feststellen (falls die Kommunikation unter- meldungen zurückgemeldet werden. Selbst-                 sepp.med empfiehlt:
     brochen ist).                                        verständlich muss das aufrufende Subsystem
                                                          adäquat auf mögliche Fehler reagieren.          ›   Nutzen Sie – wenn möglich – inkremen-
     sepp.med empfiehlt die Prüfung (s. Abb. 3):                                                               telle Integrationsstrategien.
                                                          sepp.med empfiehlt:
     › Sind die Anforderungen den richtigen An-                                                           ›   Stimmen Sie die Integrationstests mit den
        forderungsdokumenten zugeordnet?                  › Betrachten Sie den kompletten Wertebe-            Zeitplänen des Projektes ab und aktuali-
                                                             reich der Schnittstellen.                        sieren Sie diese im Bedarfsfall.
     › Sind die Anforderungen in der jeweils kor-
        respondierenden Testphase prüfbar?                › Legen Sie Subsysteme robust aus.              Fokussierung
                                                                                                          beim Integrationstest
     Robuste Systeme                                   Integrationsstrategie
                                                                                                          Fokus des Integrationstests ist die Überprü-
     Bei der Definition von Schnittstellen emp-         Bereits im Testkonzept sollte festgelegt           fung, ob die zu integrierenden Subsysteme
     fiehlt es sich, bereits vorhandene, stan-          werden, welche Integrationsstrategie an-           zusammen korrekt funktionieren. Vorausge-
     dardisierte Schnittstellen zu nutzen. Diese       gewendet werden soll. Beim „Big Bang“              setzt wird, dass die einzelnen Subsysteme
     sind bewährt, gewähren Interoperabilität,         werden alle Subsysteme gleichzeitig integ-         funktionstüchtig sind, also die Subsystem-
     ermöglichen den einfachen Austausch von           riert. Nachteilig ist hier, dass die Fertigstel-   tests abgeschlossen sind.
     Subsystemen (z. B. von einem anderen Her-         lung aller Subsysteme abgewartet werden
     steller) und vereinfachen die Einarbeitung        muss und alle Fehlerwirkungen gleichzeitig         Damit gibt es eine strikte Trennung zwischen
     von neuen Mitarbeitern. Bei der Spezifika-         auftreten. Inkrementelle Strategien wie Top-       diesen beiden Testphasen! Beim Integrati-
16
ANFORDERUNGEN UND TESTS NICHT VERNACHLÄSSIGEN

onstest muss lediglich geprüft werden, ob
die Systeme korrekt miteinander kommuni-
zieren. Typische Fehler sind zum Beispiel das
Vertauschen von Pins bei der Verkabelung
der Subsysteme, das Nichtbeachten von
eingeschränkten Wertebereichen, welches
ein Subsystem voraussetzt oder neue bezie-
hungsweise geänderte Nachrichten, da die
Subsysteme unterschiedliche Versionen ei-
ner Schnittstellenspezifikation nutzen. Kurz-
um: Es ist beim Integrationstest zu prüfen, ob
die Subsysteme sich „verstehen“ und zusam-
menspielen – nicht mehr und nicht weniger
(siehe Abbildung 4).

sepp.med empfiehlt:

›   Trennen Sie strikt die Testphasen zwi-
    schen Subsystem- und Integrationstest
    voneinander ab.

›   Beachten Sie die Testreihenfolge – zuerst
                                                    Abb. 4: Beispiel für Integrationsstrategie mit den Subsystemtests und Integrationstests
    die Subsystemtests abschließen!

Frühzeitig testen –                                 sepp.med empfiehlt:                                              Inkrement des Systems durchgeführt werden
auch beim Integrationstest                                                                                          können.
                                                    ›   Beplanen Sie die Testaktivitäten ab Pro-
Wie bei anderen Testphasen auch sollten                 jektstart.                                                  In der Praxis anzutreffen sind Projekte, deren
die Aktivitäten für den Integrationstest                                                                            Subsysteme agil entwickelt werden, formale
frühzeitig beginnen (Projektplanung – Test-         ›   Führen Sie die jeweiligen Testaktivitäten                   Abnahmen mit Integrations- und System-
konzeption – Anforderungsermittlung & -ab-              so früh wie möglich durch.                                  tests sowie weitere Aufgaben für die Auslie-
stimmung – Systemarchitektur). Die Spezifi-                                                                          ferung (Dokumentationen, Inbetriebsetzung)
kation der Integrationstests kann sofort nach       ›   Sichern Sie mit Vorabtests die generelle                    jedoch „klassisch“ zu bestimmten Zeitpunk-
Abschluss der Anforderungsspezifikation                  Funktion der Schnittstellen.                                ten stattfinden.
begonnen werden. So können Fehler oder Lü-
cken der Anforderungsspezifikation zeitnah           Agil? – Alles anders?                                           Fazit
aufgedeckt werden.
                                                    Nein! Prinzipiell gibt es die Testphasen auch                   Zusammenfassend lässt sich feststellen,
Auch wenn für die finale Durchführung des            bei der agilen Entwicklung. Insofern sind                       dass die Entwicklungsprozesse vieler Pro-
Integrationstests zuerst auf den Abschluss          auch die Integrationstests mit zu betrachten.                   jekte ausschließlich die Programmierung fo-
der Subsystemtests gewartet werden muss,            Oft werden diese aber implizit im Rahmen                        kussieren. Anforderungen und Tests werden
können vorab durchgeführte Integrations-            des Systemtests mit durchgeführt. Werden                        gerne vernachlässigt. Dies stellt jedoch ein
tests von Vorversionen der Subsysteme (mit          aber Integrationstests explizit gefordert                       unnützes Projektrisiko dar, welches insbe-
eingeschränkter Funktionalität) sinnvoll sein.      (z. B. aufgrund der Kritikalität des Systems),                  sondere in Zeiten von Fachkräftemangel,
Mit diesen Vorabtests kann sichergestellt           so müssen diese auch bei der agilen Ent-                        Fluktuation von Mitarbeitern und dem Willen
werden, dass die Subsysteme mindestens              wicklung explizit berücksichtigt und doku-                      nach Wiederverwendung von (Sub-) Syste-
bei den grundlegenden Funktionen korrekt            mentiert werden. Automatisierte Tests sind                      men unverständlich ist.
zusammenspielen.                                    unverzichtbar, damit Tests zügig für jedes

                             Joachim Schulz
                             joachim.schulz@seppmed.de
                             ist als Senior Berater für die sepp.med gmbh tätig. Der Diplom-Informatiker nutzt sein branchenübergreifend erworbenes Wissen, um
                             in den Bereichen Requirements Engineering, Test und Qualitätssicherung praxisorientierte Lösungen zu finden. Sein Tätigkeitsspektrum
                             reicht von der Schärfung von Entwicklungsprozessen, Einführung von Methoden und Tools bis hin zur fachlichen Projektarbeit.

                                                                                                                                                                     17
Sie können auch lesen