3 Min. Lesezeit

Codequalität, Metriken und Mindset für Studierende

Codequalität, Metriken und Mindset für Studierende

Softwaretesten wirkt anfangs abstrakt. In realen Systemen bekommt es Kontur: ein Pizza-Shop im Kubernetes-Cluster, durchgängige Pipelines und Observability machen Qualität sichtbar. Im Fokus stehen TDD, Pair- und Mob-Programming, BDD und Architektur als Hebel für Testbarkeit. Konzeptionelles Denken schlägt Toolwissen, ordnet Risiken, Metriken und Coverage-Fallen ein. Thema sind auch Altcode, aussagekräftige Logs, Security, Usability und Performance, samt DSGVO-Pragmatik. KI dient als Werkzeug, Verantwortung bleibt beim Commit. Wer Qualität früh verankert, trägt sie in Teams und Unternehmen weiter. So entsteht eine Praxis, die robuste Software fördert und Lernen über den Moment hinaus sichert. Das macht Qualität zur gemeinsamen Arbeit, nicht zur Pflichtübung.

Podcast Episode: Codequalität, Metriken und Mindset für Studierende

In dieser Episode spreche ich mit Kai Renz über Softwaretesten in der Hochschule. Er zeigt, warum Tests am Anfang schwer zu vermitteln sind und wie komplexe Praxisprojekte - ein Pizza-Shop im Kubernetes-Cluster - den Sinn greifbar machen. Wir reden über TDD, Pair- und Mob-Programming, BDD und warum konzeptionelles Verständnis wichtiger ist als Toolwissen. Architektur als Hebel für Testbarkeit und der Umgang mit Altcode, Metriken und Coverage-Fallen. KI im Studium? Erlaubt, aber verantwortungspflichtig - wer Code committet, muss ihn verstehen.

"Es ist ziemlich schwer, Studierenden Testen beizubringen, insbesondere natürlich ganz am Anfang." - Kai Renz

Prof. Dr. Kai Renz ist Professor für Software-Engineering am Fachbereich Informatik der Hochschule Darmstadt. Er beschäftigt sich vor allem mit dem Themengebiet "Agile Entwicklung". In seinen Vorlesungen und Praktika werden dazu Scrum, Kanban und Extreme Programming (XP) vermittelt und erforscht. Einen weiteren Schwerpunkt bildet die Beschäftigung mit dem Thema "Professionelles Testen". Im Juni 2019 wurde Prof. Renz mit dem Lehrpreis (2. Preis) der Hochschule Darmstadt ausgezeichnet. Seit 2022 ist Kai Renz auch zertifizierter Scrum Master.

apple spotify youtube

Highlights der Episode

  • Konzeptionelles Testverständnis schlägt Toolwissen
  • Architektur beeinflusst Testbarkeit und Qualität stark
  • Metriken wie Coverage täuschen, sinnvolle Tests liefern Qualität
  • TDD, BDD und Pair Programming fördern sauberen Code und Verständnis
  • KI ist erlaubt, Beitragende verstehen und verantworten den Code

Software-Testen an Hochschulen: Zwischen Theorie, Praxis und Künstlicher Intelligenz

Testen – ein schwieriger Start

Viele Studierende starten ihr Informatikstudium mit Begeisterung fürs Programmieren. Das Thema Software-Testen bleibt dabei oft am Rand. Professor Kai Renz von der Hochschule Darmstadt beschreibt genau dieses Problem: Wer gerade erst gelernt hat, eine Funktion zu schreiben, versteht nicht sofort, warum man einen Test braucht. Anfangs sind die Aufgaben im Studium überschaubar. Was funktioniert, scheint einfach überprüfbar zu sein. Die Notwendigkeit von Tests erscheint daher erst einmal seltsam.

Studierende fragen sich: Warum soll ich Code testen, den ich selbst frisch geschrieben habe und den sogar eine KI wie ChatGPT als korrekt bewertet? Erst später begreifen sie, wie wichtig Qualitätssicherung ist – vor allem in komplexen Projekten. Der Übergang von kleinen Übungen zu realen Herausforderungen ist der Schlüssel. Im Praktikum etwa simulieren Teams einen Pizza-Shop mit echter Infrastruktur. Plötzlich sind Tests wie Integrationstests notwendig. Einige verstehen dann den Nutzen schnell, andere machen nur, was für die Bewertung nötig ist.

Testarten und Praxis: Das richtige Maß finden

Im Unterricht lernen die Studierenden alle wichtigen Testarten: Unit-Tests, Integrationstests, End-to-End-Tests und UI-Tests. Der Fokus liegt dabei nicht nur auf Technik und Tools, sondern auf dem richtigen Aufbau und dem konzeptionellen Verständnis. Tools wechseln schnell, das Grundwissen bleibt.

