PROFESSIONELLES TESTEN IN ZEITEN DER DIGITALEN TRANSFORMATION - Sigs Datacom

Die Seite wird erstellt Stefan-Di Henning
 
WEITER LESEN
PROFESSIONELLES TESTEN IN ZEITEN DER DIGITALEN TRANSFORMATION - Sigs Datacom
– Verlagsbeilage –

PROFESSIONELLES TESTEN IN ZEITEN
 DER DIGITALEN TRANSFORMATION
       PROZESSE TEST-DRIVEN
             DIGITALISIEREN

     QUALITÄT KOMPLEXER
SYSTEME MIT OPEN-SOURCE-
       TOOLS VERIFIZIEREN

    MOBILE ANWENDUNGEN:
          TESTEN SIE ALLES,
    WAS SCHIEF GEHEN KANN

                                                                                                  Gemeinschaftsproduktion
                                                                                            von GTB e.V. und SIGS DATACOM GmbH

TESTEN BLEIBT SPANNEND – INTERVIEW MIT DR. KLAUDIA DUSSA-ZIEGER, VORSITZENDE DES GTB E.V.
PROFESSIONELLES TESTEN IN ZEITEN DER DIGITALEN TRANSFORMATION - Sigs Datacom
Wir machen Digitalisierung
            – aber sicher!

                 Software-Entwicklung
                 QS & Test
                 Dev-Ops
                 Security
                 Beratung
                 Training

101010101011011001101001110110010101011010101010101010101011010100101101010101011010101010101010101011010101010
010101010110101010101011010101010101001010101100101010110101001011010101010110101010101010101010110101010101010
010101101010101010110101010101010010010101010101101100110100111011001010101101010101010101010101101010010110101
101011010101010101010101011010101010101010101011010101010101101010101010100101010110010101011010100101101010101
                                                                                                  1
                                                                                                  10
                                  SCRUM
110101010101010101010110101010101010101010110101010101010101010101101100110100111011001010101101010101010101010
                                                                                                101
                                                                                                 011001
                                                                                                      0110
                                                                                                        11010 1001
011010100101101010101011010101010101010101011010101010101010101011010101010101101010101010100101010110010101011
                                                                                                    10101001 1100
101001011010101010110101010101010101010110101010101010101010110101101010101010101101010101010101010101101010101
                                                                                                      011000110
                                                                                                            10 00100
101101010101010100100101010101011011001101001110110010101011010101010101010101011010100101101010101011010101010
                                                                                                       0010
                                                                                                         1010
                                                                                                            0 1011
                                                                                                       010
101010101101010101010101010101101010101010110101010101010010101011001010101101010010110101010101101010101010101       0
                         MDR  R
101011010101010101010101011010101010101010101010110110011010011101100101010110101010101010101010110101001011010
                                                                                                        01 110 010
101011010101010101010101011010101010101010101011010101010101101010101010100101010110010101011010100101101010101
                                                                                                       0 101010    0 01
                                                                                                                      0
110
 1010
    1010
       1010
          1010
             1010
                1010
                   1010
                      1010
                         1010
                            1011
                               1101
                                  0101
                                     0101
                                        0101
                                           0101
                                              0101FDA
                                                 0101
                                                    0101
                                                       0101
                                                          0101
                                                             0110
                                                               1010
                                                                  1010
                                                                    1010
                                                                       1010
                                                                          1011
                                                                             1101
                                                                                0101
                                                                                   0101
                                                                                      0101
                                                                                         0101
                                                                                            0101
                                                                                               0101
                                                                                                 0110
                                                                                                    1010
                                                                                                      1010
                                                                                                         1010 1010
                                                                                                               0111010
                                                                                                                   010
                                                                                                                    11010
                                                                                                                       1010
                                                                                                                          1010
                                                                                                                            1010
                                                                                                                               1011
                                                                                                                                  1101 01 ISO 26262 010
                                                                                                                                    0101                  1010
                                                                                                                                                             10
010100100101010101011011001101001110110010101011010101010101010101010100101010101010101011101010101010101010101    1 1
                                                                                                                   101
101
 0101
    0101
       0101
          0101
             0110
                1010
                   1010
                      1010
                         1010
                            1010
                               1010
                                  1001
                                     0101
                                        0101
                                           0101
                                              0110
                                                 1001
                                                    0101
                                                       0101
                                                          0101
                                                             0110
                                                               1010
                                                                  1010
                                                                    1001
                                                                       0101
                                                                          0110
                                                                             1010
                                                                                1010
                                                                                   1010
                                                                                      1010
                                                                                         1011
                                                                                            1101
                                                                                              0101
                                                                                                 0101
                                                                                                    0101
                                                                                                      0101
                                                                                                         0101 010
                                                                                                               101010
                                                                                                                   101
                                                                                                                     0101
                                                                                                                        0101
                                                                                                                          0110
                                                                                                                            1010
                                                                                                                               1010
                                                                                                                                  1010
                                                                                                                                    1010
                                                                                                                                       1010
                                                                                                                                          1010
                                                                                                                                             1010
                                                                                                                                                1010
                                                                                                                                                   1010
                                                                                                                                                     1011
                                                                                                                                                        1101
                                                                                                                                                          0101
                                                                                                                                                             01
101011010101010101011010101010101010101011010101010101101010101010100100101010101011011001101001110110010101011   01
                                                                                                                  01
010101010101010101101010010110101010101101010101010101010101101010101010110101011010101010101001010101100101010 FDAD
 01010010110101010101101010101010101010101101010101010101010101101010101010101010101011011001101001110110010101
                                                      SCRUM
 01010101010101010101010101010101010101010101101010010110101010101101010101010101010101010101010111101010101010
011
 1101
    0101
       0100
          0010
             1011
                1101
                   010101
                     JAVA 1 0101
                            01 0110
                                  1010
                                     1010
                                        1010
                                           1010
                                              1010
                                                 1010
                                                    1010
                                                       1011
                                                          1101
                                                            0101
                                                               0101
                                                                  0101
                                                                    0101
                                                                       0101
                                                                          0101
                                                                             0101
                                                                                0101
                                                                                   0101
                                                                                      0110
                                                                                        1010
                                                                                           1010
                                                                                              1010
                                                                                                 1011                                                     0011
                                                                                                                                                          00 11
001110110010101011010101010101010101011010100101101010101011010101010101010101011010101010101101010110101010101
001010101100101010110101001011010101010110101010101010101010110101010101010101010110101010101010101010101101100
0100111011001010101101010101010101010101010101010101010101010101101010                                                                                    1010
010
 1011
    1111
       1101
          0101
             0101
                0101
                   0101
                      0101
                         0101
                            0110
                              1010
                                 1010
                                    1001
                                       0101
                                          0110
                                             1010
                                                101010
                                                   MPG 010
                                                         1011
                                                            1101
                                                               0101
                                                                 0101
                                                                    0101
                                                                      0101
                                                                         0101
                                                                            0101
                                                                               0101
                                                                                  0110
                                                                                     1010
                                                                                        1010
                                                                                           1010
                                                                                              1010
                                                                                                 1011                                                     0100
                                                                                                                                                          0100
101010101101100110100111011001010101101010101010101010101101010010110101010101101010101010101010101101010101010
                                                                            ISO 26262
         D0178
010101101010101010100101010110010101011010100101101010101011010101010101010101011010101010101010101011010101010
010101010101101100110100111011001010101101010101010101010101010101010101010101010101101010010110101010101101010          Bewirb Dich jetzt!
101010101010101010101011110101010101010110101001011010101010110101011010100101010101011010101010101010101010101
01010101010101010101010101010101010100001010010101001010110101010101011010101101010101010100101010110010101011  www.seppmed.de/job4u
010010110101010101101010101010101010101101010101010101010101101010101010101010101011011001101001110110010101011
01001001001001001001001001001001001001001001001001001001001001101
                                                                0 01
                                                                  0 00
                                                                     0010010010010010010010010000
                                                                                               00100100100010 00
                                                                                                               0010010010010010010000
                                                                                                                                   0010010010010010001
                                                                                                                                                    0 01
                                                                                                                                                       0 01
                                                                                                                                                         0 01
                                                                                                                                                           0 0
PROFESSIONELLES TESTEN IN ZEITEN DER DIGITALEN TRANSFORMATION - Sigs Datacom
EDITORIAL / INHALT

DIGITALE TRANSFORMATION
Ganz schön dick geworden. Nein, nein. Nicht wir, aber diese Ausgabe       In Summe hoffen wir, Ihnen so einen guten Einblick in die Bandbreite
des German Testing Magazins! Wir hatten noch nie so viele Einrei-         des titelgebenden Themas dieser Ausgabe zu geben: „Professionelles
chungen für Fachartikel rund um Software-Test und Qualität wie bei        Testen in Zeiten der Digitalen Transformation“.
dieser Ausgabe. Viele gute Einreichungen, sehr interessante Themen.
Allein danach hätten wir die Ausgabe noch viel dicker machen können.      Wir wünschen Ihnen viel Spaß beim Lesen dieser neuen Ausgabe des
                                                                          German Testing Magazins.
