PROFESSIONELLES TESTEN IN ZEITEN DER DIGITALEN TRANSFORMATION - Sigs Datacom
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
– 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.
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
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
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
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
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
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
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
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
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