Zum Inhalt springen
  • Von: Christian Luda
  • Veranstaltung PL/SQL
  • 24.09.2020

Berliner Expertenseminar: "Stabil unterwegs – Automatisierte Tests in der Oracle-Datenbank"

Am 13. und 14. Oktober dreht sich beim Expertenseminar mit Samuel Nitsche alles um automatisierte Tests. Wir haben mit dem Experten vorab ein Interview geführt.

Samuel, am 13. und 14. Oktober 2020 haben wir die Ehre, dich als Referent beim Berliner Expertenseminar begrüßen zu dürfen. An wen richtet sich dein Seminar? Welche Vorkenntnisse sollten die Teilnehmer mitbringen und auf welche neuen Erkenntnisse können sie sich freuen?

Die Ehre – und Freude – ist ganz meinerseits. Da ich selbst Software-Entwickler bin, richtet sich auch mein Seminar in erster Linie an Entwickler. Grundlegende Kenntnisse in SQL und PL/SQL sollten schon vorhanden sein. Dafür hoffe ich aber, dass ich einen ganz neuen Blick eröffne, wie die Entwicklung von Software mit Hilfe von automatisierten Tests unterstützt werden kann.
Das ist tatsächlich auch der Fokus des Seminars: Teilnehmer werden danach nicht zu professionellen Software-Testern, aber sie lernen automatisierte Tests als natürliches und nützliches Werkzeug in ihrem Entwicklungsprozess zu benutzen.
Dabei geht es nicht einmal immer um den offensichtlichen Vorteil automatisierter Tests, nämlich zu prüfen, ob bestimmte Funktionalitäten auch nach Änderungen immer noch genauso funktionieren wie zuvor. Es geht auch darum, wie Tests die Art und Weise des Programmierens verändern und beeinflussen. Auch das werden wir uns im Laufe des Seminars anschauen.
Natürlich geht es auch um ein bestimmtes Werkzeug - nämlich das freie PL/SQL Testing-Framework utPLSQL - das wir kennenlernen und benutzen werden.

Du bist seit fast 20 Jahren Softwareentwickler. Wann hast du angefangen, dich intensiv mit dem Thema Automatisiertes Testen zu beschäftigen und was fasziniert dich insbesondere an diesem Bereich?

Ich wünschte, ich hätte schon viel früher gelernt, welche Vorteile der Einsatz automatisierter Tests für die Softwareentwicklung bietet - das hätte vermutlich einige Dinge vereinfacht.
Tatsächlich habe ich erst vor ca. 3,5 Jahren begonnen, massiv automatisierte Tests einzusetzen. Damals hatte ich meinen Job gewechselt und ein Legacy-Projekt übernommen, der früher verantwortliche Entwickler hatte das Unternehmen verlassen und meine Aufgabe war es, die vorhandene Im- und Export-Schnittstelle zu SAP zu erweitern. Mir war sofort klar: Wenn ich hier einen Fehler mache, dann habe ich ein richtig dickes Problem mit meinen Daten und das hat schwerwiegende Auswirkungen auf beide Systeme.
Daher war mein erster Schritt, die existierende Funktionalität zu verstehen und sicher zu stellen, dass diese Funktionalität auch nach meinen Änderungen noch genau so gegeben war. Und am Besten geht das nun mal mit programmierten Checks, die automatisiert immer und immer wieder per Knopfdruck wiederholt werden können.
Seither habe ich zahlreiche Möglichkeiten entdeckt, wie ich diese Hilfsmittel gewinnbringend in meinem Entwicklungsprozess integrieren kann.
Ich bin dabei weit davon entfernt, die Expertise eines professionellen Testers zu haben, das ist aber auch gar nicht mein Ziel, das ist ein anderes Skillset. Aber ich habe gemerkt, dass ich von Testern sehr viele Dinge lernen kann, die mich in der Programmierung weiterbringen.
Das stimmt auch mit modernen Trends wie DevOps, Continuous Integration, Mob-Programming etc. überein: Testing ist ein wichtiger Teil des Software Entwicklungsprozesses und im Gegensatz zu früher wird dieser Teil immer weiter nach vorne verlagert. Dies wird auch “Linksverschiebung” oder englisch "Shifting Left" genannt und ist notwendig, wenn die Zeit von der Idee bis zur Auslieferung eines Features verkürzt werden soll.
In vielen Bereichen der Softwareentwicklung ist der frühzeitige Einsatz automatisierter Tests nicht mehr weg zu denken. In der Datenbankentwicklung hinken wir diesem Selbstverständnis ein wenig hinterher, aber auch hier bemerkt man einen Wandel, weil einfach auch die Anforderungen an Datenbanken viel mehr von kurzfristigen Änderungen, Anpassungen und ständiger Veränderung geprägt sind als noch vor 20 Jahren.