Das liegt natürlich zum großen Teil daran, dass diese Ausgabe zusam-
men mit dem German Testing Board e. V. und seiner Community von
Experten und Partnern entstanden ist. Weiterhin hat das German Tes-
ting Magazin im deutschsprachigen Raum eine beachtliche Reichweite
erreicht. Dadurch hatten wir die Möglichkeit, noch mehr bekannte und
etablierte Software-Test-Experten einzuladen, Ihnen in dieser Ausgabe
ihre Erfahrungen, Erkenntnisse und ihr Wissen zur Verfügung zu stellen.
Vor allem aber ist auch dies ein starkes Indiz dafür, welch unverzicht-
baren Stellenwert Software Testing und damit Ihre als auch unsere
tägliche Arbeit mittlerweile erlangt hat. Wir möchten uns an dieser
Stelle ganz herzlich bei allen Autoren bedanken, auch wenn wir nicht
alle Beiträge in diese Ausgabe aufnehmen konnten.

Aus der Fülle der Einreichungen haben wir Artikel unter anderem aus
den Bereichen IoT, Testautomatisierung und Prozessverbesserung aus-
gewählt. Sie finden hochspannende Artikel aus sicherheitskritischen        Ihre
Domänen wie der Automobilindustrie und der Medizintechnik, interes-
sante Erfahrungsberichte aus der Praxis runden die Ausgabe für Sie ab.    Dr. Stephan Weißleder und Richard Seidl

     INHALT
     Professionelles Testen in Zeiten der Digitalen Transformation        Durchgeklickt – Automatisiertes GUI-Testen mit Squish
     Richard Seidl und Stephan Weißleder                              4   Tobias Bliem, Simon Kuhnle und Sebastian Kern                         36

     Testen bleibt spannend!                                              Testen von computergestützten Systemen in der Pharmaindustrie
     Interview mit Dr. Klaudia Dussa-Zieger, Vorsitzende des GTB      8   Reinhard Erich Voglmaier                                    40

     Ein Domänenmodell des Testens                                        Modernes Testen in einer technischen Welt
     Matthias Hamburg                                                10   Vijesh Raju, Jürgen Schröppel, Anastasios Mousios und Geetha Godala   44

     Basis einer erfolgreichen Digitalisierung                            Ein Blick hinter den Bericht der Ethik-Kommission der Bundesregierung
     Arne Schönbohm                                                  12   Tobias Weimer und Abdülkerim Dagli                                 48

     Unittests für ML-Code                                                Testprozessverbesserung mit TPI NEXT
     Jörg Jackisch                                                   14   Florian Fieber                                                        52

     Testen Sie alles, was schiefgehen kann                               Wie man hochwertige Produkte liefert
     Rex Black                                                       17   Finn Lorbeer                                                          56

     Qualität komplexer Systeme mit Open-Source-Tools verifizieren         Architekturzentriertes Testen
     André Rist und Markus Stahl                                  20      Stephan Christmann                                                    59

     Prozesse Test-Driven digitalisieren                                  Von der Testpyramide zur Testtanne als Methode zur Toolintegration
     Michael Amann-Langeder                                          26   Thomas Karl und Nico Liedl                                      63

     Testen im Internet der Dinge
     Matthias Pruksch                                                32   Impressum                                                             66

                                                                                                                                                      3
PROFESSIONELLES TESTEN IN ZEITEN DER DIGITALEN TRANSFORMATION - Sigs Datacom
EFFIZIENZSTEIGERUNG IM SOFTWARETEST                                                  RICHARD SEIDL UND STEPHAN WEISSLEDER

    »PROFESSIONELLES TESTEN
    IN ZEITEN DER DIGITALEN TRANSFORMATION«
    Wer weiß noch, wie unsere Großeltern gearbeitet haben? Was werden unsere Enkel über unsere Arbeit erfahren? Werden sie
    wissen wollen, wie man noch in fest zugeordneten Büros arbeiten konnte und weshalb die Zusammenarbeit über verschiedene
    Kontinente eine Herausforderung war?

    Mit diesen und weiteren Fragen haben wir           niken oder erweiterter Realität beschäftigen:   Wie schaffen wir es aber, dass wir dieses
    uns beschäftigt und viele Autoren gewonnen,        Unser Kernthema Softwarequalität ist in ho-     Verfahren in sich ändernden Umgebungen
    die sich hierzu ebenfalls Gedanken gemacht         hem Maße betroffen.                             anwenden können? Häufige Änderungen
    haben. Das bestimmende Thema in diesem                                                             sind in agilen Entwicklungsprozessen zu
    Heft ist die Digitale Transformation hin zur In-   Aus groß wird komplex                           finden. Während jedes Sprints braucht man
    dustrie 4.0: Es geht um Qualitätssicherung in                                                      automatisch durchführbare Testskripte, die
    international vernetzten, grenzenlos agieren-      Die jüngsten Jahrzehnte waren davon ge-         die funktionale Qualität des Systems bewer-
    den Unternehmen und deren Anforderungen            prägt, dass Systeme immer größer wurden.        ten. Diese Testskripte müssten aufgrund der
    an moderne Entwicklungsprojekte: schneller,        Dafür wurden Prozesse, Verfahren und Tools      wahrscheinlichen Änderungen in dem aktu-
    agiler und mit brauchbaren Zwischenstän-           geschaffen, die dies beherrschbar machten.      ellen Sprint auch schnell angepasst werden.
    den. Wie gut muss die Qualität zu welchem          Immer weitere Optimierungen (z. B. Testcen-     Eine manuelle Anpassung eines signifikanten
    Zeitpunkt sein? Und wie schaffen wir, dass         ter), Verbesserungen (z. B. effizientere Work-   Teils der Testskripte pro Sprint ist für jedes
    die qualitätssichernden Maßnahmen auch             flows, bessere Tools), mehr Automatisierung      nichttriviale und änderungsbehaftete Projekt
    mit der Projektkomplexität skalieren? Wie          (z. B. Testautomatisierung auf allen Teststu-
    passen immer wiederkehrende Fragen der             fen) haben uns geholfen, für große Systeme
    Testeffizienzsteigerung zu den verwendeten          auch effiziente Qualitätssicherung zu ermög-
    Architekturmustern oder zu Entwicklungsan-         lichen.
    sätzen wie dem agilen Vorgehen?
                                                       Aber große Systeme werden von komplexen
    Auf Reisen …                                       Systemen abgelöst. Die ihnen innewohnen-
                                                       den Abhängigkeiten, Beziehungen und Algo-
    Richie ist gerade aus dem Silicon Valley zu-       rithmen werden immer schwerer überschau-
    rückgekehrt. Vollgepackt mit neuen Ideen,          bar und begreifbar. Dennoch müssen sie
    Inspirationen und Demut vor dem, was sich          qualitätsgesichert werden, also mindestens
    dort gerade entwickelt. Wir haben uns lange        verifiziert und meistens auch getestet. Mög-
    über seine Einblicke in die dort angesiedelten     lichkeiten der Anpassung an diesen Wan-
    Start-ups und Unternehmen unterhalten und          del sehen wir immer öfter: Prozessmodelle
    welche Herausforderungen die neuen Tech-           werden so entworfen, dass effiziente und
    nologien, Arbeitsweisen und Systeme an             schnelle Qualitätssicherung noch möglich
    Softwaretest und Qualität stellen.                 ist; Architekturen für Systeme werden so
                                                       entworfen, dass das Verständnis für gekap-
    In Anbetracht der in vielen herkömmlichen          selte Einheiten möglich und die fokussierte
    Branchen bevorstehenden Veränderungen              Qualitätssicherung machbar sind.
    klingt die Bezeichnung „Digitalisierung“ fast
    schon etwas niedlich – die Änderungen wer-         Prozesse und Architektur
    den vermutlich disruptiv ausfallen, neue Ge-       ermöglichen Testeffizienz
    schäftsfelder eröffnen und andere verschwin-
    den lassen. In manchen Branchen wiegt man          Das typische Mittel zur Effizienzsteigerung
    sich noch in trügerischer Hoffnung, dass die-      ist der Einsatz der Automatisierung. Für den
    ser Kelch der Veränderung an einem vorbei-         Test bedeutet das im ersten Schritt die au-
    geht. Manche sehen Bedenken und Probleme,          tomatische Testdurchführung. Die Vorteile
    während sie schon links und rechts überholt        liegen auf der Hand: schnelle Durchführung,
    werden. Und wieder andere sehen die Chan-          schnelle Rückmeldung insbesondere für den
    ce und nutzen die Potenziale, die Software         Regressionstest. Lediglich die Vorbereitung
    und Daten heute schon bieten. Egal ob sich         der zugehörigen Testskripte erfordert bei
    die letztgenannten mit künstlicher Intelligenz,    der Erstellung oder Anpassung signifikante
                                                                                                       Abb. 1 Poster „Effizienzsteigerung im Softwaretest“, Bestellung unter
    autonomen Systemen, vorhersagenden Tech-           Aufwände.
