Aktualisiert am: 14. Januar 2025

4 Minuten Lesezeit

Automatisierung mit GitLab Duo, Teil 1: Generierung von Tests

Hier erfĂ€hrst du, wie wir die KI-gestĂŒtzte DevSecOps-Plattform genutzt haben, um automatisierte Tests zu erstellen und unsere Entwicklungsgeschwindigkeit und -qualitĂ€t zu verbessern.

Automatisierte Tests sind zeitaufwĂ€ndig und können das GefĂŒhl vermitteln, ein Projekt nicht voranzubringen. Doch wie viele Entwickler(innen) wahrscheinlich schon erlebt haben, machen sich automatisierte Tests insgesamt positiv bemerkbar. FĂŒr die Entwicklung eines benutzerdefinierten Moduls (in diesem Artikel nennen wir es gitlab-helper) traf dies besonders zu.

Zu Beginn der Entwicklung konzentrierten wir uns darauf, bewĂ€hrte Funktionen aus bestehenden Skripts in ein neues Modul zu migrieren, dessen einziger Zweck es war, als Grundlage fĂŒr zukĂŒnftige Funktionen zu dienen. Obwohl die bestehenden Skripts nicht automatisiert getestet wurden, war ihre konsequente Nutzung ein deutlicher Beweis dafĂŒr, dass die Funktionen wie erwartet funktionierten.

Unser Ziel war es, eine ausgereiftere Lösung fĂŒr dieses Problem zu entwickeln, sodass automatisierte Tests unumgĂ€nglich wurden. Das stellte uns vor die Herausforderung, die Entwicklung effizient zu gestalten und gleichzeitig die Zeit fĂŒr das Testen und die Sicherstellung eines robusten Produkts unter einen Hut zu bringen; mit insgesamt nur drei Teammitgliedern war das gar nicht mal so einfach. Deshalb entschied sich das Team, fĂŒr die Testerstellung die Vorteile unserer KI-Suite GitLab Duo zu nutzen und so die Entwicklungsgeschwindigkeit und QualitĂ€t des fertigen Produkts zu verbessern.

In dieser dreiteiligen Serie zur Automatisierung mit GitLab Duo behandeln wir die folgenden Punkte:

  1. Wie wir GitLab Duo verwendet haben, um Tests fĂŒr unseren Code zu erstellen
  2. Wie wir bei komplexeren Situationen interaktiv mit GitLab Duo gearbeitet haben
  3. Die Ergebnisse, die wir erzielen konnten (Spoiler: 1 Person + GitLab Duo = 84 % Testabdeckung in 2 Tagen)

GitLab Duo zur Erstellung von Tests fĂŒr Code verwenden

Dieser Artikel behandelt die Verwendung von GitLab Duo in VS Code mit der GitLab Workflow Extension for VS Code (nur in englischer Sprache verfĂŒgbar), um Tests zu generieren. Diese FunktionalitĂ€t ist in mehreren Tools verfĂŒgbar. Links zu anderen GitLab-Duo-Optionen findest du in den Referenzen weiter unten.

GitLab Duo installieren und aktivieren

Um GitLab Duo nutzen zu können, benötigen wir ein Konto, auf dem GitLab Duo aktiviert ist. Wenn du GitLab Duo noch nicht aktiviert hast, kannst du dich fĂŒr eine kostenlose 60-tĂ€gige Testversion anmelden.Um GitLab Duo Chat in VS Code zu verwenden, folgten wir den Anweisungen zur Installation (nur in englischer Sprache verfĂŒgbar). Dann war die GitLab-Duo-Chat-Erweiterung in der Seitenleiste verfĂŒgbar und wir konnten das Chat-Fenster öffnen.

Stelle-eine-Frage-Fenster

Tests mit Chat generieren

gitlab-helper ist ein benutzerdefiniertes Modul, das fĂŒr die Standardisierung der Interaktion mit der GitLab-API innerhalb des Teams entwickelt wurde und andere Bibliotheksfunktionen erweitert, um die Entwicklungs- und Skriptarbeit zu vereinfachen. Sobald eine Methode oder Funktion in gitlab-helper migriert wurde und angemessen implementiert zu sein schien, konnten ganz einfach Tests dafĂŒr erstellt werden:

  • Wir wĂ€hlten die Methode, die Klasse oder die gesamte Datei in der IDE aus.
  • Wir öffneten das MenĂŒ fĂŒr den ausgewĂ€hlten Code mit der rechten Maustaste.
  • Unter GitLab Duo Chat wĂ€hlten wir Tests generieren aus.

Reihenfolge fĂŒr die Erstellung von Tests, einschließlich der Auswahl-Liste fĂŒr die Erstellung von Tests

Innerhalb weniger Sekunden waren die Tests erstellt und im GitLab-Duo-Chat-Fenster angezeigt. Diese Tests können ĂŒberprĂŒft und/oder durch Kopieren/EinfĂŒgen in bestehende oder neue Testdateien zur Codebase hinzugefĂŒgt werden. Wie bei den meisten Ergebnissen von linguistischer Datenverarbeitung, vor allem wenn es um den Kontext geht, schlugen einige der ersten von GitLab Duo erstellten Tests fehl, so dass eine Feinabstimmung erforderlich war (z. B. beim Umgang mit verschachtelten AbhĂ€ngigkeiten).

Profi-Tipp: GitLab Duo erstellt nicht automatisch Dateien, in die generierte Tests eingefĂŒgt werden können. Wir haben festgestellt, dass es hilfreich ist, neue Testdateien zu erstellen und sie mit dem Kommentar # Tests Generated by Duo zu versehen und ihnen den Zusatz _duo.py hinzuzufĂŒgen, um anzugeben, woher die Tests stammen.

GitLab Duo war ein großartiger Ausgangspunkt fĂŒr die Entwicklung der automatisierten Tests von gitlab-helper und hat die Effizienz beim Schreiben von Tests und die Testabdeckung erheblich verbessert, was den Entwicklungsprozess erheblich beschleunigt hat. Neben GitLab Duo wurden zahlreiche sinnvolle Tests unter menschlicher Aufsicht in das gitlab-helper-Modul integriert.

Im nĂ€chsten Teil dieser Serie erfĂ€hrst du, was wir bei der Verwendung von GitLab Duo fĂŒr die Erstellung automatisierter Tests und die interaktive Arbeit mit KI fĂŒr komplexere Situationen gelernt haben.

Referenzen

Es gibt mehr als eine Möglichkeit, GitLab Duo zu verwenden, um Tests zu generieren. Sieh dir die anderen Optionen unten an:

Wir möchten gern von dir hören

Hat dir dieser Blogbeitrag gefallen oder hast du Fragen oder Feedback? Erstelle ein neues Diskussionsthema im GitLab-Community-Forum und tausche deine EindrĂŒcke aus.

Mehr als 50 % der Fortune-100-Unternehmen vertrauen GitLab

Stelle jetzt bessere Software schneller bereit

Erlebe, was dein Team mit der intelligenten

DevSecOps-Plattform erreichen kann.