Professionelle Softwareentwicklung - Testgetriebenes Coden mit KI-Unterstützung und Agentic Coding - aiMOOC


Professionelle Softwareentwicklung - Testgetriebenes Coden mit KI-Unterstützung und Agentic Coding - aiMOOC
Einleitung
Professionelle Softwareentwicklung: Testgetriebenes Coden mit KI-Unterstützung und Agentic-Coding zeigt Dir, wie moderne Softwareentwicklung systematisch, überprüfbar und verantwortungsvoll gestaltet wird. Im Mittelpunkt steht die Verbindung von testgetriebener Entwicklung, Softwarequalität, KI-Unterstützung und agentischen Arbeitsweisen. Du lernst, warum professionelle Teams nicht einfach nur Code erzeugen, sondern Anforderungen klären, Tests formulieren, Implementierungen prüfen, Risiken kontrollieren und Verbesserungen nachvollziehbar dokumentieren.
Das Thema ist besonders wichtig, weil Large Language Models und KI-Agenten die tägliche Arbeit von Entwicklerinnen und Entwicklern verändern. Ein Chatbot kann einzelne Codevorschläge machen, ein Coding-Agent kann dagegen Aufgaben planen, Dateien lesen, Code verändern, Tests ausführen und aus Fehlermeldungen neue Schritte ableiten. Gerade deshalb braucht professionelle Softwareentwicklung klare Leitplanken: verständliche Anforderungen, automatisierte Tests, Versionsverwaltung, Code-Review, Continuous Integration und eine bewusste Verantwortung des Menschen.
Der Begriff Agentic-Coding ist im deutschsprachigen Fachgebrauch noch nicht abschließend normiert. In diesem aiMOOC bezeichnet er eine strukturierte Form der KI-gestützten Softwareentwicklung, bei der ein KI-System nicht nur einzelne Vorschläge liefert, sondern mehrschrittige Entwicklungsaufgaben in einer kontrollierten Schleife aus Planung, Umsetzung, Test, Korrektur und menschlicher Prüfung bearbeitet. Der Mensch bleibt dabei verantwortlich für Zielsetzung, Architektur, Datenschutz, Sicherheit, Lizenzfragen und Abnahme.
{{#ev:youtube| https://www.youtube.com/watch?v=m4UL4ztoLRU |500|center}}
Lernziele
Nach diesem aiMOOC kannst Du erklären, wie TDD funktioniert, warum Tests vor dem Produktivcode geschrieben werden und wie der Red-Green-Refactor-Zyklus professionelle Entwicklung unterstützt. Du kannst sinnvolle Testfälle aus Anforderungen ableiten, KI-Werkzeuge gezielt als Unterstützung einsetzen und beurteilen, wann ein KI-Agent produktiv hilft und wann menschliche Kontrolle unverzichtbar bleibt.
- TDD verstehen: Du beschreibst den Ablauf von rotem Test, grüner Implementierung und Refactoring.
- Unit-Tests entwerfen: Du formulierst prüfbare Erwartungen an Funktionen, Klassen oder Schnittstellen.
- KI gezielt nutzen: Du erstellst klare Arbeitsaufträge für KI-Tools und bewertest deren Ergebnisse kritisch.
- Agentic-Coding einordnen: Du unterscheidest zwischen spontaner KI-Nutzung und strukturierter agentischer Entwicklung.
- Qualität sichern: Du nutzt Tests, Reviews und CI-Pipelines als objektive Feedbacksysteme.
- Architektur schützen: Du erkennst Risiken durch ungeprüfte KI-Änderungen in größeren Codebasen.
- Verantwortung übernehmen: Du berücksichtigst Datenschutz, Sicherheit, Urheberrecht und Teamstandards.
Vom Vibe-Coding zum Agentic-Coding
Vibe-Coding beschreibt eine eher spontane Arbeitsweise: Eine Person beschreibt ungefähr, was sie haben möchte, lässt die KI Code erzeugen und probiert aus, ob das Ergebnis ungefähr passt. Diese Arbeitsweise kann beim Experimentieren, beim Lernen oder beim schnellen Prototyping hilfreich sein. Sie ist aber riskant, wenn Anforderungen unklar bleiben, Tests fehlen oder der erzeugte Code ungeprüft in ein echtes Repository übernommen wird.
Agentic-Coding ist anspruchsvoller. Ein KI-Agent erhält ein klares Ziel, analysiert den vorhandenen Code, plant Teilschritte, verändert Dateien, führt Tests aus und passt die Lösung an. Damit diese Arbeitsweise professionell bleibt, braucht sie Regeln. Ohne Tests kann ein Agent schnell Code erzeugen, der überzeugend aussieht, aber verdeckte Fehler enthält. Mit Tests wird der Auftrag messbar: Die Software soll nicht nur plausibel wirken, sondern definierte Bedingungen erfüllen.
| Arbeitsweise | Typisches Merkmal | Nutzen | Risiko |
|---|---|---|---|
| Vibe-Coding | Schnelles Ausprobieren mit natürlicher Sprache | Kreative Ideen, Prototypen, Lernhilfe | Unklare Anforderungen, fehlende Tests, schwer prüfbare Qualität |
| KI-unterstützte Programmierung | Mensch fragt gezielt nach Vorschlägen, Erklärungen oder Codefragmenten | Produktivitätsgewinn bei klarer Kontrolle | Übernahme falscher Annahmen oder veralteter Bibliotheken |
| Agentic-Coding | KI-Agent plant und bearbeitet mehrschrittige Entwicklungsaufgaben | Automatisierte Schleifen aus Änderung, Test und Korrektur | Fehlerfortpflanzung, Regressionen, Sicherheits- und Architekturprobleme ohne Review |
Testgetriebene Entwicklung
Testgetriebene Entwicklung bedeutet, dass Tests konsequent vor oder spätestens unmittelbar mit dem zu testenden Produktivcode entstehen. Du beginnst also nicht mit der Implementierung, sondern mit einer präzisen Erwartung: Was soll die Software leisten? Welche Eingabe führt zu welchem Ergebnis? Welche Fehlerfälle müssen abgefangen werden?

Der klassische TDD-Zyklus besteht aus drei Phasen. In der Red-Phase schreibst Du einen Test, der zunächst fehlschlagen muss, weil die Funktion noch nicht existiert oder noch falsch arbeitet. In der Green-Phase schreibst Du nur so viel Produktivcode, dass der Test besteht. In der Refactor-Phase verbesserst Du die Struktur des Codes, ohne das getestete Verhalten zu verändern. Dadurch wird Software schrittweise aufgebaut, überprüft und verbessert.
- Red: Ein neuer Test beschreibt ein gewünschtes Verhalten und schlägt zunächst fehl.
- Green: Der Code wird minimal so ergänzt, dass der Test besteht.
- Refactor: Der Code wird lesbarer, wartbarer und sauberer strukturiert, ohne die Funktion zu verändern.
Warum Tests vor dem Code helfen
Tests vor dem Code zu schreiben verändert das Denken. Du fragst nicht zuerst: „Wie programmiere ich das?“, sondern: „Woran erkenne ich, dass die Lösung korrekt ist?“ Diese Perspektive macht Anforderungen genauer. Sie verhindert, dass Du nur den glücklichen Standardfall beachtest, und zwingt Dich dazu, Grenzfälle, Fehlerfälle und fachliche Regeln zu klären.
Ein guter Test ist klein, verständlich und reproduzierbar. Er prüft nicht alles auf einmal, sondern eine konkrete Erwartung. In professionellen Teams werden Tests außerdem automatisiert ausgeführt. Dadurch erkennt das Team schnell, ob eine Änderung alte Funktionen beschädigt hat. Solche unbeabsichtigten Fehler nennt man Regressionen. Ein guter Testsatz wirkt wie ein Sicherheitsnetz für Refactoring, Erweiterungen und KI-generierte Änderungen.
Beispiel: Anforderung als Test denken
Eine Anforderung wie „Nutzerinnen und Nutzer können Aufgaben als erledigt markieren“ ist noch zu ungenau. Testgetrieben gedacht wird daraus eine überprüfbare Erwartung. Der Test beschreibt einen Zustand vor der Aktion, die Aktion selbst und das erwartete Ergebnis nach der Aktion.
Anforderung: Eine Aufgabe kann als erledigt markiert werden. Vorbedingung: Eine neue Aufgabe hat den Status offen. Aktion: markiereAlsErledigt wird aufgerufen. Erwartung: Der Status der Aufgabe ist erledigt. Fehlerfall: Eine bereits archivierte Aufgabe darf nicht verändert werden.
Wenn Du eine KI einsetzt, sollte sie genau solche Erwartungen erhalten. Dann erzeugt sie nicht nur beliebigen Code, sondern arbeitet auf ein prüfbares Ziel hin. Noch besser ist es, wenn Du die KI zuerst Tests schreiben lässt, diese Tests selbst kontrollierst und anschließend die Implementierung erzeugen lässt.
KI-Unterstützung beim testgetriebenen Coden
KI kann Dich im TDD-Prozess an vielen Stellen unterstützen. Sie kann Anforderungen in mögliche Testfälle übersetzen, Grenzfälle vorschlagen, Testdaten erzeugen, Fehlermeldungen erklären, Refactoring-Ideen anbieten oder Dokumentation formulieren. KI ersetzt dabei nicht das fachliche Urteil. Sie beschleunigt Denk- und Schreibarbeit, aber sie garantiert keine Richtigkeit.
Besonders nützlich ist KI, wenn Du ihr klare Rollen gibst. Sie kann beispielsweise als Testfall-Analyst, Code-Reviewer, Refactoring-Assistent oder Dokumentationshilfe eingesetzt werden. Jede Rolle braucht einen klaren Auftrag und eine klare Grenze. Ein professioneller KI-Auftrag enthält Ziel, Kontext, relevante Dateien, Qualitätsregeln, erlaubte Änderungen, Teststrategie und erwartete Ausgabe.
Ziel: Implementiere die Validierung einer E-Mail-Adresse. Kontext: Nutze die bestehende Klasse UserRegistration. Grenzen: Keine neuen Bibliotheken ohne Begründung. Tests: Schreibe zuerst Unit-Tests für gültige, ungültige und leere Eingaben. Prüfung: Führe die Tests aus und erkläre jede Codeänderung. Review: Warte auf menschliche Freigabe vor dem Commit.
Agentic-Coding als kontrollierter Entwicklungsprozess
Beim Agentic-Coding arbeitet die KI nicht nur auf Zuruf, sondern in einer Schleife. Sie plant, handelt, beobachtet Ergebnisse und passt ihren nächsten Schritt an. Diese Schleife kann sehr produktiv sein, wenn sie in eine professionelle Umgebung eingebettet ist. Dazu gehören ein separates Arbeitsbranch, automatisierte Tests, kleine Aufgabenpakete, klare Akzeptanzkriterien, ein nachvollziehbares Änderungsprotokoll und menschliche Reviews.

| Schritt | Aufgabe des Menschen | Aufgabe des KI-Agenten | Qualitätskontrolle |
|---|---|---|---|
| Ziel klären | Fachliches Problem, Nutzen und Grenzen beschreiben | Rückfragen und Annahmen formulieren | Akzeptanzkriterien prüfen |
| Tests planen | Relevante Fälle priorisieren | Testfälle und Testdaten vorschlagen | Tests fachlich kontrollieren |
| Implementieren | Architekturregeln vorgeben | Codeänderungen in kleinen Schritten durchführen | Unit-Tests ausführen |
| Fehler korrigieren | Kritische Entscheidungen treffen | Fehlermeldungen analysieren und Patches vorschlagen | Regressionstests ausführen |
| Review und Freigabe | Code, Sicherheit und Wartbarkeit bewerten | Änderungen erklären und Dokumentation ergänzen | Code-Review, CI und Abnahme |
Professionelle Leitplanken
Ein KI-Agent ist nur so zuverlässig wie der Rahmen, in dem er arbeitet. Professionelle Teams definieren deshalb Leitplanken. Dazu gehören kleine Aufgaben, klare Definition of Done, automatisierte Tests, getrennte Entwicklungsumgebungen, Schutz sensibler Daten, nachvollziehbare Commits und verbindliche Reviews. Ein Agent sollte nie ungeprüft direkt auf produktive Systeme zugreifen oder sicherheitskritische Entscheidungen allein treffen.
Gute Leitplanken sind konkret. Statt „Verbessere den Code“ ist ein Auftrag wie „Refaktoriere die Funktion zur Rabattberechnung, ohne das öffentliche Verhalten zu ändern, und führe alle vorhandenen Tests aus“ deutlich professioneller. Statt „Schreibe Tests“ ist besser: „Schreibe Tests für gültige Eingaben, ungültige Eingaben, Grenzwerte und bisher bekannte Fehlerfälle.“
Risiken und Grenzen
KI-gestützte Softwareentwicklung kann sehr hilfreich sein, bringt aber eigene Risiken mit sich. KI kann Bibliotheken erfinden, Sicherheitsprobleme übersehen, zu breite Änderungen vornehmen, bestehende Architekturprinzipien verletzen oder Tests schreiben, die nur den erzeugten Code bestätigen, statt das fachlich richtige Verhalten zu prüfen. Auch Datenschutz und Urheberrecht sind wichtig: Vertraulicher Code, personenbezogene Daten und interne Zugangsdaten gehören nicht unkontrolliert in externe KI-Systeme.
Ein besonderes Risiko ist Test-Hacking. Dabei wird Code so verändert, dass Tests bestehen, ohne dass die fachliche Anforderung wirklich erfüllt ist. Ein anderes Risiko ist eine scheinbar vollständige Testabdeckung, die wichtige Grenzfälle auslässt. Deshalb müssen Menschen die Tests selbst verstehen. Tests sind nicht nur technische Werkzeuge, sondern eine Form von Spezifikation.
Softwarequalität durch Feedbackschleifen
Professionelle Softwarequalität entsteht durch kurze, verlässliche Feedbackschleifen. TDD liefert Feedback beim Schreiben einzelner Funktionen. Continuous Integration liefert Feedback bei jeder Änderung im Repository. Code-Review liefert Feedback durch andere Menschen. Monitoring und Nutzerfeedback liefern Rückmeldungen nach der Veröffentlichung. KI kann in jeder Schleife unterstützen, aber sie darf die Schleife nicht ersetzen.
| Feedbackquelle | Was wird geprüft? | Typische Werkzeuge | Bedeutung für KI-Unterstützung |
|---|---|---|---|
| Unit-Test | Einzelne Funktion oder Klasse | Testframework, Assertions, Mocks | Prüft kleine KI-Änderungen schnell |
| Integrationstest | Zusammenspiel mehrerer Komponenten | Testdatenbank, API-Test, Container | Erkennt Fehler an Schnittstellen |
| Continuous Integration | Gesamter Build nach Änderungen | Pipeline, Linter, Testlauf | Verhindert ungeprüfte Übernahme |
| Code-Review | Verständlichkeit, Architektur, Sicherheit | Pull Request, Review-Kommentare | Mensch bewertet KI-Vorschläge kritisch |
| Dokumentation | Nachvollziehbarkeit und Wartbarkeit | README, Architekturentscheidungen, Changelog | Macht Agentenänderungen erklärbar |
Testarten im Überblick
In professionellen Projekten reicht eine einzige Testart selten aus. Unit-Tests prüfen kleine Einheiten. Integrationstests prüfen das Zusammenspiel von Komponenten. Systemtests prüfen das gesamte System aus Sicht der Nutzenden. Akzeptanztests prüfen, ob fachliche Anforderungen erfüllt sind. Regressionstests schützen bereits funktionierendes Verhalten.
Für KI-gestützte Entwicklung sind Regressionstests besonders wichtig. Ein Agent kann eine Aufgabe korrekt lösen und gleichzeitig an anderer Stelle unbeabsichtigt Verhalten verändern. Je besser die vorhandenen Tests das erwartete Verhalten beschreiben, desto sicherer kann ein Team Änderungen automatisiert prüfen.
Menschliche Verantwortung
Der Mensch bleibt im Zentrum professioneller Softwareentwicklung. KI kann Code erzeugen, aber sie trägt keine Verantwortung für Datenschutz, Sicherheit, Barrierefreiheit, fachliche Korrektheit oder langfristige Wartbarkeit. Entwicklerinnen und Entwickler müssen verstehen, was in das Repository übernommen wird. Ein Pull Request mit KI-generiertem Code braucht dieselbe Sorgfalt wie jeder andere Pull Request, oft sogar mehr.
Verantwortung bedeutet auch, die Grenzen der Automatisierung zu kennen. Nicht jede Aufgabe eignet sich für Agentic-Coding. Gut geeignet sind klar abgegrenzte Änderungen mit vorhandenen Tests, kleine Refactorings, Dokumentationsaufgaben, Testergänzungen und Fehlerkorrekturen mit reproduzierbarem Fehlerbild. Weniger geeignet sind unklare Produktentscheidungen, sicherheitskritische Architekturänderungen, Datenschutzkonzepte oder Aufgaben, bei denen die fachliche Bedeutung nicht verstanden wurde.
Praxis: Ein professioneller Arbeitsablauf
Ein sinnvoller Ablauf für testgetriebenes Coden mit KI-Unterstützung kann so aussehen: Zuerst klärst Du die fachliche Anforderung und formulierst Akzeptanzkriterien. Dann lässt Du Dir von der KI mögliche Testfälle vorschlagen. Du prüfst diese Testfälle und ergänzt fehlende Grenzfälle. Anschließend lässt Du die KI die Tests schreiben oder überarbeitest sie selbst. Erst wenn die Tests verständlich und korrekt sind, folgt die Implementierung. Danach werden Tests, Linter und Build ausgeführt. Abschließend prüfst Du die Änderungen im Review und dokumentierst wichtige Entscheidungen.
- Anforderung: Beschreibe Ziel, Nutzen, Grenzen und Akzeptanzkriterien.
- Testfall: Formuliere prüfbare Beispiele für Normalfälle, Grenzfälle und Fehlerfälle.
- Implementierung: Schreibe oder lasse nur so viel Code schreiben, wie für die Tests nötig ist.
- Refactoring: Verbessere Struktur, Namen und Verständlichkeit ohne Verhaltensänderung.
- Continuous Integration: Führe automatisierte Prüfungen in einer Pipeline aus.
- Code-Review: Prüfe fachliche Korrektheit, Sicherheit, Architektur und Wartbarkeit.
- Dokumentation: Halte wichtige Entscheidungen, Einschränkungen und Testabdeckung fest.
Checkliste für Deinen KI-Agenten
Bevor Du einen KI-Agenten an ein Repository lässt, solltest Du prüfen, ob die Aufgabe klein genug ist, ob ein eigener Branch existiert, ob Tests vorhanden sind, ob sensible Daten geschützt sind und ob der Agent nur die nötigen Berechtigungen hat. Außerdem sollte klar sein, wann der Agent stoppen muss: bei fehlenden Informationen, unsicheren Annahmen, unerwartet großen Änderungen, Sicherheitsfragen oder widersprüchlichen Testergebnissen.
| Prüffrage | Professionelle Erwartung |
|---|---|
| Ist das Ziel eindeutig? | Der Agent bekommt ein konkretes Ergebnis und klare Akzeptanzkriterien. |
| Gibt es Tests? | Vorhandene Tests werden ausgeführt, neue Tests werden fachlich geprüft. |
| Sind Grenzen definiert? | Dateien, Bibliotheken, Architekturregeln und verbotene Änderungen sind benannt. |
| Ist Sicherheit berücksichtigt? | Keine Secrets, keine personenbezogenen Daten, keine produktiven Zugänge. |
| Gibt es menschliches Review? | Jede Änderung wird vor der Übernahme geprüft. |
Interaktive Aufgaben
Quiz: Teste Dein Wissen
Was ist der Kern testgetriebener Entwicklung? (Tests werden vor dem Produktivcode als prüfbare Erwartung formuliert) (!Tests werden erst nach der Veröffentlichung geschrieben) (!Tests ersetzen die fachliche Anforderung vollständig) (!Tests werden nur bei grafischen Benutzeroberflächen genutzt)
Welche Reihenfolge beschreibt den klassischen TDD-Zyklus am besten? (Fehlschlag, minimale Lösung, Verbesserung) (!Planung, Veröffentlichung, Werbung) (!Dokumentation, Design, Archivierung) (!Installation, Schulung, Löschung)
Warum sind Tests bei KI-gestützter Softwareentwicklung besonders wichtig? (Sie machen Anforderungen überprüfbar und begrenzen unbeobachtete Fehler) (!Sie garantieren, dass KI niemals falschen Code schreibt) (!Sie ersetzen jedes Code-Review im Team) (!Sie machen Datenschutzprüfungen überflüssig)
Was bedeutet Regression in der Softwareentwicklung? (Ein früher funktionierendes Verhalten funktioniert nach einer Änderung nicht mehr) (!Eine Funktion wird absichtlich aus dem Produkt entfernt) (!Ein Programm wird in eine ältere Programmiersprache übersetzt) (!Ein Test wird nur auf einem lokalen Rechner gespeichert)
Was bedeutet Refactoring? (Die innere Struktur wird verbessert, ohne das beobachtbare Verhalten zu ändern) (!Der gesamte Funktionsumfang wird ohne Tests neu erfunden) (!Eine Anwendung wird ohne Prüfung veröffentlicht) (!Alle Kommentare werden automatisch gelöscht)
Was ist ein Mock in Tests? (Eine kontrollierte Ersatzkomponente für eine echte Abhängigkeit) (!Ein produktiver Server mit echten Kundendaten) (!Ein Passwort für die Entwicklungsumgebung) (!Ein Diagramm für Marketingzwecke)
Was gehört zu einem guten Auftrag an einen KI-Agenten? (Ziel, Kontext, Grenzen, Tests und Prüfschritte) (!Nur eine möglichst kurze unklare Aufforderung) (!Ausschließlich der Name der Programmiersprache) (!Ein Verzicht auf jede menschliche Kontrolle)
Welche Aufgabe hat eine CI-Pipeline? (Sie führt automatisierte Prüfungen bei Änderungen aus) (!Sie entscheidet allein über Produktstrategie) (!Sie ersetzt alle Anforderungen) (!Sie speichert Passwörter im Quellcode)
Wodurch unterscheidet sich Agentic-Coding in diesem aiMOOC von spontanem Vibe-Coding? (Durch geplante Aufgaben, Tests, Feedbackschleifen und menschliches Review) (!Durch vollständigen Verzicht auf Tests) (!Durch zufällige Codeänderungen ohne Ziel) (!Durch direkte Arbeit auf Produktivsystemen)
Welche Verantwortung bleibt beim Menschen? (Fachliche Abnahme, Architektur, Sicherheit und Datenschutz) (!Das blinde Übernehmen aller KI-Vorschläge) (!Das Abschalten aller Tests) (!Das Veröffentlichen ohne Review)
Memory
| Testfall | Prüft ein erwartetes Verhalten |
| Red Phase | Neuer Test schlägt fehl |
| Green Phase | Minimale Lösung besteht den Test |
| Refactoring | Struktur verbessern |
| Regressionstest | Altes Verhalten schützen |
| Code-Review | Menschliche Qualitätsprüfung |
Drag and Drop
| Ordne die richtigen Begriffe zu. | Thema |
|---|---|
| Roter Test | Erwartung ist formuliert und schlägt zunächst fehl |
| Grüner Test | Minimale Implementierung erfüllt die Erwartung |
| Refactoring | Code wird verbessert, ohne Verhalten zu verändern |
| CI-Pipeline | Automatische Prüfung nach einer Änderung |
| Review | Menschliche Bewertung vor der Übernahme |
Kreuzworträtsel
| Testfall | Wie heißt eine prüfbare Erwartung an Software? |
| Refactoring | Wie heißt das Verbessern der inneren Codestruktur ohne Verhaltensänderung? |
| Mocking | Wie nennt man das Ersetzen echter Abhängigkeiten durch kontrollierte Testobjekte? |
| Pipeline | Wie heißt eine automatisierte Abfolge von Build und Test? |
| Review | Wie heißt die menschliche Prüfung eines Pull Requests? |
| Qualitaet | Welches Ziel verfolgen Tests, Reviews und Wartbarkeit gemeinsam? |
LearningApps
Lückentext
Offene Aufgaben
Leicht
- Begriffe erklären: Erstelle ein Glossar mit zehn Fachbegriffen aus diesem aiMOOC und formuliere zu jedem Begriff ein eigenes Beispiel.
- TDD-Zyklus visualisieren: Zeichne den Red-Green-Refactor-Zyklus als Lernplakat oder digitale Grafik und erkläre die drei Phasen in eigenen Worten.
- Testfälle sammeln: Wähle eine einfache Alltagsfunktion wie einen Taschenrechner oder eine To-do-Liste und notiere fünf mögliche Testfälle.
- KI-Prompt verbessern: Formuliere einen schlechten und einen guten Auftrag an eine KI für dieselbe kleine Programmieraufgabe und vergleiche beide.
Standard
- Mini-Projekt mit Tests: Entwickle eine kleine Funktion in einer Programmiersprache Deiner Wahl und schreibe zuerst mindestens drei Tests.
- Grenzfälle untersuchen: Analysiere eine Funktion und finde Eingaben, bei denen Fehler wahrscheinlich sind, etwa leere Werte, sehr große Werte oder ungültige Formate.
- Code-Review simulieren: Tausche Deinen Code mit einer anderen Person und prüfe Verständlichkeit, Testabdeckung, Namen und mögliche Risiken.
- Agentenauftrag erstellen: Schreibe einen vollständigen Auftrag für einen KI-Agenten mit Ziel, Kontext, Grenzen, Teststrategie und erwarteter Ausgabe.
Schwer
- Repository-Projekt: Richte ein kleines Repository mit Branch, Tests, README und nachvollziehbaren Commits ein und dokumentiere Deinen Entwicklungsprozess.
- CI-Pipeline entwerfen: Plane eine Pipeline, die Tests, Linting und Build automatisch ausführt, und begründe, welche Prüfungen vor einem Merge nötig sind.
- Regression analysieren: Konstruiere absichtlich einen kleinen Fehler, den ein Regressionstest erkennen kann, und erkläre, warum der Test wichtig ist.
- KI-Einsatz bewerten: Vergleiche eine selbst geschriebene Lösung mit einer KI-unterstützten Lösung und bewerte Qualität, Wartbarkeit, Risiken und Zeitaufwand.

| <inputbox>
type=create break=no preload=CHAT GPT TEXT HIER EINFÜGEN default= width=30 placeholder= Dein MOOC Titel buttonlabel=MOOC erstellen </inputbox> |

Lernkontrolle
- Transferaufgabe TDD: Du sollst eine Funktion für Rabattberechnung entwickeln. Beschreibe, welche Testfälle Du vor der Implementierung formulierst und warum.
- Fallanalyse KI-Agent: Ein KI-Agent verändert zehn Dateien, obwohl nur eine kleine Fehlerkorrektur geplant war. Erkläre, welche Leitplanken gefehlt haben und wie Du reagieren würdest.
- Qualitätsbewertung: Vergleiche zwei Entwicklungsprozesse, einen ohne Tests und einen mit TDD, CI und Review. Beurteile die Folgen für Wartbarkeit und Fehlerrisiko.
- Sicherheitsentscheidung: Ein Agent schlägt vor, echte Zugangsdaten in einer Testdatei zu verwenden. Analysiere das Problem und entwickle eine sichere Alternative.
- Architekturtransfer: Erkläre, warum ein bestandener Unit-Test allein nicht beweist, dass eine ganze Anwendung korrekt funktioniert.
- Refactoring-Begründung: Begründe, warum Refactoring trotz gleichbleibender Funktion einen wirtschaftlichen Nutzen für ein Team haben kann.
Lernnachweis
Als Lernnachweis kannst Du ein kleines Softwareprojekt oder ein ausgearbeitetes Konzept einreichen. Entscheidend ist nicht die Größe des Programms, sondern die Nachvollziehbarkeit des professionellen Vorgehens. Dein Lernnachweis sollte Anforderungen, Tests, Implementierung, Reflexion und Qualitätsprüfung verbinden.
- Projektbeschreibung: Beschreibe Ziel, Zielgruppe, fachliche Regeln und Grenzen Deines Projekts.
- Testkonzept: Lege dar, welche Unit-Tests, Grenzfälle und Regressionstests Du vorgesehen hast.
- KI-Nutzung: Dokumentiere, wo Du KI eingesetzt hast, welche Prompts hilfreich waren und welche Ergebnisse Du verworfen hast.
- Qualitätssicherung: Zeige, wie Du Tests, Review, CI oder manuelle Prüfung genutzt hast.
- Reflexion: Bewerte, was durch KI schneller wurde und wo menschliche Kontrolle besonders wichtig blieb.
OERs zum Thema
Links
aiMOOC-Projekte
Schulfach+


aiMOOCs



aiMOOC Projekte


THE MONKEY DANCE





{{#ev:youtube | https://youtu.be/rFhZlg38Zf8?si=9KdMNZYRkRD81YTo%7C 500 | center}}
|
{{#ev:youtube | https://youtu.be/Ob7etf9QuBo?si=t_NBA71bWg3Rq3LI%7C 500 | center}}
| <inputbox>
type=create break=no preload=MOOCit Vorlage default= width=30 placeholder= Dein MOOC Titel buttonlabel=MOOC erstellen </inputbox> |