4
PROFESSIONELLES TESTEN IN ZEITEN DER DIGITALEN TRANSFORMATION - Sigs Datacom
EFFIZIENZSTEIGERUNG IM SOFTWARETEST

          aber nur mit hohen Kosten realisierbar.                  seine eigenen Tests; jeder Microservice ist     Qualität als Haltung im Team
                                                                   unabhängig von anderen und die Kommuni-
          Sollten wir deswegen die automatische Test-              kation ist nur über Schnittstellen definiert;    Neben den zuvor genannten technischen
          durchführung aufgeben? Nicht doch! Statt-                jeder Microservice ist auf einen bestimmten     Faktoren sind die weichen Faktoren von un-
          dessen müssen wir Wege finden, um die                     Kundennutzen fokussiert.                        schätzbarem Wert. Wer heute exzellente
          Anpassungsaufwände für die Testskripte zu                                                                Software kreieren möchte, denkt den Ent-
          reduzieren. Dies findet sich bekanntermaßen               Kleine Teams, übersichtliche Architektur,       wicklungsprozess ganzheitlich: neben Me-
          in Ansätzen der datengetriebenen, schlüssel-             fokussierte Tests, Kundennutzen im Vorder-      thoden und Tools vor allem Menschen und
          wortgetriebenen oder modellbasierten Test-               grund: all diese Vorteile können sich aus der   Mindset – wenn alles in einem Flow zusam-
          entwurfstechniken. Zudem ist die Qualitäts-              klugen Wahl der eingesetzten Architekturen,     menspielt, dann entstehen Potenzialentfal-
          sicherung nicht mehr nur eine Aufgabe des                Prozesse und Testansätze ergeben. Wir ha-       tung und Innovation. Qualität wird durch das
          Testers am Ende der Prozesskette. Vielmehr               ben hier exemplarisch Microservices, Agile      Team sichergestellt. Die Qualitätssicherung
          gehört die Implementierung der notwenigen                und Testautomatisierung hervorgehoben, die      wird eine umfassende Aufgabe, getragen
          Tests zur Entwicklung wie das Schreiben und              in dieser Zusammenstellung auch komplexe        durch die Haltung des gesamten Teams.
          Einchecken des Quellcodes selbst.                        Projekte wartbar, testbar und verständlich
                                                                   halten. Hier bleiben die Testaufwände an-       Das bedeutet für viele Mitglieder des Teams
          Die nächste spannende Frage ist, wie wir die             gemessen, der Testfokus auf den Kunden-         einen massiven Veränderungsprozess, der
          Fokussierung der einzelnen Tests aufrecht-               nutzen gerichtet und die Skalierbarkeit der     Erfahrung, Empathie, Hingabe und Geduld
          erhalten können. Wie können Einflüsse von                 Qualitätssicherung mit der Komplexität des      benötigt. Mit einem Workshop oder einer
          anderen Funktionen auf die eigentlich zu tes-            zu entwickelnden Systems gegeben. Das           Schulung ist es da nicht getan. Es braucht
          tende Funktion reduziert werden? Hier spielt             Poster Effizienzsteigerung im Softwaretest       begleitende Unterstützung, immer wieder
          die verwendete Architektur eine wichtige                 zeigt die Zusammenhänge exemplarisch auf.       Impulse und Hilfestellungen, damit ein Team
          Rolle. Kleine, austauschbare Einheiten finden             Abbildung 1 zeigt die grobe Struktur des        seinen individuellen Weg finden kann, agile
          intensive Anwendung im Architekturansatz                 Posters und der dargestellten Zusammen-         Werte wie Mut, Transparenz, Offenheit und
          für Microservices: Jeder Microservice hat                hänge.                                          Selbstorganisation zu leben. Die Einstellung

https://www.sigs-datacom.de/order/poster/Testing-Poster-2019.php

                                                                                                                                                                  5
PROFESSIONELLES TESTEN IN ZEITEN DER DIGITALEN TRANSFORMATION - Sigs Datacom
EFFIZIENZSTEIGERUNG IM SOFTWARETEST

      Referenzen
      ›   [CA19] Autonomous Vehicle Disengagement Reports 2018, State of California, siehe:
          https://www.dmv.ca.gov/portal/dmv/detail/vr/autonomous/disengagement_report_2018
      ›   [Her19] M. Herger, Update: Disengagement Berichte 2018 – Finale Ergebnisse, 13.2.2019, siehe:
          https://derletztefuehrerscheinneuling.com/2019/02/13/update-disengagement-berichte-2018-finales-ergebnisse/
      ›   [Kok17] K. Kokalitcheva, Humans cause most self-driving car accidents, Nachrichtenwebseite Axios, 3.8.2017, siehe:
          https://www.axios.com/humans-cause-most-self-driving-car-accidents-1513304490-02cdaf3d-551f-46e6-ad98-637e6ef2c0b9.html

    der Teammitglieder zu dem Projekt und zu             ›   Don’t make me wait: Niemand möchte            aktueller Software stehen uns in den nächs-
    dem gewählten Prozess trägt entscheidend                 mehr auf irgendwas warten. Verfügbarkeit      ten Jahren Möglichkeiten zur Verfügung, die
    zum Erfolg oder Scheitern eines jeden Pro-               in Echtzeit zählt. Ladebalken, Schlangeste-   wir jetzt vermutlich noch nicht erdenken kön-
    jekts bei!                                               hen und Warten sind ein KO-Kriterium.         nen oder nicht wahrhaben wollen.

    Natürlich ist eine fundierte Ausbildung die          ›   Don’t make me ask: Jede Frage hält auf. Das   Ein schönes Beispiel ist das autonome Fah-
    Basis, auf der so ein Veränderungsprozess                System kennt mich, hat meine Daten. Dann      ren: Was hierzulande oft mit umfangreichen
    fußen muss. Die gleiche „Sprache“ spre-                  noch einmal nachzufragen ist ein No-Go!       Bedenken und Auflagen gekontert wird, hat
    chen, das Qualitätshandwerkszeug beherr-                                                               in anderen Ländern schon ganz andere Di-
    schen, die Methoden und Vorgehen verste-             ›   Don’t make me think: Das Denken ab-           mensionen erreicht. Wer heute durch die
    hen und anwenden können: Für den Bereich                 nehmen! Wer vor einer Oberfläche oder          Straßen von San Francisco geht, sieht alle
    Softwaretest liefert das Certified Tester                 Website sitzt und zuerst einmal überlegen     paar Minuten ein Testfahrzeug einer der
    Schema genau das als weltweit führendes                  muss, wie was wo und warum funktio-           unzähligen Firmen, die damit im öffentli-
    berufsbegleitendes Weiterbildungsschema                  niert, der ist schnell geneigt, auf das „x“   chen Straßenverkehr fahren dürfen. Und die
    zum Thema SW-Qualität. (www.german-                      zu klicken, oder er wird zumindest keine      Fortschritte in dieser Technologie sind in den
    testing-board.info)                                      ausufernde Freude bei der Nutzung emp-        letzten Jahren enorm [CA19, Her19]. Der An-
                                                             finden. Wir sind verwöhnt von Apps & Co.       spruch an Qualität und Qualitätssicherung in
    Neben den Faktoren, die den Erfolg des                   Sie haben hier geklickt? Dann möchte Sie      diesem Umfeld ist enorm und wird wohl in
    Entwicklungsprojekts unterstützen, gibt es               vielleicht auch dies und das ...              Zukunft auch nicht geringer werden. Unfälle
    zahlreiche weitere Faktoren, die über den                                                              wie der von Uber gehen dann natürlich sofort
    Erfolg des entwickelten Produktes entschei-          Diese Aspekte betreffen meist nicht nur           durch die internationale Presse.
    den.                                                 einzelne Komponenten, sondern komplette
                                                         Abläufe des Nutzers. Steht das Hinterfragen       Vor diesem Hintergrund vergisst man leicht,
    Usability: Don‘t make me ...                         der Geschäftsprozesse dem Tester über-            dass es im Straßenverkehr mit Menschen am
                                                         haupt zu? Na klar! Gerade sein kritischer         Steuer jeden Tag etliche Unfälle mit Toten
    Die Akzeptanz eines Produktes, einer App             Blick ist hier gefragt. Wie kann die Anwen-       gibt. Der direkte Vergleich zeigt auch, dass
    oder Software liegt immer stärker auf der            dung einfacher gestaltet werden? Was kann         häufig Menschen schuld an Unfällen mit
    Usability und dem Erleben des Nutzers, dem           dem Nutzer abgenommen werden? Brauchen            selbstfahrenden Autos sind [Kok17]. Die He-
    Happening. Und das betrifft nicht mehr nur           wir noch Funktion X und Y? Welche alten           rausforderung ist und bleibt natürlich, dass
    Privatanwender. Auch der Anspruch an ge-             Zöpfe (z. B. Schnittstellen, Sonderlocken,        die Anzahl der Unfälle auf ein Minimum redu-
    schäftlich genutzte Software steigt: Wenn            Module) können abgeschnitten werden?              ziert wird und dass kein einziger davon auf ei-
    Mitarbeiter mehrere Stunden am Tag mit               Was an „historisch gewachsenem“ kann neu          nen Fehler eines selbstfahrenden Fahrzeugs
    langsamen, überfrachteten und komplizier-            gedacht werden?                                   zurückzuführen sein darf.
    ten Oberflächen hantieren müssen, dann ist
    Frust vorprogrammiert. Start-ups orientieren         Wie geht es weiter?                               Und dieser Herausforderung müssen wir
    sich an diesen Painpoints und lösen sie auf.                                                           uns als Tester und Qualitätsverantwortliche
    Dabei sind immer wieder drei große Leitlini-         Was fangen wir mit den Eindrücken von Ri-         stellen: mit Prozessen, Architekturentwür-
    en zu beobachten, an denen man sich orien-           chies Reise nun an? Wir leben in aufregenden      fen, Tools, Ausbildung und einem passenden
    tieren sollte:                                       Zeiten. Technologisch und insbesondere mit        Mindset.

                                Richard Seidl
                                mail@richard-seidl.com
                                hat in seiner beruflichen Laufbahn schon viel Soft-                             Dr. Stephan Weißleder
                                ware gesehen und getestet: gute und schlechte,                                 stephan.weissleder@gmail.com
                                große und kleine, alte und neue, Schokolade und                                ist Überzeugungstäter bei agilen Prozessen. Die
                                Grütze. Sein Credo: Qualität ist eine Haltung. Wer                             schnelle Umsetzung von Änderungen im Code und
                                heute exzellente Software kreieren möchte, denkt                               in der zugehörigen Qualitätssicherung ist für den
                                den Entwicklungsprozess ganzheitlich: Menschen,                                Erfolg agiler Arbeit unerlässlich. Insbesondere für
                                Methoden, Tools und Mindset – wenn alles in                                    letzteres offenbart die Testautomatisierung enor-
                                einem Flow zusammenspielt, entsteht Potenzial-                                 mes Potenzial zur Effizienzsteigerung, die für die
                                entfaltung und Innovation.                                                     zeitnahe Bewertung des Produktes notwendig ist.