Professor Renz setzt auf Methoden wie Test-Driven Development (TDD). Der Clou: Zuerst schreibt das Team einen Test, dann erst die eigentliche Funktion. Diese Herangehensweise sorgt für spannende Diskussionen, etwa ob ein Test überhaupt möglich ist, wenn die Funktion noch gar nicht existiert. Die Methode zwingt alle, ihre Anforderungen und Zielstellungen klar zu formulieren. Peer-Programming und Coding-Sessions im Hörsaal helfen dabei, voneinander zu lernen.

Auch Behavior-Driven Development (BDD) kommt zum Einsatz. Es verbindet technische Tests mit der Nutzerperspektive. Das Wahlpflichtfach „Professionelles Testen“ führt die Studierenden durch verschiedene Programmiersprachen, Tools und Testarten bis hin zu UI-Tests mit Playwright. Viele Absolventen berichten, dass sie ihr Wissen direkt im Beruf anwenden können – oft sogar besser als manch erfahrener Kollege.

Architektur und Testbarkeit – der lange Weg zur Qualität

Gute Tests brauchen eine passende Architektur. Wird die Businesslogik zu eng mit Datenbank oder Infrastruktur vermischt, wird das Testen kompliziert. In der Theorie klingt das spätestens für erfahrene Entwickler sinnvoll. Für Studierende ist es dagegen schwer nachvollziehbar, warum sie Klassen sauber voneinander trennen sollen – besonders, wenn es nach Overhead aussieht.

In der Praxis erlebt Professor Renz, dass Firmen oft alte Software ohne ausreichende Tests haben. Refactoring ohne Absicherung ist riskant: keine sauberen Unit-Tests, keine zuverlässige Architektur. Teams bauen dann neue Teile korrekt auf und übertragen Stück für Stück das Qualitätsbewusstsein auf den Bestand. Aber es braucht Zeit, Geduld und einen offenen Dialog – vor allem über Qualität.

Nicht-funktionale Tests und Interdisziplinarität

Performance, Usability und Security sind für die Qualität ebenso wichtig wie Funktionalität. An der Hochschule Darmstadt gibt es eigene Veranstaltungen zum Thema IT-Security und Human-Computer-Interaction. Eine stärkere Verzahnung der Lehrangebote ist geplant, aber organisatorisch herausfordernd. Das Bewusstsein für Performance-Tests, Usability und Security wird geweckt, aber die Vertiefung findet erst im Berufsalltag statt.

Künstliche Intelligenz: Fluch, Segen und Lernchance

KI-Tools wie ChatGPT sind für viele Studierende längst Alltag. Manche nutzen sie für die Hausaufgaben, andere entwickeln Eigeninitiative. Prüfungen ohne Internetzugang setzen klare Grenzen. Entscheidend ist, dass Studierende selbst wissen, was ihr Code macht. Professor Renz sieht es entspannt, solange die Verantwortung für das Ergebnis bleibt.

Das Bewusstsein wächst: Wer KI einfach nur nutzt, ohne eigenes Verständnis, wird im Beruf nicht bestehen. Die wertvollen Fähigkeiten liegen in Kommunikation, im Verständnis von Anforderungen und in der Kontrolle der Resultate.

Software-Testen als Zukunftsskill

Die Hochschulausbildung in Software-Testen ist anspruchsvoll, aber essentiell. Studierende lernen Technik, Methoden und das richtige Mindset für Qualität. Die Verbindung von Theorie und Praxis ist oft herausfordernd und macht doch den Unterschied. Frischer Wind aus der Forschung, Offenheit für Neues und das kontinuierliche Hinterfragen – all das bringt Qualität in die Software und ins Team.

Ein gut vermitteltes Testverständnis sorgt dafür, dass Studierende nicht nur als Anwender von Technik, sondern als kritische Gestalter und Qualitätsbewusste in die Firmen kommen. Genau das brauchen wir für gute, sichere Software in der Zukunft.

Testautomatisierung von Mobile Apps

Testautomatisierung von Mobile Apps

Podcast Episode: Testautomatisierung von Mobile Apps Manchmal scheitert der erste Anlauf der Testautomatisierung. Doch neben dem Frust und der...

Weiterlesen
Kriminelle finden jede Lücke

Kriminelle finden jede Lücke

Podcast Episode: Kriminelle finden jede Lücke Cyber-Sicherheit ist heute wichtiger denn je. Hackerangriffe stehen auf der Tagesordnung. Ein Beispiel...

Weiterlesen
Domain Storytelling – Verstehe den Anwender

Domain Storytelling – Verstehe den Anwender

Podcast Episode: Domain Storytelling – Verstehe den Anwender Domain Storytelling ist eine praktische und benutzerzentrierte Methode, bei der Anwender...

Weiterlesen