Deine Vorträge sind nicht nur geprägt von deiner Expertise, sondern auch von einer guten Portion Entertainment. Was macht für dich gutes Edutainment aus?

Lernen ist generell schwierig und anstrengend. Es bedeutet Veränderung, es bedeutet oft auch das Hinterfragen von Dingen, die wir bisher als selbstverständlich betrachtet haben. Gerade bei abstrakten Themen in der Softwareentwicklung fehlt uns auch oft der konkrete, praktische Bezug und damit ein wichtiger Motivationspunkt: Warum soll ich das, was bisher ganz gut funktioniert hat durch etwas ersetzen, das ich erst einmal mühsam lernen und üben muss?
Durch "Entertainment" versuche ich zum einen, dem ganzen Lernprozess, der ganzen Anstrengung, die notwendig ist, etwas mehr Leichtigkeit zu verpassen. Lachen ist gut, fördert die Sauerstoffzufuhr und ich finde es sehr entspannend, wenn nicht alles so ernst daher kommt – gerade im Zuge eines Vortrags.
Zum anderen versuche ich, eine Verknüpfung zu einer praktischen Situation herzustellen. Oft erzähle ich aus der Perspektive eines Entwicklers, der ein konkretes Problem lösen muss. Dieses kann er nicht einfach umgehen, weil es ihm "von oben" aufgezwungen wird. Er muss also eine andere Lösung innerhalb seiner Möglichkeiten finden. Das ist oftmals in unserer Arbeit als Entwickler sehr ähnlich: Wir müssen oft mit Situationen und Problemen umgehen, die nicht ideal sind, die aber außerhalb unseres Einflussbereichs liegen.
Im Idealfall schafft diese Geschichte, die ich in meine Vorträge einbette, eine gewisse emotionale Verbindung oder einen Wiedererkennungs-Effekt: Hey, so ein ähnliches Problem habe ich auch! Das wiederum ist sehr hilfreich, um neue Informationen auch zu behalten, da gleich eine ganze Reihe von Verknüpfungen im Gehirn gebildet werden. Und Spaß macht es auch: ich habe es schon immer geliebt, Geschichten zu erzählen.

Bei deinen Vorträgen erlebt man dich oft in Sith-Robe – warum gerade als Sith und nicht als Jedi?

Ich könnte jetzt etwas darüber erzählen, dass die dunkle Seite mehr Möglichkeiten bietet, negative Stereotypen abzubilden, Spannung aufzubauen und dann im Vortrag wieder aufzulösen, aber das wäre nicht ehrlich.
Der simple Grund ist der, dass ich unbedingt ein "Star Wars"-Setting für meinen ersten Vortrag haben wollte und es einfacher und günstiger war, eine Sith- statt einer Jedi-Robe zu besorgen. Damit entstand mein Charakter "Darth Ora" und auf diesen habe ich einfach immer weiter aufgebaut.

Samuel, vielen Dank für das Gespräch.

Alle Details zum Berliner Expertenseminar mit Samuel Nitsche finden Sie hier.

Hier finden Sie zudem ein DOAG.tv-Interview mit Samuel Nitsche und Sabine Heimsath zum Thema Sicherheit in PL/SQL.