6
PROFESSIONELLES TESTEN IN ZEITEN DER DIGITALEN TRANSFORMATION - Sigs Datacom
EFFIZIENZSTEIGERUNG IM SOFTWARETEST

DieDie
    führende
       führende
              Konferenz
                Konferenz
                        fürfür
                            Software-Qualitätssicherung
                               Software-Qualitätssicherung
und
  und
    -Test
       -Test
          im im
              deutschsprachigen
                deutschsprachigen
                                Raum
                                  Raum

Thema
 Thema2019:
       2019:Expanding
             ExpandingHorizons
                       Horizons
Strategien,
  Strategien,
            Techniken,
              Techniken,
                       Tools
                         Tools
                             und
                               und
                                 Best
                                   Best
                                      Practices
                                         Practices
                                                 fürfür
                                                      effizientes
                                                        effizientesTesten
                                                                     Testen
von
  von
    Software
      Softwareund
                und
                  Systemen
                    Systemenimim
                               Zeichen
                                 Zeichenvon
                                          von
                                            Digitalisierung,
                                              Digitalisierung, IoT
                                                                 IoT
                                                                   und
                                                                     und
                                                                       KIKI

Save
 Savethe
       the
         Date:
           Date:24.
                 24.und
                     und25.
                          25.
                            Oktober
                              Oktober
                                    2019
                                      2019

Veranstalter:
   Veranstalter:
              imbus
                 imbus
                    AGAG y Kleinseebacher
                            y Kleinseebacher  9 y 991096
                                          Str.Str.  y 91096
                                                         Möhrendorf
                                                            Möhrendorf
Deutschland
   Deutschlandy Telefon:
                 y Telefon:
                         +49+49
                              9131
                                 9131
                                   7518-0 y qs-tag@imbus.de
                                      7518-0  y qs-tag@imbus.de               www.qs-tag.de
                                                                               www.qs-tag.de
                                                                                                           7
PROFESSIONELLES TESTEN IN ZEITEN DER DIGITALEN TRANSFORMATION - Sigs Datacom
INTERVIEW MIT DR. KLAUDIA DUSSA-ZIEGER, VORSITZENDE DES GERMAN TESTING BOARD E.V.

    »TESTEN BLEIBT SPANNEND!«
    Dr. Klaudia Dussa-Zieger ist leitende Beraterin bei der imbus AG und Vorsitzende des German Testing Board e.V. (GTB). Sie
    beschäftigt sich seit knapp zwanzig Jahren mit Softwaretest und -qualität. Ihr besonderes Interesse gilt dem Testmanage-
    ment, der kontinuierlichen Verbesserung des Testprozesses sowie der professionellen Aus- und Weiterbildung der Tester. Im
    Interview gibt sie Auskunft über die Bedeutung des Software-Engineerings in einer Welt mit zunehmender Vernetzung und der
    Ausstattung aller Dinge mit „Software-Intelligenz“ und das neue Berufsbild des Testingenieurs.

    Frau Dr. Dussa-Zieger, Boeing, Face-           verwendet für die Steuerung Daten aus zig       ternehmen mit Fragen des „Software En-
    book, Deutsche Flugsicherung, auto-            Sensoren, die ebenfalls softwaregesteuert       gineering“ konfrontiert. Das Problem: Die
    nome Autos – die Liste spektakulärer           arbeiten.                                       Mitarbeiter kennen sich damit nicht aus und
    Softwarefehler mit dramatischen Fol-                                                           die Prozesse verfügen noch nicht über die nö-
    gen wird immer länger. Wie bewerten            Die aus dieser Durchdringung der Systeme        tige Qualitätssicherung. Ich würde nicht von
    Sie diese Entwicklung im Software-En-          resultierende Komplexität der Software be-      mangelndem Know-how sprechen, aber bei
    gineering?                                     herrschen nur noch wenige Unternehmen.          einigen Branchen und manchen Unterneh-
                                                   Aktuell kriselt es bei Boeing, obwohl sie als   men ist einfach noch nicht genügend Erfah-
    Dr. Klaudia Dussa-Zieger: Diese Entwicklung    Hersteller der Luft- und Raumfahrtbranche       rung mit der „Neuen Welt“ vorhanden.
    ist keine Folge von schlechtem Software-       immer sehr rigide Vorschriften bei Entwick-
    Engineering, sondern die logische Konse-       lung und Test von Software zu beachten          Wie meinen Sie das?
    quenz daraus, dass unsere Systeme immer        haben. Für viele klassische Hardware-Her-
    vernetzter arbeiten und Software mittler-      steller ist ein softwaregesteuertes System      Wie Facebook Massendaten erfassen und
    weile für das Funktionieren selbst kleinster   absolutes Neuland.                              verarbeiten sollte, dafür gibt es in der Infor-
    Bauteile in all diesen Systemen verant-                                                        matik bekannte Methoden, ebenso für die
    wortlich ist, seien es Flugzeuge oder Autos.   Aufgrund der zunehmenden Vernetzung             Echtzeitsteuerung von Flugzeugen. Nicht nur
    Software steuert Hardware-Komponenten          und der Ausstattung aller Dinge mit „Soft-      die Entwicklungsmethoden sind etabliert,
    wie Motor, Bremse oder Landeklappe – und       ware-Intelligenz“ werden immer mehr Un-         auch die Testverfahren.

8
PROFESSIONELLES TESTEN IN ZEITEN DER DIGITALEN TRANSFORMATION - Sigs Datacom
INTERVIEW MIT DR. KLAUDIA DUSSA-ZIEGER, VORSITZENDE DES GERMAN TESTING BOARD E.V.

Das sieht beim autonomen Fahren ganz an-          Das stimmt. Dann stellt sich direkt die Frage,   Braucht ein Tester nicht völlig unter-
ders aus. Wie erkennt das Auto, dass es in        wie lange die Kunden minderwertige Quali-        schiedliche Qualifikationen, wenn er
der Fahrspur bleibt? Wie verarbeitet es Infor-    tät akzeptieren. Gerade bei schnelllebigen       eine Echtzeitsteuerung, ein Warenwirt-
mationen über den Straßenzustand, die Ver-        Produkten wie zum Beispiel Apps ist zu er-       schaftssystem, ein Computerspiel oder
kehrsdichte, die Verkehrsschilder, Ampeln und     warten, dass die Kunden sich mittel- oder        ein App testet?
Schranken oder die Witterungsverhältnisse?        auch schon kurzfristig abwenden. Wenn die
Allein nur zu testen, dass ein autonomes Auto     App nicht den Bedienkomfort oder die Per-        Das ist wie in der Schule. Man fängt mit ei-
zuverlässig auf seiner Fahrspur bleibt und        formanz hat, die der Benutzer erwartet, dann     ner Grundausbildung an, sozusagen mit dem
die nötigen Sicherheitsabstände einhält, ist      wird sie einfach gelöscht oder zumindest         kleinen Einmaleins des Software-Testens.
eine riesige Herausforderung. Hier stehen wir     nicht mehr verwendet. Ich hoffe zumindest,       Mit dem „Certified Tester Foundation Level“
noch am Anfang und müssen erst einmal die         dass sich deshalb der Qualitätsgedanke           kennt man die Terminologie des Testens und
passenden Testmethoden entwickeln.                durchsetzt.                                      die grundlegenden Prozesse. Das ist von gro-
                                                                                                   ßem Wert für die Zusammenarbeit im Team,
                                                  Hier setzt auch das German Testing               weil dann alle unter Begriffen wie „System-
                                                  Board an, um das Bewusstsein zu                  test“ exakt das Gleiche verstehen.
      „Je früher getestet wird,                   schärfen und brauchbare Testmethoden
      desto größer der Erfolg.“                   zu entwickeln?                                   Darauf bauen spezialisierte Fortbildungen
                                                                                                   auf, die unterschiedlichen Rollen beim Test
                                                  Genau! Zuallererst kümmern wir uns um die        (z. B. Manager oder Analyst) gerecht wer-
                                                  berufliche Aus- und Weiterbildung der Soft-       den. In letzter Zeit sind Lehrpläne hinzuge-
Wird aus Ihrer Sicht das Thema Soft-              ware-Ingenieure, denn auch in der Fachinfor-     kommen, die unterschiedliche Qualitätsziele
warequalität vernachlässigt, auch weil            matik gibt es keine spezifische Fachrichtung      adressieren, wie etwa Performanz, Security
Zeit- und Kostendruck zunehmen?                   „Testing“.                                       oder Usability. Außerdem braucht ein Tester
                                                                                                   die zu seinem Testobjekt passenden Testda-
Vorab eines: Wenn wir im German Testing           Wie sieht das konkret aus – und wo set-          ten, sodass wir auch entsprechende Spezia-
Board vom Testen reden, dann meinen wir           zen Sie die aktuellen Schwerpunkte?              listen ausbilden.
nicht nur dynamische Tests, sondern auch die
ganze Gruppe statischer Tests, angefangen         Das GTB ist ein Zusammenschluss von Fach-
vom Anforderungs-Review über Code-Re-             experten für den „Test von Software und
views und -Analysen bis hin zu anderen            Software-intensiven Systemen“ aus Indust-                 „Wichtig ist auch
qualitätssichernden und qualitätsfördernden       rie und Wissenschaft. Wir haben gemeinsam
Maßnahmen.                                        das Berufsbild des Testingenieurs definiert
                                                                                                      die Psychologie des Testens,
                                                  und festgelegt, was ein solcher Experte wis-         denn man ist ja nicht immer
Der wachsende Kosten- und Zeitdruck,              sen und können muss. Dabei geht es nicht               beliebt als Überbringer
weil neue Produkte oder Versionen immer           nur um Testmethoden und Testmanagement,               von Fehlernachrichten.“
schneller auf den Markt kommen müssen,            sondern auch um die kontinuierliche Ver-
ist sicherlich kontraproduktiv. Dem versucht      besserung des Testprozesses sowie um die
man durch neue Methoden wie „Test-Driven          professionelle Aus- und Weiterbildung der
Development“ oder dem „Shift Left“ im Con-        Tester. Wichtig ist auch die Psychologie des     Sie sehen: Testen bleibt spannend! Nicht nur,
tinuous Testing entgegenzuwirken. Gemeint         Testens, denn man ist ja nicht immer beliebt     weil die Komplexität der Systeme zunimmt,
ist damit vor allem die Verlagerung von Tests     als Überbringer von Fehlernachrichten.           sondern weil auch ständig völlig neue Syste-
in frühere Phasen der Softwareentwicklung.                                                         me hinzukommen. Denken Sie nur an Themen
Aber da hilft letztendlich gar nichts: Wer kei-   Die Fehler haben ja meistens andere              wie Smart City oder Smart Home. Früher hat
ne Zeit hat, ein Produkt sauber fertig zu ent-    gemacht …                                        man zuhause Bedien-Paneels an der Wand
wickeln und auszutesten, der muss mit den                                                          gehabt oder einen Kundendiensttechniker
Konsequenzen leben.                               Genau da liegt der Hase im Pfeffer. Man          gerufen, wenn die Steuerung von Heizung
                                                  wird zwar heute nicht mehr geköpft wegen         oder Rollläden geändert werden sollte. Heu-
                                                  einer schlechten Botschaft, aber Freunde         te will man das natürlich sprachgesteuert
                                                  macht man sich auch nicht. Wir regen daher       über Alexa machen. Das heißt für den Hei-
 „Wer keine Zeit hat, ein Produkt                 einen Kulturwandel an, denn ein gefundener       zungshersteller: Er muss sich dieser neuen
   sauber fertig zu entwickeln                    Fehler in der Entwicklungsphase ist ja sehr      Technologie auch beim Test stellen.
  und auszutesten, der muss mit                   wertvoll, weil er nicht mehr den Kunden
    den Konsequenzen leben.“                      betrifft, sondern schon vorher abgefangen        Frau Dr. Dussa-Zieger, vielen Dank für
                                                  wird. Dieser Kulturwandel schreitet voran,       das Interview!
                                                  denn anders als vor 20 Jahren ist es heute
                                                  nach Abschluss eines erfolgreichen Projek-
Das gilt aber auch für alle, die kein Geld        tes üblich, dass nicht nur die Softwareent-
in einen Software-Ingenieur investie-             wickler, sondern auch die Testingenieure
ren, der sauber testen kann …                     gelobt werden.
                                                                                                                                                   9
PROFESSIONELLES TESTEN IN ZEITEN DER DIGITALEN TRANSFORMATION - Sigs Datacom
GLOSSAR-KOLUMNE                                                                                                    MATTHIAS HAMBURG

     »EIN DOMÄNENMODELL DES TESTENS«
     In dieser Kolumne diskutiert der Autor Themen rund um die Terminologie beim Softwaretesten. Heute geht es um die Schwie-
     rigkeit, die vielen Begriffe des Testens im Zusammenhang zu verstehen.

     Ein Junior-Tester hat Anfang Februar folgen-      Level [GTB-b]. Die Swimlanes (Spalten) stel-      Nachbedingungen, welche auf Basis von
     de Anmerkung an das ISTQB® geschickt:             len Aktivitäten im Testentwicklungsprozess        Testbedingungen entwickelt wurden.
     „Die Definitionen und Beziehungen zwischen         dar und die Entitäten in den blauen Recht-
     Testsuite, Testfall, Testablauf, Testskript und   ecken sind die Arbeitsergebnisse dieser Ak-       Weiter geht es mit der Testrealisierung, in
     dem Test selbst sind zu vage.” Als Verant-        tivitäten.                                        der wir die Testmittel vorbereiten, die zur
     wortlicher für das ISTQB-Glossar stellte ich                                                        Testdurchführung benötigt werden. Dazu ge-
     mir die Frage: Hat er recht?                      Beziehungen                                       hören unter anderen Testabläufe und auto-
                                                       zwischen den Testbegriffen                        matische Testskripte. Ein Testablauf ist eine
     Alle diese Begriffe haben ihre Definition im                                                         Folge von Testfällen in der Reihenfolge ihrer
     ISTQB-Glossar der Testbegriffe [GTB-a], und       Schauen wir uns an, wie das Glossar [GTB-a]       Durchführung, mit allen erforderlichen Aktio-
     wir achten bei ISTQB (International Software      die Entitäten dieses Domänenmodells de-           nen zur Herstellung der Vorbedingungen und
     Testing Qualifications Board) sehr auf präzi-      finiert. Die Testbasis ist der Input für den       zum Aufräumen nach der Durchführung. Sehr
     se Definitionen. Aber in dieser Anmerkung          Tester. Sie enthält alle Informationen, die als   eng damit verwandt ist das Testskript: eine
     spielt ein Wörtchen eine große Rolle: „Be-        Basis für die Testanalyse und den Testent-        Abfolge von Anweisungen für die Durchfüh-
     ziehungen“. Die Beziehungen dieser Begriffe       wurf verwendet werden können. In der Test-        rung eines Tests.
     zueinander sind für das Verständnis essenzi-      analyse identifizieren wir die Testbedingun-
     ell. An dieser Stelle rennt der junge Kollege     gen durch eine Analyse der Testbasis. Eine        Schließlich erstellen wir Testsuiten: Mengen
     bei mir offene Türen ein. Entitäten und ihre      Testbedingung ist ein Aspekt der Testbasis,       von Testfällen oder Testabläufen, welche in
     Beziehungen werden beim Studium einer             der für die Erreichung bestimmter Testziele       einem bestimmten Testzyklus ausgeführt
     fachlichen Domäne viel klarer, wenn man sie       relevant ist.                                     werden sollen. Der dazugehörige Testausfüh-
     in einem Domänenmodell grafisch darstellt.                                                           rungsplan ist ein Zeitplan für die Ausführung
                                                       Im Testentwurf leiten wir Testfälle aus den       von Testsuiten innerhalb eines Test zyklus.
     Meine Antwort ist ein einfaches UML-Domä-         Testbedingungen ab und spezifizieren diese
     nenmodell (siehe Abbildung 1) der oben            Testfälle. Ein Testfall ist eine Menge von        In der Testdurchführung werden die Tests für
     genannten Testbegriffe, auf Basis des Lehr-       Vorbedingungen, Eingaben, Aktionen (falls         eine Komponente oder ein System ausgeführt
     plans zum ISTQB Certified Tester Foundation        anwendbar), erwarteten Ergebnissen und            und Istergebnisse erzeugt. In einem Testlauf

     Abb. 1: Domänenmodell des Testens (klassisch)

10
GLOSSAR-KOLUMNE

werden die Testfälle der Testsuite mit einer
bestimmten Version des Testobjekts ausge-                         Referenzen
führt. Dabei entsteht ein Istergebnis: das im                     ›   [GTB-a] ISTQB®/GTB Standardglossar der Testbegriffe, Version 3.2 vom 27.9.2018, siehe:
Test beobachtete/erzeugte Verhalten einer                             http://glossar.german-testing-board.info/v3.2/
Komponente oder eines Systems unter fest-                         ›   [GTB-b] ISTQB®/GTB Lehrplan Certified Tester Foundation Level, Version 2018, siehe:
gelegten Bedingungen.                                                 https://www.german-testing-board.info/wp-content/uploads/2018/09/Lehrplan-
                                                                      Certified-Tester_Foundation-Level_Version2018.pdf
Die Beziehungen im Domänenmodell ergeben                          ›   [Spi19] A. Spillner, T. Linz, Basiswissen Softwaretest – Aus- und Weiterbildung zum Certified Tester
auch die Rückverfolgbarkeit: die Beziehung                            – Foundation Level nach ISTQB-Standard, 6., überarbeitete und akt. Auflage, dpunkt.verlag, 2019
zwischen dem Istergebnis und der Testbedin-
gung als die Arbeitsergebnisse des Testens.

Ist Ihnen aufgefallen, dass in Abbildung 1                    Eine Herausforderung ist und bleibt die                    basierten Testens aus Abbildung 2 besser
eine Entität des jungen Kollegen fehlt? Rich-                 Standardisierung der in der Praxis sehr un-                gefallen.
tig, es ist der Test, definiert als eine Menge                 terschiedlichen Terminologien. Zum Beispiel
von einem oder mehreren Testfällen. Hier                      wäre eine Einigung auf einen der beiden                    Und wenn Sie gewisse Aspekte vertiefen,
habe ich den Testablauf dem Test vorgezo-                     Begriffe „Testablauf“ und „Testskript“ wün-                wie Testautomatisierung oder Testmanage-
gen, weil dieser einen expliziten Bezug auf                   schenswert. Aber über dieses Thema spre-                   ment, wird das Domänenmodell in den je-
die Ausführung hat.                                           chen wir vielleicht ein anderes Mal.                       weiligen Bereichen wesentlich ausführlicher
                                                                                                                         werden. Mein Rat an den jungen Kollegen
Standardisierung der Terminologie                             Entwerfen Sie Ihr eigenes Modell                           ist: Ergänzen Sie die Texte im Glossar durch
                                                                                                                         ein passendes Domänenmodell. Dadurch
In diesem Zusammenhang gesehen erschei-                       Natürlich ist das nicht das einzig mögliche                werden Sie Definitionen und deren Beziehun-
nen uns die Entitäten und ihre Beziehungen                    Domänenmodell. Wenn Sie agil unterwegs                     gen besser verstehen als durch rein textliche
nicht mehr vage, sondern als eine logische                    sind, könnte Ihnen das Modell des sitzungs-                Beschreibungen.

Abb. 2: Ein Domänenmodell des sitzungsbasierten Testens (ohne Multiplizitäten)

Kette von klar abgegrenzten Arbeitsschritten
und -ergebnissen. Ein solches Modell kommt
allerdings nicht von allein. In diesem Fall ba-
siert es auf intensiven Diskussionen mit den                                                     Dr. Matthias Hamburg
zuständigen Kollegen im ISTQB, welche auch                                                       matthias.hamburg@sogeti.com
zu Verbesserungen des ISTQB-Materials in                                                         ist Managing Consultant bei der Sogeti Deutschland GmbH. Im German Tes-
[GTB-a] und [GTB-b] geführt haben. Ein ähn-                                                      ting Board (GTB) engagiert er sich ehrenamtlich und ist ihr stellvertretender
                                                                                                 Vorsitzender. Als Leiter der GTB-Arbeitsgruppe Glossar gibt er das ISTQB®/
liches Modell haben auch die Autoren des                                                         GTB Standardglossar der Testbegriffe heraus. Darüber hinaus leitet er die
Buches „Basiswissen Softwaretest“ [Spi19]                                                        Glossary Working Group beim International Software Testing Qualifications
in die neue Auflage aufgenommen.                                                                  Board (ISTQB®).

                                                                                                                                                                                 11
SICHERE SOFTWARE                                                                                                                       ARNE SCHÖNBOHM

     »BASIS EINER ERFOLGREICHEN DIGITALISIERUNG«
     Die rasant fortschreitende Digitalisierung durchdringt zunehmend Staat, Wirtschaft und Gesellschaft. Neben Erleichterungen
     im Alltag bietet sie insbesondere Unternehmen enorme ökonomische Chancen. Eine vom BDI beauftragte Studie prognosti-
     ziert ihr ein zusätzliches Wertschöpfungspotenzial in Höhe von 1,25 Billionen Euro bis 2025. Gleichzeitig müssen wir uns alle
     darüber im Klaren sein, dass die zunehmende Vernetzung auch neue Angriffsflächen für Cyber-Kriminelle schafft und uns als
     Gesellschaft und Wirtschaftsstandort verwundbarer macht. Damit wird Cyber-Sicherheit zur Voraussetzung für eine erfolgrei-
     che Digitalisierung.

     Im aktuellen Bericht zur Lage der IT-Sicher-             Die Erhöhung der Cyber-Sicherheit in allen               Softwareentwicklern und -testern kann ich
     heit in Deutschland konstatieren wir eine                Bereichen der Digitalisierung ist das zentrale           beispielsweise einen Blick auf den „Baustein
     zunehmend vielschichtige, auf hohem Niveau               Anliegen des BSI als der nationalen Sicher-              CON.8 Software-Entwicklung CD“1 im moder-
     angespannte Bedrohungslage. So ist etwa                  heitsbehörde. Die Sicherheit von Software                nisierten IT-Grundschutz des BSI empfehlen.
     die Zahl der bekannten Schadprogramme auf                spielt hier eine nicht zu unterschätzende Rol-
     über 800 Millionen gestiegen; pro Tag wer-               le, ob in Smart Home und Büro, Gesundheits-              Mit der Allianz für Cyber-Sicherheit (ACS) hat
     den rund 390.000 neue Varianten entdeckt.                wesen und öffentlicher Verwaltung, indus-                das BSI zudem das größte Selbsthilfe-Netz-
     Eines der Haupteinfallstore für Cyber-An-                trieller Fertigung oder in unseren kritischen            werk der deutschen Wirtschaft initiiert und
     griffe sind nach wie vor Sicherheitslücken in            Infrastrukturen.                                         bietet im Rahmen dieser Initiative praxisna-
     Software. Die Anzahl der bekannt geworde-                                                                         he Hilfestellungen für die Analyse von Cy-
     nen Schwachstellen in vom BSI regelmäßig                 Auf Basis seiner technisch tiefgehenden Ex-              ber-Risiken und die Umsetzung geeigneter
     betrachteten Softwareprodukten war auch                  pertise verfügt das BSI über eine integrierte            Schutzmaßnahmen. Nur wenn wir Cyber-Si-
     2018 auf einem sehr hohen Niveau und es                  Wertschöpfungskette der Cyber-Sicherheit –               cherheit und damit insbesondere auch die
     ist keine Entwarnung in Sicht. Die massiv ge-            von der Cyber-Abwehr über die Beratung und               Software-Sicherheit als Basis für das Gelin-
     stiegene Komplexität von Endanwendungen,                 Entwicklung sicherheitstechnischer Lösungen              gen der Digitalisierung begreifen, werden wir
     die Vielzahl von externen Abhängigkeiten,                bis hin zur Standardisierung und Zertifizierung.          ihre Potenziale auch ausschöpfen können.
     Geschwindigkeitsoptimierungen zulasten der
     Sicherheit oder das Fehlen von Sicherheits-
     updates seitens mancher Hersteller führen                  HINWEIS FÜR UNSERE L ESER: DER GERMAN TESTING BOARD E.V.
     dazu, dass weiterhin unsichere Software-                   IST NUN AUCH REGISTRIERTER TEILNEHMER DER A LLIANZ FÜR C YBER-SICHERHEIT

     Produkte auf den Markt gelangen.                           Das GTB als der De-facto-Standard für Weiterbildung rund um Qualitätssicherung hat
                                                                nun auch den engen Schulterschluss mit dem Bundesamt für Sicherheit in der Informati-
     Die Käufer beziehungsweise Endanwender                     onstechnik (BSI) gesucht und ist der 2012 gegründeten Allianz für Cyber-Sicherheit (ACS)
     haben in der Regel wenig Möglichkeiten,                    beigetreten.
     die IT-Sicherheit eines Softwareprodukts
     zu beurteilen oder selbst zu testen. Händ-                 Ziel dieser Allianz ist, die Widerstandsfähigkeit des Standorts Deutschland gegenüber
     ler sind daher aufgefordert, hier für die nö-              Cyber-Angriffen insgesamt zu stärken. Das GTB bringt sich hier aktiv ein, um der Wei-
     tige Transparenz zu sorgen. Insbesondere                   terbildungsdisziplin gerade im Bereich der IT-Security Nachdruck zu verleihen und um am
     sind aber die Hersteller in der Pflicht. Sie                Puls der Zeit mitzubekommen, wo die Lehrpläne des GTB gegebenenfalls erweitert, ange-
     müssen Sicherheit über den gesamten Ent-                   passt oder geändert werden müssen. Bei Fragen zu diesem Thema wenden Sie sich bitte
     wicklungsprozess hinweg mitdenken und                      an Dr. Armin Metzger.
     die Leitprinzipien „Security-by-design“ und                Dr. Armin Metzger, Geschäftsführer des GTB,
     „Security-by-default“ von Anfang an be-                    E-Mail: armin.metzger@german-testing-board.info
     rücksichtigen. Dabei ist eine strenge Quali-
     tätssicherung unabdingbar, um mögliche
     Schwachstellen oder Sicherheitsrisiken noch
     in der Entwicklung abzufangen. Ganz wich-                                                 Arne Schönbohm
     tig ist dabei, dass das Testing sich nicht auf                                            bsi@bsi.bund.de
     Funktionstests beschränkt, sondern insbe-                                                 ist seit 2016 Präsident des Bundesamts für Sicherheit in der Informations-
     sondere auch die Sicherheitsanforderungen                                                 technik (BSI). Arne Schönbohm studierte Internationales Management in
     an die jeweilige Anwendung in den Blick                                                   Dortmund, London und Taipeh und ist seit mehr als zehn Jahren in führenden
     nimmt. Zugriffsrechte, die Sicherheit der                                                 Positionen im Bereich der IT-Sicherheit tätig. Vor seiner Ernennung zum
                                                                                               BSI-Präsidenten war Arne Schönbohm mehr als drei Jahre als Präsident des
     verarbeiteten Daten, aber auch Dokumenta-                                                 2012 gegründeten Cyber-Sicherheitsrats Deutschland e.V. tätig. Er ist Autor
     tion und ein sicherer Betrieb sind unbedingt                                              diverser Bücher, darunter auch „Deutschlands Sicherheit – Cybercrime und
     zu berücksichtigen.                                                                       Cyberwar“ (2011).

     1) https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Grundschutz/IT-Grundschutz-Modernisierung/BS_Softwareentwicklung.html

12
SICHERE SOFTWARE

Euch interessiert „Qualitätssicherung
im Kontext von großen agilen Software-
entwicklungprojekten?“
In genau diesem Umfeld suchen wir Quality Engineers (m/w). Werde Teil eines
ambitionierten Projektteams und trage Deinen Teil zu einer fehlerfreien Software-
lösung bei! Eine untereinander gut vernetzte Community freut sich auf Deine
Bewerbung! Meldet euch bei: qualityengineering.qt.career@accenture.com

'HWDLOV]XXQVHUHU$UEHLWÓQGHWLKUDXIwww.accenture.de/testing oder in unserem
Artikel in diesem Magazin.

                                                                                    13
TESTS VON KÜNSTLICHEN NEURONALEN NETZEN                                                                                           JÖRG JACKISCH

     »UNITTESTS FÜR ML-CODE«
     Die sogenannten künstlichen neuronalen Netze bilden die Datenbasis jeder künstlichen Intelligenz. Diese Netze finden ihren
     Ursprung in der wissenschaftlichen Disziplin der Biologie. Lebewesen entscheiden mithilfe von Erfahrungswerten und „ge-
     lernten“ definierten Merkmalen, wie sich ihr Organismus in bestimmten Situationen zu verhalten hat. Auch künstliche neuro-
     nale Netze sollen mithilfe von immer wiederkehrenden Mustern entscheiden, wie sie auf bestimmte Signale zu reagieren haben.
     Um Fehler in der Erstellung solcher Netze zu vermeiden, muss auch hier die Software getestet werden.

     Neuronale Netze in biologischen Systemen       welchem die Knoten die künstlichen Neuro-                    neuronen i1 bis i3. Die Aktivierungsfunktion
     sind Netzwerke aus beliebig vielen Nerven-     nen sind und die Kanten die Verbindungen da-                 f(net) bestimmt in Abhängigkeit der Eingabe
     zellen. Diese werden Neuronen genannt. Je-     zwischen. Die Neuronen werden eingeteilt in                  den Wert der Ausgabe o (output). Die Aus-
     des kleine Netz ist im Zusammenschluss ein     Eingabe-, Ausgabe- und versteckte Neuronen.                  gabe kann wiederum Eingabe für ein neues
     Teil eines komplexen Nervensystems. Jedes                                                                   Neuron sein oder die Netzausgabe des kom-
     erfüllt genau eine Aufgabe. Im menschlichen    Abbildung 2 zeigt eine schematische Dar-                     pletten Netzes darstellen.
     Körper sind es nahezu 100 Milliarden Neu-      stellung eines einzelnen künstlichen Neu-
     ronen, welche ständig miteinander kommu-       rons. Die Verbindungen zwischen den Neuro-                   Die Eingabeneuronen besitzen zusätzlich ei-
     nizieren und innerhalb von Millisekunden       nen sind gewichtet. Hier sind diese Gewichte                 nen vierten Status, die sogenannte externe
     untereinander Nachrichten austauschen.         mit w1 bis w3 (weight) gekennzeichnet. Das                   Eingabe.
     Dieser Nachrichtenaustausch findet über         Gewicht der einzelnen Verbindung stellt das
     chemische und elektrische Prozesse statt.      künstliche Wissen dar. Jedes Neuron besitzt                  Deep Learning
                                                    drei Zustandswerte: die Netzeingabe, die
     Neuronale Netze                                Aktivierung und einen Wert für die Ausgabe.                  Das neuronale Netzwerk besteht nur aus ma-
                                                    Jedes Neuron hat zu seinen Statuswerten                      thematischen Funktionen. Die beschriebenen
     Die Neuronen verfügen dabei über Ein- und      auch eine zugehörige Funktion (Netzeingabe-                  Zustandswerte und zugehörigen Funktionen
     Ausgänge, diese nennt man Synapsen. Der        funktion, Aktivierungsfunktion und Ausgabe-                  führen dazu, dass das künstliche neuronale
     sendende Fortsatz, der Ausgang, wenn           funktion).                                                   Netzwerk „lernen“ kann: Durch Veränderung
     man so möchte, nennt sich Axon. Die emp-                                                                    der Gewichtung ist es möglich, die Eingangs-
     fangenden Fortsätze, die Eingänge, werden      Die Netzeingabefunktion net entspricht der                   funktion der einzelnen Neuronen auf eine be-
     Dendriten genannt. Sobald das Potenzial        Summe der einzelnen Gewichte der Eingabe-                    stimmte Aufgabe hin zu sensibilisieren.
     am Eingang einen bestimmten Schwellwert
     überschreitet, wird dies am Axon weiterge-
     leitet und mithilfe von chemischen Boten-
     stoffen an andere Neuronen weitergegeben.

     Wenn Lebewesen lernen, erhöht sich die
     Menge der ausgeschütteten Botenstoffe. Es
     entstehen weitere Eingänge an den jeweili-
     gen Empfängerstellen oder die Kontaktflä-
     chen der Synapsen wachsen. Einfach ausge-
     drückt ist Lernen bei Lebewesen die ständige
     Wiederholung einer Übung, die mit dem Ziel
     verbunden ist, die Tätigkeit zur Perfektion
     zu führen. Wenn beispielsweise Kinder in
                                                    Abb. 1: Darstellung eines künstlichen neuronalen Netzes
     der Schule das Schreiben lernen, wird jeder
     Buchstabe so lange wiederholt, bis er der
     Vorgabe entspricht.

     Mit künstlichen neuronalen Netzen werden
     biologische neuronale Netze als informa-
     tionsverarbeitende Systeme nachgeahmt.
     Dabei kann man diese im Sinne der Graphen-
     theorie darstellen.

     Abbildung 1 zeigt den schematischen Auf-
     bau eines künstlichen neuronalen Netzes. Es
                                                    Abb. 2: Schematische Darstellung eines künstlichen Neurons
     besteht aus einem gerichteten Graphen, in
14
TESTS VON KÜNSTLICHEN NEURONALEN NETZEN

Dazu werden allerdings möglichst viele Trai-      tung und die Bandbreite der Applikationen                       Mithilfe von Tests kann genau diese Zeit ge-
ningsbeispiele benötigt, aus welchen das          wird immer größer – von Verkehrszeichen-                        spart werden und es können mögliche einfa-
Netzwerk seine „Erfahrung“ erzeugen kann.         erkennung bis hin zu medizinischen Unter-                       che Fehler vermieden werden. Beim Erstellen
Innerhalb der vergangenen Beispiele und Ver-      suchungen. Diese Applikationen und der Al-                      von neuronalen Netzen können nämlich Feh-
suche wird dabei bestimmt, welches Neuron         gorithmus des Lernens der jeweiligen Netze                      ler entstehen, die mit statischen Methoden
aktiviert werden muss, um dazu beizutragen,       müssen wie andere Systeme auch getestet                         wie dem Lesen des Programmcodes nur
möglichst immer die richtige Programmfunk-        werden.                                                         schwierig auffindbar sind. In der Regel sind
tion zu nutzen.                                                                                                   das dann algorithmische Fehler oder Fehler
                                                  Heutzutage ist das Erstellen neuronaler                         bei der Einstellung der Zustandsvariablen in-
Dieses Training kann man theoretisch so           Netzwerke kein großes Problem mehr: Man                         nerhalb des Netzes.
lange vollziehen, bis die Parameter so ein-       nimmt sich ein Framework (z. B. Caffe2), liest
gestellt sind, dass die Erfolgschance nahezu      sich in die Dokumentationen ein und beginnt                     In der Regel findet man diese Fehler erst,
100 Prozent erreicht.                             mit der Entwicklung.                                            wenn man die Werte über einen längeren
                                                                                                                  Zeitraum gesammelt hat und diese dann
Deep Learning ist eine junge Teildisziplin des    Das Prinzip ist unabhängig vom jeweiligen                       auswertet. Man stellt dann aber nur fest,
maschinellen Lernens. Deep Learning ver-          Framework immer recht ähnlich: Man legt ei-                     dass das Training des Netzes nicht zum ge-
wendet künstliche neuronale Netzwerke und         nen Zielzustand fest und gibt dem Netzwerk                      wünschten Ziel geführt hat.
sehr große Datenmengen, um ein gegebenes          möglichst viele Daten. Das Netzwerk ver-
Ziel zu erreichen. Das Ziel ist die direkte Ab-   sucht nun, durch Veränderung der Zustands-                      Um diese Schwierigkeit zu demonstrieren,
bildung der Mechanismen unseres Gehirns.          werte und der Gewichtung das gegebene Ziel                      zeigt Listing 1 einen Code aus dem Git-
Auf Grundlage von bereits gesammelten In-         zu erreichen. Ob es einen Fehler oder eine                      Hub-Repository von Chase Roberts (siehe
formationen kann das System das Erlernte          Fehleinstellung gab, kann man feststellen,                      auch [Rob17]). Chase Roberts nutzt hier
immer wieder mit neuen Informationen ver-         nachdem das Netz das Lernen abgeschlos-                         die Plattform TensorFlow und die Program-
binden und somit wiederum „lernen“. Damit         sen hat und man die Ergebnisse interpretie-                     miersprache Python. TensorFlow ist eine
ist das neuronale Netz dazu in der Lage, Pro-     ren kann. Wenn dann ein Fehler festgestellt                     Open-Source-Plattform, um maschinelles
gnosen oder Entscheidungen zu treffen und         wird, muss man diesen korrigieren und den                       Lernen mithilfe unterschiedlicher Tools aus-
diese auch zu hinterfragen.                       Lernprozess erneut starten.                                     zuführen.

Deep Learning verbindet Big Data mit den
Algorithmen, die auf künstlichen neuro-
nalen Netzwerken angewendet werden.
Die Daten aus sehr großen Datenbanken
werden normalisiert und die Merkmale
extrahiert. Danach werden die Ergebnisse
erzeugt und wiederum in das Netzwerk ge-
geben, um ein noch besseres Ergebnis zu
erzielen.

Deep Learning eignet sich dort besonders
gut, wo große Datenmengen nach Patterns
untersucht werden müssen. Aktuelle An-
                                                  Listing 1: In Python geschriebenes Convolutional (faltendes) neuronales Netz mit einem Fehler, nach Roberts
wendungsbeispiele sind die Gesichts- und
die Spracherkennung. Besonders bei Letzte-
rem kann man den Prozess des Deep Lear-
nings sehr gut beobachten: Je öfter man mit
dem Sprachassistenten von Apple spricht,
desto besser kann Siri reagieren, teilweise
sogar auf Dialekte. Die aufgenommenen Si-
gnale (in diesem Fall die Sprache) werden
wieder in das Netzwerk geschickt, wodurch
neue Sprachkonstrukte gelernt werden kön-
nen und der Wortschatz stetig erweitert
wird.

Wie testet man Lernen?

Die Verwendung von Algorithmen des Deep
Learnings mithilfe von künstlichen neurona-
                                                  Listing 2: Fehlersuche nach Roberts, Test der Variablen vorher und nach dem Training
len Netzwerken findet immer mehr Verbrei-
                                                                                                                                                                  15
TESTS VON KÜNSTLICHEN NEURONALEN NETZEN

        Referenzen
        ›   [Knn] Künstliche Neuronale Netze – Das Gehirn hinter der KI, Meta Level Software AG, siehe:
            https://www.meta-level.de/kuenstliche-neuronale-netze-knn/
        ›   [Rob17] Chase Roberts, How to unit test machine learning code, 19.10.2017, siehe:
            https://medium.com/@keeper6928/how-to-unit-test-machine-learning-code-57cf6fd81765
        ›   [Wiki] https://de.wikipedia.org/wiki/Neuronales_Netz

                                                                                                                      der einzelnen Neuronen vorher und hinterher
                                                                                                                      verglichen.

                                                                                                                      Listing 2 zeigt genau diesen Programmaus-
                                                                                                                      schnitt. Er erstellt dafür das Netz, startet
                                                                                                                      die Trainings-Session und speichert alle
                                                                                                                      Variablen, welche trainiert werden sollen
                                                                                                                      in die Variable before (Zeile 6). Nach der
                                                                                                                      Trainingssession werden alle in die Variable
                                                                                                                      after (Zeile 10) gespeichert. Innerhalb der
                                                                                                                      for-Schleife in Zeile 11 können diese dann
                                                                                                                      verglichen werden. In diesem Test und die-
     Listing 3: Test auf trainierte Variablen nach Roberts
                                                                                                                      sem einmaligen Trainingszyklus kann man
                                                                                                                      mit einem einfachen assert() feststellen,
                                                                                                                      dass sich alle Variablen verändert haben und
                                                                                                                      trainiert wurden.

                                                                                                                      Listing 3 demonstriert einen weiteren einfa-
                                                                                                                      chen und dennoch sehr wirksamen Test. Da-
                                                                                                                      bei wird geprüft, dass nur genau die Variablen
                                                                                                                      verändert werden, die man auch trainiert hat.

                                                                                                                      Der Optimizer hat eine Option, um alle Vari-
                                                                                                                      ablen zu verändern. Dies ist ein häufiges
                                                                                                                      Problem, welches jedoch kaum auffällt. Lis-
                                                                                                                      ting 4 zeigt einen Test, mit dem dies geprüft
                                                                                                                      wird. Dabei werden die Variablen vorher und
                                                                                                                      nachher verglichen (siehe Zeilen 15 und 18).

                                                                                                                      Fazit

                                                                                                                      Da bei neuronalen Netzwerken sowohl Ent-
                                                                                                                      wickler als auch Tester nahezu nur Black-Box-
     Listing 4: Test nach Roberts
                                                                                                                      Tests erstellen können, sind alle Stunden,
                                                                                                                      welche man in das Programmieren von Tests
     In Listing 1 wird mit sogenannten Convo-                 der Fehlersuche ist Chase Roberts nun wie               investiert, diese auch Wert. Eine Stunde Tes-
     lutional Layern und den dazugehörigen Poo-               folgt vorgegangen, er hat einen einzigen                ten spart tagelanges Training des fehlerhaf-
     ling-Layern ein neuronales Netz aufgebaut,               Trainingszyklus durchlaufen und die Werte               ten Netzes in der Ausführung.
     welches zum Beispiel zur Bildererkennung
     genutzt werden kann. Das in Python ge-
     schriebene neuronale Netz enthält einen
     Fehler: Es ist nicht gestapelt und anstelle
     der Variable net wird oftmals der Parameter
     input_image verwendet (siehe Zeilen 3,
     5, 6, 8, 10).                                                                            Jörg Jackisch
                                                                                              jackisch.joerg@googlemail.com
     Diesen Fehler während der Ausführung                                                     ist Diplom-Informatiker. Er stammt aus Chemnitz und wohnt und arbeitet
                                                                                              heute im Süden Münchens. Seit mehr als zehn Jahren ist Jörg Jackisch im
     zu entdecken, ist recht schwierig, da er                                                 Bereich der Softwareentwicklung tätig. Er beschäftigt sich hauptsächlich mit
     sich nicht in einem Absturz, sondern nur                                                 dem Design und der Entwicklung komplexer Architekturen von Webanwen-
     in schlechten Trainingswerten äußert. Bei                                                dungen.

16
Sie können auch